diff options
Diffstat (limited to 'files/ru/web')
113 files changed, 166 insertions, 166 deletions
diff --git a/files/ru/web/accessibility/aria/index.html b/files/ru/web/accessibility/aria/index.html index 8a983d96e0..303e9055f1 100644 --- a/files/ru/web/accessibility/aria/index.html +++ b/files/ru/web/accessibility/aria/index.html @@ -74,7 +74,7 @@ translation_of: Web/Accessibility/ARIA <h3 id="Блоги">Блоги</h3> -<p>Хотя информация в блогах быстро теряет актуальность, все же в них можно почерпнуть ценную информацию из первых рук - разработчиков, развивающих ARIA.</p> +<p>Хотя информация в блогах быстро теряет актуальность, всё же в них можно почерпнуть ценную информацию из первых рук - разработчиков, развивающих ARIA.</p> <p><a class="external" href="https://www.paciellogroup.com/blog/archive/">Paciello Group</a></p> diff --git a/files/ru/web/api/analysernode/index.html b/files/ru/web/api/analysernode/index.html index 13032fbbf8..3eba1fb760 100644 --- a/files/ru/web/api/analysernode/index.html +++ b/files/ru/web/api/analysernode/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/AnalyserNode <p><strong><code>AnalyserNode</code></strong><strong> </strong>интерфейс который предоставляет частоту (frequency) в реальном времени. Элемент {{domxref("AudioNode")}} который пропускает аудиопоток неизменным от ввода (input) до вывода (output), но позволяет использовать генерируемые данные, обрабатывать или создавать аудиовизуализацию.</p> -<p><code>AnalyserNode</code> имеет только один ввод и один вывод. Узел работает даже если вывод не подсоединен.</p> +<p><code>AnalyserNode</code> имеет только один ввод и один вывод. Узел работает даже если вывод не подсоединён.</p> <p><img alt="Without modifying the audio stream, the node allows to get the frequency and time-domain data associated to it, using a FFT." src="https://mdn.mozillademos.org/files/12970/fttaudiodata_en.svg" style="height: 206px; width: 693px;"></p> diff --git a/files/ru/web/api/attr/index.html b/files/ru/web/api/attr/index.html index c8e1ce971a..998cd4d512 100644 --- a/files/ru/web/api/attr/index.html +++ b/files/ru/web/api/attr/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Attr <dt>{{domxref("Attr.name", "name")}} {{readOnlyInline}}</dt> <dd>Имя атрибута.</dd> <dt>{{domxref("Attr.namespaceURI", "namespaceURI")}} {{readOnlyInline}}</dt> - <dd>{{domxref("DOMString")}}<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);"> </span></font>представление URI пространства имён атрибута, или NULL если нет никакого пространства имен.</dd> + <dd>{{domxref("DOMString")}}<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);"> </span></font>представление URI пространства имён атрибута, или NULL если нет никакого пространства имён.</dd> <dt>{{domxref("Attr.localName", "localName")}} {{readOnlyInline}}</dt> <dd>{{domxref("DOMString")}} представление локальной части полного имени атрибута.</dd> <dt>{{domxref("Attr.prefix", "prefix")}} {{readOnlyInline}}</dt> @@ -68,13 +68,13 @@ translation_of: Web/API/Attr <dt><code>nodeValue</code></dt> <dd>Используйте {{domxref("Attr.value")}} взамен.</dd> <dt><code>ownerDocument</code></dt> - <dd> Вы не должны были использовать это свойство в первую очередь, поэтому вам, вероятно, все равно, что это свойство больше не используется. </dd> + <dd> Вы не должны были использовать это свойство в первую очередь, поэтому вам, вероятно, всё равно, что это свойство больше не используется. </dd> <dt><code>parentNode</code></dt> <dd>Это свойство всегда возвращает значение <code>NULL</code>.</dd> <dt><code>previousSibling</code></dt> <dd>Это свойство всегда возвращает значение <code>NULL</code>.</dd> <dt><code>schemaTypeInfo</code> {{obsolete_inline}} {{readOnlyInline}}</dt> - <dd>Сведения о типе, связанные с этим атрибутом. В то время как информация о типе, содержащаяся в этом атрибуте, гарантированно будет правильной после загрузки документа или вызова {{domxref("Document.normalizeDocument")}}, это свойство может быть ненадёжным, если узел был перемещен.</dd> + <dd>Сведения о типе, связанные с этим атрибутом. В то время как информация о типе, содержащаяся в этом атрибуте, гарантированно будет правильной после загрузки документа или вызова {{domxref("Document.normalizeDocument")}}, это свойство может быть ненадёжным, если узел был перемещён.</dd> <dt> </dt> <dt><code>specified</code></dt> <dd>Это свойство всегда возвращает значение <code>true</code>.</dd> @@ -88,7 +88,7 @@ translation_of: Web/API/Attr <dt><code>appendChild()</code> {{obsolete_inline(14)}}</dt> <dd>Измените значение {{domxref("Attr.value")}} взамен.</dd> <dt><code>cloneNode()</code></dt> - <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, все равно, что это больше не используется. </dd> + <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, всё равно, что это больше не используется. </dd> <dt><code>createAttribute()</code></dt> <dd>Используйте {{domxref("Element.setAttribute()")}} взамен.</dd> <dt><code>createAttributeNS()</code></dt> @@ -104,11 +104,11 @@ translation_of: Web/API/Attr <dt><code>insertBefore()</code></dt> <dd>Измените значение {{domxref("Attr.value")}} взамен.</dd> <dt><code>isSupported()</code></dt> - <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, все равно, что это больше не используется. </dd> + <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, всё равно, что это больше не используется. </dd> <dt><code>isEqualNode()</code></dt> - <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, все равно, что это больше не используется. </dd> + <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, всё равно, что это больше не используется. </dd> <dt><code>normalize()</code></dt> - <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, все равно, что это больше не используется. </dd> + <dd> Вы не должны были использовать это в первую очередь, поэтому вам, вероятно, всё равно, что это больше не используется. </dd> <dt><code>removeAttributeNode()</code></dt> <dd>Используйте {{domxref("Element.removeAttribute()")}} взамен.</dd> <dt><code>removeChild()</code> {{obsolete_inline(14)}}</dt> diff --git a/files/ru/web/api/body/arraybuffer/index.html b/files/ru/web/api/body/arraybuffer/index.html index 31402b8a22..2c5151239e 100644 --- a/files/ru/web/api/body/arraybuffer/index.html +++ b/files/ru/web/api/body/arraybuffer/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/Body/arrayBuffer --- <div>{{APIRef("Fetch")}}</div> -<p>Метод <strong><code>arrayBuffer()</code></strong> из примеси(mixin) {{domxref("Body")}} берет поток(stream) {{domxref("Response")}} и читает его до завершения. Он возвращает промис, который будет успешно завершён с помощью {{domxref("ArrayBuffer")}}.</p> +<p>Метод <strong><code>arrayBuffer()</code></strong> из примеси(mixin) {{domxref("Body")}} берёт поток(stream) {{domxref("Response")}} и читает его до завершения. Он возвращает промис, который будет успешно завершён с помощью {{domxref("ArrayBuffer")}}.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html b/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html index e4756dc73d..68a8b0c831 100644 --- a/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html +++ b/files/ru/web/api/canvas_api/tutorial/basic_usage/index.html @@ -46,7 +46,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Basic_usage <h3 id="Требуется_тег_<canvas>"><span class="short_text" id="result_box" lang="ru"><span class="hps">Требуется</span> <span class="hps">тег </span></span><code></canvas></code></h3> -<p>В отличии от элемента {{HTMLElement("img")}}, элемент {{HTMLElement("canvas")}} <strong>требует</strong> закрывающийся тег (<code></canvas></code>). Если этот тег не предоставлен, остаток документа будет считаться запасным контентом и не будет отображен.</p> +<p>В отличии от элемента {{HTMLElement("img")}}, элемент {{HTMLElement("canvas")}} <strong>требует</strong> закрывающийся тег (<code></canvas></code>). Если этот тег не предоставлен, остаток документа будет считаться запасным контентом и не будет отображён.</p> <p>Если запасной контент не нужен, простой <code><canvas id="foo" ...></canvas></code> полностью совместим со всеми браузерами, что поддерживают canvas.</p> diff --git a/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html b/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html index 67b81c9b63..f8ef9679b9 100644 --- a/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html +++ b/files/ru/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html @@ -48,7 +48,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas <p>Это создаёт новый объект <code>ImageData</code> с указанными параметрами. Все пиксели заданы прозрачным черным.</p> -<p>Вы также можете создать новый объект <code>ImageData</code> ImageData с теми же размерами, что и объект, заданный <code>anotherImageData</code> . Все пиксели нового объекта установлены на прозрачный черный. <strong>Это не копирует данные изображения!</strong></p> +<p>Вы также можете создать новый объект <code>ImageData</code> ImageData с теми же размерами, что и объект, заданный <code>anotherImageData</code> . Все пиксели нового объекта установлены на прозрачный чёрный. <strong>Это не копирует данные изображения!</strong></p> <pre class="brush: js">var myImageData = ctx.createImageData(anotherImageData);</pre> diff --git a/files/ru/web/api/canvas_api/tutorial/using_images/index.html b/files/ru/web/api/canvas_api/tutorial/using_images/index.html index c8e40a0c5f..288787c605 100644 --- a/files/ru/web/api/canvas_api/tutorial/using_images/index.html +++ b/files/ru/web/api/canvas_api/tutorial/using_images/index.html @@ -201,7 +201,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs <dl> <dt>{{domxref("CanvasRenderingContext2D.drawImage", "drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)")}}</dt> - <dd>В данном изображении, эта функция берет фрагмент из изображения, в виде прямоугольника, левый верхний угол которого - (<code>sx</code>, <code>sy</code>), ширина и высота - <code>sWidth</code> и <code>sHeight</code> и рисует в canvas, располагая его в точке (<code>dx</code>, <code>dy</code>) и изменяя его размер на указанные величины в <code>dWidth</code> и <code>dHeight</code>.</dd> + <dd>В данном изображении, эта функция берёт фрагмент из изображения, в виде прямоугольника, левый верхний угол которого - (<code>sx</code>, <code>sy</code>), ширина и высота - <code>sWidth</code> и <code>sHeight</code> и рисует в canvas, располагая его в точке (<code>dx</code>, <code>dy</code>) и изменяя его размер на указанные величины в <code>dWidth</code> и <code>dHeight</code>.</dd> </dl> <p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/225/Canvas_drawimage.jpg" style="float: right; height: 290px; width: 300px;">Чтобы понять что делает нарезка, можно посмотреть на изображение справа. Первые четыре параметра определяют местоположение и размер фрагмента исходного изображения. Последние четыре параметра определяют прямоугольник, в который будет вписано изображение на целевом рисунке canvas.</p> diff --git a/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html b/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html index 370ecfcb57..8d6eca8c4c 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/drawimage/index.html @@ -36,13 +36,13 @@ void <var><em>ctx</em>.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, <dt><code>dHeight</code></dt> <dd>Высота изображения, полученного из исходного <code>image</code>. Эта опция позволяет масштабировать изображение по высоте. Если опция не задана, изображение не будет масштабировано.</dd> <dt><code>sx</code></dt> - <dd>Координата по оси X верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещён в контекст-приемник.</dd> + <dd>Координата по оси X верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещён в контекст-приёмник.</dd> <dt><code>sy</code></dt> - <dd>Координата по оси Y верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещён в контекст-приемник.</dd> + <dd>Координата по оси Y верхнего левого угла фрагмента, который будет вырезан из изображения-источника и помещён в контекст-приёмник.</dd> <dt><code>sWidth</code></dt> - <dd>Ширина фрагмента, который будет вырезан из изображения источника и помещён в контекст-приёмник. Если не задана, фрагмент от точки, заданной <code>sx</code> и <code>sy</code> до правого нижнего угла источника будет целиком скопирован в контекст-приемник.</dd> + <dd>Ширина фрагмента, который будет вырезан из изображения источника и помещён в контекст-приёмник. Если не задана, фрагмент от точки, заданной <code>sx</code> и <code>sy</code> до правого нижнего угла источника будет целиком скопирован в контекст-приёмник.</dd> <dt><code>sHeight</code></dt> - <dd>Высота фрагмента, который будет вырезан из изображения источника и помещён в контекст-приемник.</dd> + <dd>Высота фрагмента, который будет вырезан из изображения источника и помещён в контекст-приёмник.</dd> </dl> <h3 id="Исключения">Исключения</h3> diff --git a/files/ru/web/api/canvasrenderingcontext2d/fill/index.html b/files/ru/web/api/canvasrenderingcontext2d/fill/index.html index ddc127a9ad..35177edfb2 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/fill/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/fill/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/CanvasRenderingContext2D/fill --- <div>{{APIRef}}</div> -<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fill()</code></strong> метод Canvas 2D API заполняет текущий или заданный путём с текущим стилем заливки, используя одно из двух правил - ненулевого индекса или чётно-нечетное.</p> +<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fill()</code></strong> метод Canvas 2D API заполняет текущий или заданный путём с текущим стилем заливки, используя одно из двух правил - ненулевого индекса или чётно-нечётное.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/canvasrenderingcontext2d/index.html b/files/ru/web/api/canvasrenderingcontext2d/index.html index 149f72ee66..eba513fe5a 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/index.html @@ -121,7 +121,7 @@ ctx.fillRect(10, 10, 55, 50); <dt>{{domxref("CanvasRenderingContext2D.shadowBlur")}}</dt> <dd>Устанавливает эффект размытия. По умолчанию <code>0</code></dd> <dt>{{domxref("CanvasRenderingContext2D.shadowColor")}}</dt> - <dd>Цвет тени. По умолчанию полностью прозрачный черный.</dd> + <dd>Цвет тени. По умолчанию полностью прозрачный чёрный.</dd> <dt>{{domxref("CanvasRenderingContext2D.shadowOffsetX")}}</dt> <dd>Горизонтальное смещение тени. По умолчанию 0.</dd> <dt>{{domxref("CanvasRenderingContext2D.shadowOffsetY")}}</dt> @@ -217,7 +217,7 @@ ctx.fillRect(10, 10, 55, 50); <dl> <dt>{{domxref("CanvasRenderingContext2D.createImageData()")}}</dt> - <dd>Создаёт новый пустой объект {{domxref("ImageData")}} с заданными размерами. Цвет всех пикселов в новом объекте устанавливается в прозрачный черный.</dd> + <dd>Создаёт новый пустой объект {{domxref("ImageData")}} с заданными размерами. Цвет всех пикселов в новом объекте устанавливается в прозрачный чёрный.</dd> <dt>{{domxref("CanvasRenderingContext2D.getImageData()")}}</dt> <dd>Возвращает объект {{domxref("ImageData")}}, представляющий данные о пикселах, расположенных под областью холста, ограниченной прямоугольником длиной <em>sw</em> и высотой <em>sh</em>, начальная точка которого находится в позиции <em>(sx, sy)</em>.</dd> <dt>{{domxref("CanvasRenderingContext2D.putImageData()")}}</dt> diff --git a/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html b/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html index 60b93d518e..d9ea54e0ee 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html @@ -25,7 +25,7 @@ translation_of: Web/API/CanvasRenderingContext2D/lineCap <dt><code>butt</code></dt> <dd>Концы линий прямые.</dd> <dt><code>round</code></dt> - <dd>Концы линий скругленные.</dd> + <dd>Концы линий скруглённые.</dd> <dt><code>square</code></dt> <dd>Концы линий прямые, но к ней с обоих концов добавляется поле с шириной равной толщине линии и высотой равной половине от толщины линии.</dd> </dl> diff --git a/files/ru/web/api/datatransfer/index.html b/files/ru/web/api/datatransfer/index.html index 6c7fb043e9..f443bc8c07 100644 --- a/files/ru/web/api/datatransfer/index.html +++ b/files/ru/web/api/datatransfer/index.html @@ -233,7 +233,7 @@ translation_of: Web/API/DataTransfer <h6 id="Parameters_getData" name="Parameters_getData">Параметры</h6> -<p>Тип данных который будет возвращен.</p> +<p>Тип данных который будет возвращён.</p> <dl> <dt><code>type </code></dt> diff --git a/files/ru/web/api/document/write/index.html b/files/ru/web/api/document/write/index.html index 1655795466..8d9e74c6a1 100644 --- a/files/ru/web/api/document/write/index.html +++ b/files/ru/web/api/document/write/index.html @@ -60,7 +60,7 @@ translation_of: Web/API/Document/write <div class="note"><strong>Замечание:</strong> <code>document.write</code> в <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer">отложенных</a> или <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async">асинхронных</a> сценариях игнорируется и выводится сообщение типа "Проигнорирован вызов <code>document.write()</code> из асинхронно загруженного внешнего сценария" в консоли ошибок.</div> -<div class="note"><strong>Замечание:</strong> В Edge вызов <code>document.write в </code>iframe более одного раза приводит к ошибке SCRIPT70: Доступ запрещен.</div> +<div class="note"><strong>Замечание:</strong> В Edge вызов <code>document.write в </code>iframe более одного раза приводит к ошибке SCRIPT70: Доступ запрещён.</div> <div class="note"><strong>Замечание:</strong> Начиная с версии 55, Chrome не исполняет элементы <code><script></code> вставленные посредством <code>document.write()</code> в случае отсутствия кэша HTTP для пользователей 2G подключения.</div> diff --git a/files/ru/web/api/document_object_model/introduction/index.html b/files/ru/web/api/document_object_model/introduction/index.html index 426ebcbe5e..a14f1ce2e8 100644 --- a/files/ru/web/api/document_object_model/introduction/index.html +++ b/files/ru/web/api/document_object_model/introduction/index.html @@ -122,7 +122,7 @@ p_list = doc.getElementsByTagName("para");</code></pre> -<p>Это руководство об объектах и реальных вещах, которые вы можете использовать для управления DOM-иерархией. Есть много моментов, где понимание того, как это работает, может удивлять. Например, объект, представляющий <code>HTML form</code> элемент, берет своё свойство <code><strong>name </strong></code>из интерфейса <code>HTMLFormElement, </code>а свойство <code><strong>className - </strong></code>из интерфейса <code>HTMLElement. </code>В обоих случаях свойство, которое вы хотите, находится в этом объекте формы.</p> +<p>Это руководство об объектах и реальных вещах, которые вы можете использовать для управления DOM-иерархией. Есть много моментов, где понимание того, как это работает, может удивлять. Например, объект, представляющий <code>HTML form</code> элемент, берёт своё свойство <code><strong>name </strong></code>из интерфейса <code>HTMLFormElement, </code>а свойство <code><strong>className - </strong></code>из интерфейса <code>HTMLElement. </code>В обоих случаях свойство, которое вы хотите, находится в этом объекте формы.</p> <p>Кроме того, отношение между объектами и интерфейсами, которые они реализуют в DOM может быть удивительным и этот раздел пытается рассказать немного о существующих интерфейсах в DOM и о том, как они могут быть доступны.</p> diff --git a/files/ru/web/api/element/index.html b/files/ru/web/api/element/index.html index 690ad551ff..8fe70d2d05 100644 --- a/files/ru/web/api/element/index.html +++ b/files/ru/web/api/element/index.html @@ -51,7 +51,7 @@ translation_of: Web/API/Element <dt>{{ domxref("Element.innerHTML") }} {{experimental_inline}}</dt> <dd>Является {{domxref("DOMString")}}, представляющей разметку контента элемента.</dd> <dt>{{domxref("Element.namespaceURI")}} {{readonlyInline}}</dt> - <dd>Пространство имён URI элемента или null, если это не пространство имен.</dd> + <dd>Пространство имён URI элемента или null, если это не пространство имён.</dd> <dd> <div class="note"> <p><strong>Примечание:</strong> В Firefox версии 3.5 и ранее, HTML элементы не находятся в пространстве имён. В более поздних версиях, HTML элементы находятся в пространстве имён <code><a href="http://www.w3.org/1999/xhtml" title="Linkification: http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></code> как в деревьях HTML, так и XML. {{ gecko_minversion_inline("1.9.2") }}</p> diff --git a/files/ru/web/api/element/setattribute/index.html b/files/ru/web/api/element/setattribute/index.html index f7e43d6d58..112bbb7019 100644 --- a/files/ru/web/api/element/setattribute/index.html +++ b/files/ru/web/api/element/setattribute/index.html @@ -21,7 +21,7 @@ translation_of: Web/API/Element/setAttribute <h2 id="Пример" name="Пример">Пример</h2> -<p>В следующем примере, <code>setAttribute()</code> используется, чтобы установить атрибут {{htmlattrxref("disabled")}} кнопки {{htmlelement("button")}}, делая её отключенной.</p> +<p>В следующем примере, <code>setAttribute()</code> используется, чтобы установить атрибут {{htmlattrxref("disabled")}} кнопки {{htmlelement("button")}}, делая её отключённой.</p> <pre class="brush: html notranslate"><button>Hello World</button></pre> diff --git a/files/ru/web/api/event/preventdefault/index.html b/files/ru/web/api/event/preventdefault/index.html index de7b9c69c1..29c6b8eac7 100644 --- a/files/ru/web/api/event/preventdefault/index.html +++ b/files/ru/web/api/event/preventdefault/index.html @@ -103,7 +103,7 @@ function checkName(evt) { <h2 id="Notes" name="Notes">Примечания</h2> -<p>Вызов <code>preventDefault</code> на любой стадии выполнения потока событий отменяет событие, а это означает, что любое действие по умолчанию обычно принимается реализацией, как результат события, которое не произойдет.</p> +<p>Вызов <code>preventDefault</code> на любой стадии выполнения потока событий отменяет событие, а это означает, что любое действие по умолчанию обычно принимается реализацией, как результат события, которое не произойдёт.</p> <div class="note"> <p><strong>Примечание:</strong> В {{Gecko("6.0")}}, вызов <code>preventDefault()</code> приводит к {{ domxref("event.defaultPrevented") }} к переходу значения в состояние <code>True</code>.</p> diff --git a/files/ru/web/api/eventtarget/addeventlistener/index.html b/files/ru/web/api/eventtarget/addeventlistener/index.html index 9986963aa4..b749d328d7 100644 --- a/files/ru/web/api/eventtarget/addeventlistener/index.html +++ b/files/ru/web/api/eventtarget/addeventlistener/index.html @@ -38,7 +38,7 @@ target</em>.addEventListener(<em>type</em>, <em>listener</em>[, <em>useCapture</ <ul> <li><code>capture</code>: {{jsxref("Boolean")}} указывает, что события этого типа будут отправлены зарегистрированному обработчику <code>listener</code> перед отправкой на <code>EventTarget</code>, расположенный ниже в дереве DOM.</li> <li><code>once</code>: {{jsxref("Boolean")}} указывает, что обработчик должен быть вызван не более одного раза после добавления. Если <code>true</code>, обработчик автоматически удаляется при вызове.</li> - <li><code>passive</code>: {{jsxref("Boolean")}} указывает, что обработчик никогда не вызовет <code>preventDefault()</code>. Если все же вызов будет произведён, браузер должен игнорировать его и генерировать консольное предупреждение. Пример {{anch("Улучшение производительности прокрутки с помощью passive true")}}</li> + <li><code>passive</code>: {{jsxref("Boolean")}} указывает, что обработчик никогда не вызовет <code>preventDefault()</code>. Если всё же вызов будет произведён, браузер должен игнорировать его и генерировать консольное предупреждение. Пример {{anch("Улучшение производительности прокрутки с помощью passive true")}}</li> <li>{{non-standard_inline}}<code> mozSystemGroup</code>: {{jsxref("Boolean")}} указывает, что обработчик должен быть добавлен в системную группу. Доступно только в коде, запущенном в XBL или в <a href="https://chrome.google.com/webstore/detail/open-with-firefox/poeacjbaiakjnaepdjgggojcjoajakmd">расширении Chrome</a>.</li> </ul> </dd> diff --git a/files/ru/web/api/fetch_api/using_fetch/index.html b/files/ru/web/api/fetch_api/using_fetch/index.html index 77244b0d5a..22cfb7e945 100644 --- a/files/ru/web/api/fetch_api/using_fetch/index.html +++ b/files/ru/web/api/fetch_api/using_fetch/index.html @@ -475,7 +475,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre> <p>[1] Этот API is implemented behind a preference.</p> -<p>[2] До Firefox 52, <code>get()</code> возвращал только первое значение в указанном заголовке, а <code>getAll()</code> возвращал все значения. Начиная с 52, <code>get()</code> теперь возвращает все значения и <code>getAll()</code> был удален.</p> +<p>[2] До Firefox 52, <code>get()</code> возвращал только первое значение в указанном заголовке, а <code>getAll()</code> возвращал все значения. Начиная с 52, <code>get()</code> теперь возвращает все значения и <code>getAll()</code> был удалён.</p> <h2 id="См._также">См. также</h2> diff --git a/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html b/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html index 24931b8d5b..8147b26a6e 100644 --- a/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html +++ b/files/ru/web/api/html_drag_and_drop_api/drag_operations/index.html @@ -94,7 +94,7 @@ dt.setData("text/plain", "https://www.mozilla.org"); <pre class="brush: js">event.dataTransfer.clearData("text/uri-list"); </pre> -<p>Аргумент <code>type</code> в методе {{domxref("DataTransfer.clearData","clearData()")}} опционален. Если <code>type</code> не указан, данные, связанные со всеми типами, удаляются. Если перетаскивание не содержит элементов данных перетаскивания или все элементы были впоследствии очищены, то перетаскивание не произойдет.</p> +<p>Аргумент <code>type</code> в методе {{domxref("DataTransfer.clearData","clearData()")}} опционален. Если <code>type</code> не указан, данные, связанные со всеми типами, удаляются. Если перетаскивание не содержит элементов данных перетаскивания или все элементы были впоследствии очищены, то перетаскивание не произойдёт.</p> <h2 id="dragfeedback" name="dragfeedback">Настройка изображения отклика drag</h2> diff --git a/files/ru/web/api/htmlaudioelement/index.html b/files/ru/web/api/htmlaudioelement/index.html index 4ecbafa11a..639d1d85bd 100644 --- a/files/ru/web/api/htmlaudioelement/index.html +++ b/files/ru/web/api/htmlaudioelement/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/HTMLAudioElement <h4 id="Описание">Описание</h4> -<p>Конструктор audio элемента. Свойство <code>preload</code> по умолчанию задано как <code>auto</code>, а <code>src</code> равно значению аргумента <em>URLString.</em> Перед воспроизведением, браузер асинхронно загружает объект в кэш и впоследствии берет данные оттуда.</p> +<p>Конструктор audio элемента. Свойство <code>preload</code> по умолчанию задано как <code>auto</code>, а <code>src</code> равно значению аргумента <em>URLString.</em> Перед воспроизведением, браузер асинхронно загружает объект в кэш и впоследствии берёт данные оттуда.</p> <p>Параметры</p> diff --git a/files/ru/web/api/htmlcanvaselement/getcontext/index.html b/files/ru/web/api/htmlcanvaselement/getcontext/index.html index ebd62161f6..18e50dc31b 100644 --- a/files/ru/web/api/htmlcanvaselement/getcontext/index.html +++ b/files/ru/web/api/htmlcanvaselement/getcontext/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/HTMLCanvasElement/getContext --- <div>{{APIRef("Canvas API")}}</div> -<p>Метод <strong><code>HTMLCanvasElement.getContext()</code></strong> возвращает контекст рисования на холсте, или {{jsxref("null")}}, если идентификатор контекста не определен.</p> +<p>Метод <strong><code>HTMLCanvasElement.getContext()</code></strong> возвращает контекст рисования на холсте, или {{jsxref("null")}}, если идентификатор контекста не определён.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/htmlmediaelement/index.html b/files/ru/web/api/htmlmediaelement/index.html index 1b069ef10a..9223858223 100644 --- a/files/ru/web/api/htmlmediaelement/index.html +++ b/files/ru/web/api/htmlmediaelement/index.html @@ -196,7 +196,7 @@ translation_of: Web/API/HTMLMediaElement <dt>{{domxref("HTMLMediaElement.canplaythrough_event", 'canplaythrough')}}</dt> <dd>Запускается, когда пользовательский агент может воспроизводить мультимедиа, и оценивает, что было загружено достаточно данных для воспроизведения мультимедиа до его конца, без необходимости остановки для дальнейшей буферизации контента.</dd> <dt>{{domxref("HTMLMediaElement.durationchange_event", 'durationchange')}}</dt> - <dd>Запускается, когда атрибут продолжительности был обновлен.</dd> + <dd>Запускается, когда атрибут продолжительности был обновлён.</dd> <dt>{{domxref("HTMLMediaElement.emptied_event", 'emptied')}}</dt> <dd>Запускается, когда носитель становится пустым; например, когда носитель уже загружен (или частично загружен), и для его перезагрузки вызывается метод {{domxref ("HTMLMediaElement.load ()")}}.</dd> <dt>{{domxref("HTMLMediaElement.ended_event", 'ended')}}</dt> diff --git a/files/ru/web/api/intersection_observer_api/index.html b/files/ru/web/api/intersection_observer_api/index.html index bd1354931e..2a1c6e99e6 100644 --- a/files/ru/web/api/intersection_observer_api/index.html +++ b/files/ru/web/api/intersection_observer_api/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/Intersection_Observer_API <ul> <li>Отложенная загрузка изображений или другого контента по мере прокрутки страницы.</li> <li>Реализация веб-сайтов с "бесконечным скроллом", где контент подгружается по мере того как страница прокручивается вниз, и пользователю не нужно переключаться между страницами.</li> - <li>Отчёт о видимости рекламы с целью посчитать доходы от нее.</li> + <li>Отчёт о видимости рекламы с целью посчитать доходы от неё.</li> <li>Принятие решения, запускать ли какой-то процесс или анимацию в зависимости от того, увидит пользователь результат или нет.</li> </ul> diff --git a/files/ru/web/api/keyboardevent/key/key_values/index.html b/files/ru/web/api/keyboardevent/key/key_values/index.html index 1dc955cf06..48fdfcee00 100644 --- a/files/ru/web/api/keyboardevent/key/key_values/index.html +++ b/files/ru/web/api/keyboardevent/key/key_values/index.html @@ -1731,7 +1731,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values </tr> <tr> <td><code>"Call"</code></td> - <td>Кнопка вызова <kbd>Call</kbd>. Набирает номер, который был введен.</td> + <td>Кнопка вызова <kbd>Call</kbd>. Набирает номер, который был введён.</td> <td></td> <td></td> <td><code>Qt::Key_Call</code> (0x01100004)</td> @@ -1857,7 +1857,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values </tr> <tr> <td><code>"MediaFastForward"</code> [2]</td> - <td><span class="tlid-translation translation" lang="ru"><span title="">Запускает, продолжает или увеличивает скорость быстрой перемотки мультимедиа вперед.</span></span></td> + <td><span class="tlid-translation translation" lang="ru"><span title="">Запускает, продолжает или увеличивает скорость быстрой перемотки мультимедиа вперёд.</span></span></td> <td><code>APPCOMMAND_MEDIA_FAST_FORWARD</code></td> <td></td> <td><code>GDK_KEY_AudioForward (0x1008FF97)<br> @@ -2026,7 +2026,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values </tr> <tr> <td><code>"AudioFaderFront"</code></td> - <td>Смещает регулятор уровня сигнала вперед.</td> + <td>Смещает регулятор уровня сигнала вперёд.</td> <td><code>VK_FADER_FRONT</code></td> <td></td> <td></td> diff --git a/files/ru/web/api/mutationobserver/index.html b/files/ru/web/api/mutationobserver/index.html index 3f0fbf8ca5..4adfaf642b 100644 --- a/files/ru/web/api/mutationobserver/index.html +++ b/files/ru/web/api/mutationobserver/index.html @@ -19,7 +19,7 @@ translation_of: Web/API/MutationObserver <dl> <dt>{{domxref("MutationObserver.MutationObserver", "MutationObserver()")}}</dt> - <dd>Создает и возвращает новый <code>MutationObserver</code>, который вызовет определённую колбэк-функцию при изменении в DOM.</dd> + <dd>Создаёт и возвращает новый <code>MutationObserver</code>, который вызовет определённую колбэк-функцию при изменении в DOM.</dd> </dl> <h2 id="Параметры">Параметры</h2> diff --git a/files/ru/web/api/navigator/battery/index.html b/files/ru/web/api/navigator/battery/index.html index 4ca4b15feb..228b2706c5 100644 --- a/files/ru/web/api/navigator/battery/index.html +++ b/files/ru/web/api/navigator/battery/index.html @@ -29,5 +29,5 @@ translation_of: Web/API/Navigator/battery <li>Состояние <a href="/en-US/docs/WebAPI/Battery_Status" title="/en-US/docs/WebAPI/Battery_Status">Battery API</a>.</li> <li><a class="external" href="http://hacks.mozilla.org/2012/02/using-the-battery-api-part-of-webapi/">Пост в блоге - использование Battery API.</a></li> <li><a class="external" href="http://davidwalsh.name/battery-api" title="http://davidwalsh.name/battery-api">David Walsh Battery Api в JavaScript</a>.</li> - <li><a href="https://github.com/pstadler/battery.js" title="https://github.com/pstadler/battery.js">battery.js - крошечная кросс-браузерная обертка.</a></li> + <li><a href="https://github.com/pstadler/battery.js" title="https://github.com/pstadler/battery.js">battery.js - крошечная кросс-браузерная обёртка.</a></li> </ul> diff --git a/files/ru/web/api/node/index.html b/files/ru/web/api/node/index.html index 712c65e0b6..cb8fd75f41 100644 --- a/files/ru/web/api/node/index.html +++ b/files/ru/web/api/node/index.html @@ -108,7 +108,7 @@ translation_of: Web/API/Node <dt>{{domxref("Node.parentElement")}} {{readonlyInline}}</dt> <dd>Возвращает {{domxref("Element")}} который является родителем данного узла. Если узел не имеет родителя или если родитель не {{domxref("Element")}}, это свойство вернёт <code>null</code>.</dd> <dt>{{domxref("Node.prefix")}} {{obsolete_inline}}{{readonlyInline}}</dt> - <dd>{{domxref("DOMString")}} представляющий префикс пространства имён узла или <code>null</code> если нет префикса точно определенного.<br> + <dd>{{domxref("DOMString")}} представляющий префикс пространства имён узла или <code>null</code> если нет префикса точно определённого.<br> Хотя недавние спецификации требуют того, чтобы <code>префикс</code> был определён как интерфейс {{domxref("Element")}}, браузеры основанные на Gecko ещё реализовывают его как интерфейс {{domxref("Node")}}.</dd> <dt>{{domxref("Node.previousSibling")}} {{readonlyInline}}</dt> <dd>Возвращают {{domxref("Node")}} представляющий предыдущий узел древа или <code>null</code>, если нет такого узла.</dd> diff --git a/files/ru/web/api/node/insertbefore/index.html b/files/ru/web/api/node/insertbefore/index.html index b512bffba9..2bf393bc60 100644 --- a/files/ru/web/api/node/insertbefore/index.html +++ b/files/ru/web/api/node/insertbefore/index.html @@ -73,7 +73,7 @@ var newElement = document.createElement("div"); parentElement.insertBefore(newElement, theFirstChild); </pre> -<p>Когда у родителя нет первого дочернего элемента, <code>firstChild</code> вернёт <code>null</code>. Новый элемент все равно будет выставляться после последнего дочернего элемента. Но так как родитель не имеет первого дочернего элемента, то он не будет иметь и последнего. Следовательно, после добавления в него элемента, этот элемент будет единственным дочерним элементом.</p> +<p>Когда у родителя нет первого дочернего элемента, <code>firstChild</code> вернёт <code>null</code>. Новый элемент всё равно будет выставляться после последнего дочернего элемента. Но так как родитель не имеет первого дочернего элемента, то он не будет иметь и последнего. Следовательно, после добавления в него элемента, этот элемент будет единственным дочерним элементом.</p> <h2 id="Browser_Compatibility" name="Browser_Compatibility">Совместимость с браузерами</h2> diff --git a/files/ru/web/api/node/issupported/index.html b/files/ru/web/api/node/issupported/index.html index 2ffbdadbca..d4db362dbb 100644 --- a/files/ru/web/api/node/issupported/index.html +++ b/files/ru/web/api/node/issupported/index.html @@ -115,7 +115,7 @@ translation_of: Web/API/Node/isSupported <h3 id="Gecko-специфичные_замечания">Gecko-специфичные замечания</h3> -<p>[1] Начиная с Gecko 19.0 {{geckoRelease("19.0")}} этот метод всегда будет возвращать true ({{bug("801425")}}) и начиная с Gecko 22.0 {{geckoRelease("22.0")}} этот метод был удален.</p> +<p>[1] Начиная с Gecko 19.0 {{geckoRelease("19.0")}} этот метод всегда будет возвращать true ({{bug("801425")}}) и начиная с Gecko 22.0 {{geckoRelease("22.0")}} этот метод был удалён.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/node/lookupnamespaceuri/index.html b/files/ru/web/api/node/lookupnamespaceuri/index.html index d37ac9f73a..4dc20c5c52 100644 --- a/files/ru/web/api/node/lookupnamespaceuri/index.html +++ b/files/ru/web/api/node/lookupnamespaceuri/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Node/lookupNamespaceURI --- <div>{{APIRef("DOM")}}</div> -<p>Метод <code><strong>Node.lookupNamespaceURI()</strong></code> берет префикс и возвращает пространство имён URI связанное с ним в данном узле, если найден (и <code>null</code> если нет). Устанавливает <code>null</code> для префикса который возвращает пространство имён по умолчанию.</p> +<p>Метод <code><strong>Node.lookupNamespaceURI()</strong></code> берёт префикс и возвращает пространство имён URI связанное с ним в данном узле, если найден (и <code>null</code> если нет). Устанавливает <code>null</code> для префикса который возвращает пространство имён по умолчанию.</p> <p>Из-за ошибки <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=312019" title="https://bugzilla.mozilla.org/show_bug.cgi?id=312019">bug 312019</a>, этот метод не работает с динамическим назначением пространства имён (т.е., с уставленным тем же <a href="/en/DOM/Node.prefix" title="En/DOM/Node.prefix">Node.prefix</a>).</p> diff --git a/files/ru/web/api/node/namespaceuri/index.html b/files/ru/web/api/node/namespaceuri/index.html index 479df26e24..aceba64d3f 100644 --- a/files/ru/web/api/node/namespaceuri/index.html +++ b/files/ru/web/api/node/namespaceuri/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/Node/namespaceURI <p>Вы можете создать элемент с конкретным <code>namespaceURI</code> используйте метод DOM Level 2 <a href="/en-US/docs/DOM/document.createElementNS" title="DOM/document.createElementNS">document.createElementNS</a>.</p> -<p>Через <a class="external" href="http://www.w3.org/TR/xml-names11/">пространство имён в XML</a> спецификации, атрибуты не наследуют пространство имён для элемента к которому он прикреплён. Если у атрибута не задано явно пространство имён, он не имеет пространства имен.</p> +<p>Через <a class="external" href="http://www.w3.org/TR/xml-names11/">пространство имён в XML</a> спецификации, атрибуты не наследуют пространство имён для элемента к которому он прикреплён. Если у атрибута не задано явно пространство имён, он не имеет пространства имён.</p> <p>DOM не обрабатывает или не вынуждает проверять пространство имён как таковое. Приложения выше DOM, делают необходимые проверки. <span id="result_box" lang="ru"><span class="hps">Отметим также,</span> <span class="hps">что</span> <span class="hps">префикс пространства имён</span><span>,</span> <span class="hps">когда</span> <span class="hps">он связан с</span> <span class="hps">конкретным узлом</span><span>,</span> <span class="hps">не может быть изменён</span><span>.</span></span></p> diff --git a/files/ru/web/api/node/replacechild/index.html b/files/ru/web/api/node/replacechild/index.html index ae9a375735..f1bbaa172a 100644 --- a/files/ru/web/api/node/replacechild/index.html +++ b/files/ru/web/api/node/replacechild/index.html @@ -19,8 +19,8 @@ original_slug: Web/API/Node.replaceChild <pre class="syntaxbox"><em>replacedNode</em> = <em>parentNode</em>.replaceChild(<em>newChild</em>, <em>oldChild</em>); </pre> <ul> - <li><code>newChild</code> элемент на который будет заменён <code>oldChild</code>. В случает если он уже есть в DOM, то сначала он будет удален.</li> - <li><code>oldChild</code> элемент который будет заменен.</li> + <li><code>newChild</code> элемент на который будет заменён <code>oldChild</code>. В случает если он уже есть в DOM, то сначала он будет удалён.</li> + <li><code>oldChild</code> элемент который будет заменён.</li> <li><code>replacedNode</code> заменённый элемент. Тоже самое что и <code>oldChild</code>.</li> </ul> <h2 id="Example" name="Example">Пример</h2> diff --git a/files/ru/web/api/performance/index.html b/files/ru/web/api/performance/index.html index bc721672b6..47d7221e51 100644 --- a/files/ru/web/api/performance/index.html +++ b/files/ru/web/api/performance/index.html @@ -60,7 +60,7 @@ translation_of: Web/API/Performance <dt>{{domxref("Performance.measure()")}}</dt> <dd>Создаёт именованную {{domxref("DOMHighResTimeStamp","временну́ю метку")}} в буфере записей производительности браузера между двумя определёнными метками (известных как <em>start mark</em> (начальная метка) и <em>end mark </em>(конечная метка), соответственно).</dd> <dt>{{domxref("Performance.now()")}}</dt> - <dd>Возвращает объект {{domxref("DOMHighResTimeStamp")}}, представляющий количество миллисекунд, прошедших с начала момента отсчета.</dd> + <dd>Возвращает объект {{domxref("DOMHighResTimeStamp")}}, представляющий количество миллисекунд, прошедших с начала момента отсчёта.</dd> <dt>{{domxref("Performance.setResourceTimingBufferSize()")}}</dt> <dd>Устанавливает размер буфера измерения ресурсов браузера равным указанному числу объектов {{domxref("PerformanceEntry","записей производительности")}} {{domxref("PerformanceEntry.entryType","типа")}} "<code>resource</code>".</dd> <dt>{{domxref("Performance.toJSON()")}}</dt> diff --git a/files/ru/web/api/pointer_lock_api/index.html b/files/ru/web/api/pointer_lock_api/index.html index 380e2b0888..e0fd2ace29 100644 --- a/files/ru/web/api/pointer_lock_api/index.html +++ b/files/ru/web/api/pointer_lock_api/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Pointer_Lock_API --- <p><span class="seoSummary"><strong>Pointer lock</strong> <strong>API</strong>(прежнее название Mouse Lock API) </span><span style="line-height: 1.5;">обеспечивает методы ввода, основанные на движении мыши , а не только абсолютно позиционированых координатах курсора </span><span style="line-height: 1.5;">в окне. Это даёт вам доступ к необработанным движениям мыши, прикрепляет курсор мыши к любому элементу </span><span style="line-height: 1.5;">в окне браузера</span><span style="line-height: 1.5;">, предоставляет возможность вычислять координаты мыши не ограниченной областью окна проекции, и скрывает курсор из поля зрения. Это идеальное решение для 3D игр, например.</span></p> -<p>Более того, API полезно для любых приложений, которые используют данные мыши для управления движениями, вращения объектов и изменения записей. Например пользователь может управлять наклоном просто двигая мышь, не нажимая ни на какие кнопки. Сами кнопки освобождаются под другие задачи. Примерами могут послужить программы для просмотра карт или спутниковой съемки.</p> +<p>Более того, API полезно для любых приложений, которые используют данные мыши для управления движениями, вращения объектов и изменения записей. Например пользователь может управлять наклоном просто двигая мышь, не нажимая ни на какие кнопки. Сами кнопки освобождаются под другие задачи. Примерами могут послужить программы для просмотра карт или спутниковой съёмки.</p> <p>Блокировка указателя позволяет вам получить доступ к данным мыши, даже если курсор ушёл за границы экрана или браузера. Например, ваши пользователи могут продолжать вращать или управлять 3D моделью движением мыши бесконечно. Без блокировки вращение или управление останавливается, как только курсор достигает края браузера или экрана. Геймеры теперь могут нажимать кнопки и водить курсором взад и вперёд, не боясь покинуть игровое поле и случайно переключится на другое приложение.</p> diff --git a/files/ru/web/api/push_api/index.html b/files/ru/web/api/push_api/index.html index 7fbf680b2b..77311c658f 100644 --- a/files/ru/web/api/push_api/index.html +++ b/files/ru/web/api/push_api/index.html @@ -36,7 +36,7 @@ translation_of: Web/API/Push_API <p>Service worker будет запущен для того чтобы обрабатывать входящие push сообщения, которые будут доставлены в {{domxref("ServiceWorkerGlobalScope.onpush")}} обработчик события. Это позволит приложению реагировать на push сообщения, к примеру показывать нотификации через метод {{domxref("ServiceWorkerRegistration.showNotification()")}}.</p> -<p>Каждая подписка уникальна по отношению к service worker. Адрес для подписки это уникальный <a href="http://www.w3.org/TR/capability-urls/">capability URL</a>: все что нужно чтобы отослать сообщение вашему приложению это адрес. Однако это URL необходимо держать в секрете, иначе любое другое приложение сможет слать push уведомление к вашему приложению.</p> +<p>Каждая подписка уникальна по отношению к service worker. Адрес для подписки это уникальный <a href="http://www.w3.org/TR/capability-urls/">capability URL</a>: всё что нужно чтобы отослать сообщение вашему приложению это адрес. Однако это URL необходимо держать в секрете, иначе любое другое приложение сможет слать push уведомление к вашему приложению.</p> <p>Использование service worker для получения push уведомлений может привести к повышенному потреблению ресурсов, например это может влиять на расход батареи. Во всех браузерах это работает по разному - нет стандарта на этот счёт. К примеру Firefox позволяет лишь ограниченное число уведомлений которое может быть отправлено приложению, а Chrome не имеет таких ограничений, однако обязывает показывать уведомление пользователю каждый раз, чтобы пользователь мог решить хочет он или нет принимать их дальше.</p> diff --git a/files/ru/web/api/rtcpeerconnection/index.html b/files/ru/web/api/rtcpeerconnection/index.html index 676d536252..55a24c974e 100644 --- a/files/ru/web/api/rtcpeerconnection/index.html +++ b/files/ru/web/api/rtcpeerconnection/index.html @@ -47,7 +47,7 @@ translation_of: Web/API/RTCPeerConnection <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда свойство {{domxref("MediaStreamTrack.isolated", "isolated")}} на одном из объектов {{domxref("MediaStreamTrack")}} , связанного с соединением изменяет своё значение. Объект трека является изолированным {{domxref("MediaStreamTrack.isolated", "isolated")}}, если его содержимое не может быть доступно содержащему его документу, по причине невозможности аутентификации, или объект трека прибыл не из источника происхождения страницы.<br> Так же, доступно через свойство установки обработчика {{domxref("RTCPeerConnection.onisolationchange", "onisolationchange")}}.</dd> <dt>{{domxref("RTCPeerConnection.negotiationneeded_event", "negotiationneeded")}}</dt> - <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда необходимо запустить согласование (пересогласование) ICE соединения; может произойти при первом открытии соединения , или при необходимости принятия изменений условий сети. Получатель должен ответить, создав предложение и отправив его другому партнеру. <br> + <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда необходимо запустить согласование (пересогласование) ICE соединения; может произойти при первом открытии соединения , или при необходимости принятия изменений условий сети. Получатель должен ответить, создав предложение и отправив его другому партнёру. <br> Так же, доступно через свойство установки обработчика {{domxref("RTCPeerConnection.onnegotiationneeded", "onnegotiationneeded")}}.</dd> <dt>{{domxref("RTCPeerConnection.signalingstatechange_event", "signalingstatechange")}}</dt> <dd>Событие <code>signalingstatechange</code> возникает, когда статус сигнализации ICE соединения изменился..<br> diff --git a/files/ru/web/api/service_worker_api/using_service_workers/index.html b/files/ru/web/api/service_worker_api/using_service_workers/index.html index 4fc2235590..363d4331eb 100644 --- a/files/ru/web/api/service_worker_api/using_service_workers/index.html +++ b/files/ru/web/api/service_worker_api/using_service_workers/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers <h2 id="Предпосылки_появления_Service_Workers">Предпосылки появления Service Workers</h2> -<p>Одной из важнейших проблем, от которой страдали пользователи веб-приложений, была работа в условиях потери связи. Лучшее в мире веб-приложение оставит ужасное впечатление от использования, если вы не сможете его загрузить. Предпринималось много попыток создания технологий, которые бы решили эту проблему, и если верить страницам нашего <a href="/en-US/Apps/Build/Offline">Форума</a>, некоторые из вопросов были решены. Но все же наиважнейшей проблемой по-прежнему является отсутствие хорошего механизма для управления кешем ресурсов и настраиваемыми сетевыми запросами.<br> +<p>Одной из важнейших проблем, от которой страдали пользователи веб-приложений, была работа в условиях потери связи. Лучшее в мире веб-приложение оставит ужасное впечатление от использования, если вы не сможете его загрузить. Предпринималось много попыток создания технологий, которые бы решили эту проблему, и если верить страницам нашего <a href="/en-US/Apps/Build/Offline">Форума</a>, некоторые из вопросов были решены. Но всё же наиважнейшей проблемой по-прежнему является отсутствие хорошего механизма для управления кешем ресурсов и настраиваемыми сетевыми запросами.<br> <br> Предыдущей попыткой была технология AppCache, казавшаяся хорошей идеей, потому как позволяла действительно просто указывать ресурсы для кеширования. Однако, эта технология допускает много предположений о том, что вы пытаетесь сделать, и затем с грохотом ломается, когда ваше приложение работает не в точности с этими допущениями. Чтобы получить больше информации по этой теме, прочитайте (неудачно названную, но хорошо написанную) статью Джейка Арчибальда <a href="http://alistapart.com/article/application-cache-is-a-douchebag">Application Cache is a Douchebag</a>.</p> @@ -83,7 +83,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers <p>В первом примере код, идущий за вызовом функции <code>myFunction()</code>, будет ждать завершения вызова и возврата значения. Во втором примере <code>myFunction()</code> возвращает промис для <code>value</code>, в этом случае, последующий код сможет выполняться, не дожидаясь завершения основной работы функции. Когда промис разрешится, код, переданный методу <code>then</code>, будет выполнен асинхронно.</p> -<p>А вот вам реальный пример: что, если мы хотим загружать изображения динамически, к тому же мы желаем удостовериться, что изображения загрузились до того, как они будут показаны? То, что мы хотим сделать, является стандартной задачей, но она все же может доставить головной боли. Мы можем использовать <code>.onload</code>, чтобы показать изображение только после загрузки, но что делать с событиями, которые могут произойти до того, как мы начнём их слушать? Мы могли бы использовать <code>.complete</code>, но оно все ещё ненадёжно, да и что делать с повторяющимися изображениями? И наконец все это работает синхронно, блокируя главный поток.</p> +<p>А вот вам реальный пример: что, если мы хотим загружать изображения динамически, к тому же мы желаем удостовериться, что изображения загрузились до того, как они будут показаны? То, что мы хотим сделать, является стандартной задачей, но она всё же может доставить головной боли. Мы можем использовать <code>.onload</code>, чтобы показать изображение только после загрузки, но что делать с событиями, которые могут произойти до того, как мы начнём их слушать? Мы могли бы использовать <code>.complete</code>, но оно все ещё ненадёжно, да и что делать с повторяющимися изображениями? И наконец все это работает синхронно, блокируя главный поток.</p> <p>Вместо этого мы можем написать собственный промис для работы с подобными случаями. (Вы можете найти исходный код в нашем примере <a href="https://github.com/mdn/promises-test">Promises test</a> или взглянуть на <a href="https://mdn.github.io/promises-test/">живое демо</a>.)</p> @@ -177,7 +177,7 @@ imgLoad('myLittleVader.jpg').then((response) => { <li>Далее, чтобы зарегистрировать сервис-воркера для этого сайта, мы используем функцию {{domxref("ServiceWorkerContainer.register()") }}. Сервис-воркер представляет собой JavaScript-файл приложения (обратите внимание, что URL указывается относительно "корня", а не места расположения JS-файла, регистрирующего сервис-воркер).</li> <li>Параметр scope - не обязателен, он может быть использован для указания подмножества контента, которое вы хотите отдать под контроль сервис-воркера. В нашем случае, мы указали <code>'./sw-test/'</code>. Если вы не укажете его, то будет использовано значение по умолчанию; мы же указали его только в целях иллюстрации.</li> <li>Метод <code>.then()</code> был использован для обработки успешной регистрации. Если промис разрешится успешно, то код, переданный этому методу, будет выполнен.</li> - <li>Ну и наконец, в конец нашего промиса мы добавляем функцию <code>.catch()</code>, которая будет выполнена в случае, если промис будет отклонен.</li> + <li>Ну и наконец, в конец нашего промиса мы добавляем функцию <code>.catch()</code>, которая будет выполнена в случае, если промис будет отклонён.</li> </ol> <p>Предыдущий код регистрирует сервис-воркера, который работает в worker-контексте, и следовательно, не имеет доступа к DOM. Затем вы запускаете код в сервис-воркере, вне ваших страниц, чтобы контролировать их загрузку.</p> diff --git a/files/ru/web/api/streams_api/index.html b/files/ru/web/api/streams_api/index.html index 3ed4fc27ae..6f0decb53b 100644 --- a/files/ru/web/api/streams_api/index.html +++ b/files/ru/web/api/streams_api/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Streams_API <p>Потоковая передача данных предполагает разбивку ресурса, который вы хотите получить через сеть, на мелкие кусочки и затем их обработку часть за частью. Это то, что браузеры делают в любом случае получения ассетов, чтобы показать их на страницах — видео буфер и другие ресурсы доступные для воспроизведения, и иногда это заметно на изображениях, загружающихся частями.</p> -<p>Но методы работы с этим и данные никогда прежде не были доступны для JavaScript. Раньше, если мы хотели обработать часть ресурса, нам все равно пришлось бы загрузить весь файл (будь то видео, текстовый файл и т.п.), мы были бы обязаны скачать файл целиком, дождаться пока он будет приведён к необходимому формату и только потом работать с файлом после его полной загрузки.</p> +<p>Но методы работы с этим и данные никогда прежде не были доступны для JavaScript. Раньше, если мы хотели обработать часть ресурса, нам всё равно пришлось бы загрузить весь файл (будь то видео, текстовый файл и т.п.), мы были бы обязаны скачать файл целиком, дождаться пока он будет приведён к необходимому формату и только потом работать с файлом после его полной загрузки.</p> <p>С помощью потоков доступных в JavaScript меняется все — вы можете начать обрабатывать данные бит за битом как только данные появляются на стороне клиента, без необходимости генерировать буфер, строку или какой либо объект из потока.</p> diff --git a/files/ru/web/api/touch_events/index.html b/files/ru/web/api/touch_events/index.html index fd86517821..aabedcb58d 100644 --- a/files/ru/web/api/touch_events/index.html +++ b/files/ru/web/api/touch_events/index.html @@ -332,6 +332,6 @@ Log: <pre id="log" style="border: 1px solid #ccc;"></pre></pre> <p>В Firefox события касания отключены, когда отключён e10s (электролиз; <a href="/en-US/docs/Mozilla/Firefox/Multiprocess_Firefox">многопроцессорный Firefox</a>). e10s включён по умолчанию в Firefox, но может в конечном итоге отключаться в определённых ситуациях, например, когда установлены определённые инструменты специальных возможностей или надстройки Firefox, для работы которых требуется отключение e10s. Это означает, что даже на настольном компьютере / ноутбуке с сенсорным экраном сенсорные события не будут включены.</p> -<p>Вы можете проверить, отключён ли e10s, перейдя в <code>about:support</code> и посмотрев на запись «Многопроцессорная Windows» в разделе «Основы приложения». 1/1 означает, что он включён, 0/1 означает отключен.</p> +<p>Вы можете проверить, отключён ли e10s, перейдя в <code>about:support</code> и посмотрев на запись «Многопроцессорная Windows» в разделе «Основы приложения». 1/1 означает, что он включён, 0/1 означает отключён.</p> <p>Если вы хотите принудительно включить e10s - чтобы явно повторно включить поддержку сенсорных событий - вам нужно перейти к <code>about:config</code> и создать новое логическое предпочтение <code>browser.tabs.remote.force-enable</code>. Установите значение <code>true</code>, перезапустите браузер, и e10s будет включён независимо от любых других настроек.</p> diff --git a/files/ru/web/api/vrpose/position/index.html b/files/ru/web/api/vrpose/position/index.html index ba2d4ab6cd..76b94b6fcc 100644 --- a/files/ru/web/api/vrpose/position/index.html +++ b/files/ru/web/api/vrpose/position/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/VRPose/position <p>Значение (типа Float) {{domxref("Float32Array")}}, или ноль, если датчик VR не может предоставить данные о местоположении.</p> <div class="note"> -<p><strong>Примечание</strong>: Пользовательские агенты могут предоставлять эмулированные значения положения с помощью таких методов, как моделирование шеи; при этом они все равно должны сообщать параметр {{domxref ("VRDisplayCapabilities.hasPosition")}} как ложные.</p> +<p><strong>Примечание</strong>: Пользовательские агенты могут предоставлять эмулированные значения положения с помощью таких методов, как моделирование шеи; при этом они всё равно должны сообщать параметр {{domxref ("VRDisplayCapabilities.hasPosition")}} как ложные.</p> </div> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html b/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html index 63e50078b7..a64b370af2 100644 --- a/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html +++ b/files/ru/web/api/web_audio_api/visualizations_with_web_audio_api/index.html @@ -127,7 +127,7 @@ var dataArray = new Uint8Array(bufferLength);</pre> <h2 id="Создание_частотной_гистограммы">Создание частотной гистограммы</h2> -<p>Ещё одна визуализация, которую можно создать, - это частотные диаграммы (такие, как строит Winamp). В проекте Voice-change-O-matic есть реализация такой диаграммы. Давайте посмотрим на нее.</p> +<p>Ещё одна визуализация, которую можно создать, - это частотные диаграммы (такие, как строит Winamp). В проекте Voice-change-O-matic есть реализация такой диаграммы. Давайте посмотрим на неё.</p> <p>Сначала мы снова создаём анализатор и массив для данных, затем очищаем холст при помощи <code>clearRect()</code>. Единственное отличие от того, что мы делали раньше - ы том, что мы можем установить намного меньший размер fft. Таким образом, каждый столбец в диаграмме будет выглядеть как столбец, а не как тонкая полоска.</p> diff --git a/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html b/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html index c78a987ba5..c20696432a 100644 --- a/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html +++ b/files/ru/web/api/web_speech_api/using_the_web_speech_api/index.html @@ -221,7 +221,7 @@ recognition.onresult = function(event) { <p>То же самое приложение из предыдущего примера.<br> <a href="https://ru.web-speech-api-example.cheliz.top/">Ссылка на приложение</a> или <a href="https://github.com/Oleg-Miniuk/ru_web_speech_example">репозиторий</a> (клонируем, затем <code>npm install && npm run start</code> в терминале, после чего открыть <strong>localhost:4001</strong> в браузере).<br> <br> - Пользовательский интерфейс включает в себя набор элементов для ввода текста, задания высоты тона, скорости воспроизведения и непосредственного выбора голоса, которым будет текст произнесен.</p> + Пользовательский интерфейс включает в себя набор элементов для ввода текста, задания высоты тона, скорости воспроизведения и непосредственного выбора голоса, которым будет текст произнесён.</p> <p>После ввода текста вы можете нажать <strong>Play</strong> для запуска.</p> diff --git a/files/ru/web/api/webrtc_api/using_data_channels/index.html b/files/ru/web/api/webrtc_api/using_data_channels/index.html index 1c2e5b2521..5fc60dc11e 100644 --- a/files/ru/web/api/webrtc_api/using_data_channels/index.html +++ b/files/ru/web/api/webrtc_api/using_data_channels/index.html @@ -20,7 +20,7 @@ translation_of: Web/API/WebRTC_API/Using_data_channels <li>Написать свои скрипты по согласованию транспорта данных, и сигнализированию другому узлу о необходимости присоединения к новому каналу данных.</li> </ul> -<p>Разберём оба случая, начиная с первого, как с наиболее распространенного.</p> +<p>Разберём оба случая, начиная с первого, как с наиболее распространённого.</p> <h3 id="Автоматический_режим_согласования">Автоматический режим согласования</h3> diff --git a/files/ru/web/api/webvr_api/index.html b/files/ru/web/api/webvr_api/index.html index a1dd13cbc9..a4809c7504 100644 --- a/files/ru/web/api/webvr_api/index.html +++ b/files/ru/web/api/webvr_api/index.html @@ -97,7 +97,7 @@ translation_of: Web/API/WebVR_API <dt>{{domxref("Window.onvrdisplaydisconnect")}}</dt> <dd>Представляет обработчик событий, который будет запускаться, когда совместимый VR-дисплей был отключён от компьютера (когда {{event("vrdisplaydisconnect")}} событие срабатывает).</dd> <dt>{{domxref("Window.onvrdisplayactivate")}}</dt> - <dd>Представляет обработчик событий, который будет выполняться, когда дисплей может быть представлен (когда {{event("vrdisplayactivate")}}событие срабатывает), например, HMD (Head Mounted Display) был перемещён, чтобы вывести его из режима ожидания, или проснулся, будучи перемещенным.</dd> + <dd>Представляет обработчик событий, который будет выполняться, когда дисплей может быть представлен (когда {{event("vrdisplayactivate")}}событие срабатывает), например, HMD (Head Mounted Display) был перемещён, чтобы вывести его из режима ожидания, или проснулся, будучи перемещённым.</dd> <dt>{{domxref("Window.onvrdisplaydeactivate")}}</dt> <dd>Представляет обработчик событий, который будет запускаться, когда дисплей больше не будет отображаться (когда {{event("vrdisplaydeactivate")}} событие срабатывает), например, HMD (Head Mounted Display) перешёл в режим ожидания или спящий режим из-за периода бездействия.</dd> </dl> diff --git a/files/ru/web/api/webvr_api/using_the_webvr_api/index.html b/files/ru/web/api/webvr_api/using_the_webvr_api/index.html index 51cdf502b8..1a82614d89 100644 --- a/files/ru/web/api/webvr_api/using_the_webvr_api/index.html +++ b/files/ru/web/api/webvr_api/using_the_webvr_api/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/WebVR_API/Using_the_WebVR_API <p>После того, как Вы всё подготовили, можете проверить всё ли работает как следует. Для этого надо открыть <a href="https://mdn.github.io/webvr-tests/aframe-demo/">простой A-Frame пример</a> и убедиться, что сцена отображается и что можно перейти в VR режим по нажатию на кнопку в правом нижнем углу.</p> -<p>Фреймворк <a href="https://aframe.io/">A-Frame</a> является лучшим вариантом, если Вы хотите быстро создать WebVR-совместимую сцену, не углубляясь в огромное количество JavaScript кода. Однако, пользуясь им, Вы не узнаете о работе с чистым WebVR API, а именно этим мы сейчас и займемся.</p> +<p>Фреймворк <a href="https://aframe.io/">A-Frame</a> является лучшим вариантом, если Вы хотите быстро создать WebVR-совместимую сцену, не углубляясь в огромное количество JavaScript кода. Однако, пользуясь им, Вы не узнаете о работе с чистым WebVR API, а именно этим мы сейчас и займёмся.</p> <h2 id="Introducing_our_demo">Introducing our demo</h2> diff --git a/files/ru/web/api/window/alert/index.html b/files/ru/web/api/window/alert/index.html index 7a08e860f4..4f610b0ec0 100644 --- a/files/ru/web/api/window/alert/index.html +++ b/files/ru/web/api/window/alert/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/Window/alert <pre class="syntaxbox">window.alert(<em>message</em>);</pre> <ul> - <li><code>message </code>это опциональная (необязательная) строка текста, которую вы хотите отобразить в диалоговом окне, или же объект, который будет преобразован в строку и отображен.</li> + <li><code>message </code>это опциональная (необязательная) строка текста, которую вы хотите отобразить в диалоговом окне, или же объект, который будет преобразован в строку и отображён.</li> </ul> <h2 id="Example" name="Example">Пример</h2> diff --git a/files/ru/web/api/window/gamepaddisconnected_event/index.html b/files/ru/web/api/window/gamepaddisconnected_event/index.html index f0aac41e38..55cada8e86 100644 --- a/files/ru/web/api/window/gamepaddisconnected_event/index.html +++ b/files/ru/web/api/window/gamepaddisconnected_event/index.html @@ -3,7 +3,7 @@ title: gamepaddisconnected slug: Web/API/Window/gamepaddisconnected_event translation_of: Web/API/Window/gamepaddisconnected_event --- -<p>Событие <code>gampaddisconnected</code> вызывается, когда браузер обнаруживает, что геймпад был отключен.</p> +<p>Событие <code>gampaddisconnected</code> вызывается, когда браузер обнаруживает, что геймпад был отключён.</p> <h2 id="Основная_информация">Основная информация</h2> diff --git a/files/ru/web/api/window/performance/index.html b/files/ru/web/api/window/performance/index.html index 39e11ecbf8..7f765838c8 100644 --- a/files/ru/web/api/window/performance/index.html +++ b/files/ru/web/api/window/performance/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/Window/performance <dl> <dt>{{domxref("Performance.now()", "performance.now()")}}</dt> - <dd>Возвращает {{domxref("DOMHighResTimeStamp")}} представляющий количество миллисекунд прошедшее с момента отсчета.</dd> + <dd>Возвращает {{domxref("DOMHighResTimeStamp")}} представляющий количество миллисекунд прошедшее с момента отсчёта.</dd> <dt><code>measure()</code></dt> <dd>This method stores the <a href="http://www.w3.org/TR/hr-time/#domhighrestimestamp"><code>DOMHighResTimeStamp</code></a> duration between two marks along with the associated name (a "measure").</dd> <dt><strong><code>getEntriesByType()</code></strong></dt> diff --git a/files/ru/web/api/window/postmessage/index.html b/files/ru/web/api/window/postmessage/index.html index 749e388816..22c6f6bf88 100644 --- a/files/ru/web/api/window/postmessage/index.html +++ b/files/ru/web/api/window/postmessage/index.html @@ -54,7 +54,7 @@ function receiveMessage(event) <p><strong>Если вы не ожидаете получения сообщения от других сайтов, не добавляйте обработчики событий <code>message</code>.</strong> Это гарантированный способ избежать проблем с безопасностью.</p> -<p>Если же вы хотите получать сообщения от других сайтов, то всегда необходимо идентифицировать отправителя, используя <code>origin</code> и возможно <code>source</code> свойства. Любой сайт (включая, например, <code class="nowiki">http://evil.example.com</code>) может отправлять сообщения любым другим, и у вас нет гарантии, что неизвестный отправитель не пошлёт вредоносные сообщения. Однако даже если отправитель известен, вам все равно необходимо всегда подтверждать синтаксис получаемого сообщения. Иначе, дыра в безопасности сайта, которому вы доверяете, может открыть дыру для межсайтового скриптинга на вашем сайте.</p> +<p>Если же вы хотите получать сообщения от других сайтов, то всегда необходимо идентифицировать отправителя, используя <code>origin</code> и возможно <code>source</code> свойства. Любой сайт (включая, например, <code class="nowiki">http://evil.example.com</code>) может отправлять сообщения любым другим, и у вас нет гарантии, что неизвестный отправитель не пошлёт вредоносные сообщения. Однако даже если отправитель известен, вам всё равно необходимо всегда подтверждать синтаксис получаемого сообщения. Иначе, дыра в безопасности сайта, которому вы доверяете, может открыть дыру для межсайтового скриптинга на вашем сайте.</p> <p><strong>Всегда конкретизируйте целевой первоисточник, а не просто <code>*</code>, когда вы используете <code>postMessage</code> для отправки данных другим окнам. Вредоносный сайт может изменить локацию окна без вашего ведома и затем перехватить данные, посылаемые с использованием </strong><code>postMessage</code>.</p> diff --git a/files/ru/web/api/windoweventhandlers/onpopstate/index.html b/files/ru/web/api/windoweventhandlers/onpopstate/index.html index 049f842c4f..e51aa9b186 100644 --- a/files/ru/web/api/windoweventhandlers/onpopstate/index.html +++ b/files/ru/web/api/windoweventhandlers/onpopstate/index.html @@ -38,7 +38,7 @@ history.back(); // alerts "location: http://example.com/example.html, state: nul history.go(2); // alerts "location: http://example.com/example.html?page=3, state: {"page":3} </pre> -<p>Обратите внимание, что даже несмотря на то, что первоначальная запись истории (для <code>http://example.com/example.html</code>) не имеет объекта события, связанного с ней, событие <code>popstate</code> все равно произойдёт, когда мы активируем эту запись после второго вызова <code>history.back()</code>.</p> +<p>Обратите внимание, что даже несмотря на то, что первоначальная запись истории (для <code>http://example.com/example.html</code>) не имеет объекта события, связанного с ней, событие <code>popstate</code> всё равно произойдёт, когда мы активируем эту запись после второго вызова <code>history.back()</code>.</p> <h2 id="Specification" name="Specification">Спецификация</h2> diff --git a/files/ru/web/api/xmlhttprequest/send/index.html b/files/ru/web/api/xmlhttprequest/send/index.html index 34736d0716..ec462f241c 100644 --- a/files/ru/web/api/xmlhttprequest/send/index.html +++ b/files/ru/web/api/xmlhttprequest/send/index.html @@ -61,7 +61,7 @@ translation_of: Web/API/XMLHttpRequest/send <tbody> <tr> <td><code>InvalidStateError</code></td> - <td><code>send()</code> уже был вызван для запроса, и/или запрос завершен.</td> + <td><code>send()</code> уже был вызван для запроса, и/или запрос завершён.</td> </tr> <tr> <td><code>NetworkError</code></td> diff --git a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html index 0a7d0f9cf4..051a72f559 100644 --- a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html +++ b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html @@ -226,7 +226,7 @@ The second line. <h4 id="Небольшой_классический_фреймворк">Небольшой классический фреймворк</h4> -<p>Все данные эффекты достигаются с помощью веб браузера, когда вы отправляете {{ HTMLElement("form") }}. Но если вам требуется выполнить все операции с помощью лишь JavaScript, то вам придётся проинструктировать интерпретатор обо <em>всех</em> выполняемых операциях. Для, того чтобы отправлять формы с помощью <em>чистого</em> AJAX, потребуется слишком комплексное описание, чтобы тут рассуждать о нем во всех подробностях. В связи с этим, мы опубликовали здесь <strong>полный(но все ещё дидактический) фреймворк, </strong>который все же способен использовать все четыре способа отправки и, так же поддерживает <strong>файловую загрузку.</strong></p> +<p>Все данные эффекты достигаются с помощью веб браузера, когда вы отправляете {{ HTMLElement("form") }}. Но если вам требуется выполнить все операции с помощью лишь JavaScript, то вам придётся проинструктировать интерпретатор обо <em>всех</em> выполняемых операциях. Для, того чтобы отправлять формы с помощью <em>чистого</em> AJAX, потребуется слишком комплексное описание, чтобы тут рассуждать о нем во всех подробностях. В связи с этим, мы опубликовали здесь <strong>полный(но все ещё дидактический) фреймворк, </strong>который всё же способен использовать все четыре способа отправки и, так же поддерживает <strong>файловую загрузку.</strong></p> <div style="height: 400px; margin-bottom: 12px; overflow: auto;"> <pre class="brush: html notranslate"><!doctype html> diff --git a/files/ru/web/css/@counter-style/additive-symbols/index.html b/files/ru/web/css/@counter-style/additive-symbols/index.html index 4ea2a2dc87..b8b2d29f1d 100644 --- a/files/ru/web/css/@counter-style/additive-symbols/index.html +++ b/files/ru/web/css/@counter-style/additive-symbols/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/@counter-style/additive-symbols <p>Дескриптор аддитивных символов аналогичен дескриптору <span class="seoSummary"> {{cssxref('symbols')}} </span>и позволяет пользователю указывать символы которые будут использоваться для представлений счётчика, когда значение дескриптора<span class="seoSummary"> {{cssxref('system')}} <em>аддитивное</em>. Дескриптор <code>additive-symbols</code> </span>определяет так называемые аддитивные кортежи<span class="seoSummary">, </span>каждый из которых представляет собой пару, содержащую символ и неотрицательный целочисленный вес<span class="seoSummary">.</span> Аддитивная система используется для построения систем нумерации знаков, таких как римские цифры.</p> -<p>Когда значение системного дескриптора является циклическим, числовым, буквенным, символическим или фиксированным, дескриптор <code>symbols</code> используется вместо аддитивных символов для указания символов счетчика.</p> +<p>Когда значение системного дескриптора является циклическим, числовым, буквенным, символическим или фиксированным, дескриптор <code>symbols</code> используется вместо аддитивных символов для указания символов счётчика.</p> <p>{{cssinfo}}</p> @@ -121,5 +121,5 @@ additive-symbols: 3 "0", 2 url(symbol.png); <ul> <li>{{Cssxref("list-style")}}, {{Cssxref("list-style-image")}}, {{Cssxref("list-style-position")}}</li> - <li>{{cssxref("symbols", "symbols()")}}, функциональная запись, создающая анонимные стили счетчиков.</li> + <li>{{cssxref("symbols", "symbols()")}}, функциональная запись, создающая анонимные стили счётчиков.</li> </ul> diff --git a/files/ru/web/css/_doublecolon_first-letter/index.html b/files/ru/web/css/_doublecolon_first-letter/index.html index 467a9e1e0b..2a2cd2f450 100644 --- a/files/ru/web/css/_doublecolon_first-letter/index.html +++ b/files/ru/web/css/_doublecolon_first-letter/index.html @@ -110,7 +110,7 @@ p::first-letter { <tr> <td>{{ SpecName('CSS2.1', 'selector.html#first-letter', '::first-letter') }}</td> <td>{{ Spec2('CSS2.1') }}</td> - <td>Нет измененный.</td> + <td>Нет изменений.</td> </tr> <tr> <td>{{ SpecName('CSS1', '#the-first-letter-pseudo-element', '::first-letter') }}</td> diff --git a/files/ru/web/css/_doublecolon_first-line/index.html b/files/ru/web/css/_doublecolon_first-line/index.html index 274f6e85c2..fd96eb11da 100644 --- a/files/ru/web/css/_doublecolon_first-line/index.html +++ b/files/ru/web/css/_doublecolon_first-line/index.html @@ -95,7 +95,7 @@ p::first-line { <tr> <td>{{SpecName('CSS2.1', 'selector.html#first-line-pseudo', '::first-line')}}</td> <td>{{Spec2('CSS2.1')}}</td> - <td>Нет измененный.</td> + <td>Нет изменений.</td> </tr> <tr> <td>{{SpecName('CSS1', '#the-first-line-pseudo-element', '::first-line')}}</td> diff --git a/files/ru/web/css/color_value/index.html b/files/ru/web/css/color_value/index.html index 9af9b77755..34c5749054 100644 --- a/files/ru/web/css/color_value/index.html +++ b/files/ru/web/css/color_value/index.html @@ -29,7 +29,7 @@ translation_of: Web/CSS/color_value <h3 id="Ключевые_цвета">Ключевые цвета</h3> -<p>Ключевые слова для цвета - это идентификаторы без учёта регистра, представляющие определённый цвет, например <code>red</code>, <code>blue</code>, <code>black</code> или <code>lightseagreen</code>. Хотя названия более или менее описывают их соответствующие цвета, они по существу искусственны, без строгого обоснования используемых имен. </p> +<p>Ключевые слова для цвета - это идентификаторы без учёта регистра, представляющие определённый цвет, например <code>red</code>, <code>blue</code>, <code>black</code> или <code>lightseagreen</code>. Хотя названия более или менее описывают их соответствующие цвета, они по существу искусственны, без строгого обоснования используемых имён. </p> <p>Есть несколько предостережений, которые следует учитывать при использовании ключевых слов цвета:</p> diff --git a/files/ru/web/css/column-rule-color/index.html b/files/ru/web/css/column-rule-color/index.html index 3019c7e417..9660ee90db 100644 --- a/files/ru/web/css/column-rule-color/index.html +++ b/files/ru/web/css/column-rule-color/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/column-rule-color --- <div>{{CSSRef}}</div> -<p><a href="/en-US/docs/Web/CSS">CSS </a>свойство<strong> <code>column-rule-color</code></strong> устанавливает цвет линии, расположенной между колонками при мультиколоночной верстке.</p> +<p><a href="/en-US/docs/Web/CSS">CSS </a>свойство<strong> <code>column-rule-color</code></strong> устанавливает цвет линии, расположенной между колонками при мультиколоночной вёрстке.</p> <div>{{EmbedInteractiveExample("pages/css/column-rule-color.html")}}</div> diff --git a/files/ru/web/css/column-rule-style/index.html b/files/ru/web/css/column-rule-style/index.html index a012d070de..6733549044 100644 --- a/files/ru/web/css/column-rule-style/index.html +++ b/files/ru/web/css/column-rule-style/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/column-rule-style --- <div>{{ CSSRef}}</div> -<p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>column-rule-style</code></strong> устанавливает стиль линии, расположенной между колонками при мультиколоночной верстке.</p> +<p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>column-rule-style</code></strong> устанавливает стиль линии, расположенной между колонками при мультиколоночной вёрстке.</p> <div>{{EmbedInteractiveExample("pages/css/column-rule-style.html")}}</div> diff --git a/files/ru/web/css/column-rule/index.html b/files/ru/web/css/column-rule/index.html index d48f043c0d..9baf364866 100644 --- a/files/ru/web/css/column-rule/index.html +++ b/files/ru/web/css/column-rule/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/column-rule --- <div>{{CSSRef}}</div> -<p><a href="https://wiki.developer.mozilla.org/ru/docs/Web/CSS/Shorthand_properties">Краткая форма записи</a> <a href="/en-US/docs/Web/CSS">CSS</a> свойств <strong><code>column-rule</code></strong> устанавливает ширину, стиль и цвет линии, находящейся между колонками в мультиколоночной верстке.</p> +<p><a href="https://wiki.developer.mozilla.org/ru/docs/Web/CSS/Shorthand_properties">Краткая форма записи</a> <a href="/en-US/docs/Web/CSS">CSS</a> свойств <strong><code>column-rule</code></strong> устанавливает ширину, стиль и цвет линии, находящейся между колонками в мультиколоночной вёрстке.</p> <div>{{EmbedInteractiveExample("pages/css/column-rule.html")}}</div> diff --git a/files/ru/web/css/css_animations/tips/index.html b/files/ru/web/css/css_animations/tips/index.html index 15929f6220..5e76a2d9d4 100644 --- a/files/ru/web/css/css_animations/tips/index.html +++ b/files/ru/web/css/css_animations/tips/index.html @@ -79,7 +79,7 @@ translation_of: Web/CSS/CSS_Animations/Tips <p>Вот что происходит, когда вызывается функция <code>play()</code> :</p> <ol> - <li>Список классов CSS в элементе сбрасывается до простого "box". Это приводит к удалению всех других классов, которые в настоящее время применяются к элементу, включая класс <code>"changing"</code> , который обрабатывает анимацию. Другими словами, мы удаляем анимационный эффект из элемента. Однако изменения в списке классов не вступают в силу до тех пор, пока не будет завершен перерасчет стиля и не произойдет обновление, отражающее это изменение.</li> + <li>Список классов CSS в элементе сбрасывается до простого "box". Это приводит к удалению всех других классов, которые в настоящее время применяются к элементу, включая класс <code>"changing"</code> , который обрабатывает анимацию. Другими словами, мы удаляем анимационный эффект из элемента. Однако изменения в списке классов не вступают в силу до тех пор, пока не будет завершён перерасчёт стиля и не произойдёт обновление, отражающее это изменение.</li> <li>Чтобы убедиться, что стили пересчитаны, мы используем {{domxref("window.requestAnimationFrame()")}} с колбэком. Наш колбэк выполняется непосредственно перед следующей перерисовкой документа. Проблема заключается в том,что, поскольку это происходит до перерисовки, перерасчёт стиля ещё не произошёл! </li> <li>Наш колбэк ловко вызывает <code>requestAnimationFrame()</code> второй раз! На этот раз колбэк выполняется до следующей перерисовки, то есть после того, как произошла перерасчёт стиля. Этот колбэк добавляет класс <code>"changing"</code> обратно в элемент, так что перерисовка снова запустит анимацию.</li> </ol> diff --git a/files/ru/web/css/css_flexible_box_layout/backwards_compatibility_of_flexbox/index.html b/files/ru/web/css/css_flexible_box_layout/backwards_compatibility_of_flexbox/index.html index 25b5be5ea0..1afa1ba1c0 100644 --- a/files/ru/web/css/css_flexible_box_layout/backwards_compatibility_of_flexbox/index.html +++ b/files/ru/web/css/css_flexible_box_layout/backwards_compatibility_of_flexbox/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexb <p>Как и все спецификации CSS, flexbox претерпела огромное количество изменений, прежде чем стать Кандидатом в рекомендации W3C. У спецификации в этом статусе не должно быть значительных изменений, однако с предыдущими итерациями все было иначе.</p> -<p>Flexbox был реализован экспериментальным путём в нескольких браузерах. В то время метод создания экспериментальных реализаций подразумевал использование вендорных префиксов. Идея этих префиксов была в том, чтобы позволить инженерам браузеров и веб-разработчикам исследовать и протестировать новшества спецификации без конфликтов с другими реализациями. Идея заключалась в том, чтобы не использовать экспериментальные реализации на продакшене. Однако, в конечном счёте префиксы все равно попали в продакшн, и изменения в экспериментальной спецификации вынудили людей обновлять сайты, чтобы этой самой спецификации соответствовать.</p> +<p>Flexbox был реализован экспериментальным путём в нескольких браузерах. В то время метод создания экспериментальных реализаций подразумевал использование вендорных префиксов. Идея этих префиксов была в том, чтобы позволить инженерам браузеров и веб-разработчикам исследовать и протестировать новшества спецификации без конфликтов с другими реализациями. Идея заключалась в том, чтобы не использовать экспериментальные реализации на продакшене. Однако, в конечном счёте префиксы всё равно попали в продакшн, и изменения в экспериментальной спецификации вынудили людей обновлять сайты, чтобы этой самой спецификации соответствовать.</p> <p><a href="https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/">В 2009</a> спецификация выглядела совсем по-другому. Чтобы создать flex-контейнер, вам нужно было использовать <code>display: box</code> и несколько <code>box-*</code> свойств, которые делали то, что сегодня вы понимаете под flexbox.</p> diff --git a/files/ru/web/css/css_grid_layout/layout_using_named_grid_lines/index.html b/files/ru/web/css/css_grid_layout/layout_using_named_grid_lines/index.html index 66e8c5ac2d..6d4d62e90d 100644 --- a/files/ru/web/css/css_grid_layout/layout_using_named_grid_lines/index.html +++ b/files/ru/web/css/css_grid_layout/layout_using_named_grid_lines/index.html @@ -79,7 +79,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines <h3 id="Присвоение_линиям_нескольких_имён">Присвоение линиям нескольких имён</h3> -<p>При необходимости можно присвоить строке более одного имени. Например, <code>sidebar-end</code> для обозначении конца области <code>sidebar</code>, и <code>main-start</code> для начала области <code>main</code>. Укажите имена внутри квадратных скобок через пробел <code>[sidebar-end main-start]</code>. В дальнейшем вы можете обращаться к этой строке по любому из этих имен.</p> +<p>При необходимости можно присвоить строке более одного имени. Например, <code>sidebar-end</code> для обозначении конца области <code>sidebar</code>, и <code>main-start</code> для начала области <code>main</code>. Укажите имена внутри квадратных скобок через пробел <code>[sidebar-end main-start]</code>. В дальнейшем вы можете обращаться к этой строке по любому из этих имён.</p> <h2 id="Неявные_области_сетки_из_именованных_линий">Неявные области сетки из именованных линий</h2> diff --git a/files/ru/web/css/css_grid_layout/line-based_placement_with_css_grid/index.html b/files/ru/web/css/css_grid_layout/line-based_placement_with_css_grid/index.html index 35feac5051..cbbb43c16f 100644 --- a/files/ru/web/css/css_grid_layout/line-based_placement_with_css_grid/index.html +++ b/files/ru/web/css/css_grid_layout/line-based_placement_with_css_grid/index.html @@ -372,7 +372,7 @@ original_slug: >- <p>Мы также можем отсчитывать грид-линии с конца, то есть с последней (для русского языка - самой правой) колоночной и последней (самой нижней) строчной линий. Индекс этих линий будет <code>-1</code>, а линий непосредственно перед ними <code>-2,</code> и так далее. Нужно помнить, что под последней линией понимается последняя линия явного грида (<em>explicit grid)</em>, то есть грида, определённого с помощью <code>grid-template-columns</code> и<code>grid-template-rows.</code> Любые линии строк и колонок, добавленные неявным гридом (<em>implicit grid)</em> не считаются.</p> -<p>В примере ниже мы "перевернули" определение нашего грида, при размещении элементов задавая линии с конца, то есть, от правого и нижнего краев.</p> +<p>В примере ниже мы "перевернули" определение нашего грида, при размещении элементов задавая линии с конца, то есть, от правого и нижнего краёв.</p> <div class="hidden"> <pre class="brush: css notranslate">* {box-sizing: border-box;} diff --git a/files/ru/web/css/font-variant-ligatures/index.html b/files/ru/web/css/font-variant-ligatures/index.html index 0415ac37bb..876afcdedb 100644 --- a/files/ru/web/css/font-variant-ligatures/index.html +++ b/files/ru/web/css/font-variant-ligatures/index.html @@ -37,7 +37,7 @@ font-variant-ligatures: unset; <dt><code>normal</code></dt> <dd>Это ключевое слово ведёт к активации обычных лигатур и контекстных форм, необходимых для корректного рендеринга. Активируемые лигатуры и формы зависят от шрифта, языка и типа письма. Это значение по умолчанию.</dd> <dt><code>none</code></dt> - <dd>Это ключевое слово устанавливает, что все лигатуры и контекстные формы отключены, даже распространенные.</dd> + <dd>Это ключевое слово устанавливает, что все лигатуры и контекстные формы отключены, даже распространённые.</dd> <dt><<em>common-lig-values></em></dt> <dd>Эти значения контролируют наиболее распространённые лигатуры, такие как лигатуры для сочетаний <code>fi</code>, <code>ffi</code>, <code>th</code> или подобных. Они относятся к значениям <code>liga</code> и <code>clig</code> в OpenType. Допустимы два значения: <ul> diff --git a/files/ru/web/css/hyphens/index.html b/files/ru/web/css/hyphens/index.html index 6bf95b2456..00858e50a1 100644 --- a/files/ru/web/css/hyphens/index.html +++ b/files/ru/web/css/hyphens/index.html @@ -53,7 +53,7 @@ hyphens: unset; <dl> <dt>U+2010 (HYPHEN)</dt> - <dd><font>«Жёсткий» дефис указывает на возможность видимого разрыва строки. </font><font>Даже если строка в этом месте не переносится, дефис все равно отображается.</font></dd> + <dd><font>«Жёсткий» дефис указывает на возможность видимого разрыва строки. </font><font>Даже если строка в этом месте не переносится, дефис всё равно отображается.</font></dd> <dt>U+00AD (SHY)</dt> <dd>Невидимый <font>«</font>мягкий<font>»</font> перенос. Этот символ не отображается визуально, вместо этого он отмечает место, где браузер должен разорвать слово, если расстановка переносов необходима. В HTML, используйте <code>&shy;</code> для вставки мягкого дефиса.</dd> </dl> diff --git a/files/ru/web/css/min-height/index.html b/files/ru/web/css/min-height/index.html index 19ec058b88..d1c7db4ec1 100644 --- a/files/ru/web/css/min-height/index.html +++ b/files/ru/web/css/min-height/index.html @@ -57,7 +57,7 @@ min-height: unset; <dt><code>fill-available</code>{{ experimental_inline() }}</dt> <dd>Высота родительского блока минус вертикальные <code>margin</code>, <code>border</code>, и <code>padding</code>. (Обратите внимание, что некоторые браузеры реализуют устаревшее имя для этого ключевого слова., <code>available</code>.)</dd> <dt><code>fit-content</code> {{ experimental_inline() }}</dt> - <dd>Согласно CSS3 Box, это синоним <code>min-content</code>. CSS3 Sizing определяет более сложный алгоритм, но ни один браузер не реализует его даже экспериментальным путем.</dd> + <dd>Согласно CSS3 Box, это синоним <code>min-content</code>. CSS3 Sizing определяет более сложный алгоритм, но ни один браузер не реализует его даже экспериментальным путём.</dd> </dl> <h3 id="Формальный_синтаксис">Формальный синтаксис</h3> diff --git a/files/ru/web/css/overflow-block/index.html b/files/ru/web/css/overflow-block/index.html index 2756cb66f9..6acc798dce 100644 --- a/files/ru/web/css/overflow-block/index.html +++ b/files/ru/web/css/overflow-block/index.html @@ -37,7 +37,7 @@ overflow-block: unset; <dt><code>scroll</code></dt> <dd>При необходимости содержимое обрезается, чтобы поместиться в размер блока в поле заполнения. Браузеры отображают полосы прокрутки вне зависимости от того, вырезано ли содержимое. (Это предотвращает появление или исчезновение полос прокрутки при изменении содержимого.) Принтеры могут по-прежнему печатать переполненное содержимое.</dd> <dt><code>auto</code></dt> - <dd>Зависит от пользовательского агента. Если содержимое помещается в поле дополнения, оно выглядит так же, как visible, но все же устанавливает новый контекст форматирования блока. Настольные браузеры устанавливают полосы прокрутки, если содержимое переполняется.</dd> + <dd>Зависит от пользовательского агента. Если содержимое помещается в поле дополнения, оно выглядит так же, как visible, но всё же устанавливает новый контекст форматирования блока. Настольные браузеры устанавливают полосы прокрутки, если содержимое переполняется.</dd> </dl> <h3 id="Формат_синтаксиса">Формат синтаксиса</h3> diff --git a/files/ru/web/css/radial-gradient()/index.html b/files/ru/web/css/radial-gradient()/index.html index 297ef580c4..4b1579894f 100644 --- a/files/ru/web/css/radial-gradient()/index.html +++ b/files/ru/web/css/radial-gradient()/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/radial-gradient() -<p>Как и любой градиент, радиальный градиент не имеет <a href="https://developer.mozilla.org/en-US/docs/CSS/image#no_intrinsic">внутренних размеров</a>, то есть заданных или предпочитаемых размеров, как и заданного коэффициента соотношения сторон. Его итоговый размер будет соответствовать размеру элемента к которому он применен.</p> +<p>Как и любой градиент, радиальный градиент не имеет <a href="https://developer.mozilla.org/en-US/docs/CSS/image#no_intrinsic">внутренних размеров</a>, то есть заданных или предпочитаемых размеров, как и заданного коэффициента соотношения сторон. Его итоговый размер будет соответствовать размеру элемента к которому он применён.</p> <p>Чтобы создать повторяющийся радиальный градиент, который будет заполнять контейнер, необходимо использовать функцию {{cssxref("repeating-radial-gradient")}}.</p> diff --git a/files/ru/web/css/repeating-linear-gradient()/index.html b/files/ru/web/css/repeating-linear-gradient()/index.html index c3160fb98a..22766068a9 100644 --- a/files/ru/web/css/repeating-linear-gradient()/index.html +++ b/files/ru/web/css/repeating-linear-gradient()/index.html @@ -23,7 +23,7 @@ repeating-linear-gradient(0deg, blue, green 40%, red); <p>С каждым повтором позиции цветов сдвигаются на величину кратную длине базового градиента (расстояние от позиции последнего цвета до позиции первого). Таким образом что позиция каждого последнего цвета совпадает с позицией стартового цвета. И если цвета отличаются это приведёт к резкому визуальному переходу.</p> -<p>Повторяющийся линейный градиент (как и любой прочий градиент) <a href="https://developer.mozilla.org/en-US/docs/CSS/image#no_intrinsic">не имеет размерностей по умолчанию</a>; т.е. у него нет предопределённого размера либо пропорции. Его размер будет совпадать с размерами элемента к которому он применен.</p> +<p>Повторяющийся линейный градиент (как и любой прочий градиент) <a href="https://developer.mozilla.org/en-US/docs/CSS/image#no_intrinsic">не имеет размерностей по умолчанию</a>; т.е. у него нет предопределённого размера либо пропорции. Его размер будет совпадать с размерами элемента к которому он применён.</p> <div class="note"> <p><strong>Примечание:</strong> Поскольку <code><gradient></code> относится к типу данных <code><image></code> , он может быть использован только там где применим тип <code><image></code>. По этой причине <code>repeating-linear-gradient()</code> не будет работать с {{Cssxref("background-color")}} и прочими свойствами использующими тип данных {{cssxref("<color>")}}.</p> diff --git a/files/ru/web/events/index.html b/files/ru/web/events/index.html index a796d5ade0..33acb903c0 100644 --- a/files/ru/web/events/index.html +++ b/files/ru/web/events/index.html @@ -198,11 +198,11 @@ translation_of: Web/Events </tr> <tr> <td>{{Event("transitioncancel")}}</td> - <td><a href="/en-US/docs/Web/CSS/CSS_Transitions">CSS переход</a> отменен.</td> + <td><a href="/en-US/docs/Web/CSS/CSS_Transitions">CSS переход</a> отменён.</td> </tr> <tr> <td>{{Event("transitionend")}}</td> - <td><a href="/en-US/docs/Web/CSS/CSS_Transitions">CSS переход</a> завершен.</td> + <td><a href="/en-US/docs/Web/CSS/CSS_Transitions">CSS переход</a> завершён.</td> </tr> <tr> <td>{{Event("transitionrun")}}</td> @@ -302,7 +302,7 @@ translation_of: Web/Events </tr> <tr> <td>{{Event("resize")}}</td> - <td>Размер просмотра документа изменен.</td> + <td>Размер просмотра документа изменён.</td> </tr> <tr> <td>{{Event("scroll")}}</td> @@ -509,7 +509,7 @@ translation_of: Web/Events </tr> <tr> <td>{{Event("durationchange")}}</td> - <td>Атрибут <code>duration</code> был обновлен.</td> + <td>Атрибут <code>duration</code> был обновлён.</td> </tr> <tr> <td>{{Event("emptied")}}</td> @@ -2759,7 +2759,7 @@ translation_of: Web/Events <td><a href="/en-US/docs/Web/Reference/Events/DOMTitleChanged">DOMTitleChanged</a></td> <td></td> <td><em>Addons specifc</em></td> - <td>Заголовок окна изменен.</td> + <td>Заголовок окна изменён.</td> </tr> <tr> <td><a href="/en-US/docs/Web/Reference/Events/DOMLinkAdded">DOMLinkAdded</a></td> diff --git a/files/ru/web/guide/ajax/getting_started/index.html b/files/ru/web/guide/ajax/getting_started/index.html index aee30a7337..31d0dd8881 100644 --- a/files/ru/web/guide/ajax/getting_started/index.html +++ b/files/ru/web/guide/ajax/getting_started/index.html @@ -115,7 +115,7 @@ httpRequest.send(null); } </pre> -<p>Теперь, после проверки состояния запроса и статуса HTTP-ответа, вы можете делать с данными, полученными от сервера, все что угодно. Есть два способа получить доступ к данным:</p> +<p>Теперь, после проверки состояния запроса и статуса HTTP-ответа, вы можете делать с данными, полученными от сервера, всё что угодно. Есть два способа получить доступ к данным:</p> <ul> <li><code>httpRequest.responseText</code> – возвращает ответ сервера в виде строки текста.</li> @@ -252,7 +252,7 @@ var root_node = xmldoc.getElementsByTagName('root').item(0); alert(root_node.firstChild.data); </pre> -<p>Этот код берет объект <code>XMLDocument</code>, возвращаемый <code>responseXML</code> и использует методы DOM для доступа к данным, содержащимся в документе XML. Посмотреть <code>test.xml</code> можно <a class="external" href="http://www.akvi.ru/mozdev/test.xml" rel="follow">здесь</a>, а обновлённый скрипт <a class="external" href="http://www.akvi.ru/mozdev/httprequest_test_xml.html" rel="follow">здесь</a>.</p> +<p>Этот код берёт объект <code>XMLDocument</code>, возвращаемый <code>responseXML</code> и использует методы DOM для доступа к данным, содержащимся в документе XML. Посмотреть <code>test.xml</code> можно <a class="external" href="http://www.akvi.ru/mozdev/test.xml" rel="follow">здесь</a>, а обновлённый скрипт <a class="external" href="http://www.akvi.ru/mozdev/httprequest_test_xml.html" rel="follow">здесь</a>.</p> <p>Чтобы узнать больше о методах DOM, посмотрите <a class="external" href="http://www.mozilla.org/docs/dom/">реализация DOM в Mozilla</a>.</p> diff --git a/files/ru/web/guide/html/content_categories/index.html b/files/ru/web/guide/html/content_categories/index.html index 1334570d7b..6f9a4f933d 100644 --- a/files/ru/web/guide/html/content_categories/index.html +++ b/files/ru/web/guide/html/content_categories/index.html @@ -161,7 +161,7 @@ translation_of: Web/Guide/HTML/Content_categories <pre><p>Мы почитаем следующие истины <del><em>священными &amp; неоспоримыми</em></del> <ins>само собой разумеющимися</ins>.</p> </pre> -<p>Если удалить эти элементы, данный фрагмент все равно будет представлять собой валидный HTML.</p> +<p>Если удалить эти элементы, данный фрагмент всё равно будет представлять собой валидный HTML.</p> <pre><p>Мы почитаем следующие истины <em>священными &amp; неоспоримыми</em> само собой разумеющимися.</p> </pre> diff --git a/files/ru/web/html/element/body/index.html b/files/ru/web/html/element/body/index.html index f18863b449..b18467c540 100644 --- a/files/ru/web/html/element/body/index.html +++ b/files/ru/web/html/element/body/index.html @@ -97,7 +97,7 @@ translation_of: Web/HTML/Element/body <dt>{{htmlattrdef("onredo")}}</dt> <dd>Функция для вызова, когда произошло продвижение пользователя вперёд по истории транзакций (например, обновление страницы).</dd> <dt>{{htmlattrdef("onresize")}}</dt> - <dd>Функция для вызова, когда размер документа был изменен.</dd> + <dd>Функция для вызова, когда размер документа был изменён.</dd> <dt>{{htmlattrdef("onstorage")}}</dt> <dd>Функция для вызова, когда изменяется содержимое хранилища (<a href="/ru/docs/Web/API/Web_Storage_API">Web Storage</a>).</dd> <dt>{{htmlattrdef("onundo")}}</dt> diff --git a/files/ru/web/html/element/input/range/index.html b/files/ru/web/html/element/input/range/index.html index e4f349c376..2028c5aae8 100644 --- a/files/ru/web/html/element/input/range/index.html +++ b/files/ru/web/html/element/input/range/index.html @@ -322,7 +322,7 @@ translation_of: Web/HTML/Element/input/range <h3 id="transform_rotate-90deg">transform: rotate(-90deg)</h3> -<p>Но вы, все же, можете сделать вертикальный контролл используя горизонтальный контролл. Самый простой способ - использовать CSS: применяя {{cssxref("transform")}} для поворота элемента на 90 градусов. Посмотрим:</p> +<p>Но вы, всё же, можете сделать вертикальный контролл используя горизонтальный контролл. Самый простой способ - использовать CSS: применяя {{cssxref("transform")}} для поворота элемента на 90 градусов. Посмотрим:</p> <div id="Orientation_sample3"> <h4 id="HTML_2">HTML</h4> diff --git a/files/ru/web/html/element/link/index.html b/files/ru/web/html/element/link/index.html index 82be65b592..e70c2d87f3 100644 --- a/files/ru/web/html/element/link/index.html +++ b/files/ru/web/html/element/link/index.html @@ -69,7 +69,7 @@ original_slug: Web/HTML/Element/ссылка <dt><code>anonymous</code></dt> <dd>Cross-origin запрос (т.е. с HTTP-заголовком {{HTTPHeader("Origin")}}) выполняется, но учётные данные не отправляются (т.е. нет cookie, сертификата X.509, или базовой аутентификации HTTP). Если сервер не передал учётные данные исходному сайту (нет настроенного HTTP-заголовка {{HTTPHeader("Access-Control-Allow-Origin")}}), изображение будет искажено, а его использование ограничено.</dd> <dt><code>use-credentials</code></dt> - <dd>Cross-origin запрос (т.е. с HTTP-заголовком <code>Origin</code>) выполняется вместе с отправкой учетных данных (т.е. выполняется аутентификация cookie, сертификата, и/или базового HTTP). Если сервер не передал учётные данные исходному сайту (через HTTP-заголовок {{HTTPHeader("Access-Control-Allow-Credentials")}}), ресурс будет искажён, а его использование ограничено.</dd> + <dd>Cross-origin запрос (т.е. с HTTP-заголовком <code>Origin</code>) выполняется вместе с отправкой учётных данных (т.е. выполняется аутентификация cookie, сертификата, и/или базового HTTP). Если сервер не передал учётные данные исходному сайту (через HTTP-заголовок {{HTTPHeader("Access-Control-Allow-Credentials")}}), ресурс будет искажён, а его использование ограничено.</dd> </dl> Если атрибут отсутствует, ресурс загружается без запроса {{Glossary("CORS")}} (т.е. без отправки HTTP-заголовка <code>Origin)</code>, предотвращая его незагрязненное использование. В случае невалидности, он обрабатывается как при использовании ключевого слова <strong>anonymous.</strong> Для получения дополнительной информации смотрите <a href="/en-US/docs/Web/HTML/CORS_settings_attributes">CORS settings attributes</a>.</dd> <dt>{{HTMLAttrDef("href")}}</dt> diff --git a/files/ru/web/html/element/meta/index.html b/files/ru/web/html/element/meta/index.html index 86f9522953..e5cef07fa3 100644 --- a/files/ru/web/html/element/meta/index.html +++ b/files/ru/web/html/element/meta/index.html @@ -286,12 +286,12 @@ translation_of: Web/HTML/Element/meta <tr> <td><code>maximum-scale</code></td> <td>положительное число между <code>0.0</code> и <code>10.0</code></td> - <td>Определяет максимальное значение зума; должен быть больше или равен минимальному масштабу или быть неопределенным.</td> + <td>Определяет максимальное значение зума; должен быть больше или равен минимальному масштабу или быть неопределённым.</td> </tr> <tr> <td><code>minimum-scale</code></td> <td>положительное число между <code>0.0</code> и <code>10.0</code></td> - <td>Определяет минимальное значение зума; должен быть меньше или равен максимальному масштабу или быть неопределенным.</td> + <td>Определяет минимальное значение зума; должен быть меньше или равен максимальному масштабу или быть неопределённым.</td> </tr> <tr> <td><code>user-scalable</code></td> diff --git a/files/ru/web/html/element/progress/index.html b/files/ru/web/html/element/progress/index.html index 5746e3259a..02c9171f49 100644 --- a/files/ru/web/html/element/progress/index.html +++ b/files/ru/web/html/element/progress/index.html @@ -51,7 +51,7 @@ translation_of: Web/HTML/Element/progress <dt>{{ htmlattrdef("max") }}</dt> <dd>Этот атрибут описывает сколько затрат требует задача, указанная элементом <code>progress</code>. Атрибут <code>max</code>, в случае указания, должен быть положительным, также, возможно применение числа с плавающей точкой. Значение по умолчанию 1.</dd> <dt>{{ htmlattrdef("value") }}</dt> - <dd>Этот атрибут указывает какая часть задачи была выполнена. Это может быть число с плавающей точкой от 0 до <code>max</code>, или между 0 и 1, если <code>max</code> не указан. Если атрибут <code>value</code> не указан, индикатор выполнения не определён; это указывает на то, что действие продолжается без указания на то, сколько времени оно займет.</dd> + <dd>Этот атрибут указывает какая часть задачи была выполнена. Это может быть число с плавающей точкой от 0 до <code>max</code>, или между 0 и 1, если <code>max</code> не указан. Если атрибут <code>value</code> не указан, индикатор выполнения не определён; это указывает на то, что действие продолжается без указания на то, сколько времени оно займёт.</dd> </dl> <div class="note"> diff --git a/files/ru/web/html/element/track/index.html b/files/ru/web/html/element/track/index.html index f7d61a50c9..8c2c134f77 100644 --- a/files/ru/web/html/element/track/index.html +++ b/files/ru/web/html/element/track/index.html @@ -76,7 +76,7 @@ translation_of: Web/HTML/Element/track <ul> <li>Подписи обеспечивают транскрипцию и, возможно, перевод аудио.</li> <li>Подписи могут включать важную невербальную информацию, такую как музыкальные сигналы или звуковые эффекты. Возможно указывать источник сигналов (например, музыка, текст, персонаж).</li> - <li>Подходит для пользователей со слабым слухом или когда звук отключен.</li> + <li>Подходит для пользователей со слабым слухом или когда звук отключён.</li> </ul> </li> <li><code>descriptions</code> diff --git a/files/ru/web/html/global_attributes/index.html b/files/ru/web/html/global_attributes/index.html index c662d66d36..eeecd87c6c 100644 --- a/files/ru/web/html/global_attributes/index.html +++ b/files/ru/web/html/global_attributes/index.html @@ -95,7 +95,7 @@ translation_of: Web/HTML/Global_attributes <dd>Это перечислимый атрибут, используемый для того, чтобы указать, следует ли переводить значения атрибутов элемента и его текстовое содержимое (содержимое узла {{domxref("Text")}}) при локализации страницы. Этот атрибут может принимать следующие значения: <ul> <li><em>пустая строка</em> или <code>"yes"</code> указывает, что элемент должен быть переведён;</li> - <li><code>"no</code>" указывает, что элемент не должен быть переведен.</li> + <li><code>"no</code>" указывает, что элемент не должен быть переведён.</li> </ul> </dd> </dl> diff --git a/files/ru/web/http/cors/errors/corsdidnotsucceed/index.html b/files/ru/web/http/cors/errors/corsdidnotsucceed/index.html index a9a5569ce3..9a22daaa31 100644 --- a/files/ru/web/http/cors/errors/corsdidnotsucceed/index.html +++ b/files/ru/web/http/cors/errors/corsdidnotsucceed/index.html @@ -17,7 +17,7 @@ translation_of: Web/HTTP/CORS/Errors/CORSDidNotSucceed <h2 id="Что_произошло"><strong>Что произошло?</strong></h2> -<p>Запрос {{Glossary("HTTP")}}, использующий {{Glossary("CORS")}} не был выполнен, потому что подключение через HTTP не было выполнено либо на сетевом уровне или на уровне протокола. Ошибка не имеет прямого отношения к CORS, но все равно считается как фундаментальная.</p> +<p>Запрос {{Glossary("HTTP")}}, использующий {{Glossary("CORS")}} не был выполнен, потому что подключение через HTTP не было выполнено либо на сетевом уровне или на уровне протокола. Ошибка не имеет прямого отношения к CORS, но всё равно считается как фундаментальная.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/http/csp/index.html b/files/ru/web/http/csp/index.html index f1c128ab7f..15b073e60d 100644 --- a/files/ru/web/http/csp/index.html +++ b/files/ru/web/http/csp/index.html @@ -94,7 +94,7 @@ translation_of: Web/HTTP/CSP <h2 id="Тестирование_настройки_политики">Тестирование настройки политики</h2> -<p>Для облегчения развёртывания можно настроить развёртывание CSP в режиме report-only. Таким образом, политика не будет ограничивать загрузку, но будет сообщать обо всех нарушениях на указанный в заголовке URI. Кроме того, заголовок report-only может использоваться для тестирования новой политики без полноценного развертывания.</p> +<p>Для облегчения развёртывания можно настроить развёртывание CSP в режиме report-only. Таким образом, политика не будет ограничивать загрузку, но будет сообщать обо всех нарушениях на указанный в заголовке URI. Кроме того, заголовок report-only может использоваться для тестирования новой политики без полноценного развёртывания.</p> <p>Для определения вашей политики вы можете использовать заголовок {{HTTPHeader("Content-Security-Policy-Report-Only")}} следующим образом:</p> diff --git a/files/ru/web/http/redirections/index.html b/files/ru/web/http/redirections/index.html index 24d77f80f5..5acca04b43 100644 --- a/files/ru/web/http/redirections/index.html +++ b/files/ru/web/http/redirections/index.html @@ -147,7 +147,7 @@ translation_of: Web/HTTP/Redirections <h3 id="Приоритетность">Приоритетность</h3> -<p>При использовании трёх возможных способов URL перенаправления, некоторые методы могут быть вызваны одновременно, но какой из них будет применён первым? Порядок приоритетов следующий:</p> +<p>При использовании трёх возможных способов URL перенаправления, некоторые методы могут быть вызваны одновременно, но какой из них будет примёнён первым? Порядок приоритетов следующий:</p> <ol> <li>HTTP перенаправления всегда выполняются первыми, пока ещё страница даже не была передана, и конечно же, пока ещё не прочитана.</li> @@ -168,7 +168,7 @@ translation_of: Web/HTTP/Redirections <p>Связывание доменов может быть необходимым по нескольким причинам:</p> <ul> - <li>Расширение вашего сайта. Распространённый случай, когда ваш сайт находится под доменом <code>www.example.com</code> , а доступ к страницам должен быть возможным также из <code>example.com</code> . В этом случае создаются перенаправления для страниц из <code>example.com</code> к страницам <code>www.example.com</code>. Вы также можете предоставлять обычно используемые имена синонимов или частые опечатки ваших доменных имен.</li> + <li>Расширение вашего сайта. Распространённый случай, когда ваш сайт находится под доменом <code>www.example.com</code> , а доступ к страницам должен быть возможным также из <code>example.com</code> . В этом случае создаются перенаправления для страниц из <code>example.com</code> к страницам <code>www.example.com</code>. Вы также можете предоставлять обычно используемые имена синонимов или частые опечатки ваших доменных имён.</li> <li>Переезд на другой домен. К примеру, ваша компания была переименована и вы хотите чтобы люди которые обычно использовали старый сайт компании находили вас под новым именем.</li> <li>Принуждённый HTTPS. Запросы к HTTP версии вашего сайта буду перенаправлены к HTTPS версии.</li> </ul> diff --git a/files/ru/web/http/status/100/index.html b/files/ru/web/http/status/100/index.html index d96b80e56e..bc26744c55 100644 --- a/files/ru/web/http/status/100/index.html +++ b/files/ru/web/http/status/100/index.html @@ -5,7 +5,7 @@ translation_of: Web/HTTP/Status/100 --- <div>{{HTTPSidebar}}</div> -<p> Код ответа "HTTP <strong><code>100 Continue"</code></strong> на информационный статус указывает, что все до сих пор в порядке и что клиент должен продолжить запрос или игнорировать его, если он уже завершен.</p> +<p> Код ответа "HTTP <strong><code>100 Continue"</code></strong> на информационный статус указывает, что все до сих пор в порядке и что клиент должен продолжить запрос или игнорировать его, если он уже завершён.</p> <p>Чтобы сервер проверял заголовки запроса, клиент должен отправить {{HTTPHeader("Expect")}}<code>:100-continue</code> в качестве заголовка в своём первоначальном запросе и получить код состояния <code>100-continue </code>в ответ перед отправкой тела.</p> diff --git a/files/ru/web/javascript/eventloop/index.html b/files/ru/web/javascript/eventloop/index.html index 1d4023e2c5..6cd171eced 100644 --- a/files/ru/web/javascript/eventloop/index.html +++ b/files/ru/web/javascript/eventloop/index.html @@ -68,7 +68,7 @@ g(21); <h3 id="Добавление_событий_в_очередь">Добавление событий в очередь</h3> -<p>В браузерах события добавляются в очередь в любое время, если событие произошло, а так же если у него есть обработчик. В случае, если обработчика нет – событие потеряно. Так, клик по элементу, имеющему обработчик события по событию <code>click </code>, добавит событие в очередь, а если обработчика нет – то и событие в очередь не попадет.</p> +<p>В браузерах события добавляются в очередь в любое время, если событие произошло, а так же если у него есть обработчик. В случае, если обработчика нет – событие потеряно. Так, клик по элементу, имеющему обработчик события по событию <code>click </code>, добавит событие в очередь, а если обработчика нет – то и событие в очередь не попадёт.</p> <p>Вызов <a href="/ru/docs/Web/API/WindowTimers/setTimeout" title="/en-US/docs/window.setTimeout">setTimeout</a> добавит событие в очередь по прошествии времени, указанного во втором аргументе вызова. Если очередь событий на тот момент будет пуста, то событие обработается сразу же, в противном случае событию функции <code>setTimeout</code> придётся ожидать завершения обработки остальных событий в очереди. Именно поэтому второй аргумент <code>setTimeout</code> корректно считать не временем, через которое выполнится функция из первого аргумента, а минимальное время, через которое она сможет выполниться.</p> diff --git a/files/ru/web/javascript/guide/details_of_the_object_model/index.html b/files/ru/web/javascript/guide/details_of_the_object_model/index.html index a93d7aa85e..056146710e 100644 --- a/files/ru/web/javascript/guide/details_of_the_object_model/index.html +++ b/files/ru/web/javascript/guide/details_of_the_object_model/index.html @@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Guide/Details_of_the_Object_Model <p>В языках, основанных на классах, вы создаёте иерархию классов через объявление классов. В объявлении класса вы можете указать, что новый класс является <em>подклассом</em> уже существующего класса. При этом, подкласс унаследует все свойства суперкласса и в дополнение сможет добавить свои свойства или переопределить унаследованные. Например, предположим, что класс <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code> включает два свойства: <code>name</code> и <code>dept</code>, а класс <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code> является подклассом <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code> и добавляет свойство <code>reports</code>. В этом случае, экземпляр класса <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code> будет иметь три свойства: <code>name</code>, <code>dept</code>, и <code>reports</code>.</p> -<p>JavaScript реализует наследование, позволяя связать прототипный ообъект с любой функцией-конструктором. Итак, вы можете создать ообъект точь-в-точь, как в примере <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code> — <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code>, но используя несколько иную технику. Для начала нужно определить функцию-конструктор <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code>, которая определяет свойства <code>name</code> и <code>dept</code>. Затем, определяем функцию-конструктор <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code>, в которой в свою очередь, будет явно вызываться конструктор <span style="font-family: consolas,monaco,andale mono,monospace;"><code>Employee</code> и</span> определяться новое свойство <code>reports</code>. Наконец, присваиваем новый экземпляр <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code>, в качестве <code>prototype</code> для функции-конструктора <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code>. Теперь, когда вы создадите нового <span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span>, он унаследует свойства <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">name</span></font> и <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">dept</span></font> из объекта <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code>.</p> +<p>JavaScript реализует наследование, позволяя связать прототипный объект с любой функцией-конструктором. Итак, вы можете создать объект точь-в-точь, как в примере <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code> — <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code>, но используя несколько иную технику. Для начала нужно определить функцию-конструктор <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code>, которая определяет свойства <code>name</code> и <code>dept</code>. Затем, определяем функцию-конструктор <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code>, в которой в свою очередь, будет явно вызываться конструктор <span style="font-family: consolas,monaco,andale mono,monospace;"><code>Employee</code> и</span> определяться новое свойство <code>reports</code>. Наконец, присваиваем новый экземпляр <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code>, в качестве <code>prototype</code> для функции-конструктора <code><span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span></code>. Теперь, когда вы создадите нового <span style="font-family: consolas,monaco,andale mono,monospace;">Manager</span>, он унаследует свойства <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">name</span></font> и <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">dept</span></font> из объекта <code><span style="font-family: consolas,monaco,andale mono,monospace;">Employee</span></code>.</p> <h3 id="Добавление_и_удаление_свойств">Добавление и удаление свойств</h3> @@ -135,7 +135,7 @@ public class Employee { </tbody> </table> -<p>Определения классов <code>Manager</code> и <code>WorkerBee</code> показывают разницу в определении вышестоящего объекта в цепочке наследования. В JavaScript вводится связующий ообъект (прототипный экземпляр), который присваивается в качестве значения свойству <code>prototype </code>функции-конструктора. Вы можете сделать это в любое время после того, как вы создали конструктор. В Java, необходимо указать суперкласс внутри определения класса. Вы не можете изменить суперкласс вне определения класса.</p> +<p>Определения классов <code>Manager</code> и <code>WorkerBee</code> показывают разницу в определении вышестоящего объекта в цепочке наследования. В JavaScript вводится связующий объект (прототипный экземпляр), который присваивается в качестве значения свойству <code>prototype </code>функции-конструктора. Вы можете сделать это в любое время после того, как вы создали конструктор. В Java, необходимо указать суперкласс внутри определения класса. Вы не можете изменить суперкласс вне определения класса.</p> <table class="standard-table"> <thead> @@ -153,7 +153,7 @@ function Manager() { this.reports = []; } //создаём пустой объект с прототипом от конструктора Employee -//и используем этот ообъект как прототип для Manager +//и используем этот объект как прототип для Manager Manager.prototype = Object.create(Employee.prototype); Manager.prototype.constructor = Manager; @@ -181,7 +181,7 @@ public class WorkerBee extends Employee { </tbody> </table> -<p>Классы <code>Engineer</code> и <code>SalesPerson</code> создают объекты, которые происходят от <code>WorkerBee</code> и, следовательно, от <code>Employee</code>. Ообъект этих типов имеет свойства всех объектов, расположенных над ним в иерархии. Также, эти классы переопределяют наследуемое значение свойства <code>dept</code> своими значениями, характерными для этих объектов.</p> +<p>Классы <code>Engineer</code> и <code>SalesPerson</code> создают объекты, которые происходят от <code>WorkerBee</code> и, следовательно, от <code>Employee</code>. Объект этих типов имеет свойства всех объектов, расположенных над ним в иерархии. Также, эти классы переопределяют наследуемое значение свойства <code>dept</code> своими значениями, характерными для этих объектов.</p> <table class="standard-table"> <thead> @@ -247,14 +247,14 @@ public class Engineer extends WorkerBee { <h3 id="Наследование_свойств">Наследование свойств</h3> -<p>Предположим, вы создаёте ообъект <code>mark</code> в качестве <code>WorkerBee</code> (как показано на <a href="#8.3">Рисунок 8.3</a>) с помощью следующего выражения:</p> +<p>Предположим, вы создаёте объект <code>mark</code> в качестве <code>WorkerBee</code> (как показано на <a href="#8.3">Рисунок 8.3</a>) с помощью следующего выражения:</p> <pre class="brush: js">var mark = new WorkerBee; </pre> -<p>Когда JavaScript видит оператор <code>new</code>, он создаёт новый обобщённый ообъект и неявно устанавливает значение внутреннего свойства [[Prototype]] в <code>WorkerkBee.prototype</code>, затем передаёт этот новый ообъект в качестве значения <code>this</code> в функцию-конструктор <code>WorkerBee</code>. Внутреннее свойство [[Prototype]] определяет цепочку прототипов, используемых для получения значений свойств. После того, как эти свойства установлены, JavaScript возвращает новый ообъект, а оператор присваивания устанавливает переменную <code>mark</code> для этого объекта.</p> +<p>Когда JavaScript видит оператор <code>new</code>, он создаёт новый обобщённый объект и неявно устанавливает значение внутреннего свойства [[Prototype]] в <code>WorkerkBee.prototype</code>, затем передаёт этот новый объект в качестве значения <code>this</code> в функцию-конструктор <code>WorkerBee</code>. Внутреннее свойство [[Prototype]] определяет цепочку прототипов, используемых для получения значений свойств. После того, как эти свойства установлены, JavaScript возвращает новый объект, а оператор присваивания устанавливает переменную <code>mark</code> для этого объекта.</p> -<p>Этот процесс не задаёт значения свойств (<em>локальных</em> значений), которые унаследованы по цепочке прототипов, объекта <code>mark</code> напрямую. Когда вы запрашиваете значение свойства, JavaScript сначала проверяет, существует ли это значение в данном объекте. Если так и есть, тогда возвращается это значение. Если значение не найдено в самом объекте, JavaScript проверяет цепочку прототипов (используя внутреннее свойство [[Prorotype]]). Если ообъект в цепочке прототипов имеет значение для искомого свойства, это значение возвращается. Если такое свойство не найдено, JavaScript сообщает, что ообъект не обладает свойством. Таким образом, ообъект <code>mark</code> содержит следующие свойства и значения:</p> +<p>Этот процесс не задаёт значения свойств (<em>локальных</em> значений), которые унаследованы по цепочке прототипов, объекта <code>mark</code> напрямую. Когда вы запрашиваете значение свойства, JavaScript сначала проверяет, существует ли это значение в данном объекте. Если так и есть, тогда возвращается это значение. Если значение не найдено в самом объекте, JavaScript проверяет цепочку прототипов (используя внутреннее свойство [[Prorotype]]). Если объект в цепочке прототипов имеет значение для искомого свойства, это значение возвращается. Если такое свойство не найдено, JavaScript сообщает, что объект не обладает свойством. Таким образом, объект <code>mark</code> содержит следующие свойства и значения:</p> <pre class="brush: js">mark.name = ''; mark.dept = 'general'; @@ -276,14 +276,14 @@ mark.projects = ['navigator'];</pre> <pre class="brush: js">mark.bonus = 3000; </pre> -<p>Теперь ообъект <code>mark</code> имеет свойство <code>bonus</code>, но никакой другой <code>WorkerBee</code> не имеет этого свойства.</p> +<p>Теперь объект <code>mark</code> имеет свойство <code>bonus</code>, но никакой другой <code>WorkerBee</code> не имеет этого свойства.</p> -<p>Если вы добавляете новое свойство в ообъект, который используется в качестве прототипа для функции-конструктора, вы добавляете это свойство для всех объектов, наследующих свойства из этого прототипа. Например, вы можете добавить свойство <code>specialty</code> для всех сотрудников с помощью следующего выражения:</p> +<p>Если вы добавляете новое свойство в объект, который используется в качестве прототипа для функции-конструктора, вы добавляете это свойство для всех объектов, наследующих свойства из этого прототипа. Например, вы можете добавить свойство <code>specialty</code> для всех сотрудников с помощью следующего выражения:</p> <pre class="brush: js">Employee.prototype.specialty = 'none'; </pre> -<p>Как только JavaScript выполняет это выражение, ообъект <code>mark</code> также получает свойство <code>specialty</code> со значением <code>"none"</code>. Следующий рисунок показывает результат добавления этого свойства в прототип <code>Employee</code> и последующее переопределение его в прототипе <code>Engineer</code>.</p> +<p>Как только JavaScript выполняет это выражение, объект <code>mark</code> также получает свойство <code>specialty</code> со значением <code>"none"</code>. Следующий рисунок показывает результат добавления этого свойства в прототип <code>Employee</code> и последующее переопределение его в прототипе <code>Engineer</code>.</p> <p><img alt="" class="internal" src="/@api/deki/files/4422/=figure8.4.png" style="height: 519px; width: 833px;"><br> <small><strong>Рисунок 8.4: Добавление свойств</strong></small></p> @@ -412,7 +412,7 @@ jane.machine == 'belau' <p>Обратите внимание, что с таким способом вы не можете указать начальное значение наследуемого свойства, такого как <code>name</code>. Если вы хотите задать начальное значение для наследуемых свойств в JavaScript, вам нужно добавить больше кода в функцию-конструктор.</p> -<p>До сих пор функция-конструктор создавала обобщённый ообъект, а затем определяла локальные свойства и значения для нового объекта. Вы можете использовать конструктор, который добавляет дополнительные свойства путём непосредственного вызова функции-конструктора для объекта, расположенного выше в цепочке прототипов. На следующем рисунке показаны эти новые определения.</p> +<p>До сих пор функция-конструктор создавала обобщённый объект, а затем определяла локальные свойства и значения для нового объекта. Вы можете использовать конструктор, который добавляет дополнительные свойства путём непосредственного вызова функции-конструктора для объекта, расположенного выше в цепочке прототипов. На следующем рисунке показаны эти новые определения.</p> <p><img alt="" class="internal" src="/@api/deki/files/4430/=figure8.6.png" style="height: 534px; width: 1063px;"><br> <small><strong>Рисунок 8.6: Определение свойств в конструкторе, вариант 2</strong></small></p> @@ -426,7 +426,7 @@ jane.machine == 'belau' } </pre> -<p>Предположим, вы создаёте новый ообъект, используя <code>Engineer, следующим образом:</code></p> +<p>Предположим, вы создаёте новый объект, используя <code>Engineer, следующим образом:</code></p> <pre class="brush: js">var jane = new Engineer('Doe, Jane', ['navigator', 'javascript'], 'belau'); </pre> @@ -434,16 +434,16 @@ jane.machine == 'belau' <p>JavaScript <span id="result_box" lang="ru"><span>выполняет следующие действия</span><span>:</span></span></p> <ol> - <li>Оператор <code>new</code> создаёт обобщённый ообъект и устанавливает его свойству <code>__proto__</code> значение <code>Engineer.prototype</code>.</li> - <li>Оператор <code>new</code> передаёт этот новый ообъект в конструктор <code>Engineer</code> в качестве значения ключевого слова <code>this</code>.</li> + <li>Оператор <code>new</code> создаёт обобщённый объект и устанавливает его свойству <code>__proto__</code> значение <code>Engineer.prototype</code>.</li> + <li>Оператор <code>new</code> передаёт этот новый объект в конструктор <code>Engineer</code> в качестве значения ключевого слова <code>this</code>.</li> <li>Конструктор создаёт новое свойство с именем <code>base</code> для этого объекта и присваивает значение свойства <code>base</code> из конструктора <code>WorkerBee</code>. Это делает конструктор <code>WorkerBee</code> методом объекта, созданного <code>Engineer</code>. Имя свойства <code>base</code> не является специальным словом. Вы можете использовать любое допустимое для свойства имя; <code>base</code> всего-лишь напоминает о предназначении свойства.</li> <li>Конструктор вызывает метод <code>base</code>, передавая в качестве аргументов два аргумента, переданных конструктору (<code>"Doe, Jane"</code> и <code>["navigator", "javascript"]</code>), а также строку <code>"engineering"</code>. Явное использование <code>"engineering"</code> в конструкторе указывает на то, что все объекты, созданные <code>Engineer</code>, имеют одинаковое значение для наследуемого свойства <code>dept</code>, это значение переопределяет значение, унаследованное из <code>Employee</code>.</li> <li>Поскольку <code>base</code> является методом <code>Engineer</code>, внутри вызова <code>base</code> JavaScript привязывает ключевое свойство <code>this</code> к объекту, созданному в шаге 1. Таким образом, функция <code>WorkerBee</code> передаёт поочерёдно аргументы <code>"Doe, Jane"</code> и <code>"engineering"</code> в функцию-конструктор <code>Employee</code>. Получив результат из <code>Employee</code>, функция <code>WorkerBee</code> использует оставшийся аргумент для установки значения свойства <code>projects</code>.</li> <li>После возвращения из метода <code>base</code>, конструктор <code>Engineer</code> инициализирует свойство объекта <code>machine</code> со значением <code>"belau"</code>.</li> - <li>После возвращения из конструктора, JavaScript присваивает новый ообъект переменной <code>jane</code>.</li> + <li>После возвращения из конструктора, JavaScript присваивает новый объект переменной <code>jane</code>.</li> </ol> -<p>Можно подумать, что вызвав <code>WorkerBee</code> из конструктора <code>Engineer</code>, вы настроили соответствующим образом наследование для объектов, создаваемых <code>Engineer</code>. Это не так. Вызов конструктора <code>WorkerBee</code> обеспечивает только то, что ообъект <code>Engineer</code> запускается со свойствами, определёнными во всех функциях-конструкторах, которые были вызваны. Так, если позже добавить свойства в прототипы <code>Employee</code> или <code>WorkerBee</code>, эти свойства не наследуются объектами из <code>Engineer</code>. Например, предположим, вы использовали следующие определения:</p> +<p>Можно подумать, что вызвав <code>WorkerBee</code> из конструктора <code>Engineer</code>, вы настроили соответствующим образом наследование для объектов, создаваемых <code>Engineer</code>. Это не так. Вызов конструктора <code>WorkerBee</code> обеспечивает только то, что объект <code>Engineer</code> запускается со свойствами, определёнными во всех функциях-конструкторах, которые были вызваны. Так, если позже добавить свойства в прототипы <code>Employee</code> или <code>WorkerBee</code>, эти свойства не наследуются объектами из <code>Engineer</code>. Например, предположим, вы использовали следующие определения:</p> <pre class="brush: js">function Engineer (name, projs, mach) { this.base = WorkerBee; @@ -508,7 +508,7 @@ function Engineer (name, projs, mach) { <li>Проверяется, существует ли локальное свойство с запрашиваемым именем. Если да, то возвращается значение этого свойства.</li> <li>Если локального свойства не существует, проверяется цепочка прототипов (через использование свойства <code>__proto__</code>).</li> <li>Если один из объектов в цепочке прототипов имеет свойство c запрашиваемым именем, возвращается значение этого свойства.</li> - <li>Если искомое свойство не обнаружено, считается, что ообъект его не имеет.</li> + <li>Если искомое свойство не обнаружено, считается, что объект его не имеет.</li> </ol> <p>Результат выполнения этих шагов будет зависеть от того, в каком порядке вы создаёте объекты, прототипы и их свойства. Рассмотрим пример:</p> @@ -524,12 +524,12 @@ function WorkerBee () { WorkerBee.prototype = new Employee; </pre> -<p>Предположим, на основе конструкции выше, вы создаёте ообъект <code>amy</code> как экземпляр класса <code>WorkerBee</code> следующим выражением:</p> +<p>Предположим, на основе конструкции выше, вы создаёте объект <code>amy</code> как экземпляр класса <code>WorkerBee</code> следующим выражением:</p> <pre class="brush: js">var amy = new WorkerBee; </pre> -<p><code><font face="Open Sans, Arial, sans-serif">В результате, ообъект </font>amy</code> будет иметь одно локальное свойство - <code>projects</code>. Свойства <code>name</code> и <code>dept</code> не будут локальными для <code>amy</code> но будут взяты из прототипа (ообъект на который ссылается свойство <code>__proto__</code> объекта <code>amy)</code>. Таким образом, <code>amy</code> имеет три свойства:</p> +<p><code><font face="Open Sans, Arial, sans-serif">В результате, объект </font>amy</code> будет иметь одно локальное свойство - <code>projects</code>. Свойства <code>name</code> и <code>dept</code> не будут локальными для <code>amy</code> но будут взяты из прототипа (объект на который ссылается свойство <code>__proto__</code> объекта <code>amy)</code>. Таким образом, <code>amy</code> имеет три свойства:</p> <pre class="brush: js">amy.name == ""; amy.dept == "general"; @@ -543,7 +543,7 @@ amy.projects == []; <p>На первый взгляд вы можете ожидать, что это изменение распространится на все экземпляры <code>Employee</code>. Однако этого не случится.</p> -<p>Когда вы устанавливаете прототип для <code>WorkerBee</code> вы создаёте новый ообъект <code>Employee</code>, таким образом <code>WorkerBee.prototype</code> получает своё собственное локальное свойство <code>name</code> (в данном примере пустую строку). Следовательно, когда JavaScript ищет свойство <code>name</code> у объекта <code>amy</code> (экземпляра <code>WorkerBee</code>), он первым делом натыкается на него в прототипе <code>WorkerBee.prototype,</code> и до проверки <code>Employee.prototype</code> дело не доходит.</p> +<p>Когда вы устанавливаете прототип для <code>WorkerBee</code> вы создаёте новый объект <code>Employee</code>, таким образом <code>WorkerBee.prototype</code> получает своё собственное локальное свойство <code>name</code> (в данном примере пустую строку). Следовательно, когда JavaScript ищет свойство <code>name</code> у объекта <code>amy</code> (экземпляра <code>WorkerBee</code>), он первым делом натыкается на него в прототипе <code>WorkerBee.prototype,</code> и до проверки <code>Employee.prototype</code> дело не доходит.</p> <p>Если у вас есть необходимость изменять некоторое свойство объекта во время работы приложения, и применять это изменение на все существующие экземпляры, не нужно создавать это свойство внутри конструктора. Вместо этого добавьте свойство в прототип, принадлежащий конструктору. Для примера, предположим, вы изменили код, который был показан выше, следующим образом:</p> @@ -568,11 +568,11 @@ Employee.prototype.name = "Unknown"; <h3 id="Разбираемся_во_взаимосвязи_экземпляров">Разбираемся во взаимосвязи экземпляров</h3> -<p>Поиск свойств в JavaScript начинается с просмотра самого объекта, и если в нем свойство не найдено, поиск переключается на ообъект, на который указывает ссылка <code>__proto__</code>. Это продолжается рекурсивно и такой процесс поиска называется "поиск в цепочке прототипов".</p> +<p>Поиск свойств в JavaScript начинается с просмотра самого объекта, и если в нем свойство не найдено, поиск переключается на объект, на который указывает ссылка <code>__proto__</code>. Это продолжается рекурсивно и такой процесс поиска называется "поиск в цепочке прототипов".</p> -<p>Специальное свойство <code>__proto__</code> устанавливается автоматически при создании объекта. Оно принимает значение свойства <code>prototype</code> функции-конструктора. Таким образом, <code>new Foo()</code> создаст ообъект для которого справедливо выражение <code>__proto__ == <code class="moz-txt-verticalline">Foo.prototype</code></code>. Вследствие этого, любые изменения свойств у <code class="moz-txt-verticalline">Foo.prototype,</code> оказывают эффект на процесс поиска свойств во всех объектах, созданных при помощи <code>new Foo()</code>.</p> +<p>Специальное свойство <code>__proto__</code> устанавливается автоматически при создании объекта. Оно принимает значение свойства <code>prototype</code> функции-конструктора. Таким образом, <code>new Foo()</code> создаст объект для которого справедливо выражение <code>__proto__ == <code class="moz-txt-verticalline">Foo.prototype</code></code>. Вследствие этого, любые изменения свойств у <code class="moz-txt-verticalline">Foo.prototype,</code> оказывают эффект на процесс поиска свойств во всех объектах, созданных при помощи <code>new Foo()</code>.</p> -<p>Все объекты (за исключением глобального объекта <code>Object</code>) имеют свойство <code>__proto__.</code> Все функции имеют свойство <code>prototype</code>. Благодаря этому, могут быть установлены родственные связи в иерархии объектов. Вы можете установить родство и происхождение объекта, сравнив его свойство <code>__proto__</code> со свойством <code>prototype</code> конструктора. Здесь JavaScript представляет оператор <code>instanceof</code> как более простой способ проверки, наследуется ли ообъект от конкретного конструктора. Для примера:</p> +<p>Все объекты (за исключением глобального объекта <code>Object</code>) имеют свойство <code>__proto__.</code> Все функции имеют свойство <code>prototype</code>. Благодаря этому, могут быть установлены родственные связи в иерархии объектов. Вы можете установить родство и происхождение объекта, сравнив его свойство <code>__proto__</code> со свойством <code>prototype</code> конструктора. Здесь JavaScript представляет оператор <code>instanceof</code> как более простой способ проверки, наследуется ли объект от конкретного конструктора. Для примера:</p> <pre class="brush: js">var f = new Foo(); var isTrue = (f instanceof Foo);</pre> @@ -682,9 +682,9 @@ var mac = new Engineer("Wood, Mac"); <h3 id="Никакого_множественного_наследования">Никакого множественного наследования</h3> -<p>Некоторые из объектно-ориентированных языков предоставляют возможность множественного наследования. Когда один ообъект может унаследовать свойства и методы множества других, не связанных друг с другом объектов. В JavaScript такого не предусмотрено.</p> +<p>Некоторые из объектно-ориентированных языков предоставляют возможность множественного наследования. Когда один объект может унаследовать свойства и методы множества других, не связанных друг с другом объектов. В JavaScript такого не предусмотрено.</p> -<p>В JavaScript наследование свойств осуществляется путём поиска в цепочке прототипов. Так как ообъект может иметь лишь единственный присвоенный ему прототип, JavaScript не может осуществить наследование более чем от одной цепочки прототипов.</p> +<p>В JavaScript наследование свойств осуществляется путём поиска в цепочке прототипов. Так как объект может иметь лишь единственный присвоенный ему прототип, JavaScript не может осуществить наследование более чем от одной цепочки прототипов.</p> <p>Однако конструктор в JavaScript может вызывать любое количество вложенных конструкторов. Это даёт некоторую, хоть и ограниченную (отсутствием прототипной связанности) видимость множественного наследования. Рассмотрим следующий фрагмент:</p> @@ -718,6 +718,6 @@ dennis.hobby == "scuba" <pre class="brush: js">Hobbyist.prototype.equipment = ["mask", "fins", "regulator", "bcd"] </pre> -<p>Ообъект <code>dennis</code> этого свойства не унаследует.</p> +<p>Объект <code>dennis</code> этого свойства не унаследует.</p> <div>{{PreviousNext("Web/JavaScript/Guide/Working_with_Objects", "Web/JavaScript/Guide/Iterators_and_Generators")}}</div> diff --git a/files/ru/web/javascript/guide/grammar_and_types/index.html b/files/ru/web/javascript/guide/grammar_and_types/index.html index 3807d40ef0..c8b06a30ed 100644 --- a/files/ru/web/javascript/guide/grammar_and_types/index.html +++ b/files/ru/web/javascript/guide/grammar_and_types/index.html @@ -209,7 +209,7 @@ var baz = function() { <h3 id="Константы"><a id="Constants" name="Constants">Константы</a></h3> -<p>Вы можете создать именованную константу, доступную только для чтения, используя ключевое слово {{jsxref("Statements/const", "const")}}. Синтаксис идентификатора константы является таким же, как и у идентификатора переменной: он должен начинаться с буквы, нижнего подчёркивания или знака $ и может содержать буквы, цифры или нижнее подчеркивание.</p> +<p>Вы можете создать именованную константу, доступную только для чтения, используя ключевое слово {{jsxref("Statements/const", "const")}}. Синтаксис идентификатора константы является таким же, как и у идентификатора переменной: он должен начинаться с буквы, нижнего подчёркивания или знака $ и может содержать буквы, цифры или нижнее подчёркивание.</p> <pre class="brush: js language-js" style="padding: 1em 0px 1em 30px; font-size: 14px; white-space: normal;"><code class="language-js" style="direction: ltr; white-space: pre;"><span class="keyword token" style="color: #0077aa;">const</span> PREFIX <span class="operator token" style="background: rgba(255, 255, 255, 0.498039); color: #a67f59;">=</span> <span class="string token" style="color: #669900;">'212'</span><span class="punctuation token" style="color: #999999;">;</span></code></pre> diff --git a/files/ru/web/javascript/guide/numbers_and_dates/index.html b/files/ru/web/javascript/guide/numbers_and_dates/index.html index 038b00c440..8b0ac2f5df 100644 --- a/files/ru/web/javascript/guide/numbers_and_dates/index.html +++ b/files/ru/web/javascript/guide/numbers_and_dates/index.html @@ -371,7 +371,7 @@ IPOdate.setTime(Date.parse("Aug 9, 1995")); <p>Следующие четыре выражения строят текстовую строку на основе time. Первое из них создаёт переменную <code>temp</code>, присваивая ей значение при помощи условия; Если <code>hour</code> больше чем 12, то (<code>hour - 12</code>), иначе просто <code>hour.</code> В случае же, когда <code>hour</code> равно 0, берётся фиксированное значение "12".</p> -<p>Следующее выражение приращивает минуты к переменной <code>temp</code>. Если количество минут меньше 10, то условное выражение добавляет строку с двоеточием и заполняющим нулём, иначе, просто строку с двоеточием. Секунды приращиваются к переменной <code>temp</code> тем же путем.</p> +<p>Следующее выражение приращивает минуты к переменной <code>temp</code>. Если количество минут меньше 10, то условное выражение добавляет строку с двоеточием и заполняющим нулём, иначе, просто строку с двоеточием. Секунды приращиваются к переменной <code>temp</code> тем же путём.</p> <p>В завершение всего, последнее условное выражение добавляет строку "P.M." к переменной <code>temp</code> если <code>hour</code> равно или больше 12, иначе, добавляется строка "A.M.".</p> diff --git a/files/ru/web/javascript/guide/working_with_objects/index.html b/files/ru/web/javascript/guide/working_with_objects/index.html index ee94429f46..8bee89f443 100644 --- a/files/ru/web/javascript/guide/working_with_objects/index.html +++ b/files/ru/web/javascript/guide/working_with_objects/index.html @@ -415,7 +415,7 @@ console.log(now); <li>добавлены существующему объекту в любой момент, при использовании методов добавления геттеров и сеттеров.</li> </ul> -<p>Когда определение геттера и сеттера использует {{ web.link("#Использование_инициализаторов_объекта", "инициализаторы объекта") }}, все что вам нужно, это дополнить геттер префиксом <code>get</code> а сеттер префиксом <code>set</code>. При этом, метод геттера не должен ожидать каких либо параметров, в то время как метод сеттера принимает один единственный параметр (новое значение для присвоения свойству). Например:</p> +<p>Когда определение геттера и сеттера использует {{ web.link("#Использование_инициализаторов_объекта", "инициализаторы объекта") }}, всё что вам нужно, это дополнить геттер префиксом <code>get</code> а сеттер префиксом <code>set</code>. При этом, метод геттера не должен ожидать каких либо параметров, в то время как метод сеттера принимает один единственный параметр (новое значение для присвоения свойству). Например:</p> <pre class="brush: js"><code>var o = { a: 7, diff --git a/files/ru/web/javascript/reference/errors/not_defined/index.html b/files/ru/web/javascript/reference/errors/not_defined/index.html index 2169f9ffa3..6a14279685 100644 --- a/files/ru/web/javascript/reference/errors/not_defined/index.html +++ b/files/ru/web/javascript/reference/errors/not_defined/index.html @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Errors/Not_defined <p>Есть несуществующая переменная, которая ссылается куда-то. Эта переменная должна быть объявлена, или вам необходимо убедиться, что она доступна в вашем текущем скрипте или области исходного кода ( {{Glossary("scope")}}).</p> <div class="note"> -<p><strong>Заметка: </strong>При использовании сторонних библиотек (такие как jQuery), убедитесь, что они загружаются до того, как вы используете переменные "$". Поместите тег {{HTMLElement("script")}} загружающий вашу библиотеку до того как вы будете использовать ее.</p> +<p><strong>Заметка: </strong>При использовании сторонних библиотек (такие как jQuery), убедитесь, что они загружаются до того, как вы используете переменные "$". Поместите тег {{HTMLElement("script")}} загружающий вашу библиотеку до того как вы будете использовать её.</p> </div> <h2 id="Примеры"><font><font>Примеры</font></font></h2> diff --git a/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html b/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html index c4f442f49e..c0c37bcd00 100644 --- a/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html +++ b/files/ru/web/javascript/reference/errors/unnamed_function_statement/index.html @@ -46,7 +46,7 @@ SyntaxError: непредвиденный токен ( [Chrome] <h3 id="Помеченные_функции">Помеченные функции</h3> -<p>При использовании меток функций после ключевого слова function все равно потребуется указать имя функции. Это не работает:</p> +<p>При использовании меток функций после ключевого слова function всё равно потребуется указать имя функции. Это не работает:</p> <pre class="brush: js example-bad">function Greeter() { german: function () { diff --git a/files/ru/web/javascript/reference/global_objects/promise/all/index.html b/files/ru/web/javascript/reference/global_objects/promise/all/index.html index 4a79cf71ab..44ef0a5cf7 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/all/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/all/index.html @@ -57,7 +57,7 @@ Promise.all([p1, p2, p3]).then(values => { <h3 id="Promise.all_поведение_немедленного_отклонения"><code>Promise.all</code> поведение немедленного отклонения</h3> -<p><strong><code>Promise.all</code></strong> будет немедленно отклонён если одно из переданных обещаний будет отклонено: если у вас есть четыре обещания которые будут выполнены с задержкой и одно, которое будет отклонено немедленно - тогда <strong><code>Promise.all</code></strong> будет немедленно отклонен.</p> +<p><strong><code>Promise.all</code></strong> будет немедленно отклонён если одно из переданных обещаний будет отклонено: если у вас есть четыре обещания которые будут выполнены с задержкой и одно, которое будет отклонено немедленно - тогда <strong><code>Promise.all</code></strong> будет немедленно отклонён.</p> <pre><code>var p1 = new Promise((resolve, reject) => { setTimeout(resolve, 1000, "one"); diff --git a/files/ru/web/javascript/reference/global_objects/promise/index.html b/files/ru/web/javascript/reference/global_objects/promise/index.html index 7410136177..711ced45c2 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/index.html @@ -40,12 +40,12 @@ new Promise(function(resolve, reject) { ... });</pre> <p><code>Promise</code> может находиться в трёх состояниях:</p> <ul> - <li><em>ожидание (pending)</em>: начальное состояние, не исполнен и не отклонен.</li> + <li><em>ожидание (pending)</em>: начальное состояние, не исполнен и не отклонён.</li> <li><em>исполнено (fulfilled)</em>: операция завершена успешно.</li> <li><em>отклонено (rejected)</em>: операция завершена с ошибкой.</li> </ul> -<p>При создании промис находится в <em>ожидании (pending)</em>, а затем может стать <em>исполненным </em> (<em>fulfilled)</em>, вернув полученный результат (значение), или <em>отклонённым </em>(<em>rejected),</em> вернув причину отказа. В любом из этих случаев вызывается обработчик, прикреплённый к промису методом <code>then</code>. (Если в момент назначения обработчика промис уже исполнен или отклонён, обработчик все равно будет вызван, т.е. асинхронное исполнение промиса и назначение обработчика не будет происходить в «состоянии гонки», как, например, в случае с событиями в DOM.)</p> +<p>При создании промис находится в <em>ожидании (pending)</em>, а затем может стать <em>исполненным </em> (<em>fulfilled)</em>, вернув полученный результат (значение), или <em>отклонённым </em>(<em>rejected),</em> вернув причину отказа. В любом из этих случаев вызывается обработчик, прикреплённый к промису методом <code>then</code>. (Если в момент назначения обработчика промис уже исполнен или отклонён, обработчик всё равно будет вызван, т.е. асинхронное исполнение промиса и назначение обработчика не будет происходить в «состоянии гонки», как, например, в случае с событиями в DOM.)</p> <p>Так как методы <code>{{JSxRef("Promise.then", "Promise.prototype.then()")}}</code> и <code>{{JSxRef("Promise.catch", "Promise.prototype.catch()")}}</code> сами возвращают промис, их можно вызывать цепочкой, создавая <em>соединения.</em></p> @@ -69,7 +69,7 @@ new Promise(function(resolve, reject) { ... });</pre> <dl> <dt>{{jsxref("Promise.all", "Promise.all(iterable)")}}</dt> <dd>Ожидает исполнения всех промисов или отклонения любого из них.</dd> - <dd>Возвращает промис, который исполнится после исполнения всех промисов в <code>iterable</code>. В случае, если любой из промисов будет отклонён, <code>Promise.all</code> будет также отклонен.</dd> + <dd>Возвращает промис, который исполнится после исполнения всех промисов в <code>iterable</code>. В случае, если любой из промисов будет отклонён, <code>Promise.all</code> будет также отклонён.</dd> <dt>{{JSxRef("Promise.allSettled", "Promise.allSettled(iterable)")}}</dt> <dd>Ожидает завершения всех полученных промисов (как исполнения так и отклонения).</dd> <dd>Возвращает промис, который исполняется когда все полученные промисы завершены (исполнены или отклонены), содержащий массив результатов исполнения полученных промисов.</dd> diff --git a/files/ru/web/javascript/reference/global_objects/promise/reject/index.html b/files/ru/web/javascript/reference/global_objects/promise/reject/index.html index ebaed59a5f..e63f238f7a 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/reject/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/reject/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/reject <dl> <dt>reason</dt> - <dd>Причина по которой <code>Promise</code> был отклонен.</dd> + <dd>Причина по которой <code>Promise</code> был отклонён.</dd> <dt> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> diff --git a/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html b/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html index ecd0cb98a9..64a726aa64 100644 --- a/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html +++ b/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer --- <div>{{JSRef}}</div> -<p>Объект <strong><code>SharedArrayBuffer</code></strong> используется для создания разделённого буфера фиксированной длины для хранения примитивных бинарных данных, подобно объекту {{jsxref("ArrayBuffer")}}, но могут быть использованы для создания обзора на разделённую память. В отличие от <code>ArrayBuffer</code>, <code>SharedArrayBuffer</code> не может быть отсоединен.</p> +<p>Объект <strong><code>SharedArrayBuffer</code></strong> используется для создания разделённого буфера фиксированной длины для хранения примитивных бинарных данных, подобно объекту {{jsxref("ArrayBuffer")}}, но могут быть использованы для создания обзора на разделённую память. В отличие от <code>ArrayBuffer</code>, <code>SharedArrayBuffer</code> не может быть отсоединён.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/lexical_grammar/index.html b/files/ru/web/javascript/reference/lexical_grammar/index.html index 9c74d62e61..78c9671af0 100644 --- a/files/ru/web/javascript/reference/lexical_grammar/index.html +++ b/files/ru/web/javascript/reference/lexical_grammar/index.html @@ -212,7 +212,7 @@ comment();</pre> <p>Третий специализированный синтаксис комментариев, <strong>шебанг комментарий</strong>, в процессе стандартизации в ECMAScript (смотреть <a href="https://github.com/tc39/proposal-hashbang">Hashbang Grammar proposal</a>).</p> -<p>Шебанг комментарий ведёт себя точно также как и однострочный (<code>//</code>) комментарий. Вместо этого, он начинается с <code>#!</code> и <strong>действителен только в самом начале скрипта или модуля</strong>. Обратите внимание, что никакие пробелы не разрешены перед <code>#!</code>. Комментарий состоит из всех символов после <code>#!</code> до конца первой строки; только такой комментарий разрешен.</p> +<p>Шебанг комментарий ведёт себя точно также как и однострочный (<code>//</code>) комментарий. Вместо этого, он начинается с <code>#!</code> и <strong>действителен только в самом начале скрипта или модуля</strong>. Обратите внимание, что никакие пробелы не разрешены перед <code>#!</code>. Комментарий состоит из всех символов после <code>#!</code> до конца первой строки; только такой комментарий разрешён.</p> <p>Шебанг комментарий определяет путь к JavaScript интерпретатору, скрипт которого Вы хотите выполнить. Пример, как это работает:</p> diff --git a/files/ru/web/javascript/reference/operators/delete/index.html b/files/ru/web/javascript/reference/operators/delete/index.html index d7722fa829..4d8ffdccf6 100644 --- a/files/ru/web/javascript/reference/operators/delete/index.html +++ b/files/ru/web/javascript/reference/operators/delete/index.html @@ -50,7 +50,7 @@ delete <em>property</em> // удаляет свойства глобальног <dt><code>property</code></dt> <dd>Удаляемое свойство.</dd> <dt><code>index</code></dt> - <dd>Целое число, представляющее собой индекс массива, который должен быть удален.</dd> + <dd>Целое число, представляющее собой индекс массива, который должен быть удалён.</dd> </dl> <h3 id="Returns" name="Returns">Возвращаемое значение</h3> diff --git a/files/ru/web/javascript/reference/operators/typeof/index.html b/files/ru/web/javascript/reference/operators/typeof/index.html index 68ea92a1ba..f0fe26202d 100644 --- a/files/ru/web/javascript/reference/operators/typeof/index.html +++ b/files/ru/web/javascript/reference/operators/typeof/index.html @@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Operators/typeof <h3 id="Параметры">Параметры</h3> -<p><code><em>operand</em></code> является выражением, представляющим объект или {{Glossary("Primitive", "примитив")}}, тип которого должен быть возвращен.</p> +<p><code><em>operand</em></code> является выражением, представляющим объект или {{Glossary("Primitive", "примитив")}}, тип которого должен быть возвращён.</p> <h2 id="Описание">Описание</h2> diff --git a/files/ru/web/javascript/reference/statements/async_function/index.html b/files/ru/web/javascript/reference/statements/async_function/index.html index a956f73e66..7f3b31211f 100644 --- a/files/ru/web/javascript/reference/statements/async_function/index.html +++ b/files/ru/web/javascript/reference/statements/async_function/index.html @@ -81,7 +81,7 @@ add2(10).then(v => { <div class="warning"> <h4 id="Не_путайте_await_и_Promise.all">Не путайте await и Promise.all</h4> -<p>Функция <code>add1</code> приостанавливается на 2 секунды для первого <code>await</code> и ещё на 2 для второго. Второй таймер создаётся только после срабатывания первого. В функции <code>add2</code> создаются оба и оба же переходят в состояние <code>await</code>. В результате функция <code>add2</code> завершится скорее через две, чем через четыре секунды, поскольку таймеры работают одновременно. Однако запускаются они все же не параллельно, а друг за другом - такая конструкция не означает автоматического использования <code>Promise.all</code>. Если два или более Promise должны разрешаться параллельно, следует использовать <code>Promise.all</code>.</p> +<p>Функция <code>add1</code> приостанавливается на 2 секунды для первого <code>await</code> и ещё на 2 для второго. Второй таймер создаётся только после срабатывания первого. В функции <code>add2</code> создаются оба и оба же переходят в состояние <code>await</code>. В результате функция <code>add2</code> завершится скорее через две, чем через четыре секунды, поскольку таймеры работают одновременно. Однако запускаются они всё же не параллельно, а друг за другом - такая конструкция не означает автоматического использования <code>Promise.all</code>. Если два или более Promise должны разрешаться параллельно, следует использовать <code>Promise.all</code>.</p> </div> <h3 id="Когда_функция_async_выбрасывает_исключение">Когда функция <code>async </code>выбрасывает исключение</h3> diff --git a/files/ru/web/javascript/reference/strict_mode/index.html b/files/ru/web/javascript/reference/strict_mode/index.html index fbf4446b55..fba2587610 100644 --- a/files/ru/web/javascript/reference/strict_mode/index.html +++ b/files/ru/web/javascript/reference/strict_mode/index.html @@ -271,7 +271,7 @@ function privilegedInvoker() { privilegedInvoker(); </pre> -<p>В-третьих, в функциях строгого режима свойство <code>arguments</code> больше не предоставляет доступ к переменным, созданным внутри функции. В некоторых предыдущих реализациях ECMAScript <code>arguments.caller</code> представлял собой объект, свойства которого являлись ссылками на переменные, созданные внутри функции при её вызове. Это представляет собой <a class="external" href="http://stuff.mit.edu/iap/2008/facebook/">угрозу безопасности</a>, так как нарушает возможность скрывать приватные данные внутри функций (замыканий). Также это делает невозможными большинство оптимизаций. Исходя из этих причин, ни один из современных браузеров не реализует этого поведения. Но все же, ввиду своей исторической функциональности, <code>arguments.caller</code> для функций в строгом режиме всё ещё является неудаляемым свойством, которое вызывает исключение при попытке его чтения или записи:</p> +<p>В-третьих, в функциях строгого режима свойство <code>arguments</code> больше не предоставляет доступ к переменным, созданным внутри функции. В некоторых предыдущих реализациях ECMAScript <code>arguments.caller</code> представлял собой объект, свойства которого являлись ссылками на переменные, созданные внутри функции при её вызове. Это представляет собой <a class="external" href="http://stuff.mit.edu/iap/2008/facebook/">угрозу безопасности</a>, так как нарушает возможность скрывать приватные данные внутри функций (замыканий). Также это делает невозможными большинство оптимизаций. Исходя из этих причин, ни один из современных браузеров не реализует этого поведения. Но всё же, ввиду своей исторической функциональности, <code>arguments.caller</code> для функций в строгом режиме всё ещё является неудаляемым свойством, которое вызывает исключение при попытке его чтения или записи:</p> <pre class="brush: js">"use strict"; function fun(a, b) { @@ -322,7 +322,7 @@ function baz() { // верно } </pre> -<p>Данный запрет не является особенностью строгого режима, потому что такое объявление функций является одним из расширений основного ES5. Но это рекомендация комитета ECMAScript, и браузеры реализуют ее.</p> +<p>Данный запрет не является особенностью строгого режима, потому что такое объявление функций является одним из расширений основного ES5. Но это рекомендация комитета ECMAScript, и браузеры реализуют её.</p> <h2 id="Строгий_режим_в_браузерах">Строгий режим в браузерах</h2> diff --git a/files/ru/web/mathml/element/merror/index.html b/files/ru/web/mathml/element/merror/index.html index c10046e96b..3af5d3730c 100644 --- a/files/ru/web/mathml/element/merror/index.html +++ b/files/ru/web/mathml/element/merror/index.html @@ -10,7 +10,7 @@ translation_of: Web/MathML/Element/merror --- <div>{{MathMLRef}}</div> -<p class="summary">Элемент MathML <code><merror></code> используется для отображения содержимого в виде сообщений об ошибках. В Firefox это сообщение об ошибке отображается аналогично типичному сообщению об ошибке XML. Обратите внимание, что эта ошибка <strong>не</strong> выдаётся, если ваша разметка MathML неверна или неправильно сформирован XML. Вы все равно получите ошибку разбора XML (в случае XHTML-нотации MathML), которая не имеет ничего общего с <code><merror></code>.</p> +<p class="summary">Элемент MathML <code><merror></code> используется для отображения содержимого в виде сообщений об ошибках. В Firefox это сообщение об ошибке отображается аналогично типичному сообщению об ошибке XML. Обратите внимание, что эта ошибка <strong>не</strong> выдаётся, если ваша разметка MathML неверна или неправильно сформирован XML. Вы всё равно получите ошибку разбора XML (в случае XHTML-нотации MathML), которая не имеет ничего общего с <code><merror></code>.</p> <h2 id="Атрибуты">Атрибуты</h2> diff --git a/files/ru/web/performance/critical_rendering_path/index.html b/files/ru/web/performance/critical_rendering_path/index.html index ee91e0e4c8..995d8f81c8 100644 --- a/files/ru/web/performance/critical_rendering_path/index.html +++ b/files/ru/web/performance/critical_rendering_path/index.html @@ -47,7 +47,7 @@ translation_of: Web/Performance/Critical_rendering_path <p>Мета тэг viewport, который вы можете указать в Head страницы, определяет ширину видимой области и влияет на компоновку. Без этого тэга браузеры используют ширину "по умолчанию", которая обычно составляет 960px. В браузерах, открывающихся по умолчанию в полноэкранном режиме, например, в браузере телефона, установка тега <code><meta name="viewport" content="width=device-width"></code> установит ширину видимой области в 100% от ширины экрана устройства, вместо того, чтобы использовать ширину по умолчанию. Эта ширина (<code>device-width)</code> изменяется каждый раз, когда пользователь поворачивает телефон. Это приводит к запуску этапа компоновки. Равно как и при изменении размеров окна в обычном браузере.</p> -<p>На производительность компоновки (layout) непосредственно влияет DOM - чем больше узлов (nodes) в вашем документе, тем больше времени понадобится на перерасчёт позиций и размеров всех элементов. Компоновка может стать узким местом, ведущим к зависаниям, особенно если выполняет одновременно со скроллом или другой анимацией. И хотя задержка 20мс при загрузке или переориентации экрана может быть приемлемой, это все равно может привести к подвисаниям при анимации и скролле. Каждый раз, когда дерево рендера (render tree) модифицируется, например, из-за добавления узла (node), его модификации или при изменении стилей box-модели, запускается компоновка.</p> +<p>На производительность компоновки (layout) непосредственно влияет DOM - чем больше узлов (nodes) в вашем документе, тем больше времени понадобится на перерасчёт позиций и размеров всех элементов. Компоновка может стать узким местом, ведущим к зависаниям, особенно если выполняет одновременно со скроллом или другой анимацией. И хотя задержка 20мс при загрузке или переориентации экрана может быть приемлемой, это всё равно может привести к подвисаниям при анимации и скролле. Каждый раз, когда дерево рендера (render tree) модифицируется, например, из-за добавления узла (node), его модификации или при изменении стилей box-модели, запускается компоновка.</p> <p>Для уменьшения частоты и продолжительности этого этапа, группируйте обновления экрана и избегайте анимации свойств, связанных с box-моделью элементов.</p> diff --git a/files/ru/web/performance/fundamentals/index.html b/files/ru/web/performance/fundamentals/index.html index 704ebee8a2..a809d421f9 100644 --- a/files/ru/web/performance/fundamentals/index.html +++ b/files/ru/web/performance/fundamentals/index.html @@ -137,7 +137,7 @@ original_slug: Web/Performance/Основы <p>При отрисовывании контента в Canvas, разработчик должен сам позаботиться о достижении целей по частоте кадров, ведь он получает полный контроль над всем, что отрисовывается.</p> -<p>При использовании HTML и CSS разработчику необходимо использовать правильные примитивы. Firefox очень хорошо оптимизирован для скролла любого контента. Обычно это не является проблемой. Но очень часто, разменивая качество и стабильность на скорость, мы идём на ухищрения, которые могут "переоптимизировать" страницу так, что частота кадров будет выше нужной нам. Так как глаз все равно слабо различает FPS больше 60, нет необходимости в таких оптимизациях. Одна из таких оптимизаций - использование статического рендера вместо CSS-градиента. В некоторых случаях это излишне. Чтобы не применять оптимизацию, вы можете воспользоваться CSS <a href="/en-US/docs/Web/Guide/CSS/Media_queries">media queries</a>, которые позволят использовать подобные решения только для конкретных устройств.</p> +<p>При использовании HTML и CSS разработчику необходимо использовать правильные примитивы. Firefox очень хорошо оптимизирован для скролла любого контента. Обычно это не является проблемой. Но очень часто, разменивая качество и стабильность на скорость, мы идём на ухищрения, которые могут "переоптимизировать" страницу так, что частота кадров будет выше нужной нам. Так как глаз всё равно слабо различает FPS больше 60, нет необходимости в таких оптимизациях. Одна из таких оптимизаций - использование статического рендера вместо CSS-градиента. В некоторых случаях это излишне. Чтобы не применять оптимизацию, вы можете воспользоваться CSS <a href="/en-US/docs/Web/Guide/CSS/Media_queries">media queries</a>, которые позволят использовать подобные решения только для конкретных устройств.</p> <p>Множество приложений используют Transitions и Animations для перехода между страницами или панелями. Например, когда пользователь нажимает кнопку "Настройки", чтобы перейти на другой экран; или для вызова поп-апа. Firefox оптимизирован для выполнения переходов и анимаций для сцен, которые:</p> diff --git a/files/ru/web/performance/how_browsers_work/index.html b/files/ru/web/performance/how_browsers_work/index.html index 97c05dfae7..5915c27700 100644 --- a/files/ru/web/performance/how_browsers_work/index.html +++ b/files/ru/web/performance/how_browsers_work/index.html @@ -109,7 +109,7 @@ translation_of: Web/Performance/How_browsers_work <p>DOM (Объектная модель документа) - это внутреннее представление разметки HTML. Браузер предоставляет доступ к манипуляции объектами этой модели через разные JavaScript API.</p> -<p>Даже если ответ на запрос больше 14КБ, браузер все равно начинает парсинг данных и пытается отрисовать страницу с теми данными, которые уже доступны. Именно поэтому при оптимизации производительности очень важно включать в инициирующий 14КБ ответ все необходимые для рендера данные - так браузер сможет быстрее начать формирование страницы. Однако, прежде чем что-либо появится на экране, HTML, CSS и JavaScript должны быть обработаны.</p> +<p>Даже если ответ на запрос больше 14КБ, браузер всё равно начинает парсинг данных и пытается отрисовать страницу с теми данными, которые уже доступны. Именно поэтому при оптимизации производительности очень важно включать в инициирующий 14КБ ответ все необходимые для рендера данные - так браузер сможет быстрее начать формирование страницы. Однако, прежде чем что-либо появится на экране, HTML, CSS и JavaScript должны быть обработаны.</p> <h3 id="Построение_дерева_объектной_модели_документа">Построение дерева объектной модели документа</h3> @@ -169,7 +169,7 @@ translation_of: Web/Performance/How_browsers_work <p>Третий шаг в критическом пути рендеринга - это комбинирование DOM и CSSOM в дерево рендеринга. Конструирование этого дерева начинается с прохода всего DOM-дерева от корня, с выявлением каждого видимого узла.</p> -<p>Элементы, которые не должны быть показаны, например, <code><head></code>, а так же их дети или любые элементы с <code>display:none</code>, такие как <code>script { display: none; }</code>, не будут включены в дерево рендера, так как они не должны быть отрисованы. Узлы с правилом <code>visibility: hidden</code> включены в дерево рендера, так как они все равно занимают своё место. Так как мы не указали никаких специальных правил для перезаписи стилей агента по умолчанию, узел <code>script</code> в примере выше также не будет включён в дерево рендера.</p> +<p>Элементы, которые не должны быть показаны, например, <code><head></code>, а так же их дети или любые элементы с <code>display:none</code>, такие как <code>script { display: none; }</code>, не будут включены в дерево рендера, так как они не должны быть отрисованы. Узлы с правилом <code>visibility: hidden</code> включены в дерево рендера, так как они всё равно занимают своё место. Так как мы не указали никаких специальных правил для перезаписи стилей агента по умолчанию, узел <code>script</code> в примере выше также не будет включён в дерево рендера.</p> <p>Каждый видимый узел имеет свои правила из CSSOM. Дерево рендера содержит все видимые узлы с их содержимым и вычисленными стилями. Стили определяются путём применения всех подходящих правил с использованием <a href="/en-US/docs/Web/CSS/Cascade">CSS каскада.</a></p> diff --git a/files/ru/web/performance/optimizing_startup_performance/index.html b/files/ru/web/performance/optimizing_startup_performance/index.html index 3358f1b8f4..bbec4006e4 100644 --- a/files/ru/web/performance/optimizing_startup_performance/index.html +++ b/files/ru/web/performance/optimizing_startup_performance/index.html @@ -19,9 +19,9 @@ translation_of: Web/Performance/Optimizing_startup_performance <p>Если вы начинаете ваш проект с нуля, обычно очень легко начать писать код "правильно", делая все изначально асинхронным. Все вычисления при запуски должны выполняться в фоновых потоках, в то время как основной поток должен держаться максимально очищенным от лишних функций. Включайте индикатор прогресса для того, чтобы пользователь знал, что сейчас происходит и не думал, что приложение сломано. В теории, если вы только начинаете разработку приложения - это все должно быть очень просто.</p> -<p>С другой стороны, потребуются некоторые ухищрения, если вы пытаетесь портировать существующее десктопное приложение в Web или привыкли писать такие. Десктопные приложения обычно не нуждаются в написании кода в асинхронной манере, потому что операционная система берет заботу об этом на себя. В исходниках такого приложения может быть лишь один поток обработки кода, но даже он может быть легко разбит на асинхронные этапы (запуском каждой новой итерации потока по отдельности). В таких приложениях запуск часто представляет собой последовательную монолитную процедуру, которая время от времени обращается к метрикам прогресса и обновляет их.</p> +<p>С другой стороны, потребуются некоторые ухищрения, если вы пытаетесь портировать существующее десктопное приложение в Web или привыкли писать такие. Десктопные приложения обычно не нуждаются в написании кода в асинхронной манере, потому что операционная система берёт заботу об этом на себя. В исходниках такого приложения может быть лишь один поток обработки кода, но даже он может быть легко разбит на асинхронные этапы (запуском каждой новой итерации потока по отдельности). В таких приложениях запуск часто представляет собой последовательную монолитную процедуру, которая время от времени обращается к метрикам прогресса и обновляет их.</p> -<p>И хотя вы можете использовать <a href="/en-US/docs/DOM/Using_web_workers" title="/en-US/docs/DOM/Using_web_workers">Web workers</a>, чтобы обработать очень большие и "тяжёлые" скрипты асинхронно, вы должны учитывать некоторые ограничения. Web Worker-ы не имеют доступа к некоторым API браузера: DOM, <a href="/en-US/docs/WebGL" title="/en-US/docs/WebGL">WebGL</a> или audio, они не могут посылать синхронные сообщения в основной поток, вы даже не можете проксировать некоторые из этих API в основной поток. Это всё означает, что вы можете поместить в Web Worker-ы только "чистые функции", но вам все равно придётся вычислять огромную часть данных в основном потоке. Поэтому очень полезно разрабатывать систему так, чтобы в ней было как можно больше чистых функций - так их будет проще делегировать последствии.</p> +<p>И хотя вы можете использовать <a href="/en-US/docs/DOM/Using_web_workers" title="/en-US/docs/DOM/Using_web_workers">Web workers</a>, чтобы обработать очень большие и "тяжёлые" скрипты асинхронно, вы должны учитывать некоторые ограничения. Web Worker-ы не имеют доступа к некоторым API браузера: DOM, <a href="/en-US/docs/WebGL" title="/en-US/docs/WebGL">WebGL</a> или audio, они не могут посылать синхронные сообщения в основной поток, вы даже не можете проксировать некоторые из этих API в основной поток. Это всё означает, что вы можете поместить в Web Worker-ы только "чистые функции", но вам всё равно придётся вычислять огромную часть данных в основном потоке. Поэтому очень полезно разрабатывать систему так, чтобы в ней было как можно больше чистых функций - так их будет проще делегировать последствии.</p> <p>Тем не менее, даже код в основном потоке можно сделать асинхронным, приложив лишь небольшие усилия.</p> diff --git a/files/ru/web/progressive_web_apps/installable_pwas/index.html b/files/ru/web/progressive_web_apps/installable_pwas/index.html index 3aa9e01580..9f6fdd30df 100644 --- a/files/ru/web/progressive_web_apps/installable_pwas/index.html +++ b/files/ru/web/progressive_web_apps/installable_pwas/index.html @@ -76,7 +76,7 @@ translation_of: Web/Progressive_web_apps/Installable_PWAs <h2 id="Добавить_на_домашний_экран">Добавить на домашний экран</h2> -<p>"Добавить на домашний экран" (кратко: a2hs) - это функция, реализованная браузерами, которая берет информацию, найденную в веб-манифесте, и использует для добавления приложения на домашний экран устройства со значком и именем. Это работает при выполнении требований, описанных выше.</p> +<p>"Добавить на домашний экран" (кратко: a2hs) - это функция, реализованная браузерами, которая берёт информацию, найденную в веб-манифесте, и использует для добавления приложения на домашний экран устройства со значком и именем. Это работает при выполнении требований, описанных выше.</p> <p>Когда пользователь посещает PWA с помощью браузера, поддерживающего технологию, должен отобразиться значок, указывающий на возможность установки приложения в качестве PWA.</p> diff --git a/files/ru/web/svg/element/use/index.html b/files/ru/web/svg/element/use/index.html index 1efa68b4e0..79b030eca1 100644 --- a/files/ru/web/svg/element/use/index.html +++ b/files/ru/web/svg/element/use/index.html @@ -11,7 +11,7 @@ original_slug: Web/SVG/Элемент/use --- <div>{{SVGRef}}</div> -<p>Элемент <strong><code><use></code></strong> берёт элементы из SVG-документа и дублирует их где-то еще.</p> +<p>Элемент <strong><code><use></code></strong> берёт элементы из SVG-документа и дублирует их где-то ещё.</p> <div id="Exemple"> <div class="hidden"> diff --git a/files/ru/web/svg/svg_as_an_image/index.html b/files/ru/web/svg/svg_as_an_image/index.html index 098deb11f0..9936eed0d5 100644 --- a/files/ru/web/svg/svg_as_an_image/index.html +++ b/files/ru/web/svg/svg_as_an_image/index.html @@ -27,7 +27,7 @@ translation_of: Web/SVG/SVG_as_an_Image <p>В целях безопасности, Gecko накладывает некоторые ограничения на контент SVG, когда он используется в качестве изображения:</p> <ul> - <li><a href="/en-US/docs/JavaScript">JavaScript</a> отключен.</li> + <li><a href="/en-US/docs/JavaScript">JavaScript</a> отключён.</li> <li>Внешние ресурсы (например, изображения, таблицы стилей) не могут быть загружены, хотя их можно использовать, если они встроены в данные: URI.</li> <li>{{cssxref(":visited")}}-стили ссылок не отображаются.</li> <li>Стилизация виджитов на платформе (основанная на теме ОС) отключена.</li> diff --git a/files/ru/web/svg/tutorial/basic_transformations/index.html b/files/ru/web/svg/tutorial/basic_transformations/index.html index 634ef93da3..3c118fb63a 100644 --- a/files/ru/web/svg/tutorial/basic_transformations/index.html +++ b/files/ru/web/svg/tutorial/basic_transformations/index.html @@ -52,7 +52,7 @@ original_slug: Web/SVG/Tutorial/Базовые_Преобразования <h2 id="Смещение_углов">Смещение углов</h2> -<p>Чтобы сделать ромб из нашего прямоугольника, доступны преобразования skewX () и skewY (). Каждый из них принимает угол, определяющий, насколько элемент будет искажен.</p> +<p>Чтобы сделать ромб из нашего прямоугольника, доступны преобразования skewX () и skewY (). Каждый из них принимает угол, определяющий, насколько элемент будет искажён.</p> <h2 id="Масштабирование">Масштабирование</h2> diff --git a/files/ru/web/svg/tutorial/clipping_and_masking/index.html b/files/ru/web/svg/tutorial/clipping_and_masking/index.html index c87cfa7287..afc8d8d23c 100644 --- a/files/ru/web/svg/tutorial/clipping_and_masking/index.html +++ b/files/ru/web/svg/tutorial/clipping_and_masking/index.html @@ -35,7 +35,7 @@ translation_of: Web/SVG/Tutorial/Clipping_and_masking <p>{{ EmbedLiveSample('Creating_clips','240','240','/files/3224/clipdemo.png') }}</p> -<p>Теперь мы получили полуокружность без необходимости использования элемента <code>path</code>. При “обрезке” каждый путь внутри <code>clipPath</code> проверяется и оценивается вместе с его свойствами <code>stroke</code> и <code>transform</code>. Другими словами, все что не находится в залитой области <code>clipPath</code> не будет отображено. Цвет, непрозрачность и т. д. не влияют на результат.</p> +<p>Теперь мы получили полуокружность без необходимости использования элемента <code>path</code>. При “обрезке” каждый путь внутри <code>clipPath</code> проверяется и оценивается вместе с его свойствами <code>stroke</code> и <code>transform</code>. Другими словами, всё что не находится в залитой области <code>clipPath</code> не будет отображено. Цвет, непрозрачность и т. д. не влияют на результат.</p> <h3 id="Маска">Маска</h3> diff --git a/files/ru/web/svg/tutorial/fills_and_strokes/index.html b/files/ru/web/svg/tutorial/fills_and_strokes/index.html index e113c00376..e10309f140 100644 --- a/files/ru/web/svg/tutorial/fills_and_strokes/index.html +++ b/files/ru/web/svg/tutorial/fills_and_strokes/index.html @@ -88,7 +88,7 @@ translation_of: Web/SVG/Tutorial/Fills_and_Strokes <p>Замечание: в отличие от путей, эти числа ДОЛЖНЫ быть разделены запятыми (пробелы игнорируются).</p> </div> -<p>Первое число определяет длину штриха, второе - длину между штрихами. В примере выше, второй путь чередует заливку штрихом в 5 пикселей, затем 5 пустых пикселей перед следующим штрихом в 5 пикселей. Вы можете задать больше чисел, если хотите более сложную систему штрихов. В первом примере задано 3 числа и в этом случае рендер берет эти числа дважды, чтобы создать чётный паттерн. Т.о. первый путь отображается 5 закрашенными, 10 пустыми, 5 закрашенными и затем ещё раз 5 пустыми, 10 закрашенными, 5 пустыми "пикселями". Затем паттерн повторяется.</p> +<p>Первое число определяет длину штриха, второе - длину между штрихами. В примере выше, второй путь чередует заливку штрихом в 5 пикселей, затем 5 пустых пикселей перед следующим штрихом в 5 пикселей. Вы можете задать больше чисел, если хотите более сложную систему штрихов. В первом примере задано 3 числа и в этом случае рендер берёт эти числа дважды, чтобы создать чётный паттерн. Т.о. первый путь отображается 5 закрашенными, 10 пустыми, 5 закрашенными и затем ещё раз 5 пустыми, 10 закрашенными, 5 пустыми "пикселями". Затем паттерн повторяется.</p> <p>Также есть дополнительные <strong>stroke </strong>и <strong>fill </strong>свойства: <code><a href="/en-US/docs/Web/SVG/Attribute/fill-rule">fill-rule</a>, которое определяет как будут заливаться сложные фигуры, которые имеют пересечения внутри себя;</code> <code><a href="/en-US/docs/Web/SVG/Attribute/stroke-miterlimit">stroke-miterlimit</a>, </code>which determines if a stroke should draw miters<code> и </code><a href="/en-US/docs/Web/SVG/Attribute/stroke-dashoffset">stroke-dashoffset</a>, который указывает где начинается dash-array в линии (позволяет задать смещение пунктирной обводки относительно первоначального положения)</p> diff --git a/files/ru/web/svg/tutorial/svg_in_html_introduction/index.html b/files/ru/web/svg/tutorial/svg_in_html_introduction/index.html index a897157fb4..aba7b679fd 100644 --- a/files/ru/web/svg/tutorial/svg_in_html_introduction/index.html +++ b/files/ru/web/svg/tutorial/svg_in_html_introduction/index.html @@ -61,7 +61,7 @@ translation_of: Web/SVG/Tutorial/SVG_In_HTML_Introduction <ul> <li>Мы использовали штатную XHTML форму, которая уже может присутствовать на веб-сайте, и добавили привлекательный, интерактивный фон</li> - <li>Подход имеет обратную совместимость с браузерами, которые не поддерживают SVG; Элемент SVG просто не отобразится, не повлияв на текущую верстку.</li> + <li>Подход имеет обратную совместимость с браузерами, которые не поддерживают SVG; Элемент SVG просто не отобразится, не повлияв на текущую вёрстку.</li> <li>Это очень просто сделать.</li> <li>Изображение масштабируемое и может растягиваться до нужного размера</li> <li>Мы можем применять декларированные стили как для HTML так и для SVG</li> diff --git a/files/ru/web/web_components/index.html b/files/ru/web/web_components/index.html index 55d782175d..0a73ef5a4d 100644 --- a/files/ru/web/web_components/index.html +++ b/files/ru/web/web_components/index.html @@ -93,7 +93,7 @@ translation_of: Web/Web_Components <dd>Расширения интерфейса <code>Element</code>, связанные с теневой DOM: <ul> <li>Метод {{domxref("Element.attachShadow()")}} прикрепляет теневое дерево DOM к указанному элементу.</li> - <li>Свойство {{domxref ("Element.shadowRoot")}} возвращает теневой корневой узел, прикреплённый к указанному элементу, или значение <code>null</code>, если корневой узел не прикреплен.</li> + <li>Свойство {{domxref ("Element.shadowRoot")}} возвращает теневой корневой узел, прикреплённый к указанному элементу, или значение <code>null</code>, если корневой узел не прикреплён.</li> </ul> </dd> <dt>Соответствующие дополнения {{domxref("Node")}}</dt> |