diff options
author | Chris Mills <cmills@mozilla.com> | 2021-03-15 20:44:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-15 20:44:30 +0000 |
commit | 571c6f125b0fcf580fb42fd0cdb25c152724d738 (patch) | |
tree | 9019116dd590d1eebe782fde7d695bedae844dd3 /files/ru | |
parent | 1bbb4d9683edd28fc947b17804e5b882184ecfcb (diff) | |
parent | 55ddd4454665a3c66e3d5b186bc79048468d36e7 (diff) | |
download | translated-content-571c6f125b0fcf580fb42fd0cdb25c152724d738.tar.gz translated-content-571c6f125b0fcf580fb42fd0cdb25c152724d738.tar.bz2 translated-content-571c6f125b0fcf580fb42fd0cdb25c152724d738.zip |
Merge pull request #174 from mdn/lex111/ru-typos
Fix typos in Russian translation
Diffstat (limited to 'files/ru')
1425 files changed, 3551 insertions, 3552 deletions
diff --git a/files/ru/conflicting/learn/css/building_blocks/selectors/index.html b/files/ru/conflicting/learn/css/building_blocks/selectors/index.html index f883db7b62..2454954951 100644 --- a/files/ru/conflicting/learn/css/building_blocks/selectors/index.html +++ b/files/ru/conflicting/learn/css/building_blocks/selectors/index.html @@ -6,7 +6,7 @@ translation_of_original: Learn/CSS/CSS_properties original_slug: Learn/CSS/CSS_properties --- <div class="summary"> -<p>{{Glossary("CSS")}} определяет как должна выглядеть вебстраница. Он использует предопределенные правила вместе с селекторами и свойствами для применения стилей к элементам HTML или группам элементов.</p> +<p>{{Glossary("CSS")}} определяет как должна выглядеть веб-страница. Он использует предопределенные правила вместе с селекторами и свойствами для применения стилей к элементам HTML или группам элементов.</p> </div> <table class="learn-box standard-table"> @@ -24,7 +24,7 @@ original_slug: Learn/CSS/CSS_properties <h2 id="Summary">Summary</h2> -<p>Разделение содержимого и стиля делает Веб разработку намного быстрее и проще. Когда вы определяете только стуктуру документа в вашем HTML файле и храните всю информацию о стиле в отдельном файле (называемом stylesheet), вы можете обновлять стили нескольких документов одновременно (а так же экономить ресурсы компьютера).</p> +<p>Разделение содержимого и стиля делает Веб разработку намного быстрее и проще. Когда вы определяете только структуру документа в вашем HTML файле и храните всю информацию о стиле в отдельном файле (называемом stylesheet), вы можете обновлять стили нескольких документов одновременно (а так же экономить ресурсы компьютера).</p> <p>CSS syntax consists of easy-to-use, intuitive keywords.</p> diff --git a/files/ru/conflicting/learn/css/building_blocks/selectors_918fb6c37a4d06789bc062c48d591992/index.html b/files/ru/conflicting/learn/css/building_blocks/selectors_918fb6c37a4d06789bc062c48d591992/index.html index e005d04596..c63d438935 100644 --- a/files/ru/conflicting/learn/css/building_blocks/selectors_918fb6c37a4d06789bc062c48d591992/index.html +++ b/files/ru/conflicting/learn/css/building_blocks/selectors_918fb6c37a4d06789bc062c48d591992/index.html @@ -102,7 +102,7 @@ original_slug: Web/Guide/CSS/Getting_started/Selectors <p><span id="result_box" lang="ru"><span>Псевдокласс класса CSS - это ключевое слово, добавленное в селектор, который задает особое состояние выбранного элемента.</span> <span class="alt-edited">Например {{Cssxref (": hover")}} применит стиль, когда пользователь наводит на элемент, указанный селектором.</span></span></p> -<p><span id="result_box" lang="ru"><span>Псевдо-классы вместе с псевдоэлементами позволяют применять стиль к элементу не только по отношению к содержанию дерева документов, но и по отношению к внешним факторам, таким как история навигатора</span></span> ({{ cssxref(":visited") }}, для примера), <span id="result_box" lang="ru"><span>статус его содержимого</span></span> (наподобии {{ cssxref(":checked") }} <span id="result_box" lang="ru"><span>на некоторых элементах формы) или положение мыши </span></span> (наподобии {{ cssxref(":hover") }} <span id="result_box" lang="ru"><span> который позволяет узнать, находится ли мышь над элементом или нет).</span> <span>Чтобы просмотреть полный список селекторов, посетите</span></span> <a class="external" href="http://www.w3.org/TR/selectors/#selectors" rel="external nofollow" title="CSS3 Selectors working spec">CSS3 Спецификация работы селекторов</a>.</p> +<p><span id="result_box" lang="ru"><span>Псевдо-классы вместе с псевдоэлементами позволяют применять стиль к элементу не только по отношению к содержанию дерева документов, но и по отношению к внешним факторам, таким как история навигатора</span></span> ({{ cssxref(":visited") }}, для примера), <span id="result_box" lang="ru"><span>статус его содержимого</span></span> (наподобие {{ cssxref(":checked") }} <span id="result_box" lang="ru"><span>на некоторых элементах формы) или положение мыши </span></span> (наподобие {{ cssxref(":hover") }} <span id="result_box" lang="ru"><span> который позволяет узнать, находится ли мышь над элементом или нет).</span> <span>Чтобы просмотреть полный список селекторов, посетите</span></span> <a class="external" href="http://www.w3.org/TR/selectors/#selectors" rel="external nofollow" title="CSS3 Selectors working spec">CSS3 Спецификация работы селекторов</a>.</p> <div class="tuto_example"> <div class="tuto_type"><span class="short_text" id="result_box" lang="ru"><span>Синтаксис</span></span></div> @@ -166,7 +166,7 @@ original_slug: Web/Guide/CSS/Getting_started/Selectors </tr> <tr> <td><code>A > E</code></td> - <td>Любой E элемент, что явлется <em>дочерним</em> (т.е. прямой потомок) A элемента.</td> + <td>Любой E элемент, что является <em>дочерним</em> (т.е. прямой потомок) A элемента.</td> </tr> <tr> <td><code>E:first-child</code></td> @@ -186,7 +186,7 @@ original_slug: Web/Guide/CSS/Getting_started/Selectors <div class="tuto_example"> <div class="tuto_type">Пример</div> -<p>Таблица HTML имеет аттрибут <code>id</code> , но строки и ячейки не имеют отдельных идентификаторов:</p> +<p>Таблица HTML имеет атрибут <code>id</code> , но строки и ячейки не имеют отдельных идентификаторов:</p> <pre class="brush: html"><table id="data-table-1"> ... @@ -204,7 +204,7 @@ original_slug: Web/Guide/CSS/Getting_started/Selectors #data-table-1 td:first-child + td {text-decoration: line-through;} </pre> -<p>Резульат выглядит наподобии:</p> +<p>Результат выглядит наподобие:</p> <table style="background-color: white; border: 2px outset #3366bb; padding: 1em;"> <tbody> @@ -241,7 +241,7 @@ original_slug: Web/Guide/CSS/Getting_started/Selectors <ol> <li><span id="result_box" lang="ru"><span>Измените свой HTML-файл и продублируйте абзац, скопировав его и вставив в него</span></span>.</li> - <li>Затем добавьте аттрибуты <strong>id</strong> и <strong>class</strong> в первую копию, а аттрибут <strong>id</strong> во вторую копию, как показано ниже. Кроме того, скопируйте и вставьте весь файл снова: + <li>Затем добавьте атрибуты <strong>id</strong> и <strong>class</strong> в первую копию, а атрибут <strong>id</strong> во вторую копию, как показано ниже. Кроме того, скопируйте и вставьте весь файл снова: <pre class="brush: html"><!doctype html> <html> <head> @@ -398,7 +398,7 @@ div.menu-bar li:hover > ul { display: block; }</pre> -<p><span id="result_box" lang="ru"><span>для применения к структуре HTML, наподобии следующей:</span></span></p> +<p><span id="result_box" lang="ru"><span>для применения к структуре HTML, наподобие следующей:</span></span></p> <pre class="brush: html"><div class="menu-bar"> <ul> diff --git a/files/ru/conflicting/learn/css/building_blocks/styling_tables/index.html b/files/ru/conflicting/learn/css/building_blocks/styling_tables/index.html index 738d092cbe..c441ff992d 100644 --- a/files/ru/conflicting/learn/css/building_blocks/styling_tables/index.html +++ b/files/ru/conflicting/learn/css/building_blocks/styling_tables/index.html @@ -15,7 +15,7 @@ original_slug: Web/Guide/CSS/Getting_started/Таблицы <h2 class="clearLeft" id="Информация_Таблицы">Информация: Таблицы</h2> -<p>Таблица распологает информацию в прямоугольной сетке. Некоторые таблицы могут быть сложными, и для сложных таблиц разные браузеры выдают разный результат.</p> +<p>Таблица располагает информацию в прямоугольной сетке. Некоторые таблицы могут быть сложными, и для сложных таблиц разные браузеры выдают разный результат.</p> <p>Когда вы проектируете ваш документ, используйте таблицы для выражения <a href="/ru/docs/Web/Guide/CSS/Getting_Started/Selectors#relselectors" title="en-US/docs/Web/Guide/CSS/Getting_Started/Selectors#relselectors">отношений</a> между кусочками информации. Поэтому это не важно, если различные браузеры отображают информацию слегка различными способами, потому что значение остается ясным.</p> @@ -27,9 +27,9 @@ original_slug: Web/Guide/CSS/Getting_started/Таблицы <p>Ячейки, лежащие на одной линии, составляют строку (<em>row</em>).</p> -<p>В некоторыех таблицах, строки могут быть сгруппирированы. Специальная группа строк в начале таблицы - заголовок (<em>header)</em>, в конце - нижний колонтитул (<em>footer)</em>. Главные строки таблицы - тело (<em>body)</em>, и они могут быть также сгруппирированы.</p> +<p>В некоторых таблицах, строки могут быть сгруппированы. Специальная группа строк в начале таблицы - заголовок (<em>header)</em>, в конце - нижний колонтитул (<em>footer)</em>. Главные строки таблицы - тело (<em>body)</em>, и они могут быть также сгруппированы.</p> -<p>Ячейки в линии сверху вниз, составляют столбец (<em>column)</em>, но столбцы имеют ограниченное приминение в таблицах CSS.</p> +<p>Ячейки в линии сверху вниз, составляют столбец (<em>column)</em>, но столбцы имеют ограниченное применение в таблицах CSS.</p> <div class="tuto_example"> <div class="tuto_type">Пример</div> @@ -209,7 +209,7 @@ original_slug: Web/Guide/CSS/Getting_started/Таблицы <div class="tuto_details"> <div class="tuto_type">Детали</div> -<p>Для подбробной информации о таблицах, смотрите <a href="http://www.w3.org/TR/CSS21/tables.html">Таблицы</a> в Спецификации CSS.</p> +<p>Для подробной информации о таблицах, смотрите <a href="http://www.w3.org/TR/CSS21/tables.html">Таблицы</a> в Спецификации CSS.</p> <p>Информации там больше, чем в этом руководстве, но она не покрывает различия между браузерами, которые могут влиять на сложные таблицы.</p> </div> diff --git a/files/ru/conflicting/learn/css/first_steps/how_css_is_structured/index.html b/files/ru/conflicting/learn/css/first_steps/how_css_is_structured/index.html index 5f825e836d..f478c6100a 100644 --- a/files/ru/conflicting/learn/css/first_steps/how_css_is_structured/index.html +++ b/files/ru/conflicting/learn/css/first_steps/how_css_is_structured/index.html @@ -76,7 +76,7 @@ font-style: italic; <p>Вы можете использовать комментарии, чтобы сделать фактические комментарии в css, а также чтобы закомментировать временно часть кода с целью тестирования.</p> -<p>Часть стилей, которая будет закомментирована, не будет отображатся браузером. Будьте осторожны при комментировании кода, поскольку важно сохранить правильный синтаксис остального кода.</p> +<p>Часть стилей, которая будет закомментирована, не будет отображаться браузером. Будьте осторожны при комментировании кода, поскольку важно сохранить правильный синтаксис остального кода.</p> <div class="tuto_example"> <div class="tuto_type">Пример</div> diff --git a/files/ru/conflicting/learn/css/first_steps/index.html b/files/ru/conflicting/learn/css/first_steps/index.html index e7f3f73dce..b3333c936c 100644 --- a/files/ru/conflicting/learn/css/first_steps/index.html +++ b/files/ru/conflicting/learn/css/first_steps/index.html @@ -18,7 +18,7 @@ translation_of: Learn/CSS/First_steps translation_of_original: Web/Guide/CSS/Getting_started original_slug: Web/Guide/CSS/Getting_started --- -<p><span class="seoSummary">Это руководство (самоучитель) познакомит вас с базовыми возможностями и языком (синтаксом) <a href="/ru/docs/Web/Guide/CSS" title="/ru/docs/Web/Guide/CSS"><strong>Каскадных таблиц стилей</strong></a> (CSS). CSS используется для изменения внешнего вида структурированного документа, такого как веб-страница. Руководство также включает простые упражнения, которые вы сможете выполнить на своем компьютере и увидеть, как работает CSS, а также его возможности в современных браузерах. </span></p> +<p><span class="seoSummary">Это руководство (самоучитель) познакомит вас с базовыми возможностями и языком (синтаксисом) <a href="/ru/docs/Web/Guide/CSS" title="/ru/docs/Web/Guide/CSS"><strong>Каскадных таблиц стилей</strong></a> (CSS). CSS используется для изменения внешнего вида структурированного документа, такого как веб-страница. Руководство также включает простые упражнения, которые вы сможете выполнить на своем компьютере и увидеть, как работает CSS, а также его возможности в современных браузерах. </span></p> <p>Данное руководство создано для новичков и всех, кто хотел бы освежить свои знания основ CSS. Если у вас уже есть опыт работы с CSS, на главной странице вы можете найти <a href="/ru/docs/Web/Guide/CSS" title="/ru/docs/Web/Guide/CSS">список</a> обучающих ресурсов, подходящих для вашего уровня.</p> diff --git a/files/ru/conflicting/learn/javascript/objects/index.html b/files/ru/conflicting/learn/javascript/objects/index.html index 1fe76e2806..6bc35ed1d2 100644 --- a/files/ru/conflicting/learn/javascript/objects/index.html +++ b/files/ru/conflicting/learn/javascript/objects/index.html @@ -48,7 +48,7 @@ original_slug: Web/JavaScript/Introduction_to_Object-Oriented_JavaScript <h2 id="Прототипное_программирование">Прототипное программирование</h2> -<p>Прототипное программирование — это модель ООП которая не использует классы, а вместо этого сначала выполняет поведение класса и затем использует его повторно (эквивалент наследования в языках на базе классов), декорируя (или расширяя) существующие<em> </em>объекты <em>прототипы</em>. (Также называемое бесклассовое, прототипно-ориентированное, или экземплярно-ориентированное программирование.)</p> +<p>Прототипное программирование — это модель ООП которая не использует классы, а вместо этого сначала выполняет поведение класса и затем использует его повторно (эквивалент наследования в языках на базе классов), декорируя (или расширяя) существующие<em> </em>объекты <em>прототипы</em>. (Также называемое бесклассовое, прототипно-ориентированное, или экземпляра-ориентированное программирование.)</p> <p>Оригинальный (и наиболее каноничный) пример прототипно-ориентированного языка это {{interwiki("wikipedia", "Self (programming language)", "Self")}} разработанный Дэвидом Ангаром и Ренделлом Смитом. Однако бесклассовый стиль программирования стал набирать популярность позднее, и был принят для таких языков программирования, как JavaScript, Cecil, NewtonScript, Io, MOO, REBOL, Kevo, Squeak (при использовании фреймворка Viewer для манипуляции компонентами Morphic) и некоторых других.<a href="#cite-1"><sup>1</sup></a></p> @@ -134,7 +134,7 @@ MYAPP.event.addListener("yourel", "type", callback);</pre> <h4 id="The_Object_.28Class_Instance.29" name="The_Object_.28Class_Instance.29">Объект (экземпляр класса)</h4> -<p>Для создания нового экзмепляра объекта <code>obj</code> мы используем оператор <code>new obj</code>, присваивая результат (который имеет тип <code>obj</code>) в переменную.</p> +<p>Для создания нового экземпляра объекта <code>obj</code> мы используем оператор <code>new obj</code>, присваивая результат (который имеет тип <code>obj</code>) в переменную.</p> <p>В примере выше мы определили класс <code>Person</code>. В примере ниже мы создаём два его экземпляра (<code>person1</code> и <code>person2</code>).</p> @@ -146,7 +146,7 @@ var person2 = new Person(); <h4 id="The_Constructor" name="The_Constructor">Конструктор</h4> -<p>Конструктор вызывается в момент создания экземпляра класса (в тот самый момент, когда создается объект). Конструктор является методом класса. В JavaScript функция служит конструктором объекта, поэтому нет необходимости явно определять метод конструктор. Любое действие определенное в конструкторе будет выполненно в момент создания экземпляра класса.</p> +<p>Конструктор вызывается в момент создания экземпляра класса (в тот самый момент, когда создается объект). Конструктор является методом класса. В JavaScript функция служит конструктором объекта, поэтому нет необходимости явно определять метод конструктор. Любое действие определенное в конструкторе будет выполнено в момент создания экземпляра класса.</p> <p>Конструктор используется для задания свойств объекта или для вызова методов, которые подготовят объект к использованию. Добавление методов и их описаний производится с использованием другого синтаксиса, описанного далее в этой статье.</p> @@ -160,7 +160,7 @@ var person1 = new Person(); var person2 = new Person(); </pre> -<h4 id="The_Property_.28object_attribute.29" name="The_Property_.28object_attribute.29">Свойство (аттрибут объекта)</h4> +<h4 id="The_Property_.28object_attribute.29" name="The_Property_.28object_attribute.29">Свойство (атрибут объекта)</h4> <p>Свойства — это переменные, содержащиеся в классе; каждый экземпляр объекта имеет эти свойства. Свойства устанавливаются в конструкторе (функции) класса, таким образом они создаются для каждого экземпляра.</p> @@ -305,7 +305,7 @@ console.log(student1 instanceof Person); // true console.log(student1 instanceof Student); // true </pre> -<p>Относительно строки <code>Student.prototype = Object.create(Person.prototype);</code>: В старых движках JavaScript, в которых нет <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create" title="Object.create">Object.create</a></code> можно использовать полифилл (ещё известный как "shim") или функцию которая достигает тех же результатов, такую как:</p> +<p>Относительно строки <code>Student.prototype = Object.create(Person.prototype);</code>: В старых движках JavaScript, в которых нет <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create" title="Object.create">Object.create</a></code> можно использовать полифил (ещё известный как "shim") или функцию которая достигает тех же результатов, такую как:</p> <pre class="brush: js">function createObject(proto) { function ctor() { } diff --git a/files/ru/conflicting/mdn/contribute/index.html b/files/ru/conflicting/mdn/contribute/index.html index d5989bfd3c..57442b8ab9 100644 --- a/files/ru/conflicting/mdn/contribute/index.html +++ b/files/ru/conflicting/mdn/contribute/index.html @@ -22,7 +22,7 @@ original_slug: MDN_at_ten/Contributing_to_MDN <p><span class="tlid-translation translation" lang="ru"><span title="">Присоединяйтесь к нам в обучении мира разработке открытой сети!</span></span></p> -<p><a class="learnmore" href="/ru/docs/MDN/Contribute/Getting_started">Быстый старт</a></p> +<p><a class="learnmore" href="/ru/docs/MDN/Contribute/Getting_started">Быстрый старт</a></p> </div> </div> </div> diff --git a/files/ru/conflicting/mozilla/add-ons/index.html b/files/ru/conflicting/mozilla/add-ons/index.html index de1f3416a5..11dde5714b 100644 --- a/files/ru/conflicting/mozilla/add-ons/index.html +++ b/files/ru/conflicting/mozilla/add-ons/index.html @@ -38,7 +38,7 @@ original_slug: Building_an_Extension content\ </pre> <p><span class="comment"><pre> #!/bin/sh h=$HOME/moExt mkdir -p $h/my_extension/chrome/content touch $h/my_extension/chrome.manifest $h/my_extension/install.rdf </pre></span> Более подробную информацию по настройке окружения читайте в статье <a href="/en/Setting_up_extension_development_environment" title="en/Setting_up_extension_development_environment">Setting up extension development environment</a>.</p> -<h2 id="Create_the_Install_Manifest" name="Create_the_Install_Manifest">Создание файла инсталяции</h2> +<h2 id="Create_the_Install_Manifest" name="Create_the_Install_Manifest">Создание файла инсталляции</h2> <p>Откройте файл <code><a href="/en/Install_Manifests" title="en/Install_Manifests">install.rdf</a></code> который Вы создали на предыдущем этапе и вставьте эти строки:</p> <pre class="eval"><?xml version="1.0"?> @@ -74,7 +74,7 @@ original_slug: Building_an_Extension <li>Определение <code><em:type>2</em:type></code> -- объявляет, что устанавливается именно расширение. Если бы Вы устанавливали тему, то это было бы 4 ( <a href="/en/Install_Manifests#type" title="en/Install_Manifests#type">Install Manifests#type</a> for other type codes).</li> <li><strong>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</strong> - Идентификатор приложения Firefox.</li> <li><strong>1.5</strong> - минимальная версия Firefox, с которой будет работать Ваше Расширение. Укажите здесь минимальную версию, для которой будет выполняться все необходимые тесты.</li> - <li><strong>3.0.*</strong> - - максимальня версия Firefox, с которой будет работать Ваше Расширение. Укажите здесь, самую свежую, доступную в данный момент версию. В этом случае, "3.0.*" указывает на то, что расширение работает с Firefox 3.0 и любыми последующими 3.0.x версиями.</li> + <li><strong>3.0.*</strong> - - максимальная версия Firefox, с которой будет работать Ваше Расширение. Укажите здесь, самую свежую, доступную в данный момент версию. В этом случае, "3.0.*" указывает на то, что расширение работает с Firefox 3.0 и любыми последующими 3.0.x версиями.</li> </ul> <p>(В Firefox версии 3.0.1, вы не сможете установить для em:minVersion и em:maxVersion значение "<strong>3.0.*</strong>". Если Вы попытаетесь установить Расширение, то получите ошибку "Not compatible with Firefox 3.0.1". Мне не ясны причины этого, так что я оставлю объяснение тому, кто имеет больше информации по этому поводу. Установка em:minVersion равным "<strong>3</strong>" и em:maxVersion равным "<strong>3.0.*</strong>" решило проблему для меня.)</p> <p>Расширения разработанные для работы только с последними версиями Firefox 2.0.0.x, должны иметь установленным максимальную версию в "2.0.0. *". Расширения, разработанные для работы с только с последними версиями Firefox 1.5.0.x, должны иметь установленным максимальную версию "1.5.0. *".</p> @@ -190,7 +190,7 @@ pref("extensions.sample.showAdvanced", true); //булево <h2 id="XPCOM_Components" name="XPCOM_Components">XPCOM Components</h2> <p>Firefox поддерживает <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> компоненты в расширениях. Вы можете легко создавать свои собственные компоненты на JavaScript или C + + (с использованием <a href="/en/Gecko_SDK" title="en/Gecko_SDK">Gecko SDK</a>).</p> <p>Поместите все ваши. JS или. DLL файлы каталог <code>components/</code> - после установки расширения , они автоматически будут зарегистрированы при первом запуске Firefox.</p> -<p>Для получения дополнительной информации см. <a href="/en/How_to_Build_an_XPCOM_Component_in_Javascript" title="en/How_to_Build_an_XPCOM_Component_in_Javascript">Как создать XPCOM компонент на JavaScript</a>, <a href="/en/How_to_build_a_binary_XPCOM_component_using_Visual_Studio" title="en/How_to_build_a_binary_XPCOM_component_using_Visual_Studio">Как создать XPCOM компонент с использованием Visual Studio</a> и <a href="/en/Creating_XPCOM_Components" title="en/Creating_XPCOM_Components">Cкниги по созданию XPCOM Компонентов</a>.</p> +<p>Для получения дополнительной информации см. <a href="/en/How_to_Build_an_XPCOM_Component_in_Javascript" title="en/How_to_Build_an_XPCOM_Component_in_Javascript">Как создать XPCOM компонент на JavaScript</a>, <a href="/en/How_to_build_a_binary_XPCOM_component_using_Visual_Studio" title="en/How_to_build_a_binary_XPCOM_component_using_Visual_Studio">Как создать XPCOM компонент с использованием Visual Studio</a> и <a href="/en/Creating_XPCOM_Components" title="en/Creating_XPCOM_Components">Книги по созданию XPCOM Компонентов</a>.</p> <h5 id="Application_Command_Line" name="Application_Command_Line">Командная строка приложения</h5> <p>Один из возможных вариантов использования пользовательских XPCOM компонентов добавить в командную строку указатель для Firefox или Thunderbird. Вы можете использовать этот метод для запуска ваших расширений, как приложений:</p> <pre class="eval"> firefox.exe -myapp diff --git a/files/ru/conflicting/tools/performance/index.html b/files/ru/conflicting/tools/performance/index.html index 6bf96a6c91..b28bb78ca3 100644 --- a/files/ru/conflicting/tools/performance/index.html +++ b/files/ru/conflicting/tools/performance/index.html @@ -111,7 +111,7 @@ Sample C: doSomething() > logTheValue()</pre> <p><img alt="" src="https://mdn.mozillademos.org/files/5993/profiler-details-highligted.png" style="display: block; margin-left: auto; margin-right: auto;"></p> -<p>Когда вы впервые открываете новый сэмпл, панель сэмплов содержит единственную строку «(total)», как на скриншоте ниже. Если кликнуть на стрелке следующей за надписью «(total)», вы увидилте список всех функций верхнего уровня которые находятся в сэмпле.</p> +<p>Когда вы впервые открываете новый сэмпл, панель сэмплов содержит единственную строку «(total)», как на скриншоте ниже. Если кликнуть на стрелке следующей за надписью «(total)», вы увидите список всех функций верхнего уровня которые находятся в сэмпле.</p> <p><br> <img alt="" src="https://mdn.mozillademos.org/files/5995/Screen%20Shot%202013-08-26%20at%2011.22.10%20AM.png"></p> diff --git a/files/ru/conflicting/web/api/eventtarget/removeeventlistener/index.html b/files/ru/conflicting/web/api/eventtarget/removeeventlistener/index.html index c83a135fd4..71d4326899 100644 --- a/files/ru/conflicting/web/api/eventtarget/removeeventlistener/index.html +++ b/files/ru/conflicting/web/api/eventtarget/removeeventlistener/index.html @@ -20,7 +20,7 @@ original_slug: Web/API/EventTarget/detachEvent <dl> <dt>target</dt> - <dd>DOM елемент, для которого надо убрать обработчик.</dd> + <dd>DOM элемент, для которого надо убрать обработчик.</dd> <dt>eventNameWithOn</dt> <dd>Название ивента, начинающийся на "on" (так если бы это был колбэк атрибут), чей обработчик должен быть убран. Например, вам следует использовать <code>"onclick" для удаления обработчика для данного "click" ивента.</code></dd> <dt>callback</dt> diff --git a/files/ru/conflicting/web/api/push_api/index.html b/files/ru/conflicting/web/api/push_api/index.html index d4c8ee1d29..7b84af7c0a 100644 --- a/files/ru/conflicting/web/api/push_api/index.html +++ b/files/ru/conflicting/web/api/push_api/index.html @@ -15,17 +15,17 @@ original_slug: Web/API/Push_API/Using_the_Push_API <h2 id="Демо_основы_простого_сервера_чат-приложения">Демо: основы простого сервера чат-приложения</h2> -<p>Демо, котрые мы создали, представляет начальное описание простого чат-приложения. Оно представляет собой форму, в которую вводятся данные, и кнопку для подписки на push-сообщения . Как только кнопка будет нажата, вы подпишитесь на push-сообщения, ваши данные будут записаны на сервере, а отправленное push-сообщение сообщит всем текущим подписчикам, что кто-то подписался.</p> +<p>Демо, которые мы создали, представляет начальное описание простого чат-приложения. Оно представляет собой форму, в которую вводятся данные, и кнопку для подписки на push-сообщения . Как только кнопка будет нажата, вы подпишитесь на push-сообщения, ваши данные будут записаны на сервере, а отправленное push-сообщение сообщит всем текущим подписчикам, что кто-то подписался.</p> <p>На данном этапе, имя нового подписчика появится в списке подписчиков, вместе с текстовым полем и кнопкой рассылки, чтобы позволить подписчику отправить сообщение.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/11823/push-api-demo.png" style="border: 1px solid black; display: block; height: 406px; margin: 0px auto; width: 705px;"></p> -<p>Чтобы запустить демо, следуйте инструкциям на странице <a href="https://github.com/chrisdavidmills/push-api-demo">push-api-demo README</a>. Заметте, что серверная компонента все еще нуждается в небольшой доработке для запуска в Chrome и в общем запусается более разумным путем. Но аспекты Push все еще могут быть полностью понятны; мы углубимся в это после того, как просмотрим технологии в процессе.</p> +<p>Чтобы запустить демо, следуйте инструкциям на странице <a href="https://github.com/chrisdavidmills/push-api-demo">push-api-demo README</a>. Заметьте, что серверная компонента все еще нуждается в небольшой доработке для запуска в Chrome и в общем запускается более разумным путем. Но аспекты Push все еще могут быть полностью понятны; мы углубимся в это после того, как просмотрим технологии в процессе.</p> <h2 id="Обзор_технологии">Обзор технологии</h2> -<p>Эта секция предоставляет описание того, какие технологии учавствуют в примере.</p> +<p>Эта секция предоставляет описание того, какие технологии участвуют в примере.</p> <p>Web Push-сообщения это часть семейства технологий <a href="/en-US/docs/Web/API/Service_Worker_API">сервис воркеров</a>; в первую очередь, для получения push-сообщений сервис воркер должен быть активирован на странице. Сервис воркер получает push-сообщения, и затем вы сами решаете, как уведомить об этом страницу. Вы можете:</p> @@ -37,10 +37,10 @@ original_slug: Web/API/Push_API/Using_the_Push_API <p>Обычно необходима комбинация этих двух решений; демо внизу включает пример обоих.</p> <div class="note"> -<p><strong>Примечание</strong>: Вам необходим некоторый код, запущенный на сервере, для управления конечной точкой/шифроманием данных и отправки запросов push-сообщений. В нашем демо мы собрали на скорую руку сервер, используя <a href="https://nodejs.org/">NodeJS</a>.</p> +<p><strong>Примечание</strong>: Вам необходим некоторый код, запущенный на сервере, для управления конечной точкой/шифрованием данных и отправки запросов push-сообщений. В нашем демо мы собрали на скорую руку сервер, используя <a href="https://nodejs.org/">NodeJS</a>.</p> </div> -<p>Сервис воркер так же должен подписаться на сервис push-сообщений. Каждой сессии предоставляется собственная уникальная конечная точка, когда она подписывается на сервис push-сообщений. Эта конечная точка получается из свойства ({{domxref("PushSubscription.endpoint")}}) объекта подписчика. Она может быть отправлена серверу и использоваться для пересылки сообщений активному сервис воркеру сессии. Каждый браузер имеет свой собсвтенный сервер push-сообщений для управления отправкой push-сообщений.</p> +<p>Сервис воркер так же должен подписаться на сервис push-сообщений. Каждой сессии предоставляется собственная уникальная конечная точка, когда она подписывается на сервис push-сообщений. Эта конечная точка получается из свойства ({{domxref("PushSubscription.endpoint")}}) объекта подписчика. Она может быть отправлена серверу и использоваться для пересылки сообщений активному сервис воркеру сессии. Каждый браузер имеет свой собственный сервер push-сообщений для управления отправкой push-сообщений.</p> <h3 id="Шифрование">Шифрование</h3> @@ -48,10 +48,10 @@ original_slug: Web/API/Push_API/Using_the_Push_API <p><strong>Примечание</strong>: Для интерактивного краткого обзора, попробуйте JR Conlin's <a href="https://jrconlin.github.io/WebPushDataTestPage/">Web Push Data Encryption Test Page</a>.</p> </div> -<p>Для отправки данных с помошью push-сообщений необходимо шифрование. Для этого необходим публичный ключ, созданный с использованием метода {{domxref("PushSubscription.getKey()")}}, который основывается на некотором комплексе механизмов шифрования, которые выполняются на стороне сервера; читайте <a href="https://tools.ietf.org/html/draft-ietf-webpush-encryption-01">Message Encryption for Web Push</a>. Со временем появятся библиотеки для управления генерацией ключей и шифроманием/дешифрованием push-сообщений; для этого демо мы используем Marco Castelluccio's NodeJS <a href="https://github.com/marco-c/web-push">web-push library</a>.</p> +<p>Для отправки данных с помощью push-сообщений необходимо шифрование. Для этого необходим публичный ключ, созданный с использованием метода {{domxref("PushSubscription.getKey()")}}, который основывается на некотором комплексе механизмов шифрования, которые выполняются на стороне сервера; читайте <a href="https://tools.ietf.org/html/draft-ietf-webpush-encryption-01">Message Encryption for Web Push</a>. Со временем появятся библиотеки для управления генерацией ключей и шифрованием/дешифрованием push-сообщений; для этого демо мы используем Marco Castelluccio's NodeJS <a href="https://github.com/marco-c/web-push">web-push library</a>.</p> <div class="note"> -<p><strong>Примечание</strong>: Есть так же другая библиотека для управления шифрованием с помошью Node и Python, смотри <a href="https://github.com/martinthomson/encrypted-content-encoding">encrypted-content-encoding</a>.</p> +<p><strong>Примечание</strong>: Есть так же другая библиотека для управления шифрованием с помощью Node и Python, смотри <a href="https://github.com/martinthomson/encrypted-content-encoding">encrypted-content-encoding</a>.</p> </div> <h3 id="Обобщение_рабочего_процесса_Push">Обобщение рабочего процесса Push</h3> @@ -60,17 +60,17 @@ original_slug: Web/API/Push_API/Using_the_Push_API <ol> <li>Запрос на разрешение web-уведомлений или что-то другое, что вы используете и для чего необходимо разрешение.</li> - <li>Регистрация сервис воркера для контроля над страницей с помошью вызова {{domxref("ServiceWorkerContainer.register()")}}.</li> - <li>Подписка на сервис push-уведомлений с помошью {{domxref("PushManager.subscribe()")}}.</li> - <li>Запрашивание конечной точки, соответствующей подписчику, и генерация публичного ключа клиента ({{domxref("PushSubscription.endpoint")}} и {{domxref("PushSubscription.getKey()")}}. Заметте, что <code>getKey()</code> на данный момент эксперементальная технологий и доступна только в Firefox.)</li> + <li>Регистрация сервис воркера для контроля над страницей с помощью вызова {{domxref("ServiceWorkerContainer.register()")}}.</li> + <li>Подписка на сервис push-уведомлений с помощью {{domxref("PushManager.subscribe()")}}.</li> + <li>Запрашивание конечной точки, соответствующей подписчику, и генерация публичного ключа клиента ({{domxref("PushSubscription.endpoint")}} и {{domxref("PushSubscription.getKey()")}}. Заметьте, что <code>getKey()</code> на данный момент экспериментальная технологий и доступна только в Firefox.)</li> <li>Отправка данных на сервер, чтобы тот мог присылать push-сообщения, когда необходимо. Это демо использует {{domxref("XMLHttpRequest")}}, но вы можете использовать <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a>.</li> - <li>Если вы используете <a href="/en-US/docs/Web/API/Channel_Messaging_API">Channel Messaging API</a> для связи с сервис воркером, установите новый канал связи ({{domxref("MessageChannel.MessageChannel()")}}) и отправте <code>port2</code> сервис воркеру с помошью вызова {{domxref("Worker.postMessage()")}} для того, чтобы открыть канал связи. Вы так же должны настроить слушателя для ответов на сообщения, которые будут отправляться обратно с сервис воркера.</li> + <li>Если вы используете <a href="/en-US/docs/Web/API/Channel_Messaging_API">Channel Messaging API</a> для связи с сервис воркером, установите новый канал связи ({{domxref("MessageChannel.MessageChannel()")}}) и отправьте <code>port2</code> сервис воркеру с помощью вызова {{domxref("Worker.postMessage()")}} для того, чтобы открыть канал связи. Вы так же должны настроить слушателя для ответов на сообщения, которые будут отправляться обратно с сервис воркера.</li> <li>На стороне сервера сохраните конечную точку и все остальные необходимые данные, чтобы они были доступны, когда будет необходимо отправить push-сообщение добавленному подписчику (мы используем простой текстовый файл, но вы можете использовать базу данных или все что угодно на ваш вкус). В приложении на продакшене убедитесь, что скрываете эти данные, так что злоумышленники не смогут украсть конечную точку и разослать спам подписчикам в push-сообщениях.</li> - <li>Для отправки push-сообщений необходимо отослать HTTP <code>POST</code> конечному URL. Запрос должен включать <code>TTL</code> заголовок, который ограничивает время пребывания сообщения в очереди, если пользователь не в сети. Для добавления полезной информации в запросе, необходимо зашифровать ее (что включает публичнй ключ клиента). В нашем примере мы используем <a href="https://github.com/marco-c/web-push">web-push</a> модуль, который управляет всей тяжелой работой.</li> + <li>Для отправки push-сообщений необходимо отослать HTTP <code>POST</code> конечному URL. Запрос должен включать <code>TTL</code> заголовок, который ограничивает время пребывания сообщения в очереди, если пользователь не в сети. Для добавления полезной информации в запросе, необходимо зашифровать ее (что включает публичный ключ клиента). В нашем примере мы используем <a href="https://github.com/marco-c/web-push">web-push</a> модуль, который управляет всей тяжелой работой.</li> <li>Поверх в сервис воркере настройте обработчик событий <code>push</code> для ответов на полученные push-сообщения. <ol> <li>Если вы хотите отвечать отправкой сообщения канала обратно основному контексту (смотри шаг 6), необходимо сначала получить ссылку на <code>port2,</code> который был отправлен контексту сервис воркера ({{domxref("MessagePort")}}). Это доступно в объекте {{domxref("MessageEvent")}}, передаваемого обработчику <code>onmessage </code>({{domxref("ServiceWorkerGlobalScope.onmessage")}}). Конкретнее, он находится в свойстве <code>ports</code>, индекс 0. Когда это сделано, вы можете отправить сообщение обратно <code>port1</code>, используя {{domxref("MessagePort.postMessage()")}}.</li> - <li>Если вы хотитет ответить запуском системного уведомления, вы можете сделать это, вызвав {{domxref("ServiceWorkerRegistration.showNotification()")}}. Заметте, что в нашем коде мы вызываем его внутри метода {{domxref("ExtendableEvent.waitUntil()")}} — это растягивает время жизни события, пока уведомление не будет запущено, так что мы можем убедиться, что все, что мы хотели, чтобы произошло, действительно произошло.<span id="cke_bm_307E" class="hidden"> </span></li> + <li>Если вы хотите ответить запуском системного уведомления, вы можете сделать это, вызвав {{domxref("ServiceWorkerRegistration.showNotification()")}}. Заметьте, что в нашем коде мы вызываем его внутри метода {{domxref("ExtendableEvent.waitUntil()")}} — это растягивает время жизни события, пока уведомление не будет запущено, так что мы можем убедиться, что все, что мы хотели, чтобы произошло, действительно произошло.<span id="cke_bm_307E" class="hidden"> </span></li> </ol> </li> </ol> @@ -81,7 +81,7 @@ original_slug: Web/API/Push_API/Using_the_Push_API <h3 id="HTML_и_CSS">HTML и CSS</h3> -<p>Нет ничего примечательного в HTML и CSS демо; HTML содержит простую форму для ввода данных для фхода в чат, кнопку для подписки на push-уведомления и двух списков, в которых перечислены подписчики и сообщения чата. После подписки появляются дополнительные средства для того, чтобы пользователь мог ввести сообщение в чат.</p> +<p>Нет ничего примечательного в HTML и CSS демо; HTML содержит простую форму для ввода данных для входа в чат, кнопку для подписки на push-уведомления и двух списков, в которых перечислены подписчики и сообщения чата. После подписки появляются дополнительные средства для того, чтобы пользователь мог ввести сообщение в чат.</p> <p>CSS был оставлен очень минимальным, чтобы не отвлекать от объяснения того, как функционируют Push API.</p> diff --git a/files/ru/conflicting/web/api/web_storage_api/index.html b/files/ru/conflicting/web/api/web_storage_api/index.html index b6e37422a6..e5c7cbf845 100644 --- a/files/ru/conflicting/web/api/web_storage_api/index.html +++ b/files/ru/conflicting/web/api/web_storage_api/index.html @@ -7,7 +7,7 @@ original_slug: Web/Guide/API/DOM/Storage --- <h2 id="sect1"> </h2> -<p>DOM хранилище (DOM Storage) - это название для набора инструментов, <a href="http://www.whatwg.org/specs/web-apps/current-work/#storage">относящихся к хранилищам</a>, впервые представленных в спецификации <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/" title="http://www.whatwg.org/specs/web-apps/current-work/">Web Applications 1.0</a>, и выделенных теперь в отдельную специкацию <a class="external" href="http://dev.w3.org/html5/webstorage/" title="http://dev.w3.org/html5/webstorage/">W3C Web Storage</a>. DOM хранилище было разработано с целью предоставления альтернативы хранению информации в кукисах. Предполагается, что DOM хранилище предоставляет больше объема, оно более защищено и легче в использовании. Впервые оно было представлено в браузерах <a href="/en-US/docs/Firefox_2_for_developers" title="Firefox_2_for_developers">Firefox 2</a> и <a class="external" href="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html" title="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html">Safari 4</a>.</p> +<p>DOM хранилище (DOM Storage) - это название для набора инструментов, <a href="http://www.whatwg.org/specs/web-apps/current-work/#storage">относящихся к хранилищам</a>, впервые представленных в спецификации <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/" title="http://www.whatwg.org/specs/web-apps/current-work/">Web Applications 1.0</a>, и выделенных теперь в отдельную спецификацию <a class="external" href="http://dev.w3.org/html5/webstorage/" title="http://dev.w3.org/html5/webstorage/">W3C Web Storage</a>. DOM хранилище было разработано с целью предоставления альтернативы хранению информации в кукисах. Предполагается, что DOM хранилище предоставляет больше объема, оно более защищено и легче в использовании. Впервые оно было представлено в браузерах <a href="/en-US/docs/Firefox_2_for_developers" title="Firefox_2_for_developers">Firefox 2</a> и <a class="external" href="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html" title="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html">Safari 4</a>.</p> <div class="note"><strong>Заметка:</strong> DOM хранилище - это не то же самое, что <a href="/en-US/docs/Storage" title="Storage">mozStorage</a> (Mozilla's XPCOM interfaces to SQLite) или <a href="/en-US/docs/Session_store_API" title="Session_store_API">Session store API</a> (утилита <a href="/en-US/docs/XPCOM" title="XPCOM">XPCOM</a> - хранилище для использования в расширениях).</div> @@ -19,7 +19,7 @@ original_slug: Web/Guide/API/DOM/Storage <p>Механизм DOM хранилища - средство, благодаря которому можно безопасно хранить и позже извлекать пары "ключ / значение". Целью этого является обеспечение комплексного средства, с помощью которого можно разрабатывать интерактивные приложения(включая приложения с продвинутыми возможностями, такими как возможность работать "автономно"("offline") в течение длительных периодов времени).</p> -<p>Браузеры на основе Mozilla, Internet Explorer 8 +, Safari 4 + и Chrome обеспечивают рабочую реализацию спецификации DOM хранилища. (В случае, если нужна кросс-браузерная поддержка функциональности, включая более старые версии IE, будет полезно отметить, что IE также имеет подобную легаси функциональность под названием "<a href="http://msdn.microsoft.com/en-us/library/ms531424(VS.85).aspx">USERDATA поведение</a>", которая дополненяет DOM хранилище IE в IE8.)</p> +<p>Браузеры на основе Mozilla, Internet Explorer 8 +, Safari 4 + и Chrome обеспечивают рабочую реализацию спецификации DOM хранилища. (В случае, если нужна кросс-браузерная поддержка функциональности, включая более старые версии IE, будет полезно отметить, что IE также имеет подобную легаси функциональность под названием "<a href="http://msdn.microsoft.com/en-us/library/ms531424(VS.85).aspx">USERDATA поведение</a>", которая дополнение DOM хранилище IE в IE8.)</p> <p>DOM хранилище удобно, потому что нет других хороших способов хранения разумных объемов данных за любой период времени, встроенных в браузер. <a href="http://en.wikipedia.org/wiki/HTTP_cookie">Кукисы </a>ограничены в количестве хранимой информации и не обеспечивают поддержку для организации постоянных данных, а другие методы (например, <a href="http://www.macromedia.com/support/documentation/en-US/docs/flashplayer/help/help02.html">флэш-локальное хранилище</a>) требуют плагина.</p> diff --git a/files/ru/conflicting/web/api/webrtc_api/index.html b/files/ru/conflicting/web/api/webrtc_api/index.html index 59ab196363..b1e3f5d481 100644 --- a/files/ru/conflicting/web/api/webrtc_api/index.html +++ b/files/ru/conflicting/web/api/webrtc_api/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/WebRTC_API translation_of_original: Web/Guide/API/WebRTC original_slug: Web/Guide/API/WebRTC --- -<p><strong>WebRTC</strong> (где RTC расшифровывается как Real-Time Communications) - это технология, которая позволяет передавать данные и потоковое аудио/видео между браузерами. Как набор стандартов в целом, WebRTC предоставляет любым поддерживающим этот стандарт, браузерам обмениваться данными и устраивать сеансы телеконференций в режиме точка-точка, без необходимости устанавливать какие-либо плагины и стороннее програмное обеспечение.</p> +<p><strong>WebRTC</strong> (где RTC расшифровывается как Real-Time Communications) - это технология, которая позволяет передавать данные и потоковое аудио/видео между браузерами. Как набор стандартов в целом, WebRTC предоставляет любым поддерживающим этот стандарт, браузерам обмениваться данными и устраивать сеансы телеконференций в режиме точка-точка, без необходимости устанавливать какие-либо плагины и стороннее программное обеспечение.</p> <p>Компоненты WebRTC доступны через API JavaScript: Network Stream API, который представляет собой поток аудио и видео данных, PeerConnection API, который позволяет двум и более пользователям общаться браузер-браузер напрямую, DataChannel API, который позволяет обмениваться данными других типов, например в играх в режиме реального времени, текстовые чаты, обмен файлами и так далее.</p> @@ -30,7 +30,7 @@ original_slug: Web/Guide/API/WebRTC <dt><a href="/en-US/docs/Web/API/MediaDevices/getUserMedia">MediaDevices.getUserMedia</a></dt> <dd>API захвата медиа (видео/аудио)</dd> <dt><a href="/en-US/docs/Web/API/RTCPeerConnection"><span style="color: #0095dd;">RTCPeerConnection</span></a></dt> - <dd>Интерфейс обработки потоковых данных между двуми пирами.</dd> + <dd>Интерфейс обработки потоковых данных между двумя пирами.</dd> <dt><a href="/en-US/docs/Web/API/RTCDataChannel">RTCDataChannel</a></dt> <dd>Интерфейс передачи произвольных данных через соединение точка-точка.</dd> </dl> diff --git a/files/ru/conflicting/web/api/window/localstorage/index.html b/files/ru/conflicting/web/api/window/localstorage/index.html index 7e9f60bb88..50b03e48d3 100644 --- a/files/ru/conflicting/web/api/window/localstorage/index.html +++ b/files/ru/conflicting/web/api/window/localstorage/index.html @@ -19,7 +19,7 @@ alert( "username = " + localStorage.getItem("username"));</pre> <h4 id="Совместимость" style="line-height: 18px; font-size: 1.28571428571429rem;">Совместимость</h4> -<p><code>Storage</code> objects недавно добавлен в стандарт. Он может отсутствовать в некоторых браузерах. Вы можете работать с этой технологией добавив в страницу один из двух скриптов, которые представлены ниже. <code>localStorage</code> object реализуется програмно, если нет встроенной реализации.</p> +<p><code>Storage</code> objects недавно добавлен в стандарт. Он может отсутствовать в некоторых браузерах. Вы можете работать с этой технологией добавив в страницу один из двух скриптов, которые представлены ниже. <code>localStorage</code> object реализуется программно, если нет встроенной реализации.</p> <p>Этот алгоритм является точной имитацией <code>localStorage</code> object, но для хранения использует cookies.</p> @@ -96,7 +96,7 @@ alert( "username = " + localStorage.getItem("username"));</pre> } </pre> -<div class="note"><strong>Примечание:</strong> Максимальныйe размер данных, которые могут быть сохранены, ограничен возможностями cookies. Используйте functions <code>localStorage.setItem()</code> и <code>localStorage.removeItem()</code> для добавления, изменения, или удаления ключа. Использование прямого присвоения <code>localStorage.yourKey = yourValue;</code> и <code>delete localStorage.yourKey;</code> для установки и удаления ключа <strong>не безопасно с этим кодом</strong>. Вы также можете изменить это имя (вместо window.localStorage прописать другое имя) и использовать объект для управления document's cookies, не обращая внимания на localStorage object.</div> +<div class="note"><strong>Примечание:</strong> Максимальный размер данных, которые могут быть сохранены, ограничен возможностями cookies. Используйте functions <code>localStorage.setItem()</code> и <code>localStorage.removeItem()</code> для добавления, изменения, или удаления ключа. Использование прямого присвоения <code>localStorage.yourKey = yourValue;</code> и <code>delete localStorage.yourKey;</code> для установки и удаления ключа <strong>не безопасно с этим кодом</strong>. Вы также можете изменить это имя (вместо window.localStorage прописать другое имя) и использовать объект для управления document's cookies, не обращая внимания на localStorage object.</div> <div class="note"><strong>Примечание:</strong> Если изменить строку <code style="background: rgb(204, 204, 204);">"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"</code> на: <code style="background: rgb(204, 204, 204);">"; path=/"</code> (и изменить имя объекта), он превратится в <code>sessionStorage</code> polyfill больше, чем в <code>localStorage</code> polyfill. Однако эта реализация будет хранить общие значения для всех вкладок и окон браузера (and will only be cleared when all browser windows have been closed), в то время как полностью совместимая <span style="font-family: 'Courier New','Andale Mono',monospace; line-height: normal;">sessionStorage</span><span style="line-height: 1.5em;"> реализация хранит значения</span><span style="line-height: 1.5em;"> to the current browsing context only.</span></div> diff --git a/files/ru/conflicting/web/api/xmlhttprequest/index.html b/files/ru/conflicting/web/api/xmlhttprequest/index.html index 0d2e6c16e7..89d75358b5 100644 --- a/files/ru/conflicting/web/api/xmlhttprequest/index.html +++ b/files/ru/conflicting/web/api/xmlhttprequest/index.html @@ -86,7 +86,7 @@ req.onerror = onError; req.send(null); </pre> -<p>Атрибуты события <code>onprogress</code>: <code>position</code> и <code>totalSize</code>, отображают соотвественно текущие количество принятых байтов и количество ожидаемых байтов.</p> +<p>Атрибуты события <code>onprogress</code>: <code>position</code> и <code>totalSize</code>, отображают соответственно текущие количество принятых байтов и количество ожидаемых байтов.</p> <p>Все эти события имеют свои <code>target</code> атрибуты установленные в соответствии с <code>XMLHttpRequest</code>.</p> diff --git a/files/ru/conflicting/web/css/@viewport/index.html b/files/ru/conflicting/web/css/@viewport/index.html index ef8a2a6ebf..b59f0ac39a 100644 --- a/files/ru/conflicting/web/css/@viewport/index.html +++ b/files/ru/conflicting/web/css/@viewport/index.html @@ -33,12 +33,12 @@ user-zoom: fixed; {{csssyntax}} -<h2 id="Specifications" name="Specifications">Спецфикации</h2> +<h2 id="Specifications" name="Specifications">Спецификации</h2> <table class="standard-table"> <thead> <tr> - <th scope="col">Спецфикации</th> + <th scope="col">Спецификации</th> <th scope="col">Статус</th> <th scope="col">Комментарий</th> </tr> diff --git a/files/ru/conflicting/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html b/files/ru/conflicting/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html index e40fb04a90..ace3750eeb 100644 --- a/files/ru/conflicting/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html +++ b/files/ru/conflicting/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html @@ -53,11 +53,11 @@ original_slug: Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes </dd> <dt>Направления</dt> <dd> - <p>Главное начало и конец (<strong>main</strong>) и перекрёстное начало и конец (<strong>cross start</strong>/<strong>end</strong>) — это стороны контейнера, определяющие начало и окончание потока flex-элемментов. Они следуют по главной и перекрестной осями flex-контейнера в векторе, установленном режимом написания ({{Cssxref("writing-mode")}}) (слева направо, справа налево и т. д.).</p> + <p>Главное начало и конец (<strong>main</strong>) и перекрёстное начало и конец (<strong>cross start</strong>/<strong>end</strong>) — это стороны контейнера, определяющие начало и окончание потока flex-элементов. Они следуют по главной и перекрестной осями flex-контейнера в векторе, установленном режимом написания ({{Cssxref("writing-mode")}}) (слева направо, справа налево и т. д.).</p> <ul> <li>Свойство {{Cssxref("order")}} присваивает элементы порядковым группам и определяет, в каком порядке их показывать.</li> - <li>Свойство {{Cssxref("flex-flow")}} — это короткая форма, состоящая из свойств {{Cssxref("flex-direction")}} и {{Cssxref("flex-wrap")}}, определяющих расплолжение элементов.</li> + <li>Свойство {{Cssxref("flex-flow")}} — это короткая форма, состоящая из свойств {{Cssxref("flex-direction")}} и {{Cssxref("flex-wrap")}}, определяющих расположение элементов.</li> </ul> </dd> <dt>Линии</dt> @@ -69,7 +69,7 @@ original_slug: Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes <p>Флекс элементы агностически эквивалентны высоте и ширине <strong>главного размера</strong> и <strong>поперечного размера,</strong> которые равны, соответственно, главной оси (main axis) и поперечной оси (cross axis) флекс-контейнера.</p> <ul> - <li>Свойства <code><a href="/ru/docs/Web/CSS/min-height">min-height</a></code> и <code><a href="/ru/docs/Web/CSS/min-width">min-width</a></code> принимают значение по-умолчанию 0.</li> + <li>Свойства <code><a href="/ru/docs/Web/CSS/min-height">min-height</a></code> и <code><a href="/ru/docs/Web/CSS/min-width">min-width</a></code> принимают значение по умолчанию 0.</li> <li>Свойство <a href="/ru/docs/Web/CSS/flex"><code>flex</code></a> - это сокращённая запись свойств <a href="/ru/docs/Web/CSS/flex-grow"><code>flex-grow</code></a>, <code><a href="/ru/docs/Web/CSS/flex-shrink">flex-shrink</a> и</code> <code><a href="/ru/docs/Web/CSS/flex-basis">flex-basis</a>.</code></li> </ul> </dd> @@ -85,7 +85,7 @@ original_slug: Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes <pre class="brush: css">display: inline-flex</pre> -<p>Таким образом мы определяем элемент как флексбокс, а его дочерниие элементы — как flex-элементы. Значение <code>flex</code> делает контейнер блочным элементом, а <code>inline-flex</code> значение превращает его в инлайн-элемент.</p> +<p>Таким образом мы определяем элемент как флексбокс, а его дочерние элементы — как flex-элементы. Значение <code>flex</code> делает контейнер блочным элементом, а <code>inline-flex</code> значение превращает его в инлайн-элемент.</p> <div class="note"><span class="notranslate"><strong>Внимание</strong></span><strong>:</strong> для <span class="notranslate">указания префикса вендора, добавьте строку в значение атрибута, а не к самому атрибуту</span>. <span class="notranslate">Например</span>, <code>display: -webkit-flex</code>.</div> diff --git a/files/ru/conflicting/web/css/url()/index.html b/files/ru/conflicting/web/css/url()/index.html index abbc8af65a..0f7f929f08 100644 --- a/files/ru/conflicting/web/css/url()/index.html +++ b/files/ru/conflicting/web/css/url()/index.html @@ -12,7 +12,7 @@ original_slug: Web/CSS/filter-function/url --- <div>{{cssref}}</div> -<p><strong><code>url()</code></strong> - это <a href="/en-US/docs/Web/CSS">CSS</a> функция, использующая <a href="/en-US/docs/Web/SVG/Element/filter">SVG filter</a> для измения внешнего вида у выводимого изображения.</p> +<p><strong><code>url()</code></strong> - это <a href="/en-US/docs/Web/CSS">CSS</a> функция, использующая <a href="/en-US/docs/Web/SVG/Element/filter">SVG filter</a> для изменения внешнего вида у выводимого изображения.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/conflicting/web/css/url()_168028c4e5edd9e19c061adb4b604d4f/index.html b/files/ru/conflicting/web/css/url()_168028c4e5edd9e19c061adb4b604d4f/index.html index c3184e46fa..d18bf82cc8 100644 --- a/files/ru/conflicting/web/css/url()_168028c4e5edd9e19c061adb4b604d4f/index.html +++ b/files/ru/conflicting/web/css/url()_168028c4e5edd9e19c061adb4b604d4f/index.html @@ -16,7 +16,7 @@ original_slug: Web/CSS/url <div class="note"> <p><strong>URI или URL?</strong> Существует разница между {{Glossary("URI")}} и {{Glossary("URL")}}. URI просто идентифицирует ресурс. URL является типом URI, и описывает <em>месторасположение</em> ресурса.URI может быть либо URL-адресом, либо именем ресурса ({{Glossary("URN")}}).</p> -<p>В CSS Уровень 1, фунциональная нотация <code>url()</code>описывала только истинные URL-адреса. В CSS Уровень 2, определение <code>url()</code> было расширено для описания любого URI, будь то URL или URN. Неожиданно, что <code>url()</code> может быть использовано для создания типа данных CSS <code><uri></code>. Это изменение было не только неожиданным, но и ненужным, так как URN почти не используется в реальном CSS. Для избежания путанницы, CSS Уровень 3 вернулся к более узкому, первоначальному определению. Сейчас <code>url()</code> означает только истинное значение <code><url></code>.</p> +<p>В CSS Уровень 1, функциональная нотация <code>url()</code>описывала только истинные URL-адреса. В CSS Уровень 2, определение <code>url()</code> было расширено для описания любого URI, будь то URL или URN. Неожиданно, что <code>url()</code> может быть использовано для создания типа данных CSS <code><uri></code>. Это изменение было не только неожиданным, но и ненужным, так как URN почти не используется в реальном CSS. Для избежания путаницы, CSS Уровень 3 вернулся к более узкому, первоначальному определению. Сейчас <code>url()</code> означает только истинное значение <code><url></code>.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/conflicting/web/javascript/guide/index.html b/files/ru/conflicting/web/javascript/guide/index.html index 3e4633d7b3..aa546fe559 100644 --- a/files/ru/conflicting/web/javascript/guide/index.html +++ b/files/ru/conflicting/web/javascript/guide/index.html @@ -24,7 +24,7 @@ var arr = [element0, element1, ..., elementN]; </pre> </div> -<p><code>element0, element1, ..., elementN</code> это список значений во вновь создаваемом массиве. Когда эти значения заданы, массив инициализирует ими свои эелементы. Длина массива определяется по числу аргументов и сохраняется в свойстве <code>length </code>(длина).</p> +<p><code>element0, element1, ..., elementN</code> это список значений во вновь создаваемом массиве. Когда эти значения заданы, массив инициализирует ими свои элементы. Длина массива определяется по числу аргументов и сохраняется в свойстве <code>length </code>(длина).</p> <p>Синтаксис с квадратными скобками называется "литералом массива" (array literal) или "инициализатором массива" (array initializer). Такая запись короче других и используется чаще. Подробности смотрите в <a href="/en-US/docs/JavaScript/Guide/Values,_Variables,_and_Literals#Array_Literals" title="en-US/docs/JavaScript/Guide/Values, Variables, and Literals#Array Literals">Array Literals</a>.</p> @@ -50,7 +50,7 @@ obj.prop = [element0, element1, ..., elementN]; var obj = {prop: [element0, element1, ...., elementN]} </pre> -<p>Если же вы хотите создать одноэлементный массив, содержащий число, придётся использовать запись с квадратными скобками, так как когда конструктору Array() передаётся одно-единственное число, оно трактуется как длина массива, а не как хранимвый элемент.</p> +<p>Если же вы хотите создать одноэлементный массив, содержащий число, придётся использовать запись с квадратными скобками, так как когда конструктору Array() передаётся одно-единственное число, оно трактуется как длина массива, а не как хранимый элемент.</p> <pre><code>var arr = [42]; var arr = Array(42); // Creates an array with no element, but with arr.length set to 42 diff --git a/files/ru/conflicting/web/javascript/guide/introduction/index.html b/files/ru/conflicting/web/javascript/guide/introduction/index.html index c8132f92df..dff9da7122 100644 --- a/files/ru/conflicting/web/javascript/guide/introduction/index.html +++ b/files/ru/conflicting/web/javascript/guide/introduction/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Guide/Introduction translation_of_original: Web/JavaScript/Guide/About original_slug: Web/JavaScript/Guide/About --- -<p>JavaScript это кросс-платформенный, объектно-ориентированный интерпретируемый язык программирования. В этом учебнике описано все, что вам нужно знать для того, чтобы начать ипользовать JavaScript.</p> +<p>JavaScript это кросс-платформенный, объектно-ориентированный интерпретируемый язык программирования. В этом учебнике описано все, что вам нужно знать для того, чтобы начать использовать JavaScript.</p> <h2 id="Особенности_разных_версий_JavaScript">Особенности разных версий JavaScript</h2> @@ -143,18 +143,18 @@ original_slug: Web/JavaScript/Guide/About <h2 id="Принятые_соглашения_в_документе">Принятые соглашения в документе</h2> -<p>JavaScript приложения выполняются на разных операционных системах; информация в этом учебнике актуальна в любом случае. Пути к директориям или файлам даны в формате Windows (обратный слеш как разделитель). Для версии Юникс, пути точно такие же, за исключением того, что используеся обычный слеш вместо обратного, а также соотвественно корневая директория начинается с '/' а не 'c:/' как это в Windows.</p> +<p>JavaScript приложения выполняются на разных операционных системах; информация в этом учебнике актуальна в любом случае. Пути к директориям или файлам даны в формате Windows (обратный слеш как разделитель). Для версии Юникс, пути точно такие же, за исключением того, что используется обычный слеш вместо обратного, а также соответственно корневая директория начинается с '/' а не 'c:/' как это в Windows.</p> <p>Этот учебник использует единый локатор ресурсов (URL-ы) следующей формы:</p> <p><code>http://<em>server</em>.<em>domain</em>/<em>path</em>/<em>file</em>.html</code></p> -<p>В этих URL-ах, <em>server</em> - это имя сервера на котором запущено ваше приложение, например <code>research1</code> или <code>www</code>; <em>domain</em> - это имя Internet домена, например <code>netscape.com</code> или <code>uiuc.edu</code>; <em>path</em> - структура директорий на сервере; и <em>file</em><code>.html</code> - имя файла, который расположен на вашем сервере. В общем, элементы выделенные курсивом в URL-ах это метки-заполнители, а элементы выделенные нормальным моноширинным шрифтом точные неизменные значения (например, конфиругацию сервера вы можете изменить, как и сменить доменное имя, структура каталогов может поменяться, а вот протокол всегда один, и расширение файла для вебстраниц тоже постоянно). Если ваш вебсервер поддерживает Secure Sockets Layer (SSL), то вы можете пользоваться <code>https</code> вместо <code>http</code> в URL.</p> +<p>В этих URL-ах, <em>server</em> - это имя сервера на котором запущено ваше приложение, например <code>research1</code> или <code>www</code>; <em>domain</em> - это имя Internet домена, например <code>netscape.com</code> или <code>uiuc.edu</code>; <em>path</em> - структура директорий на сервере; и <em>file</em><code>.html</code> - имя файла, который расположен на вашем сервере. В общем, элементы выделенные курсивом в URL-ах это метки-заполнители, а элементы выделенные нормальным моноширинным шрифтом точные неизменные значения (например, конфигурацию сервера вы можете изменить, как и сменить доменное имя, структура каталогов может поменяться, а вот протокол всегда один, и расширение файла для веб-страниц тоже постоянно). Если ваш веб-сервер поддерживает Secure Sockets Layer (SSL), то вы можете пользоваться <code>https</code> вместо <code>http</code> в URL.</p> <p>Этот учебник пользуется следующим соглашением об использовании шрифтов:</p> <ul> <li><code>Моноширинный шрифт </code>используется для примеров кода и их вывода, API и элементов языка (например, имена методов или имена свойств), имена файлов, имена директорий, путей, тегов HTML, и любого другого текста, который должен быть выведен на экран. (<code><em>Моноширинный курсивный шрифт</em></code> использован для меток-заменителей встроенных в код.)</li> - <li><em>Курсивное начертание </em>использовано для оглавлений, особого выделения, переменных и меток-заменителей, и слов использованых в буквальном смысле.</li> + <li><em>Курсивное начертание </em>использовано для оглавлений, особого выделения, переменных и меток-заменителей, и слов использованных в буквальном смысле.</li> <li><strong>Жирное начертание </strong>использовано для терминов из глоссария.</li> </ul> diff --git a/files/ru/conflicting/web/javascript/guide/introduction_6f341ba6db4b060ccbd8dce4a0d5214b/index.html b/files/ru/conflicting/web/javascript/guide/introduction_6f341ba6db4b060ccbd8dce4a0d5214b/index.html index 2cea75700e..84bb8a3110 100644 --- a/files/ru/conflicting/web/javascript/guide/introduction_6f341ba6db4b060ccbd8dce4a0d5214b/index.html +++ b/files/ru/conflicting/web/javascript/guide/introduction_6f341ba6db4b060ccbd8dce4a0d5214b/index.html @@ -24,13 +24,13 @@ original_slug: Web/JavaScript/Guide/JavaScript_Overview <h3 id="JavaScript_and_Java" name="JavaScript_and_Java">JavaScript и Java</h3> -<p>JavaScript и Java схожи в некоторых отношениях, но принципиально отличаются в других. Язык JavaScript напоминает Java, но не имеет статической типизации и строгой проверки типов. В основном, JavaScript следует большей части синтакса Java в выражениях, именованиях и основного потока управления конструкциями, что стало причиной, почему он был переименован из LiveScript в JavaScript.</p> +<p>JavaScript и Java схожи в некоторых отношениях, но принципиально отличаются в других. Язык JavaScript напоминает Java, но не имеет статической типизации и строгой проверки типов. В основном, JavaScript следует большей части синтаксиса Java в выражениях, именованиях и основного потока управления конструкциями, что стало причиной, почему он был переименован из LiveScript в JavaScript.</p> <p>В отличии от системы компилированных классов в Java, построенной на объявлениях, JavaScript поддерживает систему исполнения, основанную на небольшом количестве типов данных, представляющих числовые, логические и строковые значения. JavaScript обладает моделью объектов на базе прототипов вместо более общей модели объектов на базе классов. Модель объектов на базе прототипов делает возможным динамическое наследование; то есть, то, что унаследовано, может различаться для отдельных объектов. JavaScript также поддерживает функции без каких-либо специальных декларативных требований. Функции могут быть свойствами объектов, выполняться как слабо типизированные методы.</p> <p>По сравнению с Java, JavaScript - это язык с очень свободной формой языка. Вам не надо объявлять переменные, классы или методы. Вы не должны беспокоиться, является ли метод public, private или protected, Вам не надо реализовывать интерфейсы. Переменные, параметры и возвращаемые функциями типы не являются явно типизированными.</p> -<p>Java - язык программирования на основе классов, предназначенный для быстрого выполнения и безопасности типов. Безопасность типов означает, например, что Вы не можете взять тип Java integer и привести его к типу object reference или получить доступ к закрытой памяти изменяя байт-код Java. Ориентированная на классы модель Java означает, что программы состоят исключительно из классов и их методов. Наследование классов и строгая типизация в Java обычно тербуют тесно связанную иерархию объектов. Эти требования делают программирование на Java более сложным чем на JavaScript.</p> +<p>Java - язык программирования на основе классов, предназначенный для быстрого выполнения и безопасности типов. Безопасность типов означает, например, что Вы не можете взять тип Java integer и привести его к типу object reference или получить доступ к закрытой памяти изменяя байт-код Java. Ориентированная на классы модель Java означает, что программы состоят исключительно из классов и их методов. Наследование классов и строгая типизация в Java обычно требуют тесно связанную иерархию объектов. Эти требования делают программирование на Java более сложным чем на JavaScript.</p> <p>По духу JavaScript происходит от нескольких небольших, динамически типизированных языков программирования, таких как HyperTalk и dBASE. Эти скриптовые языки предлагают инструменты программирования для гораздо более широкой аудитории благодаря более простому синтаксису, специальной встроенной функциональности и минимальным требованиям для создания объектов.</p> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/boolean/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/boolean/index.html index 83fb169e1e..3ce22c081f 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/boolean/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/boolean/index.html @@ -18,7 +18,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Boolean/prototype <div>{{js_property_attributes(0, 0, 0)}}</div> <h2 id="Description" name="Description">Описание</h2> -<p>Экземпляры объекта {{jsxref("Global_Objects/Boolean", "Boolean")}} наследуются от <code>Boolean.prototype</code>. Вы можете использовать протитип конструктора объекта для добавления свойств или методов ко всем экземплярам объекта {{jsxref("Global_Objects/Boolean", "Boolean")}}.</p> +<p>Экземпляры объекта {{jsxref("Global_Objects/Boolean", "Boolean")}} наследуются от <code>Boolean.prototype</code>. Вы можете использовать прототип конструктора объекта для добавления свойств или методов ко всем экземплярам объекта {{jsxref("Global_Objects/Boolean", "Boolean")}}.</p> <h2 id="Properties" name="Properties">Свойства</h2> <dl> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/map/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/map/index.html index 2cdca5b3b0..709d9ce927 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/map/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/map/index.html @@ -42,7 +42,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Map/prototype <dt>{{jsxref("Map.prototype.keys()")}}</dt> <dd>Возвращает новый объект итератора - new <code>Iterator</code>, который содержит <strong>keys</strong> для каждого элемента в объекте <code>Map</code> в порядке добавления.</dd> <dt>{{jsxref("Map.set", "Map.prototype.set(key, value)")}}</dt> - <dd>Устанавлиевает value для <code>key</code> в объекте <code>Map</code>. Возвращает объект <code>Map</code>.</dd> + <dd>Устанавливает value для <code>key</code> в объекте <code>Map</code>. Возвращает объект <code>Map</code>.</dd> <dt>{{jsxref("Map.prototype.values()")}}</dt> <dd>Возвращает новый объект итератора - new <code>Iterator</code>, который содержит <strong>values</strong> для каждого элемента в объекте <code>Map</code> в порядке добавления.</dd> <dt>{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}</dt> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/number/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/number/index.html index 251386b750..6ec29a1dc9 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/number/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/number/index.html @@ -36,7 +36,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Number/prototype <dt>{{jsxref("Number.prototype.toFixed()")}}</dt> <dd>Возвращает строку, представляющую число в записи с фиксированной запятой.</dd> <dt>{{jsxref("Number.prototype.toLocaleString()")}}</dt> - <dd>Возвращает строку с языко-зависимым представлением числа. Переопределяет метод {{jsxref("Object.prototype.toLocaleString()")}}.</dd> + <dd>Возвращает строку с языкозависимым представлением числа. Переопределяет метод {{jsxref("Object.prototype.toLocaleString()")}}.</dd> <dt>{{jsxref("Number.prototype.toPrecision()")}}</dt> <dd>Возвращает строку, представляющую число с указанной точностью в экспоненциальной записи, либо записи с фиксированной запятой.</dd> <dt>{{jsxref("Number.prototype.toSource()")}} {{non-standard_inline}}</dt> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/promise/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/promise/index.html index 517ac975fc..4a46aae209 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/promise/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/promise/index.html @@ -11,13 +11,13 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Promise/prototype --- <div>{{JSRef}}</div> -<p>Cвойство <code><strong>Promise</strong></code><strong><code>.prototype</code></strong> представляет собой прототип конструктора {{jsxref("Promise")}}.</p> +<p>Свойство <code><strong>Promise</strong></code><strong><code>.prototype</code></strong> представляет собой прототип конструктора {{jsxref("Promise")}}.</p> <div>{{js_property_attributes(0,0,0)}}</div> <h2 id="Описание">Описание</h2> -<p>{{jsxref("Promise")}} обьект наследованный от {{jsxref("Promise.prototype")}}. Вы можете использовать прототип конструктора чтобы добавлять свойства или методы во все объекты обещаний.</p> +<p>{{jsxref("Promise")}} объект наследованный от {{jsxref("Promise.prototype")}}. Вы можете использовать прототип конструктора чтобы добавлять свойства или методы во все объекты обещаний.</p> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/regexp/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/regexp/index.html index 8162ff726f..ffb9a22a3b 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/regexp/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/regexp/index.html @@ -15,16 +15,16 @@ original_slug: Web/JavaScript/Reference/Global_Objects/RegExp/prototype <div>{{JSRef("Global_Objects", "RegExp")}}</div> <h2 id="Summary" name="Summary">Сводка</h2> -<p>Свойство <strong><code>RegExp.prototype</code></strong> представляет объект прототипа для констуктора {{jsxref("Global_Objects/RegExp", "RegExp")}}.</p> +<p>Свойство <strong><code>RegExp.prototype</code></strong> представляет объект прототипа для конструктора {{jsxref("Global_Objects/RegExp", "RegExp")}}.</p> <div>{{js_property_attributes(0, 0, 0)}}</div> <h2 id="Description" name="Description">Описание</h2> -<p>Описание экземпляров регулярных выражений смотрите на странице документации, посвящёной объекту {{jsxref("Global_Objects/RegExp", "RegExp")}}. Экземпляры регулярных выражений наследуются от <code>RegExp.prototype</code>. Изменение объекта прототипа распространяется на все экземпляры регулярных выражений.</p> +<p>Описание экземпляров регулярных выражений смотрите на странице документации, посвященной объекту {{jsxref("Global_Objects/RegExp", "RegExp")}}. Экземпляры регулярных выражений наследуются от <code>RegExp.prototype</code>. Изменение объекта прототипа распространяется на все экземпляры регулярных выражений.</p> <h2 id="Properties" name="Properties">Свойства</h2> <p>Также смотрите <a href="/ru/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features#RegExp_Properties">устаревшие свойства объекта <code>RegExp</code></a></p> -<p>Обратите внимание, что некоторые свойста объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} имеют как длинные, так и короткие (Perl-подобные) имена. Оба имени всегда ссылаются на одно и тоже значение. Perl — это язык программирования, откуда JavaScript взял свои регулярные выражения.</p> +<p>Обратите внимание, что некоторые свойства объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} имеют как длинные, так и короткие (Perl-подобные) имена. Оба имени всегда ссылаются на одно и тоже значение. Perl — это язык программирования, откуда JavaScript взял свои регулярные выражения.</p> <dl> <dt><code>RegExp.prototype.constructor</code></dt> <dd>Определяет функцию, создающую прототип объекта.</dd> @@ -53,9 +53,9 @@ original_slug: Web/JavaScript/Reference/Global_Objects/RegExp/prototype <dt>{{jsxref("RegExp.prototype.test()")}}</dt> <dd>Пытается сопоставить регулярное выражение своему строковому параметру.</dd> <dt>{{jsxref("RegExp.prototype.toSource()")}} {{non-standard_inline}}</dt> - <dd>Возвращает объектный литерал, представляющий указаный объект; вы можете использовать это значение для создания нового объекта. Переопределяет метод {{jsxref("Object.prototype.toSource()")}}.</dd> + <dd>Возвращает объектный литерал, представляющий указанный объект; вы можете использовать это значение для создания нового объекта. Переопределяет метод {{jsxref("Object.prototype.toSource()")}}.</dd> <dt>{{jsxref("RegExp.prototype.toString()")}}</dt> - <dd>Возвращает строку, представляющую указаннный объект. Переопределяет метод {{jsxref("Object.prototype.toString()")}}.</dd> + <dd>Возвращает строку, представляющую указанный объект. Переопределяет метод {{jsxref("Object.prototype.toString()")}}.</dd> </dl> <div>{{jsOverrides("Object", "Methods", "exec", "test", "toSource", "toString")}}</div> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/string/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/string/index.html index 8a2b8f4d63..b346bedec9 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/string/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/string/index.html @@ -80,7 +80,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/String/prototype <dt>{{jsxref("String.prototype.slice()")}}</dt> <dd>Извлекает часть строки и возвращает новую строку.</dd> <dt>{{jsxref("String.prototype.split()")}}</dt> - <dd>Разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк, разделёных указанной строкой на подстроки.</dd> + <dd>Разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк, разделенных указанной строкой на подстроки.</dd> <dt>{{jsxref("String.prototype.startsWith()")}} {{experimental_inline}}</dt> <dd>Определяет, начинается ли строка символами другой строки.</dd> <dt>{{jsxref("String.prototype.substr()")}}</dt> @@ -94,9 +94,9 @@ original_slug: Web/JavaScript/Reference/Global_Objects/String/prototype <dt>{{jsxref("String.prototype.toLowerCase()")}}</dt> <dd>Возвращает строковое значение с символами в нижнем регистре.</dd> <dt>{{jsxref("String.prototype.toSource()")}} {{non-standard_inline}}</dt> - <dd>Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значениедля создания нового объекта. Переопределяет метод {{jsxref("Object.prototype.toSource()")}}.</dd> + <dd>Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значение для создания нового объекта. Переопределяет метод {{jsxref("Object.prototype.toSource()")}}.</dd> <dt>{{jsxref("String.prototype.toString()")}}</dt> - <dd>Возвращает строковое представление указаного объекта. Переопределяет метод {{jsxref("Object.prototype.toString()")}}.</dd> + <dd>Возвращает строковое представление указанного объекта. Переопределяет метод {{jsxref("Object.prototype.toString()")}}.</dd> <dt>{{jsxref("String.prototype.toUpperCase()")}}</dt> <dd>Возвращает строковое значение с символами в верхнем регистре.</dd> <dt>{{jsxref("String.prototype.trim()")}}</dt> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/typedarray/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/typedarray/index.html index 76b18ce93b..a7610dc712 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/typedarray/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/typedarray/index.html @@ -45,7 +45,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/TypedArray/prototype <dt>{{jsxref("TypedArray.prototype.every()")}}</dt> <dd>Проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции. Подробнее {{jsxref("Array.prototype.every()")}}.</dd> <dt>{{jsxref("TypedArray.prototype.fill()")}}</dt> - <dd>Заполняет все элементы массива от начального индекта до конечного индекса указанным значением. Подробнее {{jsxref("Array.prototype.fill()")}}.</dd> + <dd>Заполняет все элементы массива от начального индекса до конечного индекса указанным значением. Подробнее {{jsxref("Array.prototype.fill()")}}.</dd> <dt>{{jsxref("TypedArray.prototype.filter()")}}</dt> <dd>Создаёт новый массив с теми элементами текущего массива, с которыми фильтрующая функция вернёт <code>true</code>. Подробнее {{jsxref("Array.prototype.filter()")}}.</dd> <dt>{{jsxref("TypedArray.prototype.find()")}}</dt> diff --git a/files/ru/conflicting/web/javascript/reference/global_objects/weakmap/index.html b/files/ru/conflicting/web/javascript/reference/global_objects/weakmap/index.html index aa72a7f092..f948e738c4 100644 --- a/files/ru/conflicting/web/javascript/reference/global_objects/weakmap/index.html +++ b/files/ru/conflicting/web/javascript/reference/global_objects/weakmap/index.html @@ -7,13 +7,13 @@ original_slug: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype --- <div>{{JSRef}}</div> -<p><code><strong>WeakMap</strong></code><strong><code>.prototype</code></strong> свойство указыкает на прототип {{jsxref("WeakMap")}} конструктора.</p> +<p><code><strong>WeakMap</strong></code><strong><code>.prototype</code></strong> свойство указывает на прототип {{jsxref("WeakMap")}} конструктора.</p> <div>{{js_property_attributes(0,0,0)}}</div> <h2 id="Описание">Описание</h2> -<p>{{jsxref("WeakMap")}} экзепляры унаследывают {{jsxref("WeakMap.prototype")}}. Вы можите использовать прототип конструктора объекта для добавления нових свойств и/или методов всем экзепляра класса <code>WeakMap</code>.</p> +<p>{{jsxref("WeakMap")}} экземпляры наследуют {{jsxref("WeakMap.prototype")}}. Вы можете использовать прототип конструктора объекта для добавления новых свойств и/или методов всем экземпляра класса <code>WeakMap</code>.</p> <p><code>WeakMap.prototype</code> является простым объектом:</p> @@ -38,7 +38,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype <dt>{{jsxref("WeakMap.set", "WeakMap.prototype.set(key, value)")}}</dt> <dd>Устанавливает значение по ключу, после возвращает самого себя.</dd> <dt><s class="obsoleteElement">{{jsxref("WeakMap.prototype.clear()")}} {{obsolete_inline}}</s></dt> - <dd><s class="obsoleteElement">Удаляет все ключи-значения из <code>WeakMap</code> объекта. Заметьте, что это возможно, только есть <code>WeakMap</code>-like объект имеет<code>.clear()</code> метод путем инкапсулирования <code>WeakMap</code> объекта, раннее неимевшего его (смотри пример на странице {{jsxref("WeakMap")}})</s></dd> + <dd><s class="obsoleteElement">Удаляет все ключи-значения из <code>WeakMap</code> объекта. Заметьте, что это возможно, только есть <code>WeakMap</code>-like объект имеет<code>.clear()</code> метод путем инкапсулирования <code>WeakMap</code> объекта, раннее не имевшего его (смотри пример на странице {{jsxref("WeakMap")}})</s></dd> </dl> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/conflicting/web/javascript/reference/operators/index.html b/files/ru/conflicting/web/javascript/reference/operators/index.html index 85a37e17a8..1a2799b922 100644 --- a/files/ru/conflicting/web/javascript/reference/operators/index.html +++ b/files/ru/conflicting/web/javascript/reference/operators/index.html @@ -127,7 +127,7 @@ Infinity * Infinity // Infinity <h3 id="Замечания">Замечания</h3> -<p>Во многих языках, таких как PHP и Python и других, есть оператор возведения возведения в степень (обычно ^ или **), оператор определён имеющим приоритет выше, чем у унарных операторов, таких как унарный + и унарный -, но есть несколько исключений. Например, в Bash оператор ** создан имеющим приоритет ниже, чем у унарных операторов. В JavaScript невозможно написать двухсмысленное выражение, т.е. вы не можете ставить унарный оператор (<code>+/-/~/!/delete/void/typeof</code>) непосредственно перед базовым числом.</p> +<p>Во многих языках, таких как PHP и Python и других, есть оператор возведения возведения в степень (обычно ^ или **), оператор определён имеющим приоритет выше, чем у унарных операторов, таких как унарный + и унарный -, но есть несколько исключений. Например, в Bash оператор ** создан имеющим приоритет ниже, чем у унарных операторов. В JavaScript невозможно написать двусмысленное выражение, т.е. вы не можете ставить унарный оператор (<code>+/-/~/!/delete/void/typeof</code>) непосредственно перед базовым числом.</p> <pre class="brush: js">-2 ** 2; // 4 в Bash, -4 в других языках. @@ -153,7 +153,7 @@ NaN ** 2 // NaN <pre class="brush: js">-(2 ** 2) // -4</pre> -<p>Насильная установка основания как отрицательного числа:</p> +<p>Несильная установка основания как отрицательного числа:</p> <pre class="brush: js">(-2) ** 2 // 4</pre> @@ -226,7 +226,7 @@ y = -x; // y = -3, x = 3 <h2 id="Унарный_плюс"><a name="Unary_plus">Унарный плюс</a> (+)</h2> -<p>Оператор унарный плюс предшедствует своему операнду и оценивает его, пытается преобразовать его в число, если он им не является. Хотя, унарное отрицание (-) также конвертирует не числа, унарный плюс - быстрейший и предпочитаемый способ конвертирования чего-либо в число потому, что он не выполняет каких-либо операций с числом. Он может конвертировать строковые представления целых и чисел с плавающей точкой, а также нестроковые значения <code>true</code>, <code>false</code> и <code>null</code>. Поддерживаются числа в десятичном и шестнадцатиричном (с префиксом "0x") формате. Отрицательные числа тоже поддерживаются (но не 16-ричные). Если он не может вычислить конкретное значение, выполнится как <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>.</p> +<p>Оператор унарный плюс предшествует своему операнду и оценивает его, пытается преобразовать его в число, если он им не является. Хотя, унарное отрицание (-) также конвертирует не числа, унарный плюс - быстрейший и предпочитаемый способ конвертирования чего-либо в число потому, что он не выполняет каких-либо операций с числом. Он может конвертировать строковые представления целых и чисел с плавающей точкой, а также нестроковые значения <code>true</code>, <code>false</code> и <code>null</code>. Поддерживаются числа в десятичном и шестнадцатеричном (с префиксом "0x") формате. Отрицательные числа тоже поддерживаются (но не 16-ричные). Если он не может вычислить конкретное значение, выполнится как <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>.</p> <h3 id="Syntax_9" name="Syntax_9">Синтаксис</h3> @@ -259,12 +259,12 @@ y = -x; // y = -3, x = 3 <tr> <td>{{SpecName('ES5.1', '#sec-11.3')}}</td> <td>{{Spec2('ES5.1')}}</td> - <td>Определено в нескольких секциях специфии: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.6">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.5">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.3">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.4">Unary operators</a>.</td> + <td>Определено в нескольких секциях спецификации: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.6">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.5">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.3">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.4">Unary operators</a>.</td> </tr> <tr> <td>{{SpecName('ES6', '#sec-postfix-expressions')}}</td> <td>{{Spec2('ES6')}}</td> - <td>Определено в нескольких секциях специфии: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-additive-operators">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-multiplicative-operators">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-postfix-expressions">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-unary-operators">Unary operators</a>.</td> + <td>Определено в нескольких секциях спецификации: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-additive-operators">Additive operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-multiplicative-operators">Multiplicative operators</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-postfix-expressions">Postfix expressions</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-unary-operators">Unary operators</a>.</td> </tr> <tr> <td>{{SpecName('ES7', '#sec-postfix-expressions')}}</td> diff --git a/files/ru/conflicting/web/javascript/reference/operators_7c8eb9475d97a4a734c5991857698560/index.html b/files/ru/conflicting/web/javascript/reference/operators_7c8eb9475d97a4a734c5991857698560/index.html index 11aea9ec89..d95f6175d1 100644 --- a/files/ru/conflicting/web/javascript/reference/operators_7c8eb9475d97a4a734c5991857698560/index.html +++ b/files/ru/conflicting/web/javascript/reference/operators_7c8eb9475d97a4a734c5991857698560/index.html @@ -13,7 +13,7 @@ original_slug: Web/JavaScript/Reference/Operators/Bitwise_Operators <h2 id="Summary" name="Summary">Сводка</h2> -<p>Битовые операции обращаются со своими операндами как с 32-х разрядными последовательностями нулей и единиц, а не как с десятичными, восьмеричными или шестнадцатиричными числами. К примеру десятичное число 9 в двоичном представлении будет выглядеть как 1001. Битовые операции производят свои преобразования именно с двоичным представлением числа, но возвращают стандартные числовые значения языка JavaScript.</p> +<p>Битовые операции обращаются со своими операндами как с 32-х разрядными последовательностями нулей и единиц, а не как с десятичными, восьмеричными или шестнадцатеричными числами. К примеру десятичное число 9 в двоичном представлении будет выглядеть как 1001. Битовые операции производят свои преобразования именно с двоичным представлением числа, но возвращают стандартные числовые значения языка JavaScript.</p> <table class="fullwidth-table"> <tbody> @@ -99,7 +99,7 @@ original_slug: Web/JavaScript/Reference/Operators/Bitwise_Operators <p>Дополнение до 2-х гарантирует нам, что у положительного числа самый левый бит равен 0, в то время как у отрицательного он равен 1. Он зовется <em>знаковым битом</em>.</p> <p><br> - Число 0 есть число, у которого во ввсех битовых позициях записаны нули.</p> + Число 0 есть число, у которого во всех битовых позициях записаны нули.</p> <pre class="line-numbers language-html"><code class="language-html">0 (base 10) = 00000000000000000000000000000000 </code></pre> @@ -107,11 +107,11 @@ original_slug: Web/JavaScript/Reference/Operators/Bitwise_Operators <pre class="line-numbers language-html"><code class="language-html">-1 (base 10) = 11111111111111111111111111111111 </code></pre> -<p>Число <code>-2147483648</code> (в шестнадцатиричной системе счисления: <code>-0x80000000</code>) - это вещественное число, которое состоит только из 0, заисключением самого первого слева, который есть 1 (отвечает за знак числа).</p> +<p>Число <code>-2147483648</code> (в шестнадцатеричной системе счисления: <code>-0x80000000</code>) - это вещественное число, которое состоит только из 0, за исключением самого первого слева, который есть 1 (отвечает за знак числа).</p> <pre class="line-numbers language-html"><code class="language-html">-2147483648 (base 10) = 10000000000000000000000000000000</code></pre> -<p>Число <code>2147483648</code> (в шестнадцатиричной системе счисления: <code>0x80000000</code>) - это вещественное число, которое состоит только из 1, заисключением самого первого слева, который есть 0 (отвечает за знак числа).</p> +<p>Число <code>2147483648</code> (в шестнадцатеричной системе счисления: <code>0x80000000</code>) - это вещественное число, которое состоит только из 1, за исключением самого первого слева, который есть 0 (отвечает за знак числа).</p> <pre class="line-numbers language-html"><code class="language-html">2147483647 (base 10) = 01111111111111111111111111111111</code></pre> @@ -130,13 +130,13 @@ original_slug: Web/JavaScript/Reference/Operators/Bitwise_Operators </pre> <ul> - <li>Каждый бит первого операнда считается парным соотвествующему биту второго операнда. Первый бит - первому, второй второму итд.</li> + <li>Каждый бит первого операнда считается парным соответствующему биту второго операнда. Первый бит - первому, второй второму и т.д..</li> <li>Операция применяется к каждой паре битов, and the result is constructed bitwise.</li> </ul> <h3 id="_.28Bitwise_AND.29" name="&_.28Bitwise_AND.29">& (Побитовое AND)</h3> -<p>Производит побитовое И над каждой парой битов. Операция <code>a</code> AND <code>b</code> веренет 1 если только и <code>a</code> и <code>b</code> равны 1. Таблица истинности для этой операции выглядит так:</p> +<p>Производит побитовое И над каждой парой битов. Операция <code>a</code> AND <code>b</code> вернет 1 если только и <code>a</code> и <code>b</code> равны 1. Таблица истинности для этой операции выглядит так:</p> <table class="standard-table"> <tbody> @@ -182,7 +182,7 @@ original_slug: Web/JavaScript/Reference/Operators/Bitwise_Operators <h3 id="_.28Bitwise_OR.29" name="|_.28Bitwise_OR.29">| (Побитовое OR)</h3> -<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">Производит побитовое ИЛИ над каждой парой битов. Операция <code style="color: rgb(37, 34, 29); font-weight: inherit;">a</code> OR <code style="color: rgb(37, 34, 29); font-weight: inherit;">b</code> веренет 1 если <code style="color: rgb(37, 34, 29); font-weight: inherit;">a</code> или <code style="color: rgb(37, 34, 29); font-weight: inherit;">b</code> равны 1. Таблица истинности для этой операции выглядит так:</p> +<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">Производит побитовое ИЛИ над каждой парой битов. Операция <code style="color: rgb(37, 34, 29); font-weight: inherit;">a</code> OR <code style="color: rgb(37, 34, 29); font-weight: inherit;">b</code> вернет 1 если <code style="color: rgb(37, 34, 29); font-weight: inherit;">a</code> или <code style="color: rgb(37, 34, 29); font-weight: inherit;">b</code> равны 1. Таблица истинности для этой операции выглядит так:</p> <table class="standard-table"> <tbody> @@ -325,7 +325,7 @@ original_slug: Web/JavaScript/Reference/Operators/Bitwise_Operators <h3 id=".3E.3E_.28Sign-propagating_right_shift.29" name=".3E.3E_.28Sign-propagating_right_shift.29">>> (Сдвиг вправо с сохранением знака)</h3> -<p>Оператор побитового сдвига вправо сдвигает первый операнд на заданное число битов вправо. Лишние биты отбрасываются. Слева добавляется заданное число битов равных первому биту исходного числа. Поскольку значение первого бита, определяющего знак числа, останется неизменным, знак получившегося результата будет таким же как у первого аргумента. Отсюда "с сохранением знака" в названи.</p> +<p>Оператор побитового сдвига вправо сдвигает первый операнд на заданное число битов вправо. Лишние биты отбрасываются. Слева добавляется заданное число битов равных первому биту исходного числа. Поскольку значение первого бита, определяющего знак числа, останется неизменным, знак получившегося результата будет таким же как у первого аргумента. Отсюда "с сохранением знака" в названии.</p> <p>Например, <code>9 >> 2</code> в результате даст 2:</p> diff --git a/files/ru/conflicting/web/javascript/reference/operators_843c998343f0cdaa5699874c806d4cea/index.html b/files/ru/conflicting/web/javascript/reference/operators_843c998343f0cdaa5699874c806d4cea/index.html index eeb43a5072..ee76c80725 100644 --- a/files/ru/conflicting/web/javascript/reference/operators_843c998343f0cdaa5699874c806d4cea/index.html +++ b/files/ru/conflicting/web/javascript/reference/operators_843c998343f0cdaa5699874c806d4cea/index.html @@ -53,7 +53,7 @@ original_slug: Web/JavaScript/Reference/Operators/Логические_опер <li><code>undefined</code>.</li> </ul> -<p>Хоть операторы <code>&&</code> и <code>||</code> могут использовать операнды с не булевыми значениями, но они всёравно рассматриваются, как булевы операторы, т.к. их возвращаемые ими значения всегда могут быть сконвертированы в булевы значения.</p> +<p>Хоть операторы <code>&&</code> и <code>||</code> могут использовать операнды с не булевыми значениями, но они всё равно рассматриваются, как булевы операторы, т.к. их возвращаемые ими значения всегда могут быть сконвертированы в булевы значения.</p> <h3 id="Короткая_схема_вычислений">Короткая схема вычислений</h3> diff --git a/files/ru/conflicting/web/javascript/reference/statements/switch/index.html b/files/ru/conflicting/web/javascript/reference/statements/switch/index.html index 373d7c8a17..13c6428189 100644 --- a/files/ru/conflicting/web/javascript/reference/statements/switch/index.html +++ b/files/ru/conflicting/web/javascript/reference/statements/switch/index.html @@ -44,7 +44,7 @@ original_slug: Web/JavaScript/Reference/Statements/default <h3 id="Использование_default_в_switch">Использование <code>default</code> в <code>switch</code></h3> -<p>В следующем примере, если <code>expr</code> имеет значение "Апельсины" или "Яблоки", то программа сопоставит это значение с "Апельсины" или с "Яблоки", а затем выполнит соответствующее выражение. В других случаях поможет ключевое слово <strong>default,</strong> выполня связанное выражение.</p> +<p>В следующем примере, если <code>expr</code> имеет значение "Апельсины" или "Яблоки", то программа сопоставит это значение с "Апельсины" или с "Яблоки", а затем выполнит соответствующее выражение. В других случаях поможет ключевое слово <strong>default,</strong> выполняя связанное выражение.</p> <pre class="brush: js">switch (expr) { case 'Апельсины': @@ -59,7 +59,7 @@ original_slug: Web/JavaScript/Reference/Statements/default <h3 id="Использование_default_с_export">Использование <code>default</code> с<font face="Open Sans, arial, sans-serif"> </font><code>export</code></h3> -<p>При необходимости экспорта единственного значения или резервирования (fallback) значения для модуля, можно воспользоваться<strong> </strong>экспортом по-умолчанию: </p> +<p>При необходимости экспорта единственного значения или резервирования (fallback) значения для модуля, можно воспользоваться<strong> </strong>экспортом по умолчанию: </p> <pre class="brush: js">// модуль "my-module.js" let cube = function cube(x) { @@ -67,7 +67,7 @@ let cube = function cube(x) { }; export default cube;</pre> -<p>Тогда, в другом файле JavaScript, становится возможным просто импортировать экспортируемое по-умолчанию значение:</p> +<p>Тогда, в другом файле JavaScript, становится возможным просто импортировать экспортируемое по умолчанию значение:</p> <pre class="brush: js">// модуль "my-module.js" import myFunction from 'my-module'; diff --git a/files/ru/conflicting/web/media/formats/index.html b/files/ru/conflicting/web/media/formats/index.html index a6ae3f4e38..db671e312e 100644 --- a/files/ru/conflicting/web/media/formats/index.html +++ b/files/ru/conflicting/web/media/formats/index.html @@ -5,7 +5,7 @@ translation_of: Web/Media/Formats translation_of_original: Web/HTML/Supported_media_formats original_slug: Web/HTML/Поддерживаемые_медиа_форматы --- -<p><span class="seoSummary">{{ HTMLElement("audio") }} и {{ HTMLElement("video") }} элементы предоставляют поддержку для проигрывания аудио и видео медиа без нужды в плагинах. </span>Формат медиафайла состоит из контейнера, содержащего один или несколько потоков данных, закодированных с использованием формата сжатия, называемого кодеком. Контейнер идентифицируется по расширению файла. Потоки внутри контейнера имеют несколько типов, которые могут включать в себя видео, аудио, данные или титры. Один контейнер (т. е. медиафайл) может содержать несколько потоков одного типа. В аудио- и видео- потоках находятся кодеки. Кодек — сокращенние слов "кодера-декодер" — является алгоритмом сжатия данных в файле. Каждый тип контейнера имеет только определенные кодеки, которые он поддерживает.</p> +<p><span class="seoSummary">{{ HTMLElement("audio") }} и {{ HTMLElement("video") }} элементы предоставляют поддержку для проигрывания аудио и видео медиа без нужды в плагинах. </span>Формат медиафайла состоит из контейнера, содержащего один или несколько потоков данных, закодированных с использованием формата сжатия, называемого кодеком. Контейнер идентифицируется по расширению файла. Потоки внутри контейнера имеют несколько типов, которые могут включать в себя видео, аудио, данные или титры. Один контейнер (т. е. медиафайл) может содержать несколько потоков одного типа. В аудио- и видео- потоках находятся кодеки. Кодек — сокращение слов "кодера-декодер" — является алгоритмом сжатия данных в файле. Каждый тип контейнера имеет только определенные кодеки, которые он поддерживает.</p> <p>Важно понять, почему в Интернете нужны разные медиаформаты. По разным причинам, выходящим за рамки данной статьи, различные браузеры поддерживают разные медиаформаты. Кроме того, область медиаформатов в Интернете сильно пострадала от патентного права во многих странах, включая США и страны ЕС. (Примечания к патентам в этой статье предоставляются как есть, так и без каких-либо гарантий.) В этой статье рассматриваются наиболее важные для Интернета форматы, включая поддержку в браузерах как мобильных, так и десктопных .</p> @@ -31,7 +31,7 @@ original_slug: Web/HTML/Поддерживаемые_медиа_форматы <p>Формат <a class="external" href="http://www.webmproject.org/" title="http://www.webmproject.org/">WebM</a> основан на ограниченной версии формата контейнера <a class="external" href="http://corecodec.com/products/matroska" title="http://corecodec.com/products/matroska">Matroska</a>. Формат всегда использует видео кодек VP8 или VP9 и аудио кодек Vorbis или Opus. WebM нативно поддерживается в десктопной и мобильной версиях Gecko (Firefox), Chrome и Opera. Поддержка формата может быть добавлена в Internet Explorer и Safari (но не на iOS) установкой плагина. Нативная поддержка VP9 WebM в Edge сейчас в стадии разработки.</p> -<p>Формат WebM, а точнее видеокодек VP8, подвергся претензиям в нарушениях патентов от ряда компаний, отвечающих на требования, MPEG LA о фомировании списка патентов, но при этом <a href="http://www.businesswire.com/news/home/20130307006192/en/Google-MPEG-LA-Announce-Agreement-Covering-VP8">MPEG LA дала согласие на лицензирование этих патентов для Google</a> под лицензией "<a href="http://xiphmont.livejournal.com/59893.html?thread=310261#t310261">perpetual, transferable, royalty free license"</a>. Это фактически означает, что все известные патенты, относящиеся к формату WebM лицензированы для свободного использования всеми.</p> +<p>Формат WebM, а точнее видеокодек VP8, подвергся претензиям в нарушениях патентов от ряда компаний, отвечающих на требования, MPEG LA о формировании списка патентов, но при этом <a href="http://www.businesswire.com/news/home/20130307006192/en/Google-MPEG-LA-Announce-Agreement-Covering-VP8">MPEG LA дала согласие на лицензирование этих патентов для Google</a> под лицензией "<a href="http://xiphmont.livejournal.com/59893.html?thread=310261#t310261">perpetual, transferable, royalty free license"</a>. Это фактически означает, что все известные патенты, относящиеся к формату WebM лицензированы для свободного использования всеми.</p> <p>Движок Gecko распознаёт следующие типы MIME как файлы WebM:</p> @@ -79,7 +79,7 @@ original_slug: Web/HTML/Поддерживаемые_медиа_форматы <h2 id="MP3">MP3</h2> -<p>MP3 аудио формат (.mp3, <code>audio/mpeg</code>; в отличии от выше MP3 аудио в случае MP4 контейнера) поддерживается в <code><audio></code> Firefox/Firefox для Android/Firefox OS когда операционая система обеспечивает MP3 декодер, и Internet Explorer, Chrome и Safari.</p> +<p>MP3 аудио формат (.mp3, <code>audio/mpeg</code>; в отличии от выше MP3 аудио в случае MP4 контейнера) поддерживается в <code><audio></code> Firefox/Firefox для Android/Firefox OS когда операционная система обеспечивает MP3 декодер, и Internet Explorer, Chrome и Safari.</p> <h2 id="WAVE_PCM">WAVE PCM</h2> diff --git a/files/ru/games/anatomy/index.html b/files/ru/games/anatomy/index.html index 6935f33666..4d36d1f316 100644 --- a/files/ru/games/anatomy/index.html +++ b/files/ru/games/anatomy/index.html @@ -24,7 +24,7 @@ original_slug: Games/Анатомия <p>Но покадровое управление может и не понадобиться. Ваш игровой цикл может быть похож на пример <em>поиска отличий</em> и основан на входных событиях. Это может потребовать как ввода, так и симуляции времени. Он может даже зацикливаться на чем-то совершенно другом.</p> -<p>Современный JavaScript, как описано в следующих разделах, к счастью, позволяет легко разработать эффективный основной цикл выполнения один раз в кадр. Конечно, ваша игра будет оптимизирована настолько, насколько вы ее сделаете. Если что-то выглядит так, как будто оно должно быть прикрепленно к более редкому исходу, то часто бывает хорошей идеей вырвать его из основного цикла (но не всегда).</p> +<p>Современный JavaScript, как описано в следующих разделах, к счастью, позволяет легко разработать эффективный основной цикл выполнения один раз в кадр. Конечно, ваша игра будет оптимизирована настолько, насколько вы ее сделаете. Если что-то выглядит так, как будто оно должно быть прикреплено к более редкому исходу, то часто бывает хорошей идеей вырвать его из основного цикла (но не всегда).</p> <h2 id="Построение_основного_цикла_в_JavaScript">Построение основного цикла в JavaScript </h2> @@ -104,24 +104,24 @@ main(); // Start the cycle</pre> <pre class="brush: js notranslate">window.cancelAnimationFrame( MyGame.stopMain );</pre> -<p>Ключ к программированию основного цикла в JavaScript заключается в том, чтобы прикрепить его к любому событию, которое должно управлять вашими действиями, и обращать внимание на то, как различные системы учавствуют во взаимодействии. У вас может быть несколько компонентов, управляемых несколькими различными типами событий. Это может показаться излишним усложнением, но также может быть просто хорошей оптимизацией (не обязательно, конечно). Проблема в том, что вы не выстраиваете типичный основной цикл. В JavaScript вы используйте основной цикл браузера и стараетесь сделать это эффективно. </p> +<p>Ключ к программированию основного цикла в JavaScript заключается в том, чтобы прикрепить его к любому событию, которое должно управлять вашими действиями, и обращать внимание на то, как различные системы участвуют во взаимодействии. У вас может быть несколько компонентов, управляемых несколькими различными типами событий. Это может показаться излишним усложнением, но также может быть просто хорошей оптимизацией (не обязательно, конечно). Проблема в том, что вы не выстраиваете типичный основной цикл. В JavaScript вы используйте основной цикл браузера и стараетесь сделать это эффективно. </p> <h2 id="Построение_более_оптимизированного_основного_цикла_в_JavaScript">Построение <em>более оптимизированного</em> основного цикла в JavaScript</h2> -<p>В конце контов, в JavaScript браузер выполняет свой собственный основной цикл, и ваш код существует на некоторых его этапах. В приведенных выше разделах описываются основные циклы, которые стараются не отнимать контроль у браузера. Их методы прикрепляют себя к <code>window.requestAnimationFrame(),</code> который запрашивает контроль над предстоящим кадром у браузера. Браузер решает, как связать эти запросы с их основным циклом. Спецификация <a href="http://www.w3.org/TR/animation-timing/">W3C для requestAnimationFrame</a> на самом деле точно не определяет, когда браузеры должны выполнять колбэки <code>requestAnimationFrame</code>. Это может быть приемуществом, поскольку позволяет поставщикам браузеров свободно экспериментировать с решениями, которые они считают лучшими, и настраивать их с течением времени.</p> +<p>В конце контов, в JavaScript браузер выполняет свой собственный основной цикл, и ваш код существует на некоторых его этапах. В приведенных выше разделах описываются основные циклы, которые стараются не отнимать контроль у браузера. Их методы прикрепляют себя к <code>window.requestAnimationFrame(),</code> который запрашивает контроль над предстоящим кадром у браузера. Браузер решает, как связать эти запросы с их основным циклом. Спецификация <a href="http://www.w3.org/TR/animation-timing/">W3C для requestAnimationFrame</a> на самом деле точно не определяет, когда браузеры должны выполнять колбэки <code>requestAnimationFrame</code>. Это может быть преимуществом, поскольку позволяет поставщикам браузеров свободно экспериментировать с решениями, которые они считают лучшими, и настраивать их с течением времени.</p> -<p>Современные версии Firefox и Google Chrome (вероятно, и другие) <em>пытаются </em>подключить колбэки <code>requestAnimationFrame</code> к своему основному потоку в самом начале временного интервала фрэйма<em>. </em>Таким образом основной поток браузера <em>пытается </em>выглядеть следующим образом: </p> +<p>Современные версии Firefox и Google Chrome (вероятно, и другие) <em>пытаются </em>подключить колбэки <code>requestAnimationFrame</code> к своему основному потоку в самом начале временного интервала фрейма<em>. </em>Таким образом основной поток браузера <em>пытается </em>выглядеть следующим образом: </p> <ol> <li>Запустить новый кадр (пока предыдущий обрабатывается на дисплее.).</li> - <li>Пройтись по кэлбэкам <code>requestAnimationFrame</code> и вызвать их.</li> + <li>Пройтись по колбэкам <code>requestAnimationFrame</code> и вызвать их.</li> <li>Выполнить сборку мусора и другие задачи для каждого кадра, когда вышеупомянутые колбэки перестают контролировать основной поток.</li> <li>Спать (если только какое-либо событие не прервет сон браузера) до тех пор, пока монитор не будет готов к вашему изображению (<a href="http://www.techopedia.com/definition/92/vertical-sync-vsync">VSync</a>), и повторить его.</li> </ol> -<p>Вы можете думать о разработке realtime applications, как о запасе времени для работы. Все вышеперечисленные шаги должны выполняться каждые 16 с половиной миллисекунд, чтобы не отставать от дисплея с чистатой 60Гц. Браузеры вызывают ваш код таким образом, чтобы предаставить ему максимум времени для вычислений. Ваш основной поток часто запускает рабочие нагрузки, которые даже не находятся в основном потоке (Например, растеризация или шейдеры в WebGL). Большие вычисления могут выполняться на Web Worker-e или GPU одновременно с тем, как браузер использует свой основной поток для управления сборкой мусора, обработки асинхронных вызовов или других задач. </p> +<p>Вы можете думать о разработке realtime applications, как о запасе времени для работы. Все вышеперечисленные шаги должны выполняться каждые 16 с половиной миллисекунд, чтобы не отставать от дисплея с частотой 60Гц. Браузеры вызывают ваш код таким образом, чтобы предоставить ему максимум времени для вычислений. Ваш основной поток часто запускает рабочие нагрузки, которые даже не находятся в основном потоке (Например, растеризация или шейдеры в WebGL). Большие вычисления могут выполняться на Web Worker-e или GPU одновременно с тем, как браузер использует свой основной поток для управления сборкой мусора, обработки асинхронных вызовов или других задач. </p> -<p>Пока мы обсуждаем распределение нашего временного бюджета, многие браузеры имеют инструмент под названием <em>High Resolution Time. Объект</em> {{ domxref("Date") }} больше не используется в качестве основного метода синхронизации событий, поскольку он очень не точен и может быть изменен системными часами. High Resolution Time, с другой стороны, подсчитывает колличество миллисекунд начиная с <code>navigationStart</code> (при выгрузке предыдущего документа). Это значение возвращается в виде десятичного числа с точностью до миллисекунды. Он известен как <code>DOMHighResTimeStamp</code>, но для всех целей и задач считайте его числом с плавающей запятой. </p> +<p>Пока мы обсуждаем распределение нашего временного бюджета, многие браузеры имеют инструмент под названием <em>High Resolution Time. Объект</em> {{ domxref("Date") }} больше не используется в качестве основного метода синхронизации событий, поскольку он очень не точен и может быть изменен системными часами. High Resolution Time, с другой стороны, подсчитывает количество миллисекунд начиная с <code>navigationStart</code> (при выгрузке предыдущего документа). Это значение возвращается в виде десятичного числа с точностью до миллисекунды. Он известен как <code>DOMHighResTimeStamp</code>, но для всех целей и задач считайте его числом с плавающей запятой. </p> <div class="note"> <p><strong>Примечание</strong>: Системы (аппаратные или программные), которые не могу обеспечить точность в микросекундах, могут по крайней мере обеспечить точность в миллисекундах. Однако, они должны обеспечивать точность до 0,001 мс, если способны на это. </p> @@ -134,7 +134,7 @@ main(); // Start the cycle</pre> <pre class="brush: js notranslate">var tNow = window.performance.now(); </pre> -<p>Возвращаемся к основному циклу. Часто вам понадобиться узнать, когда ваша основная функция была вызвана. Это обычное дело, <code>window.requestAnimationFrame()</code> при выполнени всегда предоставляет метку <code>DOMHighResTimeStamp</code> в качетве аргумента для функций обратного вызова (callbacks). Это приводит к очередному улучшению нашего основного цикла. </p> +<p>Возвращаемся к основному циклу. Часто вам понадобиться узнать, когда ваша основная функция была вызвана. Это обычное дело, <code>window.requestAnimationFrame()</code> при выполнении всегда предоставляет метку <code>DOMHighResTimeStamp</code> в качестве аргумента для функций обратного вызова (callbacks). Это приводит к очередному улучшению нашего основного цикла. </p> <pre class="brush: js notranslate">/* * Начинаем с точки с запятой в случае, если какая-либо строка кода выше данного примера diff --git a/files/ru/games/introduction/index.html b/files/ru/games/introduction/index.html index 56359a41eb..a107d280d5 100644 --- a/files/ru/games/introduction/index.html +++ b/files/ru/games/introduction/index.html @@ -14,7 +14,7 @@ original_slug: Games/Ввод <p>Современный web позволяет не только передавать различную информацию, но и создавать интерактивный контент. Например, потрясающие, высококачественные игры.</p> -<p>Диапазон игр, которые Вы можете встретить в web поражает и не устапает "нативным" играм, реализованным с использованием языка программирования c++ и java.Причем это касается не только относительно небольших игр, но и объемных игр жанра РПГ, 3d шутерах и многоом другом. Это уже не аналоги простых карточных игр или многопользовательских социальных играх, реализованных с помощью Flash®, а гораздо более сложные вещи. Благодаря значительным улучшениям языка программирования JavaScript и появлению новых API браузера, Вы можете создавать игры, не зависящие от операционной системы. Для их работы необходим только браузер. А иногда, например на устройствах с поддержкой <a href="https://developer.mozilla.org/en-US/docs/HTML/HTML5">HTML5</a>, таких как <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>, не нужен даже он.</p> +<p>Диапазон игр, которые Вы можете встретить в web поражает и не уступает "нативным" играм, реализованным с использованием языка программирования c++ и java.Причем это касается не только относительно небольших игр, но и объемных игр жанра РПГ, 3d шутерах и многом другом. Это уже не аналоги простых карточных игр или многопользовательских социальных играх, реализованных с помощью Flash®, а гораздо более сложные вещи. Благодаря значительным улучшениям языка программирования JavaScript и появлению новых API браузера, Вы можете создавать игры, не зависящие от операционной системы. Для их работы необходим только браузер. А иногда, например на устройствах с поддержкой <a href="https://developer.mozilla.org/en-US/docs/HTML/HTML5">HTML5</a>, таких как <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>, не нужен даже он.</p> <h2 id="Игровая_платформа_HTML5">Игровая платформа HTML5</h2> @@ -92,9 +92,9 @@ original_slug: Games/Ввод <dt><a href="/en-US/docs/HTML/Element/audio" title="/en-US/docs/HTML/Element/audio">HTML audio</a></dt> <dd>Элемент {{HTMLElement ("audio")}} позволяет легко воспроизводить простые звуковые эффекты и музыку. Если ваше потребности выше, ознакомьтесь с Web Audio API для полной мощности обработки звука!</dd> <dt><a href="/en-US/docs/IndexedDB" title="/en-US/docs/IndexedDB">IndexedDB</a></dt> - <dd>Мощный API для хранения пользовательских данных на собственном компьютере или устройстве. Отличный способ локально сохранить состояние игры и другую информацию, без необходимости подгружать ее каждый раз при необходимости. Также полезно дял того, чтобы сделать ваш проект играбельным, даже если пользователь не подключен к Интернету (например, когда он оказался в самолете на несколько часов).</dd> + <dd>Мощный API для хранения пользовательских данных на собственном компьютере или устройстве. Отличный способ локально сохранить состояние игры и другую информацию, без необходимости подгружать ее каждый раз при необходимости. Также полезно для того, чтобы сделать ваш проект играбельным, даже если пользователь не подключен к Интернету (например, когда он оказался в самолете на несколько часов).</dd> <dt><a href="/en-US/docs/JavaScript" title="/en-US/docs/JavaScript">JavaScript</a></dt> - <dd>JavaScript, язык программирования, используемый в Интернете, быстро развивается в современных браузерах и становится ещё быстрее. Используйте его возможности для написания кода своей игры или используйте такие технологии, как Emscripten или Asm.js, чтобы с легкотью переносить существующие игры.</dd> + <dd>JavaScript, язык программирования, используемый в Интернете, быстро развивается в современных браузерах и становится ещё быстрее. Используйте его возможности для написания кода своей игры или используйте такие технологии, как Emscripten или Asm.js, чтобы с легкостью переносить существующие игры.</dd> <dt><a href="/en-US/docs/WebAPI/Pointer_Lock" title="/en-US/docs/WebAPI/Pointer_Lock">Pointer Lock API</a></dt> <dd>API Pointer Lock позволяет блокировать мышь или другое указывающее устройство в интерфейсе вашей игры. Вместо абсолютного позиционирования курсора вы получаете координаты дельты, которые дают вам более точные измерения того, что делает пользователь, и предотвращают случайную отправку ввода где-то еще, тем самым упуская важные пользовательские действия.</dd> <dt></dt> diff --git a/files/ru/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_three.js/index.html b/files/ru/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_three.js/index.html index 7205f72e7a..487d366dcc 100644 --- a/files/ru/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_three.js/index.html +++ b/files/ru/games/techniques/3d_on_the_web/building_up_a_basic_demo_with_three.js/index.html @@ -21,7 +21,7 @@ translation_of: Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_Thr <p>Чтобы начать разработку с Three.js, нужно:</p> <ul> - <li>Удостовериться, что вы используете современную версию браузера с поддеркой <a href="/en-US/docs/Web/API/WebGL_API">WebGL</a>, например, Firefox или Chrome.</li> + <li>Удостовериться, что вы используете современную версию браузера с поддержкой <a href="/en-US/docs/Web/API/WebGL_API">WebGL</a>, например, Firefox или Chrome.</li> <li>Создать папку для экспериментов.</li> <li>Сохранить копию <a href="http://threejs.org/build/three.min.js">последней версии библиотеки Three.js</a> в вашей папке.</li> <li>Открыть <a href="http://threejs.org/docs/">документацию Three.js</a> в отдельной вкладке.</li> @@ -58,7 +58,7 @@ translation_of: Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_Thr <h2 id="Renderer">Renderer</h2> -<p>Renderer это инструмент для отрисовки сцены в браузере. Есть 2 вида таких инструментов: WebGL по умолчанию, другие - Canvas, SVG, CSS, и DOM. Они различаются по тому как все рендерится. Несмотря на различия в них, для пользователя все будет выглядить одинаково. Поэтому, вы можете выбрать запасной вариант на случай, если браузер пользователя не поддерживает выбранную вами технологию.</p> +<p>Renderer это инструмент для отрисовки сцены в браузере. Есть 2 вида таких инструментов: WebGL по умолчанию, другие - Canvas, SVG, CSS, и DOM. Они различаются по тому как все рендерится. Несмотря на различия в них, для пользователя все будет выглядеть одинаково. Поэтому, вы можете выбрать запасной вариант на случай, если браузер пользователя не поддерживает выбранную вами технологию.</p> <pre class="brush: js notranslate">var renderer = new THREE.WebGLRenderer({antialias:true}); renderer.setSize(WIDTH, HEIGHT); @@ -66,7 +66,7 @@ renderer.setClearColor(0xDDDDDD, 1); document.body.appendChild(renderer.domElement); </pre> -<p>Создаем новый WebGL renderer, устанавливаем размер так, чтобы он занимал все пространство страницы, прикрепляем DOM элемент к странице. Вы могли заметить параметр <code>antialias</code> в первой строке — если он установлен в <code>true</code>, то границы объектов сглаживаются. Метод <code>setClearColor()</code> устанавливает цвет бэкграунда (мы установили в 0xDDDDDD, светло-серый, значение по цмолчанию - черный).</p> +<p>Создаем новый WebGL renderer, устанавливаем размер так, чтобы он занимал все пространство страницы, прикрепляем DOM элемент к странице. Вы могли заметить параметр <code>antialias</code> в первой строке — если он установлен в <code>true</code>, то границы объектов сглаживаются. Метод <code>setClearColor()</code> устанавливает цвет бэкграунда (мы установили в 0xDDDDDD, светло-серый, значение по умолчанию - черный).</p> <p>Добавьте этот код в ваш элемент {{htmlelement("script")}}.</p> @@ -150,17 +150,17 @@ render(); <h2 id="Добавление_куба_в_сцену">Добавление куба в сцену</h2> -<p>Сейчас мы создали куб, используя 'geometry' и 'material'. Последнее, что мы долны сделать - добавить куб на сцену. Добавте в код эту строку:</p> +<p>Сейчас мы создали куб, используя 'geometry' и 'material'. Последнее, что мы должны сделать - добавить куб на сцену. Добавьте в код эту строку:</p> <pre class="brush: js notranslate">scene.add(cube); </pre> -<p>Есди вы сохраните код и обновите вкладку браузера, вы увидете квадрат, а не куб, потому, что он стоит ровно напротив камеры и мы видим только одну сторону. У обьектов есть полезное свойтво - мы можем изменять их как хотим. Например, вы можете вращать его и масштабировать, сколько угодно. Чтож давайте немного повернем его, чтобы видеть больше сторон. Добавть в конец кода эту строку:</p> +<p>Если вы сохраните код и обновите вкладку браузера, вы увидите квадрат, а не куб, потому, что он стоит ровно напротив камеры и мы видим только одну сторону. У объектов есть полезное свойство - мы можем изменять их как хотим. Например, вы можете вращать его и масштабировать, сколько угодно. Что давайте немного повернем его, чтобы видеть больше сторон. Добавить в конец кода эту строку:</p> <pre class="brush: js notranslate">cube.rotation.set(0.4, 0.2, 0); </pre> -<p>Поздровляю, Вы создали обьект в 3D-среде! This might have proven easier than you first thought? Here's how it should look:</p> +<p>Поздравляю, Вы создали объект в 3D-среде! This might have proven easier than you first thought? Here's how it should look:</p> <p><img alt="Blue cube on a gray background rendered with Three.js." src="https://mdn.mozillademos.org/files/11849/cube.png" style="display: block; height: 400px; margin: 0px auto; width: 600px;"></p> @@ -221,7 +221,7 @@ scene.add(light); <h3 id="Вращение">Вращение</h3> -<p>Вращать фигуры просто. Вы просто добавляете или отнимаете значение по оси вращения. Добавте эту строкуу кода сразу после: <code>requestAnimationFrame()</code> invocation inside the <code>render</code> function:</p> +<p>Вращать фигуры просто. Вы просто добавляете или отнимаете значение по оси вращения. Добавьте эту строку кода сразу после: <code>requestAnimationFrame()</code> invocation inside the <code>render</code> function:</p> <pre class="brush: js notranslate">cube.rotation.y += 0.01; </pre> diff --git a/files/ru/games/techniques/3d_on_the_web/glsl_shaders/index.html b/files/ru/games/techniques/3d_on_the_web/glsl_shaders/index.html index ee839e283f..9121cc00e2 100644 --- a/files/ru/games/techniques/3d_on_the_web/glsl_shaders/index.html +++ b/files/ru/games/techniques/3d_on_the_web/glsl_shaders/index.html @@ -11,11 +11,11 @@ translation_of: Games/Techniques/3D_on_the_web/GLSL_Shaders --- <div>{{GamesSidebar}}</div> -<p class="summary"><span class="seosummary">Шейдеры используют GLSL (</span><span class="ILfuVd">OpenGL Shading Language</span>)<span class="seosummary">, специальный язык программирования шейдеров от OpenGL, который во многом напоминает С (Си). GLSL выполняется напрямую графическим процессором. Существует два типа шейдеров: вершинные шейдеры и фрагментные (пиксельные) шейдеры. Вершинные шейдеры изменяют положение фигуры в системе 3D координат. Фрагментные шейдеры расчитывают цвет и другие атрибуты отображения.</span></p> +<p class="summary"><span class="seosummary">Шейдеры используют GLSL (</span><span class="ILfuVd">OpenGL Shading Language</span>)<span class="seosummary">, специальный язык программирования шейдеров от OpenGL, который во многом напоминает С (Си). GLSL выполняется напрямую графическим процессором. Существует два типа шейдеров: вершинные шейдеры и фрагментные (пиксельные) шейдеры. Вершинные шейдеры изменяют положение фигуры в системе 3D координат. Фрагментные шейдеры рассчитывают цвет и другие атрибуты отображения.</span></p> -<p>GLSL не так прост в изучении, как JavaScript. GLSL является строготипизированым и в нем часто используются операции с векторами и матрицами. It can get very complicated — very quickly. В этой статье мы создадим небольшой пример кода, который отображает куб. Чтобы ускорить разработку, мы будем использовать Three.js API.</p> +<p>GLSL не так прост в изучении, как JavaScript. GLSL является строго типизированным и в нем часто используются операции с векторами и матрицами. It can get very complicated — very quickly. В этой статье мы создадим небольшой пример кода, который отображает куб. Чтобы ускорить разработку, мы будем использовать Three.js API.</p> -<p>Как Вы помните из статьи о <a href="/en-US/docs/Games/Techniques/3D_on_the_web/Basic_theory">теоретических основах</a>, вертекс или вершина это точка в системе 3D кординат. Также вершины могут иметь дополнительные свойства. Система 3D координат определяет пространство, а вертексы позволяют определять формы в этом пространстве.</p> +<p>Как Вы помните из статьи о <a href="/en-US/docs/Games/Techniques/3D_on_the_web/Basic_theory">теоретических основах</a>, вертекс или вершина это точка в системе 3D координат. Также вершины могут иметь дополнительные свойства. Система 3D координат определяет пространство, а вертексы позволяют определять формы в этом пространстве.</p> <h2 id="shader_types" name="shader_types">Типы шейдеров</h2> diff --git a/files/ru/games/techniques/controls_gamepad_api/index.html b/files/ru/games/techniques/controls_gamepad_api/index.html index edbb3e0a40..7931059e64 100644 --- a/files/ru/games/techniques/controls_gamepad_api/index.html +++ b/files/ru/games/techniques/controls_gamepad_api/index.html @@ -51,7 +51,7 @@ translation_of: Games/Techniques/Controls_Gamepad_API <h2 id="Демо-версия">Демо-версия</h2> -<p>Сначала была построена полная версия игры Hungry Fridge, а затем, чтобы для демострации API Gamepad в действии и показа исходного кода JavaScript, была создана <a href="https://end3r.github.io/Gamepad-API-Content-Kit/demo/demo.html">простая демо-версия</a>. Это часть <a href="https://end3r.github.io/Gamepad-API-Content-Kit/">набора контента Gamepad API</a>, доступного на GitHub, где вы можете глубоко погрузиться в код и изучить, как именно он работает.</p> +<p>Сначала была построена полная версия игры Hungry Fridge, а затем, чтобы для демонстрации API Gamepad в действии и показа исходного кода JavaScript, была создана <a href="https://end3r.github.io/Gamepad-API-Content-Kit/demo/demo.html">простая демо-версия</a>. Это часть <a href="https://end3r.github.io/Gamepad-API-Content-Kit/">набора контента Gamepad API</a>, доступного на GitHub, где вы можете глубоко погрузиться в код и изучить, как именно он работает.</p> <p><img alt="Hungry Fridge demo using Gamepad API" src="http://end3r.com/tmp/gamepad/super-turbo.png" style="display: block; height: 333px; margin: 0px auto; width: 500px;"></p> @@ -122,7 +122,7 @@ window.addEventListener("gamepaddisconnected", gamepadAPI.disconnect);</code> <ul> <li><code>id</code>: Строка, содержащая информацию о контроллере.</li> - <li><code>index</code>: Уникальный индентификатор для подключенного устройства.</li> + <li><code>index</code>: Уникальный идентификатор для подключенного устройства.</li> <li><code>connected</code>: Логическая переменная. Возвращает <code>true</code> при подключении.</li> <li><code>mapping</code>: Тип компоновки кнопок; Стандартный - единственный доступный вариант на данный момент.</li> <li><code>axes</code>: Состояние каждой оси, представленное массивом значений с плавающей запятой.</li> diff --git a/files/ru/games/tools/index.html b/files/ru/games/tools/index.html index 8129376e06..91e2bf3f41 100644 --- a/files/ru/games/tools/index.html +++ b/files/ru/games/tools/index.html @@ -12,10 +12,10 @@ original_slug: Games/Инструменты <dl> <dt><a href="/en-US/docs/Games/Tools/asm.js">asm.js</a></dt> - <dd>asm.js это очень ограниченное подмножество языка JavaScript, которое можно значительно оптимизировать и запустить в опережающем времени (AOT), компилируя движок гораздо быстрее, чем при типичной произвоительности языка. А это, конечно же, замечательно для игр.</dd> + <dd>asm.js это очень ограниченное подмножество языка JavaScript, которое можно значительно оптимизировать и запустить в опережающем времени (AOT), компилируя движок гораздо быстрее, чем при типичной производительности языка. А это, конечно же, замечательно для игр.</dd> <dt><a href="https://github.com/kripken/emscripten/wiki" title="https://github.com/kripken/emscripten/wiki">Emscripten</a></dt> <dd> - <p>Низккоуровневя виртуальная машина(LLVM) для JavaScript; с Emscripten вы можете компилировать C++ и другие языки, которые можно копировать в байткод LLVM с высокоц производительностью JavaScript. Это отличный веб-инструмент! Вот <a href="https://github.com/kripken/emscripten/wiki/Tutorial">полезный туториал по Emscripten</a>, доступный на вики. Заметьте, что мы <a href="/en-US/docs/Emscripten">стремимся охватить Emscripten в своих разделах на MDN</a>.</p> + <p>Низкоуровневая виртуальная машина(LLVM) для JavaScript; с Emscripten вы можете компилировать C++ и другие языки, которые можно копировать в байт-код LLVM с высокой производительностью JavaScript. Это отличный веб-инструмент! Вот <a href="https://github.com/kripken/emscripten/wiki/Tutorial">полезный туториал по Emscripten</a>, доступный на вики. Заметьте, что мы <a href="/en-US/docs/Emscripten">стремимся охватить Emscripten в своих разделах на MDN</a>.</p> </dd> <dt><a href="https://addons.mozilla.org/en-us/firefox/addon/gecko-profiler/" title="https://addons.mozilla.org/en-us/firefox/addon/gecko-profiler/">Gecko profiler</a></dt> <dd>Gecko profiler позволяет профилировать код, чтобы понять, где имеются проблемы производительности, и добиться максимальной скорости в .</dd> @@ -26,7 +26,7 @@ original_slug: Games/Инструменты <dt>Инструментарий для разработки и отладки игр</dt> <dd>Чем это отличается от обычной отладки веб-приложения? Какие специальные инструменты доступны? Многое из этого доступно в <a href="/en-US/docs/Tools">инструментах</a>, но здесь мы должны обеспечить своего рода практический учебник для отладки игры, с ссылками : <ul> - <li>Обзор базовых инстурментов</li> + <li>Обзор базовых инструментов</li> <li><a href="/en-US/docs/Tools/Shader_Editor">Редактор шейдеров</a></li> <li>Производственные инструменты (все еще находятся в производстве, по оценкам, в начале 2014 года)</li> </ul> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/bounce_off_the_walls/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/bounce_off_the_walls/index.html index 0b945f61fc..090b6c4b26 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/bounce_off_the_walls/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/bounce_off_the_walls/index.html @@ -23,7 +23,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <pre class="brush: js">ball.body.collideWorldBounds = true; </pre> -<p>Теперь мяч будет останавливаться у границ экрана, вместо того чтобы исчезать, но он не отскакивает. Чтобы это происодило нам нужно установить его "отскакиваемость". Добавте следующий код ниже предыдущей строки:</p> +<p>Теперь мяч будет останавливаться у границ экрана, вместо того чтобы исчезать, но он не отскакивает. Чтобы это происходило нам нужно установить его "отскакиваемость". Добавите следующий код ниже предыдущей строки:</p> <pre class="brush: js">ball.body.bounce.set(1); </pre> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/build_the_brick_field/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/build_the_brick_field/index.html index 4b68f11f31..8d4171bde1 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/build_the_brick_field/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/build_the_brick_field/index.html @@ -18,14 +18,14 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <h2 id="Определяем_переменные">Определяем переменные</h2> -<p>Сначала, давайте определим необходимые переменные — добавьте следующий код ниже всех наших текущих опеределений переменных:</p> +<p>Сначала, давайте определим необходимые переменные — добавьте следующий код ниже всех наших текущих определений переменных:</p> <pre class="brush: js">var bricks; var newBrick; var brickInfo; </pre> -<p>Переменная <code>bricks</code> будет использоваться в качестве набора кирпичей, <code>newBrick</code> будет тем самым кирпичем, который мы будем создавать в каждой итерации цикла и добавлять в набор, а в <code>brickInfo</code> будет хранить всю необходимую информацию о кирпичах, как таковых.</p> +<p>Переменная <code>bricks</code> будет использоваться в качестве набора кирпичей, <code>newBrick</code> будет тем самым кирпичом, который мы будем создавать в каждой итерации цикла и добавлять в набор, а в <code>brickInfo</code> будет хранить всю необходимую информацию о кирпичах, как таковых.</p> <h2 id="Добавляем_графику_для_кирпича">Добавляем графику для кирпича</h2> @@ -107,7 +107,7 @@ var brickInfo; var brickY = (r*(brickInfo.height+brickInfo.padding))+brickInfo.offset.top; </pre> -<p>Координата <code>x</code> каждого кирпича рассчитывается на основе суммы ширины кирпича <code>brickInfo.width</code> и зазора <code>brickInfo.padding</code>, умноженной на номер столбца <code>с</code>, после этого добавляем отступ от левого края <code>brickInfo.offset.left</code>; Рассчёт <code>y</code> аналогичен, только используются номер ряда <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">r</span></font>, высота кирпича <code>brickInfo.height</code> и отступ от верхнего края <code>brickInfo.offset.top</code>. Вот теперь каждый кирпич на своём месте, с учётом всех отступов и зазоров.</p> +<p>Координата <code>x</code> каждого кирпича рассчитывается на основе суммы ширины кирпича <code>brickInfo.width</code> и зазора <code>brickInfo.padding</code>, умноженной на номер столбца <code>с</code>, после этого добавляем отступ от левого края <code>brickInfo.offset.left</code>; Расчет <code>y</code> аналогичен, только используются номер ряда <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">r</span></font>, высота кирпича <code>brickInfo.height</code> и отступ от верхнего края <code>brickInfo.offset.top</code>. Вот теперь каждый кирпич на своём месте, с учётом всех отступов и зазоров.</p> <h2 id="Проверяем_код_функции_initBricks()">Проверяем код функции initBricks()</h2> @@ -142,7 +142,7 @@ var brickY = (r*(brickInfo.height+brickInfo.padding))+brickInfo.offset.top; } </pre> -<p>Если вы перезапустите страницу <code>index.html</code>, то увидете кирпичи, нарисованные на расстоянии друг от друга.</p> +<p>Если вы перезапустите страницу <code>index.html</code>, то увидеть кирпичи, нарисованные на расстоянии друг от друга.</p> <h2 id="Сравните_свой_код">Сравните свой код</h2> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/collision_detection/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/collision_detection/index.html index f8bf45148e..8785cc28d5 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/collision_detection/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/collision_detection/index.html @@ -36,7 +36,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <p>Вот и всё! Перезагрузите страницу и вы увидите, что все коллизии обрабатывается, как следует.</p> -<p>Спасибо Phaser за то, что передал нам в функцию эти два параметра — мячик и тот кирпич, с которым у мячика произошла коллизия. А дальше мы просто удаляем кирпчи с экрана, вызвав у него функцию <code>kill()</code>.</p> +<p>Спасибо Phaser за то, что передал нам в функцию эти два параметра — мячик и тот кирпич, с которым у мячика произошла коллизия. А дальше мы просто удаляем кирпич с экрана, вызвав у него функцию <code>kill()</code>.</p> <p>Вы думали, что нам придётся писать много кода для отслеживания коллизий, как мы это делали на <a href="https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_Breakout_game_pure_JavaScript/Collision_detection">чистом JavaScript</a>? В этом и прелесть фреймворков — рутину они сделают за нас, а мы, в это время, можем сосредоточиться на действительно интересных вещах.</p> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/extra_lives/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/extra_lives/index.html index 94734655f6..d19481e9ca 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/extra_lives/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/extra_lives/index.html @@ -18,7 +18,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <h2 id="Новый_переменные">Новый переменные</h2> -<p>Добавьте следующие переменные сразу после всех наших текущих опеределений переменных:</p> +<p>Добавьте следующие переменные сразу после всех наших текущих определений переменных:</p> <pre class="brush: js notranslate">var lives = 3; var livesText; @@ -38,13 +38,13 @@ lifeLostText.anchor.set(0.5); lifeLostText.visible = false; </pre> -<p>Объекты <code>livesText</code> и<code>lifeLostText</code> очень похожи на <code>scoreText</code> — они определяют положение на экране, текст надписи и стилизацию шрифта. Чтобы всё выглядило должным образом, надпись с жизнями мы закрепляем в правом верхнем углу, а надпись о потере жизни, мы выводим в центре экрана. И всё это при помощи функции <code>anchor.set()</code>.</p> +<p>Объекты <code>livesText</code> и<code>lifeLostText</code> очень похожи на <code>scoreText</code> — они определяют положение на экране, текст надписи и стилизацию шрифта. Чтобы всё выглядело должным образом, надпись с жизнями мы закрепляем в правом верхнем углу, а надпись о потере жизни, мы выводим в центре экрана. И всё это при помощи функции <code>anchor.set()</code>.</p> <p>Надпись <code>lifeLostText</code> появится только при потере жизни, поэтому её видимость мы выставляем в <code>false</code>.</p> <h3 id="Чистим_код_стилизирующий_надписи">Чистим код, стилизирующий надписи</h3> -<p>Как вы могли заметить, мы используем одинаковые стили для всех надписей: <code>scoreText</code>, <code>livesText</code> и <code>lifeLostText</code>. Однако, налицо копирование кода и если мы, когда-либо, захотим изменить размер шрифта или цвет, то нам придётся делать это в нескольких местах. Чтобы избежать этого, мы вынесем стиль в отдельную переменную. Напишите следующую строку сразу после всех наших текущих опеределений переменных:</p> +<p>Как вы могли заметить, мы используем одинаковые стили для всех надписей: <code>scoreText</code>, <code>livesText</code> и <code>lifeLostText</code>. Однако, налицо копирование кода и если мы, когда-либо, захотим изменить размер шрифта или цвет, то нам придётся делать это в нескольких местах. Чтобы избежать этого, мы вынесем стиль в отдельную переменную. Напишите следующую строку сразу после всех наших текущих определений переменных:</p> <pre class="brush: js notranslate">var textStyle = { font: '18px Arial', fill: '#0095DD' }; </pre> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/game_over/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/game_over/index.html index 1916b9b931..c39dd38a7c 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/game_over/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/game_over/index.html @@ -23,7 +23,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <pre class="brush: js">game.physics.arcade.checkCollision.down = false; </pre> -<p>Теперь мячик отскакивает только от трёх стен (верхней, левой и правой) и, если не отбить его платформой, проходит сквозь нижнюю стену, выходя за пределы экрана. Осталось только поймать момент выхода мячика за пределы экрана и вывести сообещние о проигрыше. Добавьте эти строки кода сразу после предыдущей:</p> +<p>Теперь мячик отскакивает только от трёх стен (верхней, левой и правой) и, если не отбить его платформой, проходит сквозь нижнюю стену, выходя за пределы экрана. Осталось только поймать момент выхода мячика за пределы экрана и вывести сообщение о проигрыше. Добавьте эти строки кода сразу после предыдущей:</p> <pre class="brush: js">ball.checkWorldBounds = true; ball.events.onOutOfBounds.add(function(){ diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/index.html index c99663b5ef..0dac18277f 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/index.html @@ -21,7 +21,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <p class="summary">В этом пошаговом руководстве мы создадим простую мобильную игру <strong>MDN Breakout</strong> с помощью JavaScript и фреймворка <a href="https://phaser.io/">Phaser</a>.</p> -<p>Каждый шаг будет сопровождаться настраиваемым и живым примером для того, чтобы вы могли видеть, что должно получиться на промежуточных этапах создания. Вы узнаете основы для работы с фреймворком Phaser: рендер и движение картинок, определение столкновения, управление, встроенные вспомогательныке функции, анимации и отрисовка кадров, изменение игровой статистки. </p> +<p>Каждый шаг будет сопровождаться настраиваемым и живым примером для того, чтобы вы могли видеть, что должно получиться на промежуточных этапах создания. Вы узнаете основы для работы с фреймворком Phaser: рендер и движение картинок, определение столкновения, управление, встроенные вспомогательные функции, анимации и отрисовка кадров, изменение игровой статистки. </p> <p>Чтобы получить наибольшую пользу от этого руководства, вам необходимо иметь базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/JavaScript_basics">JavaScript</a>. После прочтения вы научитесь создавать собственные простые веб-игры с помощью Phaser.</p> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/initialize_the_framework/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/initialize_the_framework/index.html index aab8ab6cf4..081725bbed 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/initialize_the_framework/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/initialize_the_framework/index.html @@ -55,9 +55,9 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <ol> <li>Перейдите на <a href="https://phaser.io/download/release/2.7.6">страницу загрузки Phaser</a>.</li> - <li>Выберите наиболее удобный для вас вариант загрузки. Я рекоммендую <em>min.js </em>скачивание, потому что исходный код будет меньше, да и вам не придётся разбираться в нём.</li> + <li>Выберите наиболее удобный для вас вариант загрузки. Я рекомендую <em>min.js </em>скачивание, потому что исходный код будет меньше, да и вам не придётся разбираться в нём.</li> <li>Сохраните Phaser внутри <code>/js</code> директории, находящейся в том же месте, что и <code>index.html</code></li> - <li>Обновите аттрибут <code>src</code> в первом элементе {{htmlelement("script")}}, как это показано выше.</li> + <li>Обновите атрибут <code>src</code> в первом элементе {{htmlelement("script")}}, как это показано выше.</li> </ol> <h2 id="Что_мы_имеем">Что мы имеем</h2> @@ -69,7 +69,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <ul> <li><code>width</code> и <code>height</code> устанавливают ширину и высоту {{htmlelement("canvas")}} соответственно.</li> <li>Метод рендеринга. Здесь есть три опции <code>AUTO</code>, <code>CANVAS</code> и <code>WEBGL</code>. Мы можем установить одно из двух последних значений или <code>AUTO</code>, чтобы Phaser сам определил, что использовать. Обычно используется WebGL, но если браузер его не поддерживает, то Canvas 2D.</li> - <li><code>id</code> элемнта {{htmlelement("canvas")}} используется для рендеринга, если один {{htmlelement("canvas")}} уже есть (мы установили значение <code>null</code>, чтобы Phaser создал свой собственный).</li> + <li><code>id</code> элемента {{htmlelement("canvas")}} используется для рендеринга, если один {{htmlelement("canvas")}} уже есть (мы установили значение <code>null</code>, чтобы Phaser создал свой собственный).</li> <li>Дальше идут названия трёх ключевых функций Phaser: загрузки (load), старта (start) и обновления (update) игры на каждом кадре; мы выбрали такие же названия, чтобы сохранять чистоту кода. <ul> <li><code>preload</code> заботится о предзагрузке ресурсов игры</li> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/physics/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/physics/index.html index d7acbb92d3..e9de5c8ec3 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/physics/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/physics/index.html @@ -84,7 +84,7 @@ function update() { <p>Вы можете делать гораздо больше вещей с физикой. Например, добавив <code>ball.body.gravity.y = 100</code>, вы установите вертикальную гравитацию для мячика. Как результат он будет сначала запущен вверх, но затем начнёт падать, находясь под действием гравитации.</p> -<p>Это лишь верхушка айсберга: есть огромное количество перменных и функции, с помощью которых вы можете взаимодействовать с физическими объектами. Посмотрите официальную <a href="http://phaser.io/docs/2.6.2/index#physics">документацию</a>, чтобы увидеть огромное количество примеров применения <a href="http://phaser.io/examples/v2/category/arcade-physics">Arcade</a> и <a href="http://phaser.io/examples/v2/category/p2-physics">P2</a>.</p> +<p>Это лишь верхушка айсберга: есть огромное количество переменных и функции, с помощью которых вы можете взаимодействовать с физическими объектами. Посмотрите официальную <a href="http://phaser.io/docs/2.6.2/index#physics">документацию</a>, чтобы увидеть огромное количество примеров применения <a href="http://phaser.io/examples/v2/category/arcade-physics">Arcade</a> и <a href="http://phaser.io/examples/v2/category/p2-physics">P2</a>.</p> <h2 id="Сравните_свой_код">Сравните свой код</h2> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/player_paddle_and_controls/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/player_paddle_and_controls/index.html index 35001ea66d..2064e6aa09 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/player_paddle_and_controls/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/player_paddle_and_controls/index.html @@ -47,9 +47,9 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <pre class="brush: js">paddle = game.add.sprite(game.world.width*0.5, game.world.height-5, 'paddle'); </pre> -<p>Мы можем использовать <code>world.width</code> и <code>world.height</code> для позиционирования платформы в том месте, где мы хотим: <code>game.world.width*0.5</code> расположит платформу прямо по середине экрана. В данном случае, нам повезло, что наш игровой мир совпадает с <code><canvas></code>, однако, в других играх мир может быть гараздо больше экрана. </p> +<p>Мы можем использовать <code>world.width</code> и <code>world.height</code> для позиционирования платформы в том месте, где мы хотим: <code>game.world.width*0.5</code> расположит платформу прямо по середине экрана. В данном случае, нам повезло, что наш игровой мир совпадает с <code><canvas></code>, однако, в других играх мир может быть гораздо больше экрана. </p> -<p>Как вы могли заметить, перезагрузив, на данном этапе, страницу <code>index.html</code>, платформа находится не совсем по середине экрана. Почему? Всё дело в том, что, по умолчанию, точка, из которой начинается позиционирование объекта (якорь), находится в левом верхнем углу. Но мы можем это изменить и переместить якорь в середину платформы по ширине и в самый низ повысоте, чтобы проще было позиционировать платформу, относительно нижней грани экрана. Добавьте следующую строку кода:</p> +<p>Как вы могли заметить, перезагрузив, на данном этапе, страницу <code>index.html</code>, платформа находится не совсем по середине экрана. Почему? Всё дело в том, что, по умолчанию, точка, из которой начинается позиционирование объекта (якорь), находится в левом верхнем углу. Но мы можем это изменить и переместить якорь в середину платформы по ширине и в самый низ по высоте, чтобы проще было позиционировать платформу, относительно нижней грани экрана. Добавьте следующую строку кода:</p> <pre class="brush: js">paddle.anchor.set(0.5,1); </pre> @@ -75,7 +75,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <h2 id="Управляем_платформой">Управляем платформой</h2> -<p>Следующая проблема заключается в том, что мы не можем двигать платформу. Чтобы сделать это мы можем воспользоваться вводом <code>input</code> (мышь или сенсорный экран, в зависимости от платформы) и расположить нашу плаформу в месте расположения курсора. Добавьте следующую строку кода в функцию <code>update()</code>, как показано ниже:</p> +<p>Следующая проблема заключается в том, что мы не можем двигать платформу. Чтобы сделать это мы можем воспользоваться вводом <code>input</code> (мышь или сенсорный экран, в зависимости от платформы) и расположить нашу платформу в месте расположения курсора. Добавьте следующую строку кода в функцию <code>update()</code>, как показано ниже:</p> <pre class="brush: js">function update() { game.physics.arcade.collide(ball, paddle); @@ -83,7 +83,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser } </pre> -<p>Теперь, каждый кадр координата <code>x</code> платформы будет соответствовать координате <code>x</code> курсора. Однако, при старте игры, положение нашей платформы не по центру экрана, из-за того, что положение курсора не определено. Чтобы это исправить, давайте добавим платформе координату <code>x</code> по умолчанию, на случаей, если положение курсора не определено. Обновите предыдущую строку кода:</p> +<p>Теперь, каждый кадр координата <code>x</code> платформы будет соответствовать координате <code>x</code> курсора. Однако, при старте игры, положение нашей платформы не по центру экрана, из-за того, что положение курсора не определено. Чтобы это исправить, давайте добавим платформе координату <code>x</code> по умолчанию, на случай, если положение курсора не определено. Обновите предыдущую строку кода:</p> <pre class="brush: js">paddle.x = game.input.x || game.world.width*0.5; </pre> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/scaling/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/scaling/index.html index 78495b48fa..30c80ddf18 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/scaling/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/scaling/index.html @@ -39,7 +39,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <li><code>NO_SCALE</code> — ничего не масштабировать.</li> <li><code>EXACT_FIT</code> — масштабировать с полным заполнением пустого места вертикально и горизонтально, не соблюдая соотношение (aspect ratio).</li> <li><code>SHOW_ALL</code> — масштабирует игру, но сохраняет соотношение так, что картинки не будут искажаться, как и при предыдущем значении. Возможно наличие чёрных полос по краям экрана, но мы можем жить с этим.</li> - <li><code>RESIZE</code> — cоздаёт {{htmlelement("canvas")}} с доступными шириной и высотой так, что вы можете помещать объекты в игру динамически; это раширенный режим (advanced mode).</li> + <li><code>RESIZE</code> — создает {{htmlelement("canvas")}} с доступными шириной и высотой так, что вы можете помещать объекты в игру динамически; это расширенный режим (advanced mode).</li> <li><code>USER_SCALE</code> — позволяет вам делать динамическое масштабирование, подсчёт размеров, масштаб и соотношение самостоятельно; опять же это расширенный режим.</li> </ul> diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/the_score/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/the_score/index.html index e7a01d4c61..ff777f690a 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/the_score/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/the_score/index.html @@ -20,7 +20,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <h2 id="Определим_переменные">Определим переменные</h2> -<p>Добавьте две новых переменных после всех наших текущих опеределений переменных:</p> +<p>Добавьте две новых переменных после всех наших текущих определений переменных:</p> <pre class="brush: js">// ... var scoreText; diff --git a/files/ru/games/tutorials/2d_breakout_game_phaser/win_the_game/index.html b/files/ru/games/tutorials/2d_breakout_game_phaser/win_the_game/index.html index 72e57116a1..95f3e31b65 100644 --- a/files/ru/games/tutorials/2d_breakout_game_phaser/win_the_game/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_phaser/win_the_game/index.html @@ -38,7 +38,7 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser } </pre> -<p>Чтобы перебрать все кирпичи в наборе, необходимо обратиться к полю <code>bricks.children</code>. Найдём все неразрушенные кирпичи, проверяя поле <code>alive</code> у каждого кирпича и, если все кирпичи разрушены, выведем всплывающее окно с текстом о победе. После закрытия этого окна, страница перезагрузится.</p> +<p>Чтобы перебрать все кирпичи в наборе, необходимо обратиться к полю <code>bricks.children</code>. Найдём все неразрешенные кирпичи, проверяя поле <code>alive</code> у каждого кирпича и, если все кирпичи разрушены, выведем всплывающее окно с текстом о победе. После закрытия этого окна, страница перезагрузится.</p> <h2 id="Сравните_свой_код">Сравните свой код</h2> @@ -50,6 +50,6 @@ original_slug: Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser <h2 id="Следующий_шаг">Следующий шаг</h2> -<p>Логику прогрыша и выигрыша мы сделали, так что, основная часть игры готова. Теперь давайте добавим какую-нибудь фишку — дадим игроку три <a href="Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Жизни">жизни</a>, вместо одной.</p> +<p>Логику проигрыша и выигрыша мы сделали, так что, основная часть игры готова. Теперь давайте добавим какую-нибудь фишку — дадим игроку три <a href="Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Жизни">жизни</a>, вместо одной.</p> <p>{{PreviousNext("Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Очки", "Games/Tutorials/Создание_2D_Breakout_игры_на_Phaser/Жизни")}}</p> diff --git a/files/ru/games/tutorials/2d_breakout_game_pure_javascript/bounce_off_the_walls/index.html b/files/ru/games/tutorials/2d_breakout_game_pure_javascript/bounce_off_the_walls/index.html index 1e5796777e..f94fabfb04 100644 --- a/files/ru/games/tutorials/2d_breakout_game_pure_javascript/bounce_off_the_walls/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_pure_javascript/bounce_off_the_walls/index.html @@ -77,7 +77,7 @@ if(y + dy > canvas.height || y + dy < 0) { <h3 id="Мяч_продолжает_исчезать_в_стене!">Мяч продолжает исчезать в стене!</h3> -<p>Проверьте сейчас свой код, и вы будете впечатлены — теперь мяч, отскакивает от всех четерёх краёв нашего <code><canvas></code>! Однако есть некоторая проблема - когда мяч попадает в любую стену, он немного заходит за границы <code><canvas></code> перед отскоком:</p> +<p>Проверьте сейчас свой код, и вы будете впечатлены — теперь мяч, отскакивает от всех четырех краёв нашего <code><canvas></code>! Однако есть некоторая проблема - когда мяч попадает в любую стену, он немного заходит за границы <code><canvas></code> перед отскоком:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/10432/ball-in-wall.png" style="display: block; height: 320px; margin: 0px auto; width: 480px;"></p> @@ -94,7 +94,7 @@ if(y + dy > canvas.height-ballRadius || y + dy < ballRadius) { <h2 id="Сравните_ваш_код">Сравните ваш код</h2> -<p>Давайте еще раз провериим готовый код для этой части, и код, что у вас есть, и играйте:</p> +<p>Давайте еще раз проверим готовый код для этой части, и код, что у вас есть, и играйте:</p> <p>{{JSFiddleEmbed("https://jsfiddle.net/end3r/redj37dc/","","370")}}</p> diff --git a/files/ru/games/tutorials/2d_breakout_game_pure_javascript/create_the_canvas_and_draw_on_it/index.html b/files/ru/games/tutorials/2d_breakout_game_pure_javascript/create_the_canvas_and_draw_on_it/index.html index aa69757156..4e8984d006 100644 --- a/files/ru/games/tutorials/2d_breakout_game_pure_javascript/create_the_canvas_and_draw_on_it/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_pure_javascript/create_the_canvas_and_draw_on_it/index.html @@ -88,7 +88,7 @@ ctx.closePath();</pre> <li>направление отрисовки: (<code>false</code> - по часовой стрелке, по умолчанию, или <code>true</code> - против часовой стрелки). Последний параметр не обязательный.</li> </ul> -<p>Свойство {{domxref("CanvasRenderingContext2D.fillStyle","fillStyle")}} выглядит не так, как прежде. Это потому что, как и в CSS, цвет может быть задан в шестнадцатиричном формате, названием цвета, функцией <code>rgba()</code> , или же любым другим методом для цвета.</p> +<p>Свойство {{domxref("CanvasRenderingContext2D.fillStyle","fillStyle")}} выглядит не так, как прежде. Это потому что, как и в CSS, цвет может быть задан в шестнадцатеричном формате, названием цвета, функцией <code>rgba()</code> , или же любым другим методом для цвета.</p> <p>Вместо {{domxref("CanvasRenderingContext2D.fill()","fill()")}} и заполнения фигур цветом, можно использовать {{domxref("CanvasRenderingContext2D.stroke()","stroke()")}}, чтобы окрасить только внешнюю обводку фигуры. Попробуйте добавить этот код к Вашему коду JavaScript:</p> diff --git a/files/ru/games/tutorials/2d_breakout_game_pure_javascript/game_over/index.html b/files/ru/games/tutorials/2d_breakout_game_pure_javascript/game_over/index.html index bb944fae5d..37ed140976 100644 --- a/files/ru/games/tutorials/2d_breakout_game_pure_javascript/game_over/index.html +++ b/files/ru/games/tutorials/2d_breakout_game_pure_javascript/game_over/index.html @@ -32,7 +32,7 @@ if(y + dy > canvas.height-ballRadius || y + dy < ballRadius) { dy = -dy; }</pre> -<p>Вместо того, чтобы позволить шару отталкиваться от всех четырех стен, давайте позволим отталкиваться только от трех стен — левую, верхнюю и правую. Удар об нижнюю стенку закончит игру. Мы отредактируем второй блок if, таким образом, что if else вызовит "Конец Игры" , когда шар столкнется с нижней стенкой холста. Сохраните документ, взгляните на выводящееся сообщение перезагрузите игру путем презагрузки страницы.</p> +<p>Вместо того, чтобы позволить шару отталкиваться от всех четырех стен, давайте позволим отталкиваться только от трех стен — левую, верхнюю и правую. Удар об нижнюю стенку закончит игру. Мы отредактируем второй блок if, таким образом, что if else вызовет "Конец Игры" , когда шар столкнется с нижней стенкой холста. Сохраните документ, взгляните на выводящееся сообщение перезагрузите игру путем перезагрузки страницы.</p> <p>Во-первых, измените код, где вы изначально вызывали <code>setInterval()</code></p> @@ -62,7 +62,7 @@ if(y + dy > canvas.height-ballRadius || y + dy < ballRadius) { <h2 id="Отбить_шар">Отбить шар</h2> -<p>Последняя вещь, которую нyжно сделать на этом уроке состоит в том, чтобы создать некоторое обнаружение столкновений между шаром и битой, таким образом, шар оттолкнется от биты и возвратиться в область игры. Самая простая вещь состоит в том, чтобы проверить, является ли центр шара между левыми и правыми краями биты. Обновите последний бит кода, который Вы изменили:</p> +<p>Последняя вещь, которую нужно сделать на этом уроке состоит в том, чтобы создать некоторое обнаружение столкновений между шаром и битой, таким образом, шар оттолкнется от биты и возвратиться в область игры. Самая простая вещь состоит в том, чтобы проверить, является ли центр шара между левыми и правыми краями биты. Обновите последний бит кода, который Вы изменили:</p> <pre class="brush: js">if(y + dy < ballRadius) { dy = -dy; @@ -76,7 +76,7 @@ if(y + dy > canvas.height-ballRadius || y + dy < ballRadius) { } }</pre> -<p>Если мяч направляется к нижнему краю Canvas, мы должны проверить, касается ли он биты. Если да, то шар возвращается прочь точно так же, как Вы ожидали бы; если не тогда игра заканчивется.</p> +<p>Если мяч направляется к нижнему краю Canvas, мы должны проверить, касается ли он биты. Если да, то шар возвращается прочь точно так же, как Вы ожидали бы; если не тогда игра заканчивается.</p> <h2 id="Сравните_свой_код">Сравните свой код</h2> diff --git a/files/ru/glossary/accessibility_tree/index.html b/files/ru/glossary/accessibility_tree/index.html index 31876c8603..7c91fe5077 100644 --- a/files/ru/glossary/accessibility_tree/index.html +++ b/files/ru/glossary/accessibility_tree/index.html @@ -9,13 +9,13 @@ translation_of: Glossary/Accessibility_tree --- <p><span class="seoSummary"><strong>Accessibility Tree</strong> <em>(AOM, Accessibility Object Model) </em>или <strong>Дерево специальных возможностей </strong><em>(Объектная Модель Доступа)</em> содержит информацию для большинства HTML-элементов, связанную с {{Glossary("Accessibility")}}.</span></p> -<p>Браузеры преобразуют разметку во внутреннее представление, называемого<a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/Document_object_model/How_to_create_a_DOM_tree"> <em>DOM tree </em></a>(<strong>Объектная Модель Документа</strong>). DOM-дерево содержит объекты для всех эдементов разметки, атрибутов, текстовых узлов. После этого браузеры создают дерево специальных возможностей, на основе DOM-дерева, которое используется платформозависимыми Accessibility API для вспомогательных технологий, как считыватели экранов.</p> +<p>Браузеры преобразуют разметку во внутреннее представление, называемого<a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/Document_object_model/How_to_create_a_DOM_tree"> <em>DOM tree </em></a>(<strong>Объектная Модель Документа</strong>). DOM-дерево содержит объекты для всех элементов разметки, атрибутов, текстовых узлов. После этого браузеры создают дерево специальных возможностей, на основе DOM-дерева, которое используется платформозависимыми Accessibility API для вспомогательных технологий, как считыватели экранов.</p> <p>Всего 4 пункта в объекте дерева специальных возможностей:</p> <dl> <dt><strong>name</strong></dt> - <dd>Как можно обратиться к нему? Например, ссылка с текстом "Подробнее" будет иметь <strong>name </strong>"Подробнее" (больше о том, как присваиваются имена в <a href="https://www.w3.org/TR/accname-1.1/">Cпецификации Вычисления Доступных Имен и Описаний</a>).</dd> + <dd>Как можно обратиться к нему? Например, ссылка с текстом "Подробнее" будет иметь <strong>name </strong>"Подробнее" (больше о том, как присваиваются имена в <a href="https://www.w3.org/TR/accname-1.1/">Спецификации Вычисления Доступных Имен и Описаний</a>).</dd> <dt><strong>description</strong></dt> <dd>Как мы описываем элемент, если хотим добавить что-нибудь к <strong>name</strong>? Описание таблицы может объяснить, какого рода информация, хранящаяся в ней.</dd> <dt><strong>role</strong></dt> diff --git a/files/ru/glossary/adobe_flash/index.html b/files/ru/glossary/adobe_flash/index.html index d9b241ab93..fe1e10707e 100644 --- a/files/ru/glossary/adobe_flash/index.html +++ b/files/ru/glossary/adobe_flash/index.html @@ -9,7 +9,7 @@ tags: translation_of: Glossary/Adobe_Flash original_slug: Словарь/Adobe-Flash --- -<p id="Summary"><strong>Adobe Flash</strong>, Flash - устаревшая технология, разработанная Adobe, благодаря которой стали возможными {{Interwiki("wikipedia", "Rich Internet Application", "RIA")}} (Rich Internet Application), векторная графика и мультимедия. Для использования Flash необходимо установить соответствующий плагин в ваш {{Glossary("Browser","браузер")}}.</p> +<p id="Summary"><strong>Adobe Flash</strong>, Flash - устаревшая технология, разработанная Adobe, благодаря которой стали возможными {{Interwiki("wikipedia", "Rich Internet Application", "RIA")}} (Rich Internet Application), векторная графика и мультимедиа. Для использования Flash необходимо установить соответствующий плагин в ваш {{Glossary("Browser","браузер")}}.</p> <h2 id="См._также">См. также</h2> diff --git a/files/ru/glossary/array/index.html b/files/ru/glossary/array/index.html index ceeeb06fb1..7118101680 100644 --- a/files/ru/glossary/array/index.html +++ b/files/ru/glossary/array/index.html @@ -1,5 +1,5 @@ --- -title: Maccив +title: Массив slug: Glossary/array tags: - JavaScript diff --git a/files/ru/glossary/bandwidth/index.html b/files/ru/glossary/bandwidth/index.html index 63d30b2a49..7dc89fcba7 100644 --- a/files/ru/glossary/bandwidth/index.html +++ b/files/ru/glossary/bandwidth/index.html @@ -7,7 +7,7 @@ tags: translation_of: Glossary/Bandwidth original_slug: Словарь/Bandwidth --- -<p><span style="color: #252525; font-family: sans-serif; line-height: 22.3999996185303px;">Пропускная способность (скорость передачи данных) - мера количества информции, которая может быть передана по каналу связи за заданный промежуток времени. Обычно измеряется в величинах, кратных битам в секунду (бит/с), например в мегабитах (Мбит/с) или гигабитах (Гбит/с) в секунду.</span></p> +<p><span style="color: #252525; font-family: sans-serif; line-height: 22.3999996185303px;">Пропускная способность (скорость передачи данных) - мера количества информации, которая может быть передана по каналу связи за заданный промежуток времени. Обычно измеряется в величинах, кратных битам в секунду (бит/с), например в мегабитах (Мбит/с) или гигабитах (Гбит/с) в секунду.</span></p> <h2 id="Узнать_больше">Узнать больше</h2> diff --git a/files/ru/glossary/base64/index.html b/files/ru/glossary/base64/index.html index 248dcbbf87..bfcb961e11 100644 --- a/files/ru/glossary/base64/index.html +++ b/files/ru/glossary/base64/index.html @@ -4,7 +4,7 @@ slug: Glossary/Base64 translation_of: Glossary/Base64 original_slug: Web/API/WindowBase64/Base64_encoding_and_decoding --- -<p><strong>Base64</strong> - это группа cхожих <a href="https://en.wikipedia.org/wiki/Binary-to-text_encoding">binary-to-text encoding</a> схем, которые представляют двоичные данные в ASCII-формате методом перевода в radix-64 представление. Термин <em>Base64</em> происходит от a specific <a href="https://en.wikipedia.org/wiki/MIME#Content-Transfer-Encoding">MIME content transfer encoding</a>.</p> +<p><strong>Base64</strong> - это группа схожих <a href="https://en.wikipedia.org/wiki/Binary-to-text_encoding">binary-to-text encoding</a> схем, которые представляют двоичные данные в ASCII-формате методом перевода в radix-64 представление. Термин <em>Base64</em> происходит от a specific <a href="https://en.wikipedia.org/wiki/MIME#Content-Transfer-Encoding">MIME content transfer encoding</a>.</p> <p>Кодирование Base64 широко используется в случаях, когда требуется перекодировать двоичные данные для передачи по каналу приспособленному для передачи текстовых данных. Это делается с целью защиты двоичных данных от любых возможных повреждений при передаче. Base64 широко используется во многих приложениях, включая электронную почту (<a href="https://en.wikipedia.org/wiki/MIME">MIME</a>), и при сохранении больших объёмов данных в <a href="/en-US/docs/XML">XML</a>.</p> diff --git a/files/ru/glossary/baseline/index.html b/files/ru/glossary/baseline/index.html index d17f1c57e1..23db6e40c5 100644 --- a/files/ru/glossary/baseline/index.html +++ b/files/ru/glossary/baseline/index.html @@ -14,7 +14,7 @@ original_slug: Словарь/baseline <p>Потомки символов типа g и p простираются ниже этой строки. {{Glossary("glyph", "Глифы")}} с закругленными нижними и верхними окончаниями типа C или 3 слегка простираются под ним.</p> -<p>Восточно-азиатские шрифты не имеют исходной линии. Их глифы помещаются в квадратную коробку без восходов и нисходов.</p> +<p>Восточно-азиатские шрифты не имеют исходной линии. Их глифы помещаются в квадратную коробку без восходов и исходов.</p> <h2 id="См._также">См. также</h2> diff --git a/files/ru/glossary/block/css/index.html b/files/ru/glossary/block/css/index.html index 8df144508e..21e70fd2aa 100644 --- a/files/ru/glossary/block/css/index.html +++ b/files/ru/glossary/block/css/index.html @@ -8,7 +8,7 @@ tags: - Дизайн translation_of: Glossary/Block/CSS --- -<p><strong>Блок</strong> на Веб-странице это {{glossary("HTML")}} {{glossary("element")}}, который начинается с новой строки, т.е. под предыдущим элементом и над следующим (обычно назвается <em>блочным элементом</em>). Например, {{htmlelement("p")}} по умолчанию блочный элемент, в то время как {{htmlelement("a")}} <span class="st">— <em>строчной элемент</em>: можно разместить несколько ссылок (одну за другой) в вашем HTML-сорсе и они все будут выводиться на одной и той же строке.</span></p> +<p><strong>Блок</strong> на Веб-странице это {{glossary("HTML")}} {{glossary("element")}}, который начинается с новой строки, т.е. под предыдущим элементом и над следующим (обычно называется <em>блочным элементом</em>). Например, {{htmlelement("p")}} по умолчанию блочный элемент, в то время как {{htmlelement("a")}} <span class="st">— <em>строчной элемент</em>: можно разместить несколько ссылок (одну за другой) в вашем HTML-сорсе и они все будут выводиться на одной и той же строке.</span></p> <p>Используя свойство {{cssxref("display")}} можно указать, будет элемент строчным или блочным (помимо других вариантов); на <strong>блоки</strong> также влияют схемы позиционирования и использование свойства {{cssxref("position")}}.</p> diff --git a/files/ru/glossary/cache/index.html b/files/ru/glossary/cache/index.html index 8709a68a75..872cdb76eb 100644 --- a/files/ru/glossary/cache/index.html +++ b/files/ru/glossary/cache/index.html @@ -4,7 +4,7 @@ slug: Glossary/Cache translation_of: Glossary/Cache original_slug: Словарь/Кэш --- -<p><strong>Кэш </strong>(веб кэш или HTTP кэш) это компонент, который временно сохраняет HTTP ответы от сервера для того, чтобы их затем можно было использовать в последующих HTTP запросах, до тех пор пока он удовлетовяет некоторым условиям. </p> +<p><strong>Кэш </strong>(веб кэш или HTTP кэш) это компонент, который временно сохраняет HTTP ответы от сервера для того, чтобы их затем можно было использовать в последующих HTTP запросах, до тех пор пока он удовлетворяет некоторым условиям. </p> <h2 id="Learn_More">Learn More</h2> diff --git a/files/ru/glossary/cacheable/index.html b/files/ru/glossary/cacheable/index.html index 9ad921c7a2..2bb6eed6a5 100644 --- a/files/ru/glossary/cacheable/index.html +++ b/files/ru/glossary/cacheable/index.html @@ -7,17 +7,17 @@ tags: translation_of: Glossary/cacheable original_slug: Словарь/cacheable --- -<p><strong>Кэшируемые</strong> ответы - это HTTP-ответы, которые могут быть закэшированы, то есть сохранены для дальнейшего восстановления и использования позже, тем самым снижая число запросов к серверу. Не все HTTP-ответы могут быть закэшированы. Вот несколько ограничений:</p> +<p><strong>Кэшируемые</strong> ответы - это HTTP-ответы, которые могут быть закешированы, то есть сохранены для дальнейшего восстановления и использования позже, тем самым снижая число запросов к серверу. Не все HTTP-ответы могут быть закешированы. Вот несколько ограничений:</p> <ul> - <li>Метод, используемый в запросе, кэшируемый, если это {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}}. Ответ для {{HTTPMethod("POST")}} или {{HTTPMethod("PATCH")}} запросов может также быть закэширован, если указан признак "свежести" данных и установлен заголовок {{HTTPHeader("Content-Location")}}, но это редко реализуется. (Например, Firefox не поддерживает это согласно https://bugzilla.mozilla.org/show_bug.cgi?id=109553.) Другие методы, такие как {{HTTPMethod("PUT")}} и {{HTTPMethod("DELETE")}} не кэшируемые, и результат их выполнения не кэшируется.</li> + <li>Метод, используемый в запросе, кэшируемый, если это {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}}. Ответ для {{HTTPMethod("POST")}} или {{HTTPMethod("PATCH")}} запросов может также быть закеширован, если указан признак "свежести" данных и установлен заголовок {{HTTPHeader("Content-Location")}}, но это редко реализуется. (Например, Firefox не поддерживает это согласно https://bugzilla.mozilla.org/show_bug.cgi?id=109553.) Другие методы, такие как {{HTTPMethod("PUT")}} и {{HTTPMethod("DELETE")}} не кэшируемые, и результат их выполнения не кэшируется.</li> <li>Коды ответа, известные системе кэширования, которые рассматриваются как кэшируемые: {{HTTPStatus("200")}}, {{HTTPStatus("203")}}, {{HTTPStatus("204")}}, {{HTTPStatus("206")}}, {{HTTPStatus("300")}}, {{HTTPStatus("301")}}, {{HTTPStatus("404")}}, {{HTTPStatus("405")}}, {{HTTPStatus("410")}}, {{HTTPStatus("414")}}, {{HTTPStatus("501")}}.</li> <li>Отсутствуют специальные заголовки в ответе, которые предотвращают кэширование: например, {{HTTPHeader("Cache-Control")}}.</li> </ul> -<p>Обратите внимание, что некоторые некэшируемые запросы-ответы к определённым URI могут сделать недействительным (инвалидируют) предыдущие закэшированные ответы на тех же URI. Например, {{HTTPMethod("PUT")}} к странице pageX.html инвалидируют все закэшированные ответы {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}} запросов к этой странице.</p> +<p>Обратите внимание, что некоторые некэшируемые запросы-ответы к определённым URI могут сделать недействительным (инвалидируют) предыдущие закешированные ответы на тех же URI. Например, {{HTTPMethod("PUT")}} к странице pageX.html инвалидируют все закешированные ответы {{HTTPMethod("GET")}} или {{HTTPMethod("HEAD")}} запросов к этой странице.</p> -<p>Когда и метод запроса и статус ответа кэшированы, то ответ к запросу тоже может быть закэширован:</p> +<p>Когда и метод запроса и статус ответа кэшированы, то ответ к запросу тоже может быть закеширован:</p> <pre>GET /pageX.html HTTP/1.1 (…) @@ -26,7 +26,7 @@ original_slug: Словарь/cacheable (…) </pre> -<p>Запрос {{HTTPMethod("PUT")}} не может быть закэширован. Более того, он инвалидирует закэшированные данные запросов к тому же URI, сделанных через {{HTTPMethod("HEAD")}} или {{HTTPMethod("GET")}}:</p> +<p>Запрос {{HTTPMethod("PUT")}} не может быть закеширован. Более того, он инвалидирует закешированные данные запросов к тому же URI, сделанных через {{HTTPMethod("HEAD")}} или {{HTTPMethod("GET")}}:</p> <pre>PUT /pageX.html HTTP/1.1 (…) diff --git a/files/ru/glossary/call_stack/index.html b/files/ru/glossary/call_stack/index.html index 5577bb5cae..ff72d782ef 100644 --- a/files/ru/glossary/call_stack/index.html +++ b/files/ru/glossary/call_stack/index.html @@ -11,7 +11,7 @@ original_slug: Словарь/Call_stack <ul> <li>Когда скрипт вызывает функцию, интерпретатор добавляет ее в стек вызовов и потом начинает ее обработку.</li> <li>Любые функции, вызванные этой функцией, добавляются в стек вызовов и выполняются, как только происходит их вызов. </li> - <li>Когда выполнение основной функции завершено, интрепретатор снимает ее со стека вызовов и возобновляет выполнение кода в списке основного кода с той точки, где остановился до этого.</li> + <li>Когда выполнение основной функции завершено, интерпретатор снимает ее со стека вызовов и возобновляет выполнение кода в списке основного кода с той точки, где остановился до этого.</li> <li>Если стек занимает больше места, чем ему было присвоено, это приводит к ошибке переполнения стека ("stack overflow" error).</li> </ul> diff --git a/files/ru/glossary/callback_function/index.html b/files/ru/glossary/callback_function/index.html index 1c9118e4b5..b490cf663f 100644 --- a/files/ru/glossary/callback_function/index.html +++ b/files/ru/glossary/callback_function/index.html @@ -58,7 +58,7 @@ navigator.geolocation.getCurrentPosition(function(position) { }); </pre> -<p>Поскольку получение координат устройства из его GPS является асинхронным (мы точно не знаем, когда данные будут возвращены), метод <code>Geolocation.getCurrentPosition()</code> принимает анонимную функцию обратного вызова в качестве параметра, которая получает найденые данные координат. Эта функция выполняется только по возвращению данных координат.</p> +<p>Поскольку получение координат устройства из его GPS является асинхронным (мы точно не знаем, когда данные будут возвращены), метод <code>Geolocation.getCurrentPosition()</code> принимает анонимную функцию обратного вызова в качестве параметра, которая получает найденные данные координат. Эта функция выполняется только по возвращению данных координат.</p> <h2 id="Больше_информации"><strong>Больше информации</strong></h2> @@ -66,6 +66,6 @@ navigator.geolocation.getCurrentPosition(function(position) { <ul> <li><a href="https://en.wikipedia.org/wiki/Callback_(computer_programming)">Сallback на Wikipedia</a></li> - <li><a href="https://learn.javascript.ru/custom-events">Коллбэки и события на компонентах</a></li> + <li><a href="https://learn.javascript.ru/custom-events">Колбэки и события на компонентах</a></li> <li><a href="http://callbackhell.ru/">Ад обратных вызовов</a></li> </ul> diff --git a/files/ru/glossary/card_sorting/index.html b/files/ru/glossary/card_sorting/index.html index a61cdfce24..e240f8878b 100644 --- a/files/ru/glossary/card_sorting/index.html +++ b/files/ru/glossary/card_sorting/index.html @@ -14,5 +14,5 @@ original_slug: Словарь/Card_sorting <h3 id="Общие_знания"><strong>Общие знания</strong></h3> <ul> - <li><a href="https://en.wikipedia.org/wiki/Card_sorting">Card sorting</a> на Википедии (англ)</li> + <li><a href="https://en.wikipedia.org/wiki/Card_sorting">Card sorting</a> на Википедии (англ.)</li> </ul> diff --git a/files/ru/glossary/character/index.html b/files/ru/glossary/character/index.html index afa4a80970..f1eccc719e 100644 --- a/files/ru/glossary/character/index.html +++ b/files/ru/glossary/character/index.html @@ -6,7 +6,7 @@ tags: translation_of: Glossary/Character original_slug: Словарь/Character --- -<p><strong>Символ</strong> (англ. <strong>Character</strong> или <strong>Symbol</strong>) - буква, цифра, знак препинания, непечатаемый символ (например возврат коретки). {{glossary("UTF-8")}} - самый распространенный стандарт кодировки символов, содержащий большое количество графем популярных языков людей.</p> +<p><strong>Символ</strong> (англ. <strong>Character</strong> или <strong>Symbol</strong>) - буква, цифра, знак препинания, непечатаемый символ (например возврат каретки). {{glossary("UTF-8")}} - самый распространенный стандарт кодировки символов, содержащий большое количество графем популярных языков людей.</p> <h2 id="Узнайте_больше">Узнайте больше</h2> diff --git a/files/ru/glossary/class/index.html b/files/ru/glossary/class/index.html index efc434cf67..e4b17db1ba 100644 --- a/files/ru/glossary/class/index.html +++ b/files/ru/glossary/class/index.html @@ -8,7 +8,7 @@ tags: translation_of: Glossary/Class original_slug: Словарь/Class --- -<p>В ООП класс определяет характеристи объекта. Класс - это шаблон, в котором описываются свойства и методы будущего объекта. Класс - своего рода чертёж по которому будет реализовываться конкретный объект.</p> +<p>В ООП класс определяет характеристик объекта. Класс - это шаблон, в котором описываются свойства и методы будущего объекта. Класс - своего рода чертёж по которому будет реализовываться конкретный объект.</p> <p>В {{glossary("OOP","объектно-ориентированном программировании")}} класс описывает характеристики {{glossary("object","объекта")}}. Класс описывает {{glossary("property","свойства")}} и {{glossary("method","методы")}} объекта. Он является шаблоном, с которого срисовываются конкретные экземпляры объектов.</p> diff --git a/files/ru/glossary/constant/index.html b/files/ru/glossary/constant/index.html index f49d2fb027..19aa6767c2 100644 --- a/files/ru/glossary/constant/index.html +++ b/files/ru/glossary/constant/index.html @@ -9,7 +9,7 @@ original_slug: Словарь/Константа --- <p>Константа хранит значение, которое программист не хочет изменять, например числа(1, 2, 42). С другой стороны, у {{glossary("variable","переменных")}} программист может установить новое {{glossary("value","значение")}} к переменной, имя которой уже используется.</p> -<p>Как и переменные, константы привязываются к индентификаторам(именам). Например, индентификатор <code>pi</code> может быть привязан к значению 3.14… .</p> +<p>Как и переменные, константы привязываются к идентификаторам(именам). Например, идентификатор <code>pi</code> может быть привязан к значению 3.14… .</p> <h2 id="Узнайте_больше">Узнайте больше</h2> diff --git a/files/ru/glossary/constructor/index.html b/files/ru/glossary/constructor/index.html index 95653d5006..643b3a6c8e 100644 --- a/files/ru/glossary/constructor/index.html +++ b/files/ru/glossary/constructor/index.html @@ -6,7 +6,7 @@ tags: translation_of: Glossary/Constructor original_slug: Словарь/Constructor --- -<p><strong>Конструктор</strong> принадлежит к определенному классу {{glossary("object")}}, который создается. Конструктор инициализирует этот объект и может предоставлять доступ к его личной информации. Концепция конструкутора может быть применена к большинству {{glossary("OOP","object-oriented programming")}} языков. По существу, конструктор в {{glossary("JavaScript")}} обычно объявляется в экземпляре {{glossary("class")}}.</p> +<p><strong>Конструктор</strong> принадлежит к определенному классу {{glossary("object")}}, который создается. Конструктор инициализирует этот объект и может предоставлять доступ к его личной информации. Концепция конструктора может быть применена к большинству {{glossary("OOP","object-oriented programming")}} языков. По существу, конструктор в {{glossary("JavaScript")}} обычно объявляется в экземпляре {{glossary("class")}}.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/glossary/csrf/index.html b/files/ru/glossary/csrf/index.html index 3cec7a3aec..c6776098da 100644 --- a/files/ru/glossary/csrf/index.html +++ b/files/ru/glossary/csrf/index.html @@ -4,7 +4,7 @@ slug: Glossary/CSRF translation_of: Glossary/CSRF original_slug: Словарь/CSRF --- -<p><strong>CSRF</strong> (Cross-Site Request Forgery, рус. "Межсайтовая подделка запроса") - вид атаки, при которой вражеский сайт выдает себя за доверенного пользователя и отсылает на сайт нежелательные комманды. Это может быть сделано, к примеру, с помощью отправки параметров в {{glossary("URL")}} в конце ссылки с целью перехода куда-либо в другое место.</p> +<p><strong>CSRF</strong> (Cross-Site Request Forgery, рус. "Межсайтовая подделка запроса") - вид атаки, при которой вражеский сайт выдает себя за доверенного пользователя и отсылает на сайт нежелательные команды. Это может быть сделано, к примеру, с помощью отправки параметров в {{glossary("URL")}} в конце ссылки с целью перехода куда-либо в другое место.</p> <h2 id="Learn_more">Learn more</h2> diff --git a/files/ru/glossary/data_structure/index.html b/files/ru/glossary/data_structure/index.html index a4780e1a34..57e5660dd4 100644 --- a/files/ru/glossary/data_structure/index.html +++ b/files/ru/glossary/data_structure/index.html @@ -1,5 +1,5 @@ --- -title: Cтруктура данных +title: Структура данных slug: Glossary/Data_structure tags: - Data structure @@ -7,7 +7,7 @@ tags: translation_of: Glossary/Data_structure original_slug: Словарь/data_structure --- -<p><strong>Cтруктура данных</strong> (data structure) — способ представления множества данных как связного целого, имеющего определённый программный интерфейс (методы доступа и манипулирования над элементами этих данных).</p> +<p><strong>Структура данных</strong> (data structure) — способ представления множества данных как связного целого, имеющего определённый программный интерфейс (методы доступа и манипулирования над элементами этих данных).</p> <h5 id="Learn_more"><strong>Learn more</strong></h5> diff --git a/files/ru/glossary/decryption/index.html b/files/ru/glossary/decryption/index.html index e26e24df39..2e8da37c07 100644 --- a/files/ru/glossary/decryption/index.html +++ b/files/ru/glossary/decryption/index.html @@ -6,7 +6,7 @@ original_slug: Словарь/Дешифрование --- <p>В {{glossary("cryptography")}}, <strong>дешифрование</strong><strong> </strong>это конвертация {{glossary("ciphertext")}} в {{glossary("cleartext")}}.</p> -<p>Расшифровка это криптографическая основа: это трансформация кодированного текста в простой текст при помощи криптографического алгоритма под названием {{glossary("cipher")}}. Шифрование, как и дешифрование в современных способах кодирования осуществляется благодаря определенному алгоритму и секретному элементу: {{glossary("key")}}. Если алгоритм обычно доступен публично, то по соображениям безопасности, ключ должен оставатся в тайне.</p> +<p>Расшифровка это криптографическая основа: это трансформация кодированного текста в простой текст при помощи криптографического алгоритма под названием {{glossary("cipher")}}. Шифрование, как и дешифрование в современных способах кодирования осуществляется благодаря определенному алгоритму и секретному элементу: {{glossary("key")}}. Если алгоритм обычно доступен публично, то по соображениям безопасности, ключ должен оставаться в тайне.</p> <p> </p> diff --git a/files/ru/glossary/dns/index.html b/files/ru/glossary/dns/index.html index af58b83d0a..ce117eb69f 100644 --- a/files/ru/glossary/dns/index.html +++ b/files/ru/glossary/dns/index.html @@ -9,9 +9,9 @@ tags: translation_of: Glossary/DNS original_slug: Словарь/DNS --- -<p><span class="seoSummary"><strong>DNS</strong> (<em>Система доменных имён</em>, англ. <strong>Domain Name System</strong>) — это иерахическая децентрализованная система именования для интернет-ресурсов подключённых к Интернет</span>, которая ведёт список {{glossary("domain name","доменных имён")}} вместе с их числовыми {{Glossary("IP address","IP-адресами")}} или местонахождениями. DNS позволяет перевести простое запоминаемое {{Glossary("hostname","имя хоста")}} в IP-адрес. <strong>DNS lookup</strong> (Поиск DNS) — это процесс с помощью которого от DNS-сервер возвращается DNS запись, необходимая для нахождения конкретного компьютерного сервиса в {{Glossary("Internet","Интернет")}} или частной сети.</p> +<p><span class="seoSummary"><strong>DNS</strong> (<em>Система доменных имён</em>, англ. <strong>Domain Name System</strong>) — это иерархическая децентрализованная система именования для интернет-ресурсов подключённых к Интернет</span>, которая ведёт список {{glossary("domain name","доменных имён")}} вместе с их числовыми {{Glossary("IP address","IP-адресами")}} или местонахождениями. DNS позволяет перевести простое запоминаемое {{Glossary("hostname","имя хоста")}} в IP-адрес. <strong>DNS lookup</strong> (Поиск DNS) — это процесс с помощью которого от DNS-сервер возвращается DNS запись, необходимая для нахождения конкретного компьютерного сервиса в {{Glossary("Internet","Интернет")}} или частной сети.</p> -<p>Взаимосвязанные компьютеры, сервера и смартфоны должны знать как преобразовать email адреса и доменные имена, которые используют люди, в значимые числовые адреса. Эту фукнцию выполняет DNS lookup.</p> +<p>Взаимосвязанные компьютеры, сервера и смартфоны должны знать как преобразовать email адреса и доменные имена, которые используют люди, в значимые числовые адреса. Эту функцию выполняет DNS lookup.</p> <p><strong>Reverse DNS lookup</strong> (rDNS, <em>обратный просмотр DNS</em>) — это метод запроса к DNS для определения доменного имени по его IP-адресу.</p> diff --git a/files/ru/glossary/ecma/index.html b/files/ru/glossary/ecma/index.html index cc8fbdf023..69aa20059e 100644 --- a/files/ru/glossary/ecma/index.html +++ b/files/ru/glossary/ecma/index.html @@ -8,7 +8,7 @@ original_slug: Словарь/ECMA <p><strong>Ecma International, </strong>ранее известная как European Computers Manufactures Association (Европейская Ассоциация Производителей Компьютеров) — некоммерческая организация, утверждающая и развивающая стандарты в областях аппаратного обеспечения компьютеров, коммуникационных технологий и языков программирования.</p> -<p>В интернете она прежде всего известна, как организация, утвердившая <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">спецификацию ECMA-262</a> (она же {{Glossary("ECMAScript")}}), являющуюсяся основной спецификацией языка {{Glossary("JavaScript")}}.</p> +<p>В интернете она прежде всего известна, как организация, утвердившая <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">спецификацию ECMA-262</a> (она же {{Glossary("ECMAScript")}}), являющуюся основной спецификацией языка {{Glossary("JavaScript")}}.</p> <h2 id="Узнать_больше">Узнать больше</h2> diff --git a/files/ru/glossary/encapsulation/index.html b/files/ru/glossary/encapsulation/index.html index d316b75253..07d2b98deb 100644 --- a/files/ru/glossary/encapsulation/index.html +++ b/files/ru/glossary/encapsulation/index.html @@ -7,7 +7,7 @@ tags: translation_of: Glossary/Encapsulation original_slug: Словарь/Encapsulation --- -<p><span class="tlid-translation translation" lang="ru"><span title="">Инкапсуляция - это упаковка данных и</span></span> {{glossary("function","functions")}} <span class="tlid-translation translation" lang="ru"><span title="">в один компонент</span></span> (<span class="tlid-translation translation" lang="ru"><span title="">например</span></span>, {{glossary("class")}}) и последующий контроль доступа к этому компоненту, создавая тем самым "черный ящик" из {{glossary("object")}}. По этой причине, <span class="tlid-translation translation" lang="ru"><span title="">пользователю </span></span>необходмо знать только интерфейс этого класса (<span class="tlid-translation translation" lang="ru"><span title="">то есть данные и функции, предоставляемые для взаимодействия с классом</span></span> извне), а не то, как он реализован внутри.</p> +<p><span class="tlid-translation translation" lang="ru"><span title="">Инкапсуляция - это упаковка данных и</span></span> {{glossary("function","functions")}} <span class="tlid-translation translation" lang="ru"><span title="">в один компонент</span></span> (<span class="tlid-translation translation" lang="ru"><span title="">например</span></span>, {{glossary("class")}}) и последующий контроль доступа к этому компоненту, создавая тем самым "черный ящик" из {{glossary("object")}}. По этой причине, <span class="tlid-translation translation" lang="ru"><span title="">пользователю </span></span>необходимо знать только интерфейс этого класса (<span class="tlid-translation translation" lang="ru"><span title="">то есть данные и функции, предоставляемые для взаимодействия с классом</span></span> извне), а не то, как он реализован внутри.</p> <h2 id="Изучить_больше">Изучить больше</h2> diff --git a/files/ru/glossary/entity/index.html b/files/ru/glossary/entity/index.html index 1315632125..52c5c687de 100644 --- a/files/ru/glossary/entity/index.html +++ b/files/ru/glossary/entity/index.html @@ -7,7 +7,7 @@ tags: translation_of: Glossary/Entity original_slug: Словарь/Сущности --- -<p><span class="seoSummary"><strong>{{glossary("HTML")}}-сущности</strong> — это части текста ("cтроки"), которые начинаются с символа амперсанда (<code>&</code>) и заканчиваются точкой с запятой (<code>;</code>). Сущности чаще всего используются для представления специальных символов (которые могут быть восприняты как часть HTML-кода) или невидимых символов (таких как неразрывный пробел). Также вы можете использовать их вместо символов, печать которых с обычной клавиатуры труднодоступна. </span></p> +<p><span class="seoSummary"><strong>{{glossary("HTML")}}-сущности</strong> — это части текста ("строки"), которые начинаются с символа амперсанда (<code>&</code>) и заканчиваются точкой с запятой (<code>;</code>). Сущности чаще всего используются для представления специальных символов (которые могут быть восприняты как часть HTML-кода) или невидимых символов (таких как неразрывный пробел). Также вы можете использовать их вместо символов, печать которых с обычной клавиатуры труднодоступна. </span></p> <div class="note"> <p>Многие символы имеют запоминающиеся сущности (мнемоники). Например для символа копирайта (<code>©</code>) мнемоникой будет <code>&copy;</code>. Для менее запоминающихся сущностей, таких как <code>&#8212;</code> или <code>&#x2014;</code> вы можете воспользоваться <a href="https://dev.w3.org/html5/html-author/charref">таблицей символов</a> или <a href="https://mothereff.in/html-entities">инструментом перекодирования</a>.</p> @@ -23,7 +23,7 @@ original_slug: Словарь/Сущности <thead> <tr> <th scope="col">Символ</th> - <th scope="col">Сушность</th> + <th scope="col">Сущность</th> <th scope="col">Примечание</th> </tr> </thead> diff --git a/files/ru/glossary/first_input_delay/index.html b/files/ru/glossary/first_input_delay/index.html index ccd6602f51..17350a5421 100644 --- a/files/ru/glossary/first_input_delay/index.html +++ b/files/ru/glossary/first_input_delay/index.html @@ -4,7 +4,7 @@ slug: Glossary/First_input_delay translation_of: Glossary/First_input_delay original_slug: Словарь/First_input_delay --- -<p><strong>Задержка первого ввода</strong> (англ. First input delay, FID) - одна из метрик производительности веб-страниц, которая описывает время, которое прошло с момента, когда пользователь впервые начал взаимодействовать с веб-страницей, т.е. нажал на ссылку, кнопку или использует элемент управления на основе JavaScript, до момента, когда веб-браузер может ответить на данное взаимодействие. Таким образом, это промежуток времени в миллисекундах между первым взаимодействием пользователя с веб-страницой и ответом браузера на это взаимодействие. Прокрутка и масштабирование не включены в этот показатель.</p> +<p><strong>Задержка первого ввода</strong> (англ. First input delay, FID) - одна из метрик производительности веб-страниц, которая описывает время, которое прошло с момента, когда пользователь впервые начал взаимодействовать с веб-страницей, т.е. нажал на ссылку, кнопку или использует элемент управления на основе JavaScript, до момента, когда веб-браузер может ответить на данное взаимодействие. Таким образом, это промежуток времени в миллисекундах между первым взаимодействием пользователя с веб-страницей и ответом браузера на это взаимодействие. Прокрутка и масштабирование не включены в этот показатель.</p> <p>Время между моментом, когда содержимое отображается на странице, и моментом, когда все функциональные возможности становятся реагирующими на взаимодействие с человеком, часто варьируется в зависимости от размера и сложности JavaScript, который необходимо загрузить, проанализировать и выполнить в основном потоке. Оно зависит также и от возможности устройства, на котором выполняется JavaScript (подумайте о недорогих мобильных устройствах). Чем дольше задержка, тем хуже пользовательский опыт. Сокращение времени инициализации сайта и устранение <a href="/en-US/docs/Web/API/Long_Tasks_API">долгих задач</a> может помочь устранить первые задержки ввода.</p> diff --git a/files/ru/glossary/flex_item/index.html b/files/ru/glossary/flex_item/index.html index b898d436fe..7c1ccf4f55 100644 --- a/files/ru/glossary/flex_item/index.html +++ b/files/ru/glossary/flex_item/index.html @@ -8,7 +8,7 @@ tags: translation_of: Glossary/Flex_Item original_slug: Словарь/Flex_Item --- -<p>Непосредственые дочерние элементы {{glossary("флекс-контейнера")}} (элемент для которого установлено <code>display: flex</code> или <code>display: inline-flex</code>) становятся <strong>флекс-элементами</strong>.</p> +<p>Непосредственные дочерние элементы {{glossary("флекс-контейнера")}} (элемент для которого установлено <code>display: flex</code> или <code>display: inline-flex</code>) становятся <strong>флекс-элементами</strong>.</p> <p>Непрерывные фрагменты текста внутри флекс-контейнера также становятся флекс-элементами.</p> diff --git a/files/ru/glossary/forbidden_header_name/index.html b/files/ru/glossary/forbidden_header_name/index.html index 5b59577517..5f5ac71144 100644 --- a/files/ru/glossary/forbidden_header_name/index.html +++ b/files/ru/glossary/forbidden_header_name/index.html @@ -41,5 +41,5 @@ original_slug: Словарь/Forbidden_header_name </ul> <div class="note"> -<p><strong>Заметка</strong>: Загловок <code>User-Agent</code> более не запрещён, <a href="https://fetch.spec.whatwg.org/#terminology-headers">как указано в спецификации</a> — посмотрите список запрещённых заголовков (он был реализован в Firefox 43,) так что <code>User-Agent</code> может быть установлен через в объект <a href="/en-US/docs/Web/API/Headers">Headers</a> под Fetch через вызов метода <a href="/en-US/docs/Web/API/XMLHttpRequest#setRequestHeader%28%29">setRequestHeader()</a>.</p> +<p><strong>Заметка</strong>: Заголовок <code>User-Agent</code> более не запрещён, <a href="https://fetch.spec.whatwg.org/#terminology-headers">как указано в спецификации</a> — посмотрите список запрещённых заголовков (он был реализован в Firefox 43,) так что <code>User-Agent</code> может быть установлен через в объект <a href="/en-US/docs/Web/API/Headers">Headers</a> под Fetch через вызов метода <a href="/en-US/docs/Web/API/XMLHttpRequest#setRequestHeader%28%29">setRequestHeader()</a>.</p> </div> diff --git a/files/ru/glossary/git/index.html b/files/ru/glossary/git/index.html index 6da3accb15..5be19f351b 100644 --- a/files/ru/glossary/git/index.html +++ b/files/ru/glossary/git/index.html @@ -7,13 +7,13 @@ tags: translation_of: Glossary/Git original_slug: Словарь/Git --- -<p><strong>Git</strong> — это свободная с открытым исходным кодом распределённая <em>система управления версиями</em> (от англ. Source Code Management ({{Glossary("SCM", "SCM", 1)}}). Она облегчает написание кода с использованием распределенных команд разработчиков. Ее отличие от предшествующих систем управления версиями — способность выполнять общие операции (ветвление, фиксакция изменений, и т.д.) на вашем локальном компьютере, без необходимости изменять главный репозиторий или даже не имея прав на запись в него.</p> +<p><strong>Git</strong> — это свободная с открытым исходным кодом распределённая <em>система управления версиями</em> (от англ. Source Code Management ({{Glossary("SCM", "SCM", 1)}}). Она облегчает написание кода с использованием распределенных команд разработчиков. Ее отличие от предшествующих систем управления версиями — способность выполнять общие операции (ветвление, фиксация изменений, и т.д.) на вашем локальном компьютере, без необходимости изменять главный репозиторий или даже не имея прав на запись в него.</p> <h2 id="Узнать_больше">Узнать больше</h2> <h3 id="Общие_знания">Общие знания</h3> <ul> - <li><a href="http://git-scm.com/">Официальный вебсайт документации</a></li> + <li><a href="http://git-scm.com/">Официальный веб-сайт документации</a></li> <li><a href="https://github.com/">GitHub</a>, графический хостинг для гит проектов</li> </ul> diff --git a/files/ru/glossary/global_object/index.html b/files/ru/glossary/global_object/index.html index 62b03c66ab..0708965ba0 100644 --- a/files/ru/glossary/global_object/index.html +++ b/files/ru/glossary/global_object/index.html @@ -4,19 +4,19 @@ slug: Glossary/Global_object translation_of: Glossary/Global_object original_slug: Словарь/Global_object --- -<p>Глобальный обьект - это {{glossary("object")}}, который всегда существует в {{glossary("global scope")}}.</p> +<p>Глобальный объект - это {{glossary("object")}}, который всегда существует в {{glossary("global scope")}}.</p> -<p>В JavaScript всегда определён глобальный обьект. В веб-браузере, когда скрипты создают глобальные переменные, они создаются как свойства глобального обьекта. (В {{Glossary("Node.js")}} это не так.) {{Glossary("Interface")}} глобального обьекта зависит от контекста, в котором выполняется скрипт.К примеру:</p> +<p>В JavaScript всегда определён глобальный объект. В веб-браузере, когда скрипты создают глобальные переменные, они создаются как свойства глобального объекта. (В {{Glossary("Node.js")}} это не так.) {{Glossary("Interface")}} глобального объекта зависит от контекста, в котором выполняется скрипт.К примеру:</p> <ul> - <li>В веб-браузере любой код, который не запускается скриптом явно как фоновую задачу, имеет {{domxref("Window")}} в качестве своего глобального обьекта. Это покрывает большую часть JavaScript кода в сети.</li> - <li>Код, работающий в {{domxref("Worker")}} имеет {{domxref("WorkerGlobalScope")}} обьект в качестве своего глобального обьекта.</li> - <li>Скрипты, работающие в {{Glossary("Node.js")}} имеют обьект, который называется <code><a href="https://nodejs.org/api/globals.html#globals_global">global</a></code> в качестве своего глобального обьекта.</li> + <li>В веб-браузере любой код, который не запускается скриптом явно как фоновую задачу, имеет {{domxref("Window")}} в качестве своего глобального объекта. Это покрывает большую часть JavaScript кода в сети.</li> + <li>Код, работающий в {{domxref("Worker")}} имеет {{domxref("WorkerGlobalScope")}} объект в качестве своего глобального объекта.</li> + <li>Скрипты, работающие в {{Glossary("Node.js")}} имеют объект, который называется <code><a href="https://nodejs.org/api/globals.html#globals_global">global</a></code> в качестве своего глобального объекта.</li> </ul> -<h2 id="Обьект_window_в_Браузере">Обьект <code>window</code> в Браузере</h2> +<h2 id="Объект_window_в_Браузере">Объект <code>window</code> в Браузере</h2> -<p>Обьект <code>window</code> - Глобальный Обьект в браузере. Доступ к любым Глобальным Переменным или функциям может быть получен как к <em>свойствам</em> обьекта <code>window</code>.</p> +<p>Объект <code>window</code> - Глобальный Объект в браузере. Доступ к любым Глобальным Переменным или функциям может быть получен как к <em>свойствам</em> объекта <code>window</code>.</p> <h3 id="Получение_доступа_к_Глобальным_Переменным">Получение доступа к Глобальным Переменным</h3> @@ -24,11 +24,11 @@ original_slug: Словарь/Global_object foo === window.foo; // Возвращает: true </pre> -<p>После определения Глобальной Переменной <code>foo</code>, мы можем получить доступ к его значению прямо с обьекта <code>window</code>, использую имя переменной <code>foo</code> в качестве имени свойства Глобального Обьекта <code>window</code><code>.foo</code>.</p> +<p>После определения Глобальной Переменной <code>foo</code>, мы можем получить доступ к его значению прямо с объекта <code>window</code>, использую имя переменной <code>foo</code> в качестве имени свойства Глобального Объекта <code>window</code><code>.foo</code>.</p> -<h4 id="Обьяснение">Обьяснение:</h4> +<h4 id="Объяснение">Объяснение:</h4> -<p>Глобальная Переменная <code>foo</code> была сохранена в обьекте <code>window</code>, подобно следующему примеру:</p> +<p>Глобальная Переменная <code>foo</code> была сохранена в объекте <code>window</code>, подобно следующему примеру:</p> <pre class="brush: js">foo: "foobar"</pre> @@ -41,11 +41,11 @@ foo === window.foo; // Возвращает: true window.greeting(); // Тоже самое что и обычный вызов: greeting(); </pre> -<p>Пример выше показывает как Глобальные Функции хранятся в качестве свойств обьекта <code>window</code>. Мы создали Глобальную Функцию <code>greeting<font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;"> и вызвали её с помощью обьекта </span></font></code><code>window</code>.</p> +<p>Пример выше показывает как Глобальные Функции хранятся в качестве свойств объекта <code>window</code>. Мы создали Глобальную Функцию <code>greeting<font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;"> и вызвали её с помощью объекта </span></font></code><code>window</code>.</p> -<h4 id="Обьяснение_2">Обьяснение:</h4> +<h4 id="Объяснение_2">Объяснение:</h4> -<p>Глобальная функция <code>greeting</code> была сохранена в обьекте <code>window</code>, подобно следующему примеру:</p> +<p>Глобальная функция <code>greeting</code> была сохранена в объекте <code>window</code>, подобно следующему примеру:</p> <pre class="brush: js">greeting: function greeting() { console.log("Hi!"); diff --git a/files/ru/glossary/global_variable/index.html b/files/ru/glossary/global_variable/index.html index aff656f793..e93498878e 100644 --- a/files/ru/glossary/global_variable/index.html +++ b/files/ru/glossary/global_variable/index.html @@ -6,7 +6,7 @@ tags: translation_of: Glossary/Global_variable original_slug: Словарь/global_variable --- -<p>Глобальная перменная это переменная, которая была объявлена в глобальной области видимости. Иначе говоря, переменная, доступ к которой, можно получить со всех других областей видимости.</p> +<p>Глобальная переменная это переменная, которая была объявлена в глобальной области видимости. Иначе говоря, переменная, доступ к которой, можно получить со всех других областей видимости.</p> <p>В JavaScript это свойство глобального объекта.</p> diff --git a/files/ru/glossary/grid_column/index.html b/files/ru/glossary/grid_column/index.html index 2432fae416..4df08bc996 100644 --- a/files/ru/glossary/grid_column/index.html +++ b/files/ru/glossary/grid_column/index.html @@ -9,7 +9,7 @@ original_slug: Словарь/Grid_Column --- <p>Столбец сетки (<strong>grid column)</strong> — это вертикальный элемент в <a href="/ru/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout</a>, а также пространство между двумя вертикальными линиями сетки. Он определяется свойством {{cssxref("grid-template-columns")}}, либо в сокращенном виде {{cssxref("grid")}} или {{cssxref("grid-template")}}.</p> -<p>Кроме того, столбцы могут быть созданы в неявном виде (<em>implicit grid), </em>когда элементы расположены за пределами столбцов, созданных в явно-заданной сетке (<em>explicit grid)</em>. Размер этих столбцов будет подобран автомтически, либо задан с помощью свойства {{cssxref("grid-auto-columns")}}.</p> +<p>Кроме того, столбцы могут быть созданы в неявном виде (<em>implicit grid), </em>когда элементы расположены за пределами столбцов, созданных в явно-заданной сетке (<em>explicit grid)</em>. Размер этих столбцов будет подобран автоматически, либо задан с помощью свойства {{cssxref("grid-auto-columns")}}.</p> <p>При работе с выравниванием в <a href="/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout</a>, ось, идущая вниз, вдоль которой идут столбцы, также называется осью блоков или столбцов.</p> diff --git a/files/ru/glossary/http_2/index.html b/files/ru/glossary/http_2/index.html index 819c6149f2..0386677f10 100644 --- a/files/ru/glossary/http_2/index.html +++ b/files/ru/glossary/http_2/index.html @@ -10,7 +10,7 @@ tags: translation_of: Glossary/HTTP_2 original_slug: Словарь/HTTP_2 --- -<p><span class="seoSummary"><strong>HTTP/2</strong> это старшая версия сетевого протокола <a href="/ru/docs/Web/HTTP/Basics_of_HTTP">HTTP</a></span>. Основным назначеним HTTP/2 является снижение задержки({{glossary("latency")}}) путём реализации полного мультиплексирования запросов и ответов, уменьшения перегруженности протокола при помощи эффективного сжатия заголовков HTTP, а также добавления поддержки приоритетов запроса и "server push"("серверне проталкивание" - <span class="tlid-translation translation" lang="ru"><span title="">сервер имея правила, может проявить инициативу, которые инициируют отправку контента до его запроса</span></span>, зная о том, что может поступить запрос на их отправку).</p> +<p><span class="seoSummary"><strong>HTTP/2</strong> это старшая версия сетевого протокола <a href="/ru/docs/Web/HTTP/Basics_of_HTTP">HTTP</a></span>. Основным назначением HTTP/2 является снижение задержки({{glossary("latency")}}) путём реализации полного мультиплексирования запросов и ответов, уменьшения перегруженности протокола при помощи эффективного сжатия заголовков HTTP, а также добавления поддержки приоритетов запроса и "server push"("серверное проталкивание" - <span class="tlid-translation translation" lang="ru"><span title="">сервер имея правила, может проявить инициативу, которые инициируют отправку контента до его запроса</span></span>, зная о том, что может поступить запрос на их отправку).</p> <p>HTTP/2 никоим образом не изменяет семантику применяемую HTTP. Все основные концепции HTTP 1.1, такие как методы HTTP, коды статусов, URI, и поля заголовков останутся прежними. Вместо этого HTTP/2 изменит порядок(форму) данных и способ их передачи между клиентом и сервером, которые управляют всем процессом, и скроет сложность применения в новом обрамляющем слое. Это позволит использовать существующие приложения без изменений.</p> diff --git a/files/ru/glossary/ietf/index.html b/files/ru/glossary/ietf/index.html index b120bf4c3c..6a9942e0d8 100644 --- a/files/ru/glossary/ietf/index.html +++ b/files/ru/glossary/ietf/index.html @@ -17,6 +17,6 @@ original_slug: Словарь/IETF <h3 id="Основные_сведения">Основные сведения</h3> <ul> - <li><a href="https://www.ietf.org/">Официаьный сайт</a></li> + <li><a href="https://www.ietf.org/">Официальный сайт</a></li> <li>{{interwiki("wikipedia", "Инженерный_совет_Интернета", "Статья на Wikipedia")}}</li> </ul> diff --git a/files/ru/glossary/iife/index.html b/files/ru/glossary/iife/index.html index 7a268bcc39..edeed9e34d 100644 --- a/files/ru/glossary/iife/index.html +++ b/files/ru/glossary/iife/index.html @@ -17,7 +17,7 @@ original_slug: Словарь/IIFE statements })();</code></pre> -<p>Это тип выражений, также известный как {{glossary("Self-Executing Anonymous Function")}}, который состоит из двух основных частей. Первая - это сама анонимная функция с лексическим скоупом, заключеннным внутри {{jsxref("Operators/Grouping", "Оператора группировки")}} <code>()</code>. Благодаря этому переменные IIFE замыкаются в его пределах, и глобальная область видимости ими не засоряется.</p> +<p>Это тип выражений, также известный как {{glossary("Self-Executing Anonymous Function")}}, который состоит из двух основных частей. Первая - это сама анонимная функция с лексическим скоупом, заключенным внутри {{jsxref("Operators/Grouping", "Оператора группировки")}} <code>()</code>. Благодаря этому переменные IIFE замыкаются в его пределах, и глобальная область видимости ими не засоряется.</p> <p>Вторая часть создает мгновенно выполняющееся функциональное выражение <code>()</code> , благодаря которому JavaScript-движок выполняет функцию напрямую.</p> diff --git a/files/ru/glossary/jpeg/index.html b/files/ru/glossary/jpeg/index.html index 6511f7258b..9850a0b1f9 100644 --- a/files/ru/glossary/jpeg/index.html +++ b/files/ru/glossary/jpeg/index.html @@ -7,7 +7,7 @@ tags: translation_of: Glossary/jpeg original_slug: Словарь/jpeg --- -<p><strong>JPEG</strong> (произносится «<em>джейпег</em>», англ<a href="https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">.</a> Joint Photographic Experts Group, по названию организации-разработчика) — является широко используемым методом сжатия с потерями данных для цифровых изображений.</p> +<p><strong>JPEG</strong> (произносится «<em>джейпег</em>», англ.<a href="https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">.</a> Joint Photographic Experts Group, по названию организации-разработчика) — является широко используемым методом сжатия с потерями данных для цифровых изображений.</p> <h2 id="Узнать_больше"><strong>Узнать больше</strong></h2> diff --git a/files/ru/glossary/jquery/index.html b/files/ru/glossary/jquery/index.html index 6a00c145a0..657e4c10c6 100644 --- a/files/ru/glossary/jquery/index.html +++ b/files/ru/glossary/jquery/index.html @@ -32,5 +32,5 @@ original_slug: Словарь/jQuery <h3 id="Техническая_информация">Техническая информация</h3> <ul> - <li><a href="https://api.jquery.com/">Справвочная документация по API</a><a href="https://api.jquery.com/"> </a></li> + <li><a href="https://api.jquery.com/">Справочная документация по API</a><a href="https://api.jquery.com/"> </a></li> </ul> diff --git a/files/ru/glossary/json/index.html b/files/ru/glossary/json/index.html index d83fa2e829..d20d1f3b2e 100644 --- a/files/ru/glossary/json/index.html +++ b/files/ru/glossary/json/index.html @@ -11,7 +11,7 @@ original_slug: Словарь/JSON --- <p><em>JavaScript Object Notation</em> (<strong>JSON</strong>) это формат обмена данными. Несмотря на то, что JSON не является строгим подмножеством, он напоминает синтаксис {{Glossary("JavaScript")}}. Хотя много языков программирования поддерживают JSON, он особенно полезен для JavaScript-приложений, таких как веб-сайты и расширения для браузера.</p> -<p>JSON может представлять числа, булевы значения, строки, <code>null</code>, массивы (упорядоченные последовательности значений) и объекты (состоят из пар ключ-значение). Ключом является строка, значением может выступать любой примитив, массив или объект. JSON изначально не предоставляет поддержки более сложных типов данных, таких как функции, регулярные выражения, даты и так далее. Объекты дат по умолчанию сериализируются в строки, содержащие дату в ISO-формате, поэтому данные не будут утеряны. Если вам нужен JSON для представления дополнительных типов данных, преобразуйте значения в строку в том формате, в котором вы позже хотите его десереализировать.</p> +<p>JSON может представлять числа, булевы значения, строки, <code>null</code>, массивы (упорядоченные последовательности значений) и объекты (состоят из пар ключ-значение). Ключом является строка, значением может выступать любой примитив, массив или объект. JSON изначально не предоставляет поддержки более сложных типов данных, таких как функции, регулярные выражения, даты и так далее. Объекты дат по умолчанию сериализируются в строки, содержащие дату в ISO-формате, поэтому данные не будут утеряны. Если вам нужен JSON для представления дополнительных типов данных, преобразуйте значения в строку в том формате, в котором вы позже хотите его десериализовать.</p> <p>Как и XML, JSON имеет возможность хранить иерархические данные (в отличие от более традиционного CSV формата). Существует много инструментов для переходов между этими форматами. Например, <a href="https://json-csv.com">конвертер JSON в CSV</a>.</p> diff --git a/files/ru/glossary/main_axis/index.html b/files/ru/glossary/main_axis/index.html index 88d439ffd4..67a2598759 100644 --- a/files/ru/glossary/main_axis/index.html +++ b/files/ru/glossary/main_axis/index.html @@ -21,7 +21,7 @@ original_slug: Словарь/Main_Axis <p><img alt="" src="https://mdn.mozillademos.org/files/15709/Basics2.png" style="display: block; height: 227px; margin: 0px auto; width: 709px;"></p> -<p>На главной оси вы можете контролировать размеры flex элементов, добавляя к ним свободное простанство с помощью свойства <code>flex</code> на самих элементах. Также, вы можете контролировать пространство между и вокруг элементов свойством <code>justify-content</code>.</p> +<p>На главной оси вы можете контролировать размеры flex элементов, добавляя к ним свободное пространство с помощью свойства <code>flex</code> на самих элементах. Также, вы можете контролировать пространство между и вокруг элементов свойством <code>justify-content</code>.</p> <h2 id="Узнать_больше">Узнать больше</h2> diff --git a/files/ru/glossary/microsoft_internet_explorer/index.html b/files/ru/glossary/microsoft_internet_explorer/index.html index 95d9230d72..91c2ad810e 100644 --- a/files/ru/glossary/microsoft_internet_explorer/index.html +++ b/files/ru/glossary/microsoft_internet_explorer/index.html @@ -10,7 +10,7 @@ original_slug: Словарь/Microsoft_Internet_Explorer --- <p>Internet Explorer (или IE) - это бесплатный графический {{glossary("browser", "браузер")}}, созданный Microsoft для использования внутри компании. {{glossary("Microsoft Edge")}} - на данный момент Windows браузер по умолчанию.</p> -<p>Microsoft впервые выпустила IE в сборке вместе с Windows в 1995 как часть пакета "Microsoft Plus!". Примерно в 2002 году Internet Explorer стал самым испольуемым браузером в мире, но с тех пор утратил свои популярность, уступив свои позиции Chrome, Firefox, Edge и Safari. </p> +<p>Microsoft впервые выпустила IE в сборке вместе с Windows в 1995 как часть пакета "Microsoft Plus!". Примерно в 2002 году Internet Explorer стал самым используемым браузером в мире, но с тех пор утратил свои популярность, уступив свои позиции Chrome, Firefox, Edge и Safari. </p> <p>IE прошёл через огромное количество релизов, и сейчас его текущая версия 11.0.12. Он доступен на персональных компьютерах, телефонах и консоле Xbox. Прежде был доступен на Mac и UNIX, но Microsoft прекратили поддержку этих версий в 2003 и 2001 соответственно.</p> diff --git a/files/ru/glossary/number/index.html b/files/ru/glossary/number/index.html index 9059e6fa0f..05954c1965 100644 --- a/files/ru/glossary/number/index.html +++ b/files/ru/glossary/number/index.html @@ -7,7 +7,7 @@ tags: translation_of: Glossary/Number original_slug: Словарь/Number --- -<p>В {{Glossary("JavaScript")}}, <strong>Number</strong> - числовой тип данных в формате 64-битного числа двойной точности с плавающей запятой. В других языках программирования может существовать несколько чиловых типов данных, например: Integer, Float, Double или Bignum.</p> +<p>В {{Glossary("JavaScript")}}, <strong>Number</strong> - числовой тип данных в формате 64-битного числа двойной точности с плавающей запятой. В других языках программирования может существовать несколько числовых типов данных, например: Integer, Float, Double или Bignum.</p> <h2 id="См._также">См. также</h2> @@ -18,7 +18,7 @@ original_slug: Словарь/Number <li><a class="external external-icon" href="https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D1%81_%D0%BF%D0%BB%D0%B0%D0%B2%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D0%B7%D0%B0%D0%BF%D1%8F%D1%82%D0%BE%D0%B9">Число с плавающей запятой на Wikipedia</a></li> </ul> -<h3 id="Техничекая_справка">Техничекая справка</h3> +<h3 id="Техническая_справка">Техническая справка</h3> <ul> <li>Числовой тип данных JavaScript: <a href="/ru/docs/Web/JavaScript/Data_structures#.D0.A7.D0.B8.D1.81.D0.BB.D0.B0">Number</a></li> diff --git a/files/ru/glossary/oop/index.html b/files/ru/glossary/oop/index.html index bfe772849d..c8188883c9 100644 --- a/files/ru/glossary/oop/index.html +++ b/files/ru/glossary/oop/index.html @@ -10,7 +10,7 @@ original_slug: Словарь/OOP --- <p><strong>OOП </strong>(<strong>О</strong>бъектно-<strong>О</strong>риентированное<strong> П</strong>рограммирование) это подход в программировании, согласно которому, данные инкапсулированы внутри <strong>{{glossary("object","objects")}}, </strong>а сам объект существует как составная часть целого.</p> -<p>{{glossary("JavaScript")}} сильно объекто-ориентирован. Он следует модели, базирующейся на прототипах (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Class-based_vs._prototype-based_languages">в отличии от модели, базирующейся на классах</a>).</p> +<p>{{glossary("JavaScript")}} сильно объектно-ориентирован. Он следует модели, базирующейся на прототипах (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Class-based_vs._prototype-based_languages">в отличии от модели, базирующейся на классах</a>).</p> <h2 id="Смотреть_также">Смотреть также</h2> @@ -18,5 +18,5 @@ original_slug: Словарь/OOP <ul> <li>{{Interwiki("wikipedia", "Object-oriented programming")}} на Wikipedia</li> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript">Введение в объектно-ориентированый JavaScript</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript">Введение в объектно-ориентированный JavaScript</a></li> </ul> diff --git a/files/ru/glossary/origin/index.html b/files/ru/glossary/origin/index.html index d494e98aec..97d9207b74 100644 --- a/files/ru/glossary/origin/index.html +++ b/files/ru/glossary/origin/index.html @@ -4,7 +4,7 @@ slug: Glossary/Origin translation_of: Glossary/Origin original_slug: Словарь/origin --- -<p>Браузер отправляет серверу <strong>первичные данные</strong> - протокол, <em>хистинг, домен</em>, <em>порт соединения через</em> {{Glossary("URL")}}. Два объекта одинаковые если протокол, хост, домен и порт одинаковые.</p> +<p>Браузер отправляет серверу <strong>первичные данные</strong> - протокол, <em>хостинг, домен</em>, <em>порт соединения через</em> {{Glossary("URL")}}. Два объекта одинаковые если протокол, хост, домен и порт одинаковые.</p> <p>Некоторые данные могут не передаваться источником, для их получения необходимо использовать <a href="/en-US/docs/Glossary/CORS">CORS</a>.</p> diff --git a/files/ru/glossary/polymorphism/index.html b/files/ru/glossary/polymorphism/index.html index 1fea8ba38d..1615d4b60f 100644 --- a/files/ru/glossary/polymorphism/index.html +++ b/files/ru/glossary/polymorphism/index.html @@ -11,7 +11,7 @@ original_slug: Словарь/Polymorphism <br> Например, <span class="tlid-translation translation" lang="ru"><span title="">целые числа(integers), числа с плавающей запятой(floats)</span></span> и числа с плавающей точкой двойной точности(doubles) полностью полиморфны: независимо от их отличающихся типов, их можно складывать, вычитать, перемножать, и так далее.</p> -<p>В случае {{glossary("OOP")}}, возлогая ответственность на {{glossary("class")}} за его код так же, как свои собственные данные, полиморфизм <span class="tlid-translation translation" lang="ru"><span title="">может быть достигнут в том, что у каждого класса есть своя</span></span> {{glossary("function")}}, которая (при вызове) выполняется корректно для любого {{glossary("object")}}.</p> +<p>В случае {{glossary("OOP")}}, возлагая ответственность на {{glossary("class")}} за его код так же, как свои собственные данные, полиморфизм <span class="tlid-translation translation" lang="ru"><span title="">может быть достигнут в том, что у каждого класса есть своя</span></span> {{glossary("function")}}, которая (при вызове) выполняется корректно для любого {{glossary("object")}}.</p> diff --git a/files/ru/glossary/proxy_server/index.html b/files/ru/glossary/proxy_server/index.html index 5c32b8fbc4..159bab7346 100644 --- a/files/ru/glossary/proxy_server/index.html +++ b/files/ru/glossary/proxy_server/index.html @@ -10,7 +10,7 @@ original_slug: Словарь/Прокси_сервер --- <p><strong>Прокси-сервер</strong> - это промежуточная программа или компьютер, используемый при навигации по разным сетям Интернета. Они облегчают доступ к контенту во всемирной паутине. Прокси-сервер перехватывает запросы и возвращает ответы; он может пересылать запросы или нет (например, в случае кеша), и он может изменять его (например, изменяя его заголовки на границе между двумя сетями).</p> -<p>Прокси-сервер может находиться на локальном компьютере пользователя или в любом месте между компьютером пользователя и конечным сервером в Интернете. Cуществует два основных типа прокси-серверов:</p> +<p>Прокси-сервер может находиться на локальном компьютере пользователя или в любом месте между компьютером пользователя и конечным сервером в Интернете. Существует два основных типа прокси-серверов:</p> <ul> <li>Прямой прокси, который обрабатывает запросы из любой точки Интернета и в любую другую точку Интернета.</li> diff --git a/files/ru/glossary/semantics/index.html b/files/ru/glossary/semantics/index.html index e20cffed37..f893f3f431 100644 --- a/files/ru/glossary/semantics/index.html +++ b/files/ru/glossary/semantics/index.html @@ -16,7 +16,7 @@ original_slug: Словарь/Semantics <h2 id="Семантика_в_HTML">Семантика в HTML</h2> -<p>В HTML, например, элемент {{htmlelement("h1")}} является семантическим, что дает тексту внутри него роль (или значение) "заголовка первого уровня на вешей странице".</p> +<p>В HTML, например, элемент {{htmlelement("h1")}} является семантическим, что дает тексту внутри него роль (или значение) "заголовка первого уровня на вашей странице".</p> <pre class="brush: html"><h1>This is a top level heading</h1></pre> @@ -28,13 +28,13 @@ original_slug: Словарь/Semantics <p>Эти стили сделают элемент похожим на заголовок первого уровня, но он не будет иметь семантического значения, поэтому не получит никаких дополнительных преимуществ, описанных выше. Поэтому хорошей практикой является выбор подходящего элемента HTML для каждого отдельного случая.</p> -<p>HTML должен предоставлять структуру информации, которой он будет наполняться, и не должен полагаться на стандартные свойтва стилей. Стилизация (то, как эта информация должна выглядеть), полностью ложиться на плечи <a href="/en-US/docs/Web/CSS">CSS</a>.</p> +<p>HTML должен предоставлять структуру информации, которой он будет наполняться, и не должен полагаться на стандартные свойства стилей. Стилизация (то, как эта информация должна выглядеть), полностью ложиться на плечи <a href="/en-US/docs/Web/CSS">CSS</a>.</p> <p>Некоторые из преимуществ использования семантической разметки:</p> <ul> <li>Поисковые системы будут рассматривать содержимое такой разметки как важные ключевые слова, влияющие на рейтинг страницы в результатах поиска (смотри {{glossary("SEO")}})</li> - <li>Программы для чтения с экрана могут использовать её как указатель, чтобы помочь слабовидящим пользователям ориентироватья на странице</li> + <li>Программы для чтения с экрана могут использовать её как указатель, чтобы помочь слабовидящим пользователям ориентироваться на странице</li> <li>Среди бесконечных блоков <code>div</code> гораздо проще найти блок семантического кода, чем блок с семантическим классом или классом, принадлежащим пространству имен.</li> <li>Указывает разработчику на тип данных, которые будут размещены</li> <li>Семантическая разметка отражает правильное именование элементов / компонентов</li> diff --git a/files/ru/glossary/seo/index.html b/files/ru/glossary/seo/index.html index 312ab0777d..0582a8fa1b 100644 --- a/files/ru/glossary/seo/index.html +++ b/files/ru/glossary/seo/index.html @@ -6,7 +6,7 @@ original_slug: Словарь/SEO --- <p><strong>SEO </strong>(Search Engine Optimization) Поисковая оптимизация - это комплекс мер по оптимизации, для поднятия сайта в рейтингах поисковых систем. Её еще называют "Повышением поискового рейтинга" </p> -<p>Поисковые системы исследуют интернет, переходят по ссылкам со страницы на страницу и индексируют найденый контент. Когда вы ищищте что то в интернете, поисковые системы отображают индексированный контент. Сканнеры пользуются определенными алгоритмами. Если вы будете знать и внимательно следовать этим правилам, когда внедряете SEO для сайта, у такого сайта будут более высокие шансы оказаться в числе первых результатов поискового запроса, а следовательно - более высокий трафик и, как следствие - доход (дляя интернет продаж и рекламы).</p> +<p>Поисковые системы исследуют интернет, переходят по ссылкам со страницы на страницу и индексируют найденный контент. Когда вы ищите что то в интернете, поисковые системы отображают индексированный контент. Сканнеры пользуются определенными алгоритмами. Если вы будете знать и внимательно следовать этим правилам, когда внедряете SEO для сайта, у такого сайта будут более высокие шансы оказаться в числе первых результатов поискового запроса, а следовательно - более высокий трафик и, как следствие - доход (для интернет продаж и рекламы).</p> <p>Поисковые системы дают некоторые рекомендации для SEO, но большие поисковые системы сохраняют алгоритмы и результаты поиска как коммерческую тайну. SEO объединяет в себе рекомендации поисковых систем содержащиеся в свободном доступе, эмпирический опыт и теоретические знания, подчерпываемые из научных статей и патентов.</p> @@ -14,9 +14,9 @@ original_slug: Словарь/SEO <dl> <dt>технический</dt> - <dd>Создание тегов контента, используя семантику HTML. Сканируя сайт, алгоритмы поиска находят только тот коонтент, который вы хотите проиндексировать.</dd> + <dd>Создание тегов контента, используя семантику HTML. Сканируя сайт, алгоритмы поиска находят только тот контент, который вы хотите проиндексировать.</dd> <dt>копирайтинг</dt> - <dd>Создавайте контент, используя словарь ваших потенциальных посетителей. Используйте тексты и изображения, которые помогли бы помочь алгоритмам поисковой симтемы понять суть предмета представленного на вашем ресурсе.</dd> + <dd>Создавайте контент, используя словарь ваших потенциальных посетителей. Используйте тексты и изображения, которые помогли бы помочь алгоритмам поисковой системы понять суть предмета представленного на вашем ресурсе.</dd> <dt>популяризация</dt> <dd>Вы можете значительно увеличить поток трафика, если ссылки на ваш сайт будут размещены на других развитых ресурсах.</dd> </dl> diff --git a/files/ru/glossary/simple_header/index.html b/files/ru/glossary/simple_header/index.html index 5193a34476..0182b04996 100644 --- a/files/ru/glossary/simple_header/index.html +++ b/files/ru/glossary/simple_header/index.html @@ -15,7 +15,7 @@ original_slug: Словарь/Простой_заголовок <li>{{HTTPHeader("Accept")}},</li> <li>{{HTTPHeader("Accept-Language")}},</li> <li>{{HTTPHeader("Content-Language")}},</li> - <li>{{HTTPHeader("Content-Type")}} с MIME-типом, найденым в этом значении (исключая параметры), либо <code>application/x-www-form-urlencoded</code>, <code>multipart/form-data</code> или <code>text/plain</code>.</li> + <li>{{HTTPHeader("Content-Type")}} с MIME-типом, найденным в этом значении (исключая параметры), либо <code>application/x-www-form-urlencoded</code>, <code>multipart/form-data</code> или <code>text/plain</code>.</li> </ul> <p>Или один из этих клиентских заголовков:</p> diff --git a/files/ru/glossary/specification/index.html b/files/ru/glossary/specification/index.html index b3b3011818..1ac211fdf6 100644 --- a/files/ru/glossary/specification/index.html +++ b/files/ru/glossary/specification/index.html @@ -7,7 +7,7 @@ tags: translation_of: Glossary/Specification original_slug: Словарь/Specification --- -<p>Спецификация - документ, детально описывающий функции и параметры, которые должен предоставлять продукт перед тем, как быть доставлен (опубликован). В случае описания Веба, термин "спецификация" (часто сокращают до "spec") в основном означает документ, описывающй язык, технологи или {{Glossary("API")}}, которые составляют целостный набор открытх Web технологий.</p> +<p>Спецификация - документ, детально описывающий функции и параметры, которые должен предоставлять продукт перед тем, как быть доставлен (опубликован). В случае описания Веба, термин "спецификация" (часто сокращают до "spec") в основном означает документ, описывающий язык, технологи или {{Glossary("API")}}, которые составляют целостный набор открытых Web технологий.</p> <h2 id="Узнайте_больше">Узнайте больше</h2> diff --git a/files/ru/glossary/speculative_parsing/index.html b/files/ru/glossary/speculative_parsing/index.html index 68c99dfe38..975dbd7ccb 100644 --- a/files/ru/glossary/speculative_parsing/index.html +++ b/files/ru/glossary/speculative_parsing/index.html @@ -28,7 +28,7 @@ original_slug: Web/HTML/Optimizing_Your_Pages_for_Speculative_Parsing <ul> <li>Не пишите незаконченные древа. Вместо <code><script>document.write("<div>");</script></code> лучше написать <code><script>document.write("<div></div>");</script></code>.</li> <li>Не пишите незаконченные теги. Не стоит писать <code><script>document.write("<div></div");</script></code>.</li> - <li>Не заканчивайте строку возратной кареткой (<code>\r</code>). Вместо <code><script>document.write("Hello World!\r");</script></code> лучше написать <code><script>document.write("Hello World!\n");</script></code>.</li> + <li>Не заканчивайте строку возрастной кареткой (<code>\r</code>). Вместо <code><script>document.write("Hello World!\r");</script></code> лучше написать <code><script>document.write("Hello World!\n");</script></code>.</li> <li>Заметьте, что написание законченных тегов может повлиять на другие теги так, что они станут незаконченными. В том числе, <code><script>document.write("<div></div>");</script></code> внутри <code><head></code> будет интерпретировано как <code><script>document.write("</head><body><div></div>");</script></code>, что повлияет на <code><head></code> так, что он станет незаконченным.</li> <li>Не форматируйте часть таблицы. Вместо <code><table><script>document.write("<tr><td>Hello World!</td></tr>");</script></table></code> лучше написать <code><script>document.write("</code><code><table></code><code><tr><td>Hello World!</td></tr></code><code></table></code><code>");</script></code>.</li> </ul> diff --git a/files/ru/glossary/synchronous/index.html b/files/ru/glossary/synchronous/index.html index 99f8639a16..02ac39e163 100644 --- a/files/ru/glossary/synchronous/index.html +++ b/files/ru/glossary/synchronous/index.html @@ -12,7 +12,7 @@ original_slug: Словарь/Синхронный <p>Примером из жизни является телефон — во время телефонного разговора вы можете отвечать собеседнику незамедлительно.</p> -<p>Множество комманд так же синхронны — например когда вы вводите значения в поле при каком-либо вычислении, результат может быть мгновенно рассчитан и выведен в поле с результатом.</p> +<p>Множество команд так же синхронны — например когда вы вводите значения в поле при каком-либо вычислении, результат может быть мгновенно рассчитан и выведен в поле с результатом.</p> <h2 id="Больше_информации">Больше информации</h2> diff --git a/files/ru/glossary/tag/index.html b/files/ru/glossary/tag/index.html index f9bbdd9ffe..b782b715ea 100644 --- a/files/ru/glossary/tag/index.html +++ b/files/ru/glossary/tag/index.html @@ -9,7 +9,7 @@ tags: translation_of: Glossary/Tag original_slug: Словарь/Тег --- -<p>В {{Glossary("HTML")}} теги используются для создания {{Glossary("Элемент", "элементов")}}. <strong>Имя</strong> HTML элемента - это <strong>имя</strong> заключенное в угловые скобки, как например <p> для "абзаца". Обратите внимание, что концу <strong>имени</strong> предшествует символ косой черты (слэша), "</p>", и что в пустых элементах закрывающий тег не требуется и не допускается. Если атрибуты не указаны, то для них применяются значения по умолчанию. </p> +<p>В {{Glossary("HTML")}} теги используются для создания {{Glossary("Элемент", "элементов")}}. <strong>Имя</strong> HTML элемента - это <strong>имя</strong> заключенное в угловые скобки, как например <p> для "абзаца". Обратите внимание, что концу <strong>имени</strong> предшествует символ косой черты (слеша), "</p>", и что в пустых элементах закрывающий тег не требуется и не допускается. Если атрибуты не указаны, то для них применяются значения по умолчанию. </p> <h2 id="Узнать_больше"><strong>Узнать больше</strong></h2> diff --git a/files/ru/glossary/time_to_first_byte/index.html b/files/ru/glossary/time_to_first_byte/index.html index 5c2cb05239..d47bb9cee7 100644 --- a/files/ru/glossary/time_to_first_byte/index.html +++ b/files/ru/glossary/time_to_first_byte/index.html @@ -4,7 +4,7 @@ slug: Glossary/time_to_first_byte translation_of: Glossary/time_to_first_byte original_slug: Словарь/time_to_first_byte --- -<p><strong>Время до первого байта</strong> (англ. Time to First Byte, TTFB) - одна из метрик производительности веб-страниц, которая описывает время, которое прошло с момента отправления браузером запроса страницы до момента, когда он получил первый байт информации с сервера. Это время включает в себя поиск <a href="/en-US/docs/Glossary/DNS">DNS</a>-сервера и установление соединия с использованием <a href="/en-US/docs/Glossary/TCP">TCP</a>-рукопожатия и <a href="/en-US/docs/Glossary/SSL_Glossary">SSL</a>-рукопожатия, если запрос выполняется через <a href="/en-US/docs/Glossary/https">https</a>.</p> +<p><strong>Время до первого байта</strong> (англ. Time to First Byte, TTFB) - одна из метрик производительности веб-страниц, которая описывает время, которое прошло с момента отправления браузером запроса страницы до момента, когда он получил первый байт информации с сервера. Это время включает в себя поиск <a href="/en-US/docs/Glossary/DNS">DNS</a>-сервера и установление соединения с использованием <a href="/en-US/docs/Glossary/TCP">TCP</a>-рукопожатия и <a href="/en-US/docs/Glossary/SSL_Glossary">SSL</a>-рукопожатия, если запрос выполняется через <a href="/en-US/docs/Glossary/https">https</a>.</p> <p>TTFB - время между началом запроса и началом ответа в миллисекундах:</p> diff --git a/files/ru/glossary/w3c/index.html b/files/ru/glossary/w3c/index.html index 90770f5299..afd06d238f 100644 --- a/files/ru/glossary/w3c/index.html +++ b/files/ru/glossary/w3c/index.html @@ -13,9 +13,9 @@ original_slug: Словарь/W3C --- <p>The <em>World Wide Web Consortium</em> (W3C) is an international body that maintains {{Glossary("World Wide Web", "Web-related")}} rules and frameworks.</p> -<p>W3C объединяет более 350 организаций-участников, присоединившихся для разработки стандартов Веба, run outreach programs, and maintain an open forum for talking about the Web. W3C координирует компании в инстрии, чтобы быть уверенными в едином понимании W3C стандартов.</p> +<p>W3C объединяет более 350 организаций-участников, присоединившихся для разработки стандартов Веба, run outreach programs, and maintain an open forum for talking about the Web. W3C координирует компании в индустрии, чтобы быть уверенными в едином понимании W3C стандартов.</p> -<p>Каждый стандарт проиходит чере 4 этапа of maturity: Working Draft (WD), Candidate Recommendation (CR), Proposed Recommendation (PR), and W3C Recommendation (REC).</p> +<p>Каждый стандарт проходит через 4 этапа of maturity: Working Draft (WD), Candidate Recommendation (CR), Proposed Recommendation (PR), and W3C Recommendation (REC).</p> <h2 id="Узнайте_больше">Узнайте больше</h2> diff --git a/files/ru/glossary/webkit/index.html b/files/ru/glossary/webkit/index.html index 04d0cdf6c7..8e50b34e8b 100644 --- a/files/ru/glossary/webkit/index.html +++ b/files/ru/glossary/webkit/index.html @@ -6,7 +6,7 @@ original_slug: Словарь/WebKit --- <p><em>WebKit</em> это framework который показывает правильно отформатированные веб-страницы на основе их разметки. {{Glossary("Apple Safari")}} и большинство мобильных браузеров зависят от Webkit (Webkit это очень портативный и легко настраиваемый framework).</p> -<p>WebKit начал жизнь как разветвление библеотек <strong>KDE's KHTML </strong>and <strong>KJS</strong> , и с тех пор много частных лиц и компаний внесли свой вклад в его развитие (включая : KDE, Apple, Google, и Nokia).</p> +<p>WebKit начал жизнь как разветвление библиотек <strong>KDE's KHTML </strong>and <strong>KJS</strong> , и с тех пор много частных лиц и компаний внесли свой вклад в его развитие (включая : KDE, Apple, Google, и Nokia).</p> <p>WebKit это торговая марка Apple, который распространяется под лицензией BSD-form. Однако , 2 важные составляющие попадают под лицензию {{Glossary("LGPL")}}: это <strong>WebCore</strong> - визуальная библиотека и движок <strong>JavaScriptCore</strong>.</p> diff --git a/files/ru/glossary/whitespace/index.html b/files/ru/glossary/whitespace/index.html index 11eef0aeb4..dce98566d7 100644 --- a/files/ru/glossary/whitespace/index.html +++ b/files/ru/glossary/whitespace/index.html @@ -4,7 +4,7 @@ slug: Glossary/Whitespace translation_of: Glossary/Whitespace original_slug: Словарь/Пробельные_символы --- -<p><span class="seoSummary"><strong>Пробельные символы</strong> </span>— <span class="seoSummary">это множество {{Glossary("Character", "символов")}} использующихся для горизонтального или вертикалного разделения остальных символов. Они используются для разделения токенов в {{Glossary("HTML")}}, {{Glossary("CSS")}}, {{Glossary("JavaScript")}} и других компьютерных языках.</span></p> +<p><span class="seoSummary"><strong>Пробельные символы</strong> </span>— <span class="seoSummary">это множество {{Glossary("Character", "символов")}} использующихся для горизонтального или вертикального разделения остальных символов. Они используются для разделения токенов в {{Glossary("HTML")}}, {{Glossary("CSS")}}, {{Glossary("JavaScript")}} и других компьютерных языках.</span></p> <h2 id="В_HTML">В HTML</h2> @@ -19,7 +19,7 @@ original_slug: Словарь/Пробельные_символы </li> <li>Ссылки <ol> - <li><a href="/en-US/docs/Web/API/Document_Object_Model/Whitespace_in_the_DOM">Пробельные симолы в модели DOM</a></li> + <li><a href="/en-US/docs/Web/API/Document_Object_Model/Whitespace_in_the_DOM">Пробельные символы в модели DOM</a></li> <li>{{cssxref("white-space")}}</li> </ol> </li> diff --git a/files/ru/glossary/world_wide_web/index.html b/files/ru/glossary/world_wide_web/index.html index e227c6a115..1b4912fe04 100644 --- a/files/ru/glossary/world_wide_web/index.html +++ b/files/ru/glossary/world_wide_web/index.html @@ -10,7 +10,7 @@ original_slug: Словарь/World_Wide_Web --- <p><span class="seoSummary">Всемирная сеть — сокращенно: <strong>WWW</strong>, <strong>W3</strong>, или<strong> Web; Сеть</strong>, <strong>паутина</strong> или <strong>веб </strong>— всемирная система публичных веб-страниц в сети {{Glossary("Интернет")}}.</span> Сеть не является Интернетом: Сеть лишь использует Интернет как среду передачи информации и данных.</p> -<p>Тим Бернерз-Ли предложил архитектуру, которая стала известна под названием World Wide Web. В 1990 году в ЦЕРН (в своей лаборатории физ. исследований) он создал первый веб-{{Glossary("Server","сервер")}}, {{Glossary("Browser","браузер")}} и веб-страницу на своем компьютере. В 1991 году он обьявил про свое творение в группе новостей alt.hypertext, тем самым, обозначив момент, когда Web стал достоянием общества.</p> +<p>Тим Бернерз-Ли предложил архитектуру, которая стала известна под названием World Wide Web. В 1990 году в ЦЕРН (в своей лаборатории физ. исследований) он создал первый веб-{{Glossary("Server","сервер")}}, {{Glossary("Browser","браузер")}} и веб-страницу на своем компьютере. В 1991 году он объявил про свое творение в группе новостей alt.hypertext, тем самым, обозначив момент, когда Web стал достоянием общества.</p> <p>Система, которую мы называем Web состоит из нескольких компонентов:</p> @@ -22,7 +22,7 @@ original_slug: Словарь/World_Wide_Web <p>Связь страниц с помощью {{Glossary("Hyperlink","гиперссылок")}} является главной концепцией Web.</p> -<p>Незадолго после создания Web, Тим Бернерз-Ли основал {{Glossary("W3C")}} (World Wide Web Consortium) для стандартизации и последующего развития интернета. Этот консорциум состоит из: разработчиков браузеров, гос. учереждения, исследователи и университеты. Его цель - образование и распространение.</p> +<p>Незадолго после создания Web, Тим Бернерз-Ли основал {{Glossary("W3C")}} (World Wide Web Consortium) для стандартизации и последующего развития интернета. Этот консорциум состоит из: разработчиков браузеров, гос. учреждения, исследователи и университеты. Его цель - образование и распространение.</p> <h2 id="Узнать_больше" style="line-height: 30px;">Узнать больше</h2> diff --git a/files/ru/glossary/xhtml/index.html b/files/ru/glossary/xhtml/index.html index b3c1b14f40..9329447464 100644 --- a/files/ru/glossary/xhtml/index.html +++ b/files/ru/glossary/xhtml/index.html @@ -6,7 +6,7 @@ original_slug: Словарь/XHTML --- <p><strong>XHTML</strong> по отношению к <a href="/../../../../ru/XML" rel="internal" title="../../../../ru/XML">XML</a> - это так же, как <a href="/../../../../ru/HTML" rel="internal" title="../../../../ru/HTML">HTML</a> по отношению к <a class="new " href="../../../../en/SGML" rel="internal">SGML</a>. Таким образом, XHTML - язык разметки который подобен HTML, но с более строгим синтаксисом. Две версии XHTML были закончены (окончательно сформулированы) <a class="external" href="http://www.w3.org/" rel="external nofollow" title="http://www.w3.org/">W3C</a>:</p> <ul> - <li><a class="external" href="http://www.w3.org/TR/xhtml1/" rel="external nofollow" title="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> - это HTML4 повторно сформулированный как XMLприложение , и с обратной совместимостью с HTML в ограниченных случаях.</li> + <li><a class="external" href="http://www.w3.org/TR/xhtml1/" rel="external nofollow" title="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> - это HTML4 повторно сформулированный как XML-приложение , и с обратной совместимостью с HTML в ограниченных случаях.</li> <li><a class="external" href="http://www.w3.org/TR/xhtml11/" rel="external nofollow" title="http://www.w3.org/TR/xhtml11/">XHTML 1.1</a> - это модульная версия XHTML, которая не является обратно совместимой с HTML.</li> </ul> <p>Третья версия, <a class="external" href="http://www.w3.org/TR/xhtml2/" rel="external nofollow" title="http://www.w3.org/TR/xhtml2/">XHTML 2</a> - содержит существенные изменения словаря элементов (has significant changes to the element vocabulary).</p> diff --git a/files/ru/learn/accessibility/css_and_javascript/index.html b/files/ru/learn/accessibility/css_and_javascript/index.html index 125e7e09af..d55d8b79b4 100644 --- a/files/ru/learn/accessibility/css_and_javascript/index.html +++ b/files/ru/learn/accessibility/css_and_javascript/index.html @@ -21,7 +21,7 @@ original_slug: Learn/Доступность/CSS_and_JavaScript </tr> <tr> <th scope="row">Цели:</th> - <td>Приобрести хорошую осведомленность при использовании CSS и JavaScript в ваших web документах для максимального увелечения доступности и (not detract from it)-(привет я не понял как переводится эти слова так что помогите если понимаете).</td> + <td>Приобрести хорошую осведомленность при использовании CSS и JavaScript в ваших web документах для максимального увеличения доступности и (not detract from it)-(привет я не понял как переводится эти слова так что помогите если понимаете).</td> </tr> </tbody> </table> diff --git a/files/ru/learn/accessibility/html/index.html b/files/ru/learn/accessibility/html/index.html index 75e886aa79..36f8497f68 100644 --- a/files/ru/learn/accessibility/html/index.html +++ b/files/ru/learn/accessibility/html/index.html @@ -10,7 +10,7 @@ tags: - Семантика - Ссылки - Формы - - вспомагательные технологии + - вспомогательные технологии - доступность translation_of: Learn/Accessibility/HTML original_slug: Learn/Доступность/HTML @@ -48,13 +48,13 @@ original_slug: Learn/Доступность/HTML <pre class="brush: html"><button>Воспроизвести видео</button></pre> -<p>HTML элементы <code><button></code> не только имеют соответствующие кнопке стили по-умолчанию (которые вы скорее всего захотите переписать), они также имеют встроенную доступность с клавиатуры: между ними можно передвигаться с помощью кнопки <kbd>Tab</kbd> и активировать, используя <kbd>Enter</kbd>.</p> +<p>HTML элементы <code><button></code> не только имеют соответствующие кнопке стили по умолчанию (которые вы скорее всего захотите переписать), они также имеют встроенную доступность с клавиатуры: между ними можно передвигаться с помощью кнопки <kbd>Tab</kbd> и активировать, используя <kbd>Enter</kbd>.</p> <p>Вёрстка с помощью семантического HTML не займёт больше времени, чем с помощью не семантического (плохого) HTML, если делать это последовательно с самого начала проекта, и это также имеет другие преимущества помимо доступности:</p> <ol> <li><strong>Легче разрабатывать</strong> — как сказано выше, вы получаете функционал «из коробки», плюс проще для восприятия.</li> - <li><strong>Лучше для мобильных</strong> — семантический HTML легче по размеру, чем не семантический спаггети-код, и его легче сделать адаптивным.</li> + <li><strong>Лучше для мобильных</strong> — семантический HTML легче по размеру, чем не семантический спагетти-код, и его легче сделать адаптивным.</li> <li><strong>Хорошо для SEO</strong> — поисковики уделяют больше внимания ключевым словам внутри заголовков, ссылок и т.д., чем ключевым словам, помещённым в не семантический <code><div></code> и т.д., поэтому клиентам будет проще найти ваш сайт.</li> </ol> @@ -252,7 +252,7 @@ original_slug: Learn/Доступность/HTML <!-- здесь содержимое подвала --> </footer></pre> -<p>Если вы попробуете нашу более современную структуру с помощью скринридера, вы увидите, что разметка больше не сбивает с толку скринридер. Она также более компактная с точки зрения размера кода, что означает, его легче поддерживать, а пользователям меньше скачивать (особенно для тех, у кого медленный интенет).</p> +<p>Если вы попробуете нашу более современную структуру с помощью скринридера, вы увидите, что разметка больше не сбивает с толку скринридер. Она также более компактная с точки зрения размера кода, что означает, его легче поддерживать, а пользователям меньше скачивать (особенно для тех, у кого медленный интернет).</p> <p>На что ещё стоит обратить внимание при вёрстке — это использование семантических HTML5 элементов, которые можно увидеть в примере выше (смотрите <a href="/ru/docs/Web/HTML/Element#Секционирование_содержания">секционирование содержания)</a>: вы можно верстать, используя только вложенные {{htmlelement("div")}} элементы, но лучше использовать соответствующие секционные элементы, чтобы обернуть вашу основную навигацию ({{htmlelement("nav")}}), футер ({{htmlelement("footer")}}), повторяющийся контент ({{htmlelement("article")}}) и т.д. Эти элементы предоставляют дополнительную семантику для скринридеров (и других инструментов), чтобы давать пользователю дополнительную информацию о контенте, по которому они перемещаются (смотрите статью <a href="http://www.weba11y.com/blog/2016/04/22/screen-reader-support-for-new-html5-section-elements/">Screen Reader Support for new HTML5 Section Elements</a> для представления поддержки этих элементов с помощью скринридеров).</p> @@ -264,7 +264,7 @@ original_slug: Learn/Доступность/HTML <p>Под элементами интерфейса мы подразумеваем основные элементы веб-страниц, с которыми взаимодействует пользователь, в основном это кнопки, ссылки и элементы форм. В этом разделе мы рассмотрим основные проблемы доступности, которые стоит учитывать при создании таких элементов. В следующих статьях про WAI-ARIA и мультимедиа мы рассмотрим другие аспекты доступности пользовательского интерфейса.</p> -<p>Одним из ключевых аспектов доступуности элементов интерфейса является то, что браузеры по-умолчанию позволяют управлять ими с помощью клавиатуры. Вы можете проверить это, открыв в новой вкладке <a href="http://mdn.github.io/learning-area/tools-testing/cross-browser-testing/accessibility/native-keyboard-accessibility.html">native-keyboard-accessibility.html </a>(смотрите <a href="https://github.com/mdn/learning-area/blob/master/tools-testing/cross-browser-testing/accessibility/native-keyboard-accessibility.html">исходный код</a>). Попробуйте понажимать клавишу <kbd>Tab</kbd>, после нескольких нажатий вы заметите, что фокус перемещается по всем фокусируемым элементам. Сфокусированные элеметы подсвечиваются браузерными стилями по-умолчанию (в зависимости от браузера они немного разные), чтобы можно было понять, какой элемент в фокусе.</p> +<p>Одним из ключевых аспектов доступности элементов интерфейса является то, что браузеры по умолчанию позволяют управлять ими с помощью клавиатуры. Вы можете проверить это, открыв в новой вкладке <a href="http://mdn.github.io/learning-area/tools-testing/cross-browser-testing/accessibility/native-keyboard-accessibility.html">native-keyboard-accessibility.html </a>(смотрите <a href="https://github.com/mdn/learning-area/blob/master/tools-testing/cross-browser-testing/accessibility/native-keyboard-accessibility.html">исходный код</a>). Попробуйте понажимать клавишу <kbd>Tab</kbd>, после нескольких нажатий вы заметите, что фокус перемещается по всем фокусируемым элементам. Сфокусированные элементы подсвечиваются браузерными стилями по умолчанию (в зависимости от браузера они немного разные), чтобы можно было понять, какой элемент в фокусе.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/14215/button-focused-unfocused.png" style="border-style: solid; border-width: 1px; display: block; height: 39px; margin: 0px auto; width: 288px;"></p> @@ -274,7 +274,7 @@ original_slug: Learn/Доступность/HTML <p><strong>Примечание</strong>: Различные браузеры могут иметь разное управление с клавиатуры. Для более подробной информации смотрите <a href="/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Using_native_keyboard_accessibility">Using native keyboard accessibility.</a></p> </div> -<p>Такое поведение вы получаете сразу по-умолчанию, просто используя правильные элементы, например:</p> +<p>Такое поведение вы получаете сразу по умолчанию, просто используя правильные элементы, например:</p> <pre class="brush: html example-good"><h1>Ссылки</h1> @@ -320,20 +320,20 @@ original_slug: Learn/Доступность/HTML <div data-message="Это из второй кнопки">Меня тоже нажми!</div> <div data-message="Это из третьей кнопки">И меня!</div></pre> -<p>Такой код не советуется использовать: вы сразу же теряете нативную доступность с клавиатуры, которая у вас была бы, если просто использовать элемент {{htmlelement("button")}}, к тому же {{htmlelement("div")}} по-умолчанию не имеет кнопочных стилей.</p> +<p>Такой код не советуется использовать: вы сразу же теряете нативную доступность с клавиатуры, которая у вас была бы, если просто использовать элемент {{htmlelement("button")}}, к тому же {{htmlelement("div")}} по умолчанию не имеет кнопочных стилей.</p> <h4 id="Добавление_доступности_с_клавиатуры">Добавление доступности с клавиатуры</h4> -<p>Для добавления доступности с клавиатуры несоответствующим элементам придётся немного поработать (вы можете посмотреть пример, открыв <a class="external external-icon" href="http://mdn.github.io/learning-area/tools-testing/cross-browser-testing/accessibility/fake-div-buttons.html">fake-div-buttons.html</a>, а также <a class="external external-icon" href="https://github.com/mdn/learning-area/blob/master/tools-testing/cross-browser-testing/accessibility/fake-div-buttons.html">исходный код</a>). Мы дали нашим поддельным <code><div></code>-кнопкам возможность фокусироваться (в том числе через <kbd>Tab</kbd>), указав аттрибут <code>tabindex="0"</code>:</p> +<p>Для добавления доступности с клавиатуры несоответствующим элементам придётся немного поработать (вы можете посмотреть пример, открыв <a class="external external-icon" href="http://mdn.github.io/learning-area/tools-testing/cross-browser-testing/accessibility/fake-div-buttons.html">fake-div-buttons.html</a>, а также <a class="external external-icon" href="https://github.com/mdn/learning-area/blob/master/tools-testing/cross-browser-testing/accessibility/fake-div-buttons.html">исходный код</a>). Мы дали нашим поддельным <code><div></code>-кнопкам возможность фокусироваться (в том числе через <kbd>Tab</kbd>), указав атрибут <code>tabindex="0"</code>:</p> <pre class="brush: html"><div data-message="Это из первой кнопки" tabindex="0">Кликни меня!</div> <div data-message="Это из второй кнопки" tabindex="0">Меня тоже кликни!</div> <div data-message="Это из третьей кнопки" tabindex="0">И меня!</div></pre> -<p>Аттрибут {{htmlattrxref("tabindex")}} в первую очередь предназначен для того, чтобы менять порядок фокусируемых элементов в последовательной навигации (указанный в виде положительного целого числа). Это почти всегда — плохая идея, которая может вызвать большую путаницу. Используйте его, если он правда необходим, например, если визуальный порядок сильно отличается от исходного, и вы хотите более логичную последовательную навигацию. Есть два варианта значений <code>tabindex</code>:</p> +<p>Атрибут {{htmlattrxref("tabindex")}} в первую очередь предназначен для того, чтобы менять порядок фокусируемых элементов в последовательной навигации (указанный в виде положительного целого числа). Это почти всегда — плохая идея, которая может вызвать большую путаницу. Используйте его, если он правда необходим, например, если визуальный порядок сильно отличается от исходного, и вы хотите более логичную последовательную навигацию. Есть два варианта значений <code>tabindex</code>:</p> <ul> - <li><code>tabindex="0"</code> — как указано выше, это значение позовляет элементу быть выделеным и достигнутым с помощью последовательной навигации. Это самое полезное значение <code>tabindex</code>.</li> + <li><code>tabindex="0"</code> — как указано выше, это значение позволяет элементу быть выделенным и достигнутым с помощью последовательной навигации. Это самое полезное значение <code>tabindex</code>.</li> <li><code>tabindex="-1"</code> — позволяет элементам, которые обычно не принимают фокусное выделение, получать его программно, например, с помощью JavaScript, или как цель якорной ссылки.</li> </ul> @@ -424,8 +424,8 @@ original_slug: Learn/Доступность/HTML <p>Теперь посмотрим на <a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/punk-bands-complete.html">пример таблицы с панк-группами</a>, где можно увидеть несколько вспомогательных средств:</p> <ul> - <li>Заголовки таблиц определены, используя элементы {{htmlelement("th")}}; можно также указать являются ли они заголовками для строк или столбцов с помощью аттрибута <code>scope</code>. Это даёт нам полные группы данных, которые скринридер обработает как отдельные блоки.</li> - <li>Элемент {{htmlelement("caption")}} и аттрибут <code>summary</code> у элемента {{htmlelement("table")}} выполняют похожую работу — они выступают в качестве альтернативного текста для таблицы, предоставляя пользователям скринридера краткое содержание. Элемент <code><caption></code> обычно предпочтительнее, так как контент становится доступнее и для зрячих пользователей, которые могут посчитать это полезным. На самом деле необязательно ни то, ни другое.</li> + <li>Заголовки таблиц определены, используя элементы {{htmlelement("th")}}; можно также указать являются ли они заголовками для строк или столбцов с помощью атрибута <code>scope</code>. Это даёт нам полные группы данных, которые скринридер обработает как отдельные блоки.</li> + <li>Элемент {{htmlelement("caption")}} и атрибут <code>summary</code> у элемента {{htmlelement("table")}} выполняют похожую работу — они выступают в качестве альтернативного текста для таблицы, предоставляя пользователям скринридера краткое содержание. Элемент <code><caption></code> обычно предпочтительнее, так как контент становится доступнее и для зрячих пользователей, которые могут посчитать это полезным. На самом деле необязательно ни то, ни другое.</li> </ul> <div class="note"> @@ -434,7 +434,7 @@ original_slug: Learn/Доступность/HTML <h2 id="Альтернативный_текст">Альтернативный текст</h2> -<p>В то время как текстовый контент доступен по-умолчанию, этого нельзя сказать о мультимедийном контенте — изображения/видео-контент не может быть просмотрен людьми с нарушениями зрения, а аудио контент не может быть услышан людьми с нарушениями слуха. Мы подробно рассмотрим видео и аудио контент в статье о доступности мультимедиа позже, но в этой статье мы рассмотрим доступность для простого элемента {{htmlelement("img")}}.</p> +<p>В то время как текстовый контент доступен по умолчанию, этого нельзя сказать о мультимедийном контенте — изображения/видео-контент не может быть просмотрен людьми с нарушениями зрения, а аудио контент не может быть услышан людьми с нарушениями слуха. Мы подробно рассмотрим видео и аудио контент в статье о доступности мультимедиа позже, но в этой статье мы рассмотрим доступность для простого элемента {{htmlelement("img")}}.</p> <p>У нас есть простой пример, <a href="http://mdn.github.io/learning-area/accessibility/html/accessible-image.html">accessible-image.html</a>, который содержит четыре копии одного и того же изображения:</p> @@ -459,17 +459,17 @@ original_slug: Learn/Доступность/HTML <p><strong>Примечание</strong>: Вот почему вы никогда не должны включать текстовое содержимое в изображение — скринридеры просто не могут получить к нему доступ.Есть и другие недостатки — вы не можете выбрать его и скопировать/вставить. Просто не делайте этого!</p> </div> -<p>Когда скринридер встретит второе изображение, он озвучит аттрибут <code>alt</code> полностью: «Красный тираннозавр Рекс: стоящий как человек двуногий динозавр, с маленькими передними лапами и большой головой с большим количеством острых зубов».</p> +<p>Когда скринридер встретит второе изображение, он озвучит атрибут <code>alt</code> полностью: «Красный тираннозавр Рекс: стоящий как человек двуногий динозавр, с маленькими передними лапами и большой головой с большим количеством острых зубов».</p> -<p>Это подчёркивает важность не только использования содержательных файловых имён в случаях отсутствия, так называемого, <strong>альтернативного текста</strong>, но также важность предоставления альтернативного текста в аттрибуте <code>alt</code>, где это возможно. Заметьте, что содержание аттрибута <code>alt</code> должно всегда предоставлять прямое представление изображения и то, что оно визуально передаёт. Любые личные знания или дополнительное описание не должны быть включены, так как это не принесёт пользы людям, которые не видели изображение ранее.</p> +<p>Это подчёркивает важность не только использования содержательных файловых имён в случаях отсутствия, так называемого, <strong>альтернативного текста</strong>, но также важность предоставления альтернативного текста в атрибуте <code>alt</code>, где это возможно. Заметьте, что содержание атрибута <code>alt</code> должно всегда предоставлять прямое представление изображения и то, что оно визуально передаёт. Любые личные знания или дополнительное описание не должны быть включены, так как это не принесёт пользы людям, которые не видели изображение ранее.</p> -<p>Также стоит учитывать, имеют ли изображения значение внутри вашего контента, или они исключительно для украшения без смысла. Если они декоративные, лучше оставить значение аттрибута <code>alt</code> пустым (смотрите «<a href="#Пустые_аттрибуты_alt">Пустые аттрибуты alt</a>») или просто вставить их как фон с помощью CSS.</p> +<p>Также стоит учитывать, имеют ли изображения значение внутри вашего контента, или они исключительно для украшения без смысла. Если они декоративные, лучше оставить значение атрибута <code>alt</code> пустым (смотрите «<a href="#Пустые_атрибуты_alt">Пустые атрибуты alt</a>») или просто вставить их как фон с помощью CSS.</p> <div class="note"> <p><strong>Примечание</strong>: Для более подробной информации об изображениях и лучших практиках читайте «<a href="/ru/docs/Learn/HTML/Multimedia_and_embedding/Изображения_в_HTML">Изображения в HTML»</a> и «<a href="/ru/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images">Адаптивные изображения</a>».</p> </div> -<p>Если вы всё же хотите предоставить дополнительную контекстуальную информацию, поместите её в тексте рядом с изображением или внутри аттрибута <code>title</code>, как показано ниже. В этом случае большинство скринридеров озвучат альтернативный текст, аттрибут <code>title</code> и имя файла. Дополнительно, при наведении мышкой браузеры отобразят текст из аттрибута <code>title</code> как всплывающую подсказку.</p> +<p>Если вы всё же хотите предоставить дополнительную контекстуальную информацию, поместите её в тексте рядом с изображением или внутри атрибута <code>title</code>, как показано ниже. В этом случае большинство скринридеров озвучат альтернативный текст, атрибут <code>title</code> и имя файла. Дополнительно, при наведении мышкой браузеры отобразят текст из атрибута <code>title</code> как всплывающую подсказку.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/14333/title-attribute.png" style="display: block; margin: 0 auto;"></p> @@ -479,7 +479,7 @@ original_slug: Learn/Доступность/HTML <p id="dino-label">Красный тираннозавр Mozilla ... </p></pre> -<p>В этом случае мы вообще не используем аттрибут <code>alt</code>. Вместо этого мы представили наше описание изображения как обычный параграф, указали <code>id</code>, и потом использовали аттрибут <code>aria-labelledby</code>, сославшись на тот <code>id</code>. Это вынуждает скринридеры использовать параграф как альтернативный текст/описание изображения. Это особенно удобно, если вы хотите использовать один текст как описание для нескольких изображений, что невозомжно с помощью аттрибута <code>alt</code>.</p> +<p>В этом случае мы вообще не используем атрибут <code>alt</code>. Вместо этого мы представили наше описание изображения как обычный параграф, указали <code>id</code>, и потом использовали атрибут <code>aria-labelledby</code>, сославшись на тот <code>id</code>. Это вынуждает скринридеры использовать параграф как альтернативный текст/описание изображения. Это особенно удобно, если вы хотите использовать один текст как описание для нескольких изображений, что невозможно с помощью атрибута <code>alt</code>.</p> <div class="note"> <p><strong>Примечание</strong>: <code>aria-labelledby</code> — часть спецификации <a href="https://www.w3.org/TR/wai-aria-1.1/">WAI-ARIA</a>, которая позволяет разработчиками добавлять, где требуется, дополнительную семантику разметке для улучшения доступности при использовании скринридеров. Чтобы узнать больше о том, как это работает, читайте статью <a href="/ru/docs/Learn/Accessibility/WAI-ARIA_basics">«Основы WAI-ARIA».</a></p> @@ -487,7 +487,7 @@ original_slug: Learn/Доступность/HTML <h3 id="Другие_механизмы_альтернативного_текста">Другие механизмы альтернативного текста</h3> -<p>У изображений есть ещё один механизм для предоставления описательного текста. Например, есть аттрибут <code>longdesc</code>, который предназначен для указания отдельной веб-страницы, содержащей расширенное описание изображения:</p> +<p>У изображений есть ещё один механизм для предоставления описательного текста. Например, есть атрибут <code>longdesc</code>, который предназначен для указания отдельной веб-страницы, содержащей расширенное описание изображения:</p> <pre class="brush: html"><img src="dinosaur.png" longdesc="dino-info.html"></pre> @@ -502,16 +502,16 @@ original_slug: Learn/Доступность/HTML <p>К сожалению, большинство скринридеров, кажется, пока ещё не умеют связывать заголовки фигур с самими фигурами, но такая структура элементов удобна для CSS стилизации, к тому же, она предоставляет способ расположить описание рядом с изображением в исходнике.</p> -<h3 id="Пустые_аттрибуты_alt">Пустые аттрибуты alt</h3> +<h3 id="Пустые_атрибуты_alt">Пустые атрибуты alt</h3> <pre class="brush: html"><h3> <img src="article-icon.png" alt=""> Тираннозавр Рекс: король динозвров </h3></pre> -<p>Бывает, что в дизайне страницы присутствуют изображения, но они исполняют декоративную роль. В примере выше вы можете заметить, что у изображения пустой аттрибут <code>alt</code> — это сделано, чтобы скринридер опознал изображение, но не стал озвучивать её описание (вместо этого, он бы озвучил её как «изображение», или аналогично).</p> +<p>Бывает, что в дизайне страницы присутствуют изображения, но они исполняют декоративную роль. В примере выше вы можете заметить, что у изображения пустой атрибут <code>alt</code> — это сделано, чтобы скринридер опознал изображение, но не стал озвучивать её описание (вместо этого, он бы озвучил её как «изображение», или аналогично).</p> -<p>Причина, по которой стоит использовать пустой аттрибут <code>alt</code>, вместо того, чтобы просто его не указывать в том, что большинство скринридеров объявят весь URL-адрес изображения, если не указан <code>alt</code>. В пример выше изображение используется как украшение для связанного с ним заголовка. В таких случаях и случаях, когда изображение является украшением и не имеет ценное содержание, вы должны использовать пустой аттрибут <code>alt</code>. Другой вариант — использовать aria роль role="presentation". Это также предотвратит озвучивание скринридером альтернативного текста.</p> +<p>Причина, по которой стоит использовать пустой атрибут <code>alt</code>, вместо того, чтобы просто его не указывать в том, что большинство скринридеров объявят весь URL-адрес изображения, если не указан <code>alt</code>. В пример выше изображение используется как украшение для связанного с ним заголовка. В таких случаях и случаях, когда изображение является украшением и не имеет ценное содержание, вы должны использовать пустой атрибут <code>alt</code>. Другой вариант — использовать aria роль role="presentation". Это также предотвратит озвучивание скринридером альтернативного текста.</p> <div class="note"> <p><strong>Примечание</strong>: По возможности для отображения декоративных изображений вы должны использовать CSS.</p> @@ -519,7 +519,7 @@ original_slug: Learn/Доступность/HTML <h2 id="Заключение">Заключение</h2> -<p>Теперь вы должны хорошо разбираться в написании доступного HTML для большинства случаев. Наша статья про основы WAI-ARIA также заполнит пробелы в знаниях, но эта статья посвящена основам. Далее мы рассмотрим CSS и JavaScript, и как хорошое или плохое их использование влияет на доступность. </p> +<p>Теперь вы должны хорошо разбираться в написании доступного HTML для большинства случаев. Наша статья про основы WAI-ARIA также заполнит пробелы в знаниях, но эта статья посвящена основам. Далее мы рассмотрим CSS и JavaScript, и как хорошо или плохое их использование влияет на доступность. </p> <p>{{PreviousMenuNext("Learn/Accessibility/What_is_Accessibility","Learn/Accessibility/CSS_and_JavaScript", "Learn/Accessibility")}}</p> diff --git a/files/ru/learn/accessibility/what_is_accessibility/index.html b/files/ru/learn/accessibility/what_is_accessibility/index.html index 84dc970c42..16207ced8b 100644 --- a/files/ru/learn/accessibility/what_is_accessibility/index.html +++ b/files/ru/learn/accessibility/what_is_accessibility/index.html @@ -93,7 +93,7 @@ original_slug: Learn/Доступность/What_is_accessibility <p>Этот вид инвалидности также может быть результатом старости, а не какой-либо конкретной травмы или состояния, а также может быть результатом аппаратных ограничений — у некоторых пользователей может не быть мыши.</p> -<p>Управление элементами с помощью клавиатуры является обычным требованием, которое влияет на процесс веб-разработки — мы обсудим доступ с клавиатруы в последующих статьях модуля. Хорошая идея, чтобы попробовать пользоваться веб-сайтами, только с помощью клавиатуры, чтобы увидеть, что из этого выйдет и как это работает. Например, можно ли использовать клавишу Tab для перемещения между различными элементами управления веб-формы? Вы можете найти больше деталей об использовании клавиатуры в нашей секции <a href="/ru/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Using_native_keyboard_accessibility">Cross browser testing Using native keyboard accessibility</a>.</p> +<p>Управление элементами с помощью клавиатуры является обычным требованием, которое влияет на процесс веб-разработки — мы обсудим доступ с клавиатуры в последующих статьях модуля. Хорошая идея, чтобы попробовать пользоваться веб-сайтами, только с помощью клавиатуры, чтобы увидеть, что из этого выйдет и как это работает. Например, можно ли использовать клавишу Tab для перемещения между различными элементами управления веб-формы? Вы можете найти больше деталей об использовании клавиатуры в нашей секции <a href="/ru/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Using_native_keyboard_accessibility">Cross browser testing Using native keyboard accessibility</a>.</p> <p>С точки зрения статистики, значительное количество людей имеют нарушения мобильности. Центры США по контролю и профилактике заболеваний <a class="external external-icon" href="http://www.cdc.gov/nchs/fastats/disability.htm">Инвалидности и Функционирования (Неинституционализированные взрослые в возрасте 18 лет и старше)</a> сообщают, что в США "Процент взрослых с любым физическим нарушением функционирования: 16,1%".</p> @@ -121,7 +121,7 @@ original_slug: Learn/Доступность/What_is_accessibility <p>С точки зрения статистики, опять же цифры значительны. Отчет Корнелльского университета <a class="external external-icon" href="http://www.disabilitystatistics.org/StatusReports/2014-PDF/2014-StatusReport_US.pdf">О состоянии инвалидности за 2014 год</a> (PDF, 511 КБ)(en) показывает, что в 2014 году 4,5% людей в США в возрасте 21-64 лет имели ту или иную форму когнитивной инвалидности.</p> <div class="note"> -<p><strong>Примечание</strong>: <a href="http://webaim.org/articles/cognitive/">Страница о когнитивных расстройствах</a> на WebAIM обепечивает полезное распространение этих идей, и это, безусловно, стоит прочитать.</p> +<p><strong>Примечание</strong>: <a href="http://webaim.org/articles/cognitive/">Страница о когнитивных расстройствах</a> на WebAIM обеспечивает полезное распространение этих идей, и это, безусловно, стоит прочитать.</p> </div> <h2 id="Реализация_доступности_в_проекте">Реализация доступности в проекте</h2> @@ -135,15 +135,15 @@ original_slug: Learn/Доступность/What_is_accessibility <p>Если вы рассматриваете доступность с самого начала проекта, то стоимость создания доступного контента должна быть весьма небольшой.</p> -<p>При планировании проекта учитывайте тестирование доступности в своём режиме тестирования, как при тестировании любого другого важного сегмента целевой аудитории (например, настольный или мобильный браузер). Тестируйте на ранних этапах и часто, выполняя автоматические тесты, чтобы выявить программно обнаруживаемые отсутствующие функции (такие как отсутствующий <a href="https://developer.mozilla.org/ru/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Text_alternatives">альтернативный текст</a> изображения или неправильная ссылка — см. <a href="/ru/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Element_relationships_and_context">Element relationships and context</a>), и тестируйте с некоторыми нетрудоспособными групами пользователей, чтобы увидеть, насколько хорошо для них работают более сложные функции сайта. Например:</p> +<p>При планировании проекта учитывайте тестирование доступности в своём режиме тестирования, как при тестировании любого другого важного сегмента целевой аудитории (например, настольный или мобильный браузер). Тестируйте на ранних этапах и часто, выполняя автоматические тесты, чтобы выявить программно обнаруживаемые отсутствующие функции (такие как отсутствующий <a href="https://developer.mozilla.org/ru/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Text_alternatives">альтернативный текст</a> изображения или неправильная ссылка — см. <a href="/ru/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Element_relationships_and_context">Element relationships and context</a>), и тестируйте с некоторыми нетрудоспособными группами пользователей, чтобы увидеть, насколько хорошо для них работают более сложные функции сайта. Например:</p> <ul> <li>Может ли мой виджет выбора даты использоваться людьми, использующими программы чтения с экрана?</li> <li>Если контент обновляется динамически, знают ли об этом люди с ослабленным зрением?</li> - <li>Мои интефейсные кнопки доступны с помощью клавиатуры и сенсорного интерфейса?</li> + <li>Мои интерфейсные кнопки доступны с помощью клавиатуры и сенсорного интерфейса?</li> </ul> -<p>Вы можете и должны хранить заметку о потенциальных проблемных местах в контенте, которые будут нуждаться в доработке, чтобы сделать их доступыми, убедитесь, что они тщательно протестированы, и подумайте о решениях/альтернативах. Текстовый контент (как вы увидите в следующей статье) довольно прост, но как насчет вашего мультимедийного контента, и красивой 3D-графики? Вы должны смотреть на свой бюджет проекта и реально думать о том, какие решения у вас есть, чтобы сделать такой контент доступным? Вы можете заплатить за расшифровку всего вашего мультимедийного контента, это может быть дорогостоящим, но будет сделано.</p> +<p>Вы можете и должны хранить заметку о потенциальных проблемных местах в контенте, которые будут нуждаться в доработке, чтобы сделать их доступными, убедитесь, что они тщательно протестированы, и подумайте о решениях/альтернативах. Текстовый контент (как вы увидите в следующей статье) довольно прост, но как насчет вашего мультимедийного контента, и красивой 3D-графики? Вы должны смотреть на свой бюджет проекта и реально думать о том, какие решения у вас есть, чтобы сделать такой контент доступным? Вы можете заплатить за расшифровку всего вашего мультимедийного контента, это может быть дорогостоящим, но будет сделано.</p> <p>Кроме того, будьте реалистами. "100% доступность" является недостижимым идеалом — вы всегда столкнетесь с каким-то случаем, который приводёт к тому, что определенный пользователь найдёт определенный контент трудным в использовании, но вы должны сделать столько, сколько сможете. Если вы планируете использовать трехмерную круговую диаграмму, созданную с помощью WebGL, вы можете включить таблицу данных в качестве доступного альтернативного представления данных. Или, вы можете просто включить таблицу и избавиться от 3D круговой диаграммы-таблица доступна для всех, быстрее кодировать, меньше ресурсов процессора, и проще в обслуживании.</p> @@ -165,7 +165,7 @@ original_slug: Learn/Доступность/What_is_accessibility <h2 id="Руководство_по_доступности_и_закон">Руководство по доступности и закон</h2> -<p>Существует множество чеклистов и наборов руководств, на которых можно основываться при тестировании доступности, которые на первый взгляд могут показаться ошеломляющими. Наш совет — ознакомиться с основными областями, о которых вам необходимо позаботиться, а также понять структуры руководящих принципов, которые наиболее актуальны для вас.</p> +<p>Существует множество чек-листов и наборов руководств, на которых можно основываться при тестировании доступности, которые на первый взгляд могут показаться ошеломляющими. Наш совет — ознакомиться с основными областями, о которых вам необходимо позаботиться, а также понять структуры руководящих принципов, которые наиболее актуальны для вас.</p> <ul> <li>Для начала, W3C опубликовал большой и очень подробный документ, который включает в себя очень точные, независимые от технологии критерии соответствия доступности. Они называются <a class="external external-icon" href="https://www.w3.org/Translations/WCAG20-ru/WCAG20-ru-20130220/">Рекомендациями по доступности веб-контента</a> (<a class="external external-icon" href="https://www.w3.org/WAI/intro/wcag.php">Web Content Accessibility Guidelines</a> — WCAG), и они никоим образом не являются кратким описанием. Критерии разделяются на четыре основные категории, которые определяют, как реализации можно сделать восприимчивыми, работоспособными, понятными и устойчивыми. Лучшее место, чтобы получить легкое представление и начать обучение это <a class="external external-icon" href="https://www.w3.org/WAI/WCAG20/glance/Overview.html">WCAG at a Glance</a>. Нет необходимости изучать WCAG наизусть — знайте об основных проблемных областях и используйте различные методы и инструменты, чтобы выделить любые области, которые не соответствуют критериям WCAG (подробнее см. ниже).</li> diff --git a/files/ru/learn/common_questions/available_text_editors/index.html b/files/ru/learn/common_questions/available_text_editors/index.html index 37f18bfe7b..0a2c769828 100644 --- a/files/ru/learn/common_questions/available_text_editors/index.html +++ b/files/ru/learn/common_questions/available_text_editors/index.html @@ -203,7 +203,7 @@ translation_of: Learn/Common_questions/Available_text_editors <p><em>Активное изучение пока не доступно. <a href="https://developer.mozilla.org/en-US/docs/MDN/Getting_started">Пожалуйста, рассмотрите возможность внести свой вклад</a>.</em></p> -<h2 id="Копай_глебже">Копай глебже</h2> +<h2 id="Копай_глубже">Копай глубже</h2> <h3 id="Критерии_выбора">Критерии выбора</h3> diff --git a/files/ru/learn/common_questions/design_for_all_types_of_users/index.html b/files/ru/learn/common_questions/design_for_all_types_of_users/index.html index 8980f6ec00..8486ff757f 100644 --- a/files/ru/learn/common_questions/design_for_all_types_of_users/index.html +++ b/files/ru/learn/common_questions/design_for_all_types_of_users/index.html @@ -182,7 +182,7 @@ span.subheading { font-size:1rem; } /* исходный размер */ <h4 id="Изображения">Изображения</h4> -<p>Изобажения могут быть декоративными или информационными, но нет гарантий, что пользователь сможет увидеть их. Например,</p> +<p>Изображения могут быть декоративными или информационными, но нет гарантий, что пользователь сможет увидеть их. Например,</p> <ul> <li>Слабовидящие пользователи полагаются на средство чтения с экрана, которое может обрабатывать только текст.</li> @@ -193,7 +193,7 @@ span.subheading { font-size:1rem; } /* исходный размер */ <dl> <dt>Декоративные изображения</dt> <dd>Они просто для украшения и не передают никакой полезной информации. Чаще всего их можно было бы заменить фоновым изображением. Убедитесь, что они имеют пустой атрибут <code>alt</code>: <code><img src="deco.gif" alt=""></code>, чтобы они не засоряли текст.</dd> - <dt>Информационнные изоражения</dt> + <dt>Информационные изображения</dt> <dd>Они используются для передачи информации, отсюда и их название. Они могут, например, показать график, жест человека или любую другую информацию. Как минимум, вы должны предоставить соответствующий атрибут <code>alt</code>.</dd> </dl> @@ -205,7 +205,7 @@ span.subheading { font-size:1rem; } /* исходный размер */ <h4 id="Аудиовидео">Аудио/видео</h4> -<p>Также вам стоит предоставдять альтернативы мультимедийному контенту.</p> +<p>Также вам стоит предоставлять альтернативы мультимедийному контенту.</p> <dl> <dt>Субтитры / закрытие субтитров</dt> diff --git a/files/ru/learn/common_questions/how_much_does_it_cost/index.html b/files/ru/learn/common_questions/how_much_does_it_cost/index.html index 315fcf623a..b830480208 100644 --- a/files/ru/learn/common_questions/how_much_does_it_cost/index.html +++ b/files/ru/learn/common_questions/how_much_does_it_cost/index.html @@ -42,7 +42,7 @@ translation_of: Learn/Common_questions/How_much_does_it_cost <h3 id="Редакторы_изображений">Редакторы изображений</h3> -<p>Ваша система, вероятно, включает в себя простой редактор изображений или просмотрщик: Paint на Windows, Eye of Gnome на Ubuntu, Preview на Mac. Эти программы относительно ограничены, и в скоре вы захотите более развитый редактор, чтобы иметь возможность добавлять слои, накладывать эффекты и группировать объекты.</p> +<p>Ваша система, вероятно, включает в себя простой редактор изображений или просмотрщик: Paint на Windows, Eye of Gnome на Ubuntu, Preview на Mac. Эти программы относительно ограничены, и вскоре вы захотите более развитый редактор, чтобы иметь возможность добавлять слои, накладывать эффекты и группировать объекты.</p> <p>Редакторы могут быть бесплатными (<a href="http://www.gimp.org/">GIMP</a>, <a href="https://www.getpaint.net/">Paint.NET</a>), относительно недорогими (<a href="http://www.paintshoppro.com/">PaintShop Pro</a>, меньше чем $100), или иметь стоимость в пару сотен долларов (<a href="https://www.adobe.com/products/photoshop.html">Adobe Photoshop</a>).</p> @@ -58,7 +58,7 @@ translation_of: Learn/Common_questions/How_much_does_it_cost <p>Вам также потребуется возможность выгрузки файлов: с вашего жесткого диска на удаленный веб-сервер. Чтобы осуществить это, вам потребуется утилита для публикации, такая как (S)<a href="/en-US/docs/Glossary/FTP">FTP client</a>, <a href="https://en.wikipedia.org/wiki/Rsync">RSync</a>, или <a href="https://help.github.com/articles/using-a-custom-domain-with-github-pages/">Git/GitHub</a>.</p> -<p>Каждая операционная система включает (S)FTP клиент, как часть своего файлового менеджера. Проводник Windows, Nautilus (распрастраненный файловый менеджер Linux), и Mac Finder - все имеют такую функциональность. Однако, люди часто выбирают удаленные (S)FTP клиенты, для одновременного отображения локальных и удаленных каталогов и хранения паролей сервера.</p> +<p>Каждая операционная система включает (S)FTP клиент, как часть своего файлового менеджера. Проводник Windows, Nautilus (распространенный файловый менеджер Linux), и Mac Finder - все имеют такую функциональность. Однако, люди часто выбирают удаленные (S)FTP клиенты, для одновременного отображения локальных и удаленных каталогов и хранения паролей сервера.</p> <p>Если вы хотите установить (S)FTP клиент, то существует несколько, заслуживающих доверия, бесплатных вариантов: <a href="https://filezilla-project.org/">FileZilla</a>, <a href="http://winscp.net/">WinSCP</a> для Windows, <a href="https://cyberduck.io/">Cyberduck</a> для Mac/Windows, <a href="https://en.wikipedia.org/wiki/List_of_FTP_server_software">и другие</a>.</p> @@ -118,14 +118,14 @@ translation_of: Learn/Common_questions/How_much_does_it_cost <ul> <li>У вас есть больше свободы, когда вы платите. Ваш веб-сайт только в ваших руках, и вы можете легко перейти от одного хостинг-провайдера к другому.</li> - <li>Бесплатные хостинги могут добавлять рекламные обьявления к вашему контенту, в обход вашего контроля.</li> + <li>Бесплатные хостинги могут добавлять рекламные объявления к вашему контенту, в обход вашего контроля.</li> </ul> <p>Лучше обратиться к платному хостингу, чем полагаться на бесплатный, так как большинство платных сайтов гарантируют бесперебойную работу и позволяют с легкостью управлять файловой структурой. Большинство хостинг-провайдеров предоставят вам огромную скидку для старта.</p> <p>Некоторые люди выбирают смешанный подход. Например, их главный блог на платном хосте, с полным доменном именем, а неожиданный менее важный контент, на бесплатном хосте.</p> -<h2 id="Профессиональные_веб-сайты_агенств_и_хостингов">Профессиональные веб-сайты агенств и хостингов</h2> +<h2 id="Профессиональные_веб-сайты_агентств_и_хостингов">Профессиональные веб-сайты агентств и хостингов</h2> <p>Если вы хотите профессиональный веб-сайт, вы можете обратиться в агентство по веб-разработке, чтобы оно сделало его для вас.<br> <br> @@ -136,13 +136,13 @@ translation_of: Learn/Common_questions/How_much_does_it_cost <li>Будете ли вы его обновлять регулярно? или это будет статический веб-сайт?</li> <li>Должен ли веб-сайт подсоединяться к IT структуре вашей компании, чтобы собирать контент (например, внутренние данные)?</li> <li>Хотите ли вы какую-нибудь уникальную функцию, которая сейчас в моде?</li> - <li>Хотите ли вы, чтобы агенство решало сложные проблемы пользователей {{Glossary("UX")}}?</li> + <li>Хотите ли вы, чтобы агентство решало сложные проблемы пользователей {{Glossary("UX")}}?</li> </ul> <p>...и для хостинга:</p> <ul> - <li>Хотите ли вы имет резервный сервер, если вдруг ваш упадет?</li> + <li>Хотите ли вы иметь резервный сервер, если вдруг ваш упадет?</li> <li>Надежность 95%, или вам требуется круглосуточный сервис обслуживания?</li> <li>Вам нужны высокопроизводительные, сверхчувствительные удаленные серверы или вам будет достаточно более медленной, машиной, предназначенной для совместного использования.</li> </ul> diff --git a/files/ru/learn/common_questions/index.html b/files/ru/learn/common_questions/index.html index 7fa9b16baf..99127001de 100644 --- a/files/ru/learn/common_questions/index.html +++ b/files/ru/learn/common_questions/index.html @@ -125,7 +125,7 @@ translation_of: Learn/Common_questions <p>Чтобы узнать о распространённых решениях большинства проблем в HTML / CSS / JavaScript, используйте следующие статьи:</p> <ul> - <li><a href="/ru/docs/Learn/HTML/Howto">Использование HTML для решения распространённных проблем</a></li> + <li><a href="/ru/docs/Learn/HTML/Howto">Использование HTML для решения распространенных проблем</a></li> <li><a href="/ru/docs/Learn/CSS/Howto">Использование CSS для решения распространённых проблем </a></li> - <li><a href="/ru/docs/Learn/JavaScript/Howto">Использование JavaScript для решения распрстранённых проблем</a></li> + <li><a href="/ru/docs/Learn/JavaScript/Howto">Использование JavaScript для решения распространенных проблем</a></li> </ul> diff --git a/files/ru/learn/common_questions/set_up_a_local_testing_server/index.html b/files/ru/learn/common_questions/set_up_a_local_testing_server/index.html index 0ab424414d..107fde3801 100644 --- a/files/ru/learn/common_questions/set_up_a_local_testing_server/index.html +++ b/files/ru/learn/common_questions/set_up_a_local_testing_server/index.html @@ -16,7 +16,7 @@ translation_of: Learn/Common_questions/set_up_a_local_testing_server <tr> <th scope="row">Цель:</th> <td> - <p>Вы научитесь как установливать локальный тестовый сервер.</p> + <p>Вы научитесь как устанавливать локальный тестовый сервер.</p> </td> </tr> </tbody> @@ -26,20 +26,20 @@ translation_of: Learn/Common_questions/set_up_a_local_testing_server <p>На протяжении всего обучения, вы будете открывать примеры непосредственно в браузере — двойным кликом по HTML файлу, перетаскиванием файла в окно браузера, или через меню <em>File</em> > <em>Open...</em> и указывая необходимый HTML файл. Существует множество способов как это сделать.</p> -<p>Если веб-адрес начинается с <code>file://</code> в котором далее прописан путь к файлу на вашем локальном жестком диске, значит используется локальный файл. В противоположность этому, если вы откроете на просмотр один из наших примеров, расположенных на GitHub (или пример расположенный на любом другом удаленном сервере), веб-адресс будет начинаться с <code>http://</code> или <code>https://</code>, что означает что файл был получен через HTTP.</p> +<p>Если веб-адрес начинается с <code>file://</code> в котором далее прописан путь к файлу на вашем локальном жестком диске, значит используется локальный файл. В противоположность этому, если вы откроете на просмотр один из наших примеров, расположенных на GitHub (или пример расположенный на любом другом удаленном сервере), веб-адрес будет начинаться с <code>http://</code> или <code>https://</code>, что означает что файл был получен через HTTP.</p> <h2 id="Проблемы_тестирования_локальных_файлов">Проблемы тестирования локальных файлов</h2> <p>Некоторые примеры могут не запуститься, если вы попробуете открыть их как локальные файлы. Это может произойти по нескольким причинам, самые распространенные из которых:</p> <ul> - <li><strong>Они содержат ассинхронные запросы.</strong> Некоторые браузеры (включая Chrome) не будут запускать асинхронные запросы (см. <a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Fetching_data">Fetching data from the server</a>), если вы просто запускаете пример из локального файла. Это связано с ограничениями безопасности (для получения дополнительной информации о безопасности в Интернете, ознакомьтесь с <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Website_security">Website security</a>).</li> + <li><strong>Они содержат асинхронные запросы.</strong> Некоторые браузеры (включая Chrome) не будут запускать асинхронные запросы (см. <a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Fetching_data">Fetching data from the server</a>), если вы просто запускаете пример из локального файла. Это связано с ограничениями безопасности (для получения дополнительной информации о безопасности в Интернете, ознакомьтесь с <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Website_security">Website security</a>).</li> <li><strong>Они имеют серверный язык.</strong> Серверные языки (например, PHP или Python) требуют специального сервера для интерпретации кода и предоставления результатов.</li> </ul> <h2 id="Запуск_простого_локального_HTTP_сервера">Запуск простого локального HTTP сервера</h2> -<p>Чтобы обойти проблему ассинхронных запросов, нам нужно протестировать такие примеры, запустив их через локальный веб-сервер. Один из самых простых способов сделать это для наших целей - использовать модуль <code>SimpleHTTPServer</code> Python.</p> +<p>Чтобы обойти проблему асинхронных запросов, нам нужно протестировать такие примеры, запустив их через локальный веб-сервер. Один из самых простых способов сделать это для наших целей - использовать модуль <code>SimpleHTTPServer</code> Python.</p> <p>Для этого нужно:</p> @@ -51,7 +51,7 @@ translation_of: Learn/Common_questions/set_up_a_local_testing_server <li>Зайдите на <a href="https://www.python.org/">python.org</a></li> <li>В секции загрузок, выберите линк для Python "3.xxx".</li> <li>Внизу страницы выберите <em>Windows x86 executable installer</em> и скачайте его.</li> - <li>Послезагрузки файла запустите его.</li> + <li>После загрузки файла запустите его.</li> <li>На первой странице инсталлятора выберите чекбокс "Add Python 3.xxx to PATH".</li> <li>Нажмите <em>Install</em>, затем нажмите <em>Close</em> когда установка закончится.</li> </ul> diff --git a/files/ru/learn/common_questions/thinking_before_coding/index.html b/files/ru/learn/common_questions/thinking_before_coding/index.html index 7d9243ac0d..f10459aee6 100644 --- a/files/ru/learn/common_questions/thinking_before_coding/index.html +++ b/files/ru/learn/common_questions/thinking_before_coding/index.html @@ -35,7 +35,7 @@ translation_of: Learn/Common_questions/Thinking_before_coding <li>Что и в каком порядке должно быть реализовано, чтобы достичь моих целей?</li> </ul> -<p>Совокупность и анализ ответов на эти вопросы поможет определить <em>идею проекта</em>, которая является <strong>необходимым</strong> первым шагом в достижении ваших целей, вне зависимости от того, имеется ли у вас опыт разработки или же вы новичек.</p> +<p>Совокупность и анализ ответов на эти вопросы поможет определить <em>идею проекта</em>, которая является <strong>необходимым</strong> первым шагом в достижении ваших целей, вне зависимости от того, имеется ли у вас опыт разработки или же вы новичок.</p> <h2 id="Активное_Обучение">Активное Обучение</h2> @@ -169,7 +169,7 @@ translation_of: Learn/Common_questions/Thinking_before_coding <p>Во-первых, некоторые из этих задач не привязаны к интернету (к примеру, запись музыки или написание статей). И очень часто такие "офлайн" вещи играют большую роль в достижении целей, чем сам сайт. В продажах, к примеру, гораздо большее значение и тяжелую реализацию представляют решения вопросов доставки, оплаты и налогообложения, чем непосредственная реализация сайта с возможностью оформления заказов.</p> -<p>Во-вторых, написание плана порождает новые вопросы, которые тоже нуждаются в ответах. И, как правило, этих вопросов больше чем рассмотренно в этой статье. (К примеру, можете ли вы сделать что-то из плана самостоятельно, лучше попросить кого-то из знакомых или придётся прибегнуть к помощи третьих лиц?)</p> +<p>Во-вторых, написание плана порождает новые вопросы, которые тоже нуждаются в ответах. И, как правило, этих вопросов больше чем рассмотрено в этой статье. (К примеру, можете ли вы сделать что-то из плана самостоятельно, лучше попросить кого-то из знакомых или придётся прибегнуть к помощи третьих лиц?)</p> <h2 id="Заключение">Заключение</h2> diff --git a/files/ru/learn/common_questions/upload_files_to_a_web_server/index.html b/files/ru/learn/common_questions/upload_files_to_a_web_server/index.html index 2f156c3985..8bb146c8a3 100644 --- a/files/ru/learn/common_questions/upload_files_to_a_web_server/index.html +++ b/files/ru/learn/common_questions/upload_files_to_a_web_server/index.html @@ -77,9 +77,9 @@ translation_of: Learn/Common_questions/Upload_files_to_a_web_server <p>Чтобы подключить SFTP клиент к удаленному серверу, выполните следующие действия:</p> <ol> - <li>Выбирите <em>File > Site Manager...</em> в главном меню.</li> + <li>Выберите <em>File > Site Manager...</em> в главном меню.</li> <li>В окне <em>Site Manager</em>, нажмите кнопку <em>New Site</em>, затем введите название сайта как <strong>demozilla</strong> в предоставленном месте.</li> - <li>Укражите SFTP-сервер вашего хоста в предоставленном поле: Host.</li> + <li>Укажите SFTP-сервер вашего хоста в предоставленном поле: Host.</li> <li>В раскрывающемся списке <em>Logon Type: </em>выберите <em>Normal</em>, затем введите предоставленные имя пользователя и пароль в соответствующие поля.</li> <li>Введите правильный порт и другую информацию.</li> </ol> @@ -100,13 +100,13 @@ translation_of: Learn/Common_questions/Upload_files_to_a_web_server <ul> <li>По центру левой панели вы можете видеть локальные файлы. Перейдите в каталог, в котором вы храните свой веб-сайт (например, <code>mdn</code>).</li> - <li>По центру правой панели вы увидете удаленные файли. Мы вошли в наш удаленный корень FTP (в данном случае: <code>users/demozilla</code>)</li> + <li>По центру правой панели вы увидеть удаленные файлы. Мы вошли в наш удаленный корень FTP (в данном случае: <code>users/demozilla</code>)</li> <li>Вы можете пока игнорировать нижнюю и верхнюю панели. Соответственно, это журнал сообщений, показывающий состояние соединения между вашим компьютером и SFTP-сервером, и журнал в реальном времени каждого взаимодействия между вашим SFTP-клиентом и сервером.</li> </ul> <h3 id="Загрузка_на_сервер">Загрузка на сервер</h3> -<p>Наш пример инструкций для хостинга указывает нам следующее: "Чтобы опубликовать в Интернете, поместите свои файлы в каталог: <code>Public/htdocs</code>." Вам нужно перейти в указанный каталог на правой панели. Этот каталог фактически является корнем вашего веб-сайта, где находятся ваши <code>index.html</code> , откуда ваши файл и другие активы будуть отправлены.</p> +<p>Наш пример инструкций для хостинга указывает нам следующее: "Чтобы опубликовать в Интернете, поместите свои файлы в каталог: <code>Public/htdocs</code>." Вам нужно перейти в указанный каталог на правой панели. Этот каталог фактически является корнем вашего веб-сайта, где находятся ваши <code>index.html</code> , откуда ваши файл и другие активы будут отправлены.</p> <p>После того, как вы нашли правильный удаленный каталог для размещения файлов, чтобы загрузить файлы на сервер, вам необходимо переместить их с левой панели на правую.</p> diff --git a/files/ru/learn/common_questions/what_are_browser_developer_tools/index.html b/files/ru/learn/common_questions/what_are_browser_developer_tools/index.html index c38c18ddd7..a104e24554 100644 --- a/files/ru/learn/common_questions/what_are_browser_developer_tools/index.html +++ b/files/ru/learn/common_questions/what_are_browser_developer_tools/index.html @@ -58,7 +58,7 @@ original_slug: Learn/Discover_browser_developer_tools <h2 id="Inspector_DOM_обозреватель_и_CSS_редактор">Inspector: DOM обозреватель и CSS редактор</h2> -<p>По-умолчанию, в панели открывается вкладка<em> </em>Inspector, Вы можете увидеть это на скриншоте снизу. Этот инструмент позволяет Вам видеть, как HTML-код выглядит на странице в настоящем времени, также как CSS, который применён к каждому элементу на странице. Это также позволяет Вам в реальном времени редактировать как HTML, так и CSS. Внесённые изменения можно увидеть непосредственно в окне браузера.</p> +<p>По умолчанию, в панели открывается вкладка<em> </em>Inspector, Вы можете увидеть это на скриншоте снизу. Этот инструмент позволяет Вам видеть, как HTML-код выглядит на странице в настоящем времени, также как CSS, который применён к каждому элементу на странице. Это также позволяет Вам в реальном времени редактировать как HTML, так и CSS. Внесённые изменения можно увидеть непосредственно в окне браузера.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/9607/inspector.png" style="display: block; height: 727px; margin: 0px auto; width: 800px;"></p> @@ -87,7 +87,7 @@ original_slug: Learn/Discover_browser_developer_tools <h3 id="Обзор_CSS_редактора">Обзор CSS редактора</h3> -<p>По-умолчанию, CSS редактор отображает CSS свойства применённые к текущему выбранному элементу:</p> +<p>По умолчанию, CSS редактор отображает CSS свойства применённые к текущему выбранному элементу:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/9631/css-viewer-2.png" style="border: 1px solid black; display: block; height: 218px; margin: 0px auto; width: 326px;"></p> diff --git a/files/ru/learn/common_questions/what_are_hyperlinks/index.html b/files/ru/learn/common_questions/what_are_hyperlinks/index.html index 48cca09fde..2efee98239 100644 --- a/files/ru/learn/common_questions/what_are_hyperlinks/index.html +++ b/files/ru/learn/common_questions/what_are_hyperlinks/index.html @@ -37,7 +37,7 @@ original_slug: Learn/Understanding_links_on_the_web <li>{{Glossary("HTML")}}, формат документа, позволяющий встраивать <em>гиперссылки</em></li> </ol> -<p>Как вы видите, все в Вебе крутится вокруг документов и способах обеспечения доступа к ним. Первоначальная цель Веба заключалась в предоставлении легкого инструмента доступа к текстовым документам, их чтения и навигации по ним. С тех пор Веб эволюционировал в инструмент обеспечения доступа к изображениям, видео и бинарным данным, но все эти улучшения врядли были бы возможны без тех самых трёх китов, о которых говорил Тим. </p> +<p>Как вы видите, все в Вебе крутится вокруг документов и способах обеспечения доступа к ним. Первоначальная цель Веба заключалась в предоставлении легкого инструмента доступа к текстовым документам, их чтения и навигации по ним. С тех пор Веб эволюционировал в инструмент обеспечения доступа к изображениям, видео и бинарным данным, но все эти улучшения вряд ли были бы возможны без тех самых трёх китов, о которых говорил Тим. </p> <p>До Веба было весьма сложно получить доступ к документам и перемещаться от одного к другому. Став понятными для пользователя, URL'ы уже сделали жизнь гораздо проще, но нам довольно сложно было печатать длинный URL каждый раз, когда мы хотели получить документ. Вот тут то гиперссылки и совершили революцию. Ссылка может связать любой текст с URL, так что пользователь может моментально достигнуть цели всего лишь активируя ссылку.</p> @@ -59,7 +59,7 @@ original_slug: Learn/Understanding_links_on_the_web <dl> <dt>Внутренняя ссылка</dt> - <dd>Ссылка между двумя веб-страницами, принадлежащими к одному веб-сайту. Без внутренных ссылок нет такого понятия как веб-сайт (конечно, если это не одностраничный сайт).</dd> + <dd>Ссылка между двумя веб-страницами, принадлежащими к одному веб-сайту. Без внутренних ссылок нет такого понятия как веб-сайт (конечно, если это не одностраничный сайт).</dd> <dt>Внешняя ссылка</dt> <dd>Ссылка с вашей веб-страницы на чью-либо другую веб-страницу. Без внешних ссылок не будет Веба, так как Веб <span style="background-color: #ffffff; color: #333333; display: inline !important; float: none; font-family: Arial,Helvetica,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal;">— </span> это сеть веб-страниц. Используйте внешние ссылки для того, чтобы предоставить информацию помимо той, что вы поддерживаете на вашем сайте. </dd> <dt>Входящие ссылки</dt> diff --git a/files/ru/learn/common_questions/what_is_a_domain_name/index.html b/files/ru/learn/common_questions/what_is_a_domain_name/index.html index d5418ac073..f60b9b53cf 100644 --- a/files/ru/learn/common_questions/what_is_a_domain_name/index.html +++ b/files/ru/learn/common_questions/what_is_a_domain_name/index.html @@ -18,7 +18,7 @@ original_slug: Learn/Understanding_domain_names <tbody> <tr> <th scope="row">Необходимые знания:</th> - <td>Вы должны знать <a href="/en-US/docs/Learn/How_the_Internet_works">как работает Интернет</a> и понимать устройтво <a href="/en-US/Learn/Understanding_URLs">устройство URL</a>.</td> + <td>Вы должны знать <a href="/en-US/docs/Learn/How_the_Internet_works">как работает Интернет</a> и понимать устройство <a href="/en-US/Learn/Understanding_URLs">устройство URL</a>.</td> </tr> <tr> <th scope="row">Цель:</th> @@ -31,7 +31,7 @@ original_slug: Learn/Understanding_domain_names <p><span class="seoSummary">Доменные имена - ключевая составляющая инфраструктуры Интернета. Они предоставляют человеко-читаемые адреса веб-серверов, доступных в Интернете.</span></p> -<p>Каждый компьютер подключен к Интернету и может быть доступен через публичный {{Glossary("IP")}}-адрес, который состоит из 32 бит для IPv4 адреса (такие адреса обычно записываются в виде четырёх чисел от 0 до 255, разделённых точками (напр., <code>173.194.121.32</code>) или 128 bit для IPv6 адреса (они обычно записываются в виде 8 групп по 4 шеснадцетиричных чисел, разделенных двоеточиями (напр, <code>2027:0da8:8b73:0000:0000:8a2e:0370:1337</code>). Компьютеры могут легко обрабатывать эти адреса , но у живых людей уходит слишком много времени на использование таких адресов. IP-адреса также сложно запоминаются и часто меняются со временем. Для решения этой проблемы в Интернете используются человеко-читаемые адреса, называемые доменными именами.</p> +<p>Каждый компьютер подключен к Интернету и может быть доступен через публичный {{Glossary("IP")}}-адрес, который состоит из 32 бит для IPv4 адреса (такие адреса обычно записываются в виде четырёх чисел от 0 до 255, разделённых точками (напр.., <code>173.194.121.32</code>) или 128 bit для IPv6 адреса (они обычно записываются в виде 8 групп по 4 шестнадцатеричных чисел, разделенных двоеточиями (напр., <code>2027:0da8:8b73:0000:0000:8a2e:0370:1337</code>). Компьютеры могут легко обрабатывать эти адреса , но у живых людей уходит слишком много времени на использование таких адресов. IP-адреса также сложно запоминаются и часто меняются со временем. Для решения этой проблемы в Интернете используются человеко-читаемые адреса, называемые доменными именами.</p> <h2 id="Активно_изучаем">Активно изучаем</h2> @@ -41,7 +41,7 @@ original_slug: Learn/Understanding_domain_names <h3 id="Структура_доменных_имён">Структура доменных имён</h3> -<p>Доменное имя имеет простую структуру, состояющую из нескольких частей (частей может быть бесконечное количество, но на практике число уровней обычно невелико), разделенных точками и <strong>читаемых справа налево</strong>:</p> +<p>Доменное имя имеет простую структуру, состоящую из нескольких частей (частей может быть бесконечное количество, но на практике число уровней обычно невелико), разделенных точками и <strong>читаемых справа налево</strong>:</p> <p><img alt="Anatomy of the MDN domain name" src="https://mdn.mozillademos.org/files/11229/structure.png" style="height: 76px; width: 252px;"></p> @@ -58,12 +58,12 @@ original_slug: Learn/Understanding_domain_names <h4 id="Кто_владеет_доменным_именем">Кто владеет доменным именем?</h4> -<p>Вы не можете “купить доменное имя”. Вы платите за право использовать доменное имя в течение одного или нескольких лет. Вы можете продлить это право и ваше продление будет иметь безусловный приоритет над заявками на домен от других желающих. Но вы никогда не владете доменным именем.</p> +<p>Вы не можете “купить доменное имя”. Вы платите за право использовать доменное имя в течение одного или нескольких лет. Вы можете продлить это право и ваше продление будет иметь безусловный приоритет над заявками на домен от других желающих. Но вы никогда не владеть доменным именем.</p> <p>Компании, называемые регистраторами, ведут реестры доменных имён, которые содержат техническую и административную информацию, связывающую вас и ваш домен.</p> <div class="note"> -<p><strong>Примечание: </strong>Для некоторых доменных имён регистратор может отсутстовать, реестр может не вестись. Например, все домены в зоне .fire используются компанией Amazon только в собственных нуждах.</p> +<p><strong>Примечание: </strong>Для некоторых доменных имён регистратор может отсутствовать, реестр может не вестись. Например, все домены в зоне .fire используются компанией Amazon только в собственных нуждах.</p> </div> <h4 id="Как_найти_свободное_доменное_имя">Как найти свободное доменное имя</h4> diff --git a/files/ru/learn/common_questions/what_is_a_url/index.html b/files/ru/learn/common_questions/what_is_a_url/index.html index 7cf4fe04d7..5c9716f463 100644 --- a/files/ru/learn/common_questions/what_is_a_url/index.html +++ b/files/ru/learn/common_questions/what_is_a_url/index.html @@ -13,7 +13,7 @@ translation_of: Learn/Common_questions/What_is_a_URL original_slug: Learn/Understanding_URLs --- <div class="summary"> -<p>Данная статья описывает Единый локатор ресурсов или Uniform Resource Locators (URLs), объясняет, что это такое, и опиcывает его структуру. </p> +<p>Данная статья описывает Единый локатор ресурсов или Uniform Resource Locators (URLs), объясняет, что это такое, и описывает его структуру. </p> </div> <table class="learn-box standard-table"> @@ -37,7 +37,7 @@ original_slug: Learn/Understanding_URLs <h2 id="Активное_обучение">Активное обучение</h2> -<p><em>Активного обучения пока не существует. <a href="/ru/docs/MDN/Getting_started">Пожайлуста подумайте, возможно Вы сможете внести свой вклад</a>.</em></p> +<p><em>Активного обучения пока не существует. <a href="/ru/docs/MDN/Getting_started">Пожалуйста подумайте, возможно Вы сможете внести свой вклад</a>.</em></p> <h2 id="Подробная_информация">Подробная информация</h2> @@ -120,7 +120,7 @@ https://developer.mozilla.org/ru/search?q=URL</pre> <dd> <pre>/ru/docs/Learn</pre> - <p>Это наиболее частый пример использования аболютного URL в HTML-документе. Браузер использует тот же протокол и то же доменное имя, как у текущего документа. <strong>Примечание:</strong> <em>не возможно скрыть домен, не скрывая при этом протокол, только вместе</em>.</p> + <p>Это наиболее частый пример использования абсолютного URL в HTML-документе. Браузер использует тот же протокол и то же доменное имя, как у текущего документа. <strong>Примечание:</strong> <em>не возможно скрыть домен, не скрывая при этом протокол, только вместе</em>.</p> </dd> </dl> diff --git a/files/ru/learn/common_questions/what_software_do_i_need/index.html b/files/ru/learn/common_questions/what_software_do_i_need/index.html index 8432ce45c3..bb0e3e1b5e 100644 --- a/files/ru/learn/common_questions/what_software_do_i_need/index.html +++ b/files/ru/learn/common_questions/what_software_do_i_need/index.html @@ -130,7 +130,7 @@ translation_of: Learn/Common_questions/What_software_do_I_need <h3 id="Просмотр_веб-сайтов">Просмотр веб-сайтов</h3> -<p>Как вы уже знаете, вам необходим веб-браузер для просмотра веб-сайтов. Существуют десятки браузеров для вашего личного использования, однако когда вы разрабатываете веб-сайт, вы должны протестировать его, по крайней мере, со следующими основными браузерами, чтобы убедиться, что ваш сайт работает для большинста пользователей:</p> +<p>Как вы уже знаете, вам необходим веб-браузер для просмотра веб-сайтов. Существуют десятки браузеров для вашего личного использования, однако когда вы разрабатываете веб-сайт, вы должны протестировать его, по крайней мере, со следующими основными браузерами, чтобы убедиться, что ваш сайт работает для большинства пользователей:</p> <ul> <li><a href="https://www.mozilla.org/en-US/firefox/new/" rel="external">Mozilla Firefox</a></li> @@ -141,7 +141,7 @@ translation_of: Learn/Common_questions/What_software_do_I_need <p>Если вы ориентируетесь на определенную группу (например, техническую платформу или страну), возможно, вам придется протестировать ваш сайт с помощью дополнительных браузеров, таких как <a href="http://www.opera.com/" rel="external">Opera</a>, <a href="http://www.konqueror.org/">Konqueror</a>, или<a href="http://www.ucweb.com/ucbrowser/" rel="external"> UC Browser</a>.</p> -<p>Но тестирование усложняется, потому что некоторые браузеры работают только в определенных операционных системах. Apple Safari работает на iOS и Mac OS, а Internet Explorer работает только в Windows. Поэтому лучше воспользоваться такими сервисами, как <a href="http://browsershots.org/" rel="external">Browsershots</a> или <a href="http://www.browserstack.com/" rel="external">Browserstack</a>. Browsershots предоставляет скриншоты вашего сайта, того как ваш сайт будет выглядить в различных браузерах. Browserstack фактически предоставляет вам полный удаленный доступ к виртуальным машинам, поэтому вы можете протестировать ваш сайт в наиболее распространенных средах. Кроме того, вы можете настроить свою собственную виртуальную машину, но это требует некоторого опыта. (Если вы следуете этому пути, Microsoft имеет инструменты для разработчиков, включая готовую к использованию виртуальую машину на <a href="https://modern.ie" rel="external">modern.ie</a>.)</p> +<p>Но тестирование усложняется, потому что некоторые браузеры работают только в определенных операционных системах. Apple Safari работает на iOS и Mac OS, а Internet Explorer работает только в Windows. Поэтому лучше воспользоваться такими сервисами, как <a href="http://browsershots.org/" rel="external">Browsershots</a> или <a href="http://www.browserstack.com/" rel="external">Browserstack</a>. Browsershots предоставляет скриншоты вашего сайта, того как ваш сайт будет выглядеть в различных браузерах. Browserstack фактически предоставляет вам полный удаленный доступ к виртуальным машинам, поэтому вы можете протестировать ваш сайт в наиболее распространенных средах. Кроме того, вы можете настроить свою собственную виртуальную машину, но это требует некоторого опыта. (Если вы следуете этому пути, Microsoft имеет инструменты для разработчиков, включая готовую к использованию виртуальную машину на <a href="https://modern.ie" rel="external">modern.ie</a>.)</p> <p>Обязательно проведите тестирование на реальном устройстве, особенно на реальных мобильных устройствах. Симуляция мобильных устройств - это новая, развивающаяся технология и менее надежна, чем симуляция настольных устройств. Разумеется, мобильные устройства стоят денег, поэтому мы предлагаем взглянуть на <a href="http://opendevicelab.com/" rel="external">Open Device Lab initiative</a>. Вы также можете обмениваться устройствами, если вы хотите протестировать на многих платформах, не тратя слишком много.</p> diff --git a/files/ru/learn/css/building_blocks/advanced_styling_effects/index.html b/files/ru/learn/css/building_blocks/advanced_styling_effects/index.html index 80f01d5da0..98c1d9b0a9 100644 --- a/files/ru/learn/css/building_blocks/advanced_styling_effects/index.html +++ b/files/ru/learn/css/building_blocks/advanced_styling_effects/index.html @@ -36,7 +36,7 @@ translation_of: Learn/CSS/Building_blocks/Advanced_styling_effects <h2 id="Блок-тень">Блок-тень</h2> -<p>{{cssxref("box-shadow")}} позволяет добавить одну и более тень к контейнеру. Как и <code>text-shadow</code>, <code>box-shadows</code> отлично поддерживаются брузерами, включая IE9+ и Edge. У пользователей ранних версий IE будет просто копия без тени, поэтому убедитесь, что контент с дизайном разборчив и без теней.</p> +<p>{{cssxref("box-shadow")}} позволяет добавить одну и более тень к контейнеру. Как и <code>text-shadow</code>, <code>box-shadows</code> отлично поддерживаются браузерами, включая IE9+ и Edge. У пользователей ранних версий IE будет просто копия без тени, поэтому убедитесь, что контент с дизайном разборчив и без теней.</p> <p>Вы можете найти примеры из стати на <a href="http://mdn.github.io/learning-area/css/styling-boxes/advanced_box_effects/box-shadow.html">box-shadow.html</a> (или в <a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/advanced_box_effects/box-shadow.html">исходном коде</a>).</p> @@ -150,7 +150,7 @@ button:active { <p>{{ EmbedLiveSample('Другие_опции_блок-теней', '100%', 70) }}</p> -<p>Мы стилизовали кнопку с помощью состояний <em>focus</em>, <em>hover</em> и <em>active</em>. Для кнопки по умолчанию установлены несколько простых чёрных теней плюс пара внутренних теней в противополжном углу кнопки для эстетичности.</p> +<p>Мы стилизовали кнопку с помощью состояний <em>focus</em>, <em>hover</em> и <em>active</em>. Для кнопки по умолчанию установлены несколько простых чёрных теней плюс пара внутренних теней в противоположном углу кнопки для эстетичности.</p> <p>При нажатии на кнопку первая тень становится внутренней, чтобы создать ощущение нажатия кнопки.</p> @@ -302,14 +302,14 @@ article div:last-child { <p>Форма в этом примере не реагирует на содержание изображения. Вместо этого в центре изображения определяется центр окружности, как если бы мы начертили циркулем окружность, вписанную в изображение. Это та окружность, которую обтекает текст.</p> <div class="blockIndicator note"> -<p><strong>Примечание</strong>: В Firefox Вы можеет использовать <a href="https://developer.mozilla.org/ru/docs/Tools/Page_Inspector/How_to/Edit_CSS_shapes">Инспектор фигур</a>, чтобы редактировать фигуры.</p> +<p><strong>Примечание</strong>: В Firefox Вы можете использовать <a href="https://developer.mozilla.org/ru/docs/Tools/Page_Inspector/How_to/Edit_CSS_shapes">Инспектор фигур</a>, чтобы редактировать фигуры.</p> </div> <p>Значение <code>circle()</code> — лишь одно из нескольких базовых фигур для этого свойства, но можно и создавать формы. (Читайте <a href="/en-US/docs/Web/CSS/CSS_Shapes/Overview_of_CSS_Shapes">Обзор CSS-фигур</a> на MDN.)</p> <h2 id="-webkit-background-clip_text">-webkit-background-clip: text</h2> -<p>Функция, о которой мы, кажется, упомянули в свйстве <code>text</code> для значения {{cssxref("background-clip")}}. Опция <code>-webkit-text-fill-color: transparent;</code> позволяет обрезать фоновые изображения под форму текста. Это неофициальный стандарт, но он был подключён во множестве браузеров. В данном контексте обязательно используется префикс <code>-webkit-</code> для любых браузеров:</p> +<p>Функция, о которой мы, кажется, упомянули в свойстве <code>text</code> для значения {{cssxref("background-clip")}}. Опция <code>-webkit-text-fill-color: transparent;</code> позволяет обрезать фоновые изображения под форму текста. Это неофициальный стандарт, но он был подключён во множестве браузеров. В данном контексте обязательно используется префикс <code>-webkit-</code> для любых браузеров:</p> <pre class="brush: css">.text-clip { -webkit-background-clip: text; diff --git a/files/ru/learn/css/building_blocks/backgrounds_and_borders/index.html b/files/ru/learn/css/building_blocks/backgrounds_and_borders/index.html index 9f747a06f4..861ec6f884 100644 --- a/files/ru/learn/css/building_blocks/backgrounds_and_borders/index.html +++ b/files/ru/learn/css/building_blocks/backgrounds_and_borders/index.html @@ -32,7 +32,7 @@ translation_of: Learn/CSS/Building_blocks/Backgrounds_and_borders <h2 id="Стилизация_фона_в_CSS">Стилизация фона в CSS</h2> -<p><span class="tlid-translation translation" lang="ru"><span title="">CSS cвойство {{cssxref ("background")}} является сокращением для ряда полных свойств фона, с которыми мы познакомимся в этом уроке.</span> <span title="">Если вы обнаружите сложное свойство </span></span><code>background</code><span class="tlid-translation translation" lang="ru"><span title=""> в таблице стилей, это может показаться трудным для понимания, так как одновременно может быть передано так много значений.</span></span></p> +<p><span class="tlid-translation translation" lang="ru"><span title="">CSS свойство {{cssxref ("background")}} является сокращением для ряда полных свойств фона, с которыми мы познакомимся в этом уроке.</span> <span title="">Если вы обнаружите сложное свойство </span></span><code>background</code><span class="tlid-translation translation" lang="ru"><span title=""> в таблице стилей, это может показаться трудным для понимания, так как одновременно может быть передано так много значений.</span></span></p> <pre class="brush: css notranslate"><code>.box { background: linear-gradient(105deg, rgba(255,255,255,.2) 39%, rgba(51,56,57,1) 96%) center center / 400px 200px no-repeat, @@ -112,7 +112,7 @@ translation_of: Learn/CSS/Building_blocks/Backgrounds_and_borders <p><strong>Примечание</strong>: По умолчанию значение <code>background-position</code> равно <code>(0,0)</code>.</p> </div> -<p><span class="tlid-translation translation" lang="ru"><span title="">Обычно свойство <code>background-position</code> задают в ввиде двух последовательных значений </span></span> — <span class="tlid-translation translation" lang="ru"><span title=""> значение по горизонтали, за которым следует значение по вертикали.</span></span></p> +<p><span class="tlid-translation translation" lang="ru"><span title="">Обычно свойство <code>background-position</code> задают в в виде двух последовательных значений </span></span> — <span class="tlid-translation translation" lang="ru"><span title=""> значение по горизонтали, за которым следует значение по вертикали.</span></span></p> <p><span class="tlid-translation translation" lang="ru"><span title="">Вы можете использовать такие ключевые слова, как <code>top</code> и <code>right</code> (с остальными можете ознакомиться на странице {{cssxref ("background-position")}}):</span></span></p> diff --git a/files/ru/learn/css/building_blocks/cascade_and_inheritance/index.html b/files/ru/learn/css/building_blocks/cascade_and_inheritance/index.html index 5d29314cea..dd52f08276 100644 --- a/files/ru/learn/css/building_blocks/cascade_and_inheritance/index.html +++ b/files/ru/learn/css/building_blocks/cascade_and_inheritance/index.html @@ -51,7 +51,7 @@ translation_of: Learn/CSS/Building_blocks/Cascade_and_inheritance <h3 id="Специфичность">Специфичность</h3> -<p>Cпецифичность определяет, как браузер решает, какое именно правило применяется в случае, когда несколько правил имеют разные селекторы, но, тем не менее, могут быть применены к одному и тому же элементу. <em>Различные типы селекторов ( селекторы элементов <code>h1{...}</code>, селекторы классов, селекторы идентификаторов и т.д ) имеют разной степени влияние на элементы страницы. Чем более общее влияние оказывает селектор на элементы страницы тем меньше его специфичность, конкретность.</em> По существу, это мера того, насколько специфическим будет отбор по селектору:</p> +<p>Специфичность определяет, как браузер решает, какое именно правило применяется в случае, когда несколько правил имеют разные селекторы, но, тем не менее, могут быть применены к одному и тому же элементу. <em>Различные типы селекторов ( селекторы элементов <code>h1{...}</code>, селекторы классов, селекторы идентификаторов и т.д ) имеют разной степени влияние на элементы страницы. Чем более общее влияние оказывает селектор на элементы страницы тем меньше его специфичность, конкретность.</em> По существу, это мера того, насколько специфическим будет отбор по селектору:</p> <ul> <li>Селектор элементов ( <em>например <code>h1</code></em> ) менее специфичен — он выберет все элементы этого типа на странице — поэтому получит меньше баллов.</li> @@ -74,7 +74,7 @@ translation_of: Learn/CSS/Building_blocks/Cascade_and_inheritance <p>{{EmbedGHLiveSample("css-examples/learn/cascade/inheritance-simple.html", '100%', 550)}} </p> -<p>Некоторые свойства не наследуются — например, если вы установили для элемента {{cssxref("width")}} равным 50%, все его дочерние элементы не получат ширину в 50% от ширины своего родительского элемента. Если бы это было так, CSS было бы черезвычайно трудно использовать!</p> +<p>Некоторые свойства не наследуются — например, если вы установили для элемента {{cssxref("width")}} равным 50%, все его дочерние элементы не получат ширину в 50% от ширины своего родительского элемента. Если бы это было так, CSS было бы чрезвычайно трудно использовать!</p> <div class="blockIndicator note"> <p><strong>Примечание</strong>: На страницах справочника CSS свойств вы можете найти окно технической информации, обычно в конце раздела спецификации, в котором перечислены некоторые технические данные об этом свойстве, в том числе наследуется оно или нет. Например, здесь: <a href="https://developer.mozilla.org/ru-RU/docs/Web/CSS/color#Specifications">color property Specifications section</a>.</p> @@ -90,7 +90,7 @@ translation_of: Learn/CSS/Building_blocks/Cascade_and_inheritance <h2 id="Понимание_наследования">Понимание наследования</h2> -<p>Итак, наследование. В примере ниже мы имеем {{HTMLElement("ul")}} с двумя уровнями неупорядоченных списков, вложенных в него. Мы устанавили для внешнего <code><ul></code> стиль границы, внутренние отступы и цвет шрифта.</p> +<p>Итак, наследование. В примере ниже мы имеем {{HTMLElement("ul")}} с двумя уровнями неупорядоченных списков, вложенных в него. Мы установили для внешнего <code><ul></code> стиль границы, внутренние отступы и цвет шрифта.</p> <p>Цвет шрифта применён к прямому потомку, но также и к непрямому потомку — к прямому потомку <code><li></code> и к элементам внутри первого вложенного списка. Далее мы добавили класс <code>special</code> ко второму вложенному списку и применили к нему другой цвет шрифта. Теперь это свойство наследуется всеми его потомками.</p> diff --git a/files/ru/learn/css/building_blocks/cascade_tasks/index.html b/files/ru/learn/css/building_blocks/cascade_tasks/index.html index d4f7440cb8..b7580f53e0 100644 --- a/files/ru/learn/css/building_blocks/cascade_tasks/index.html +++ b/files/ru/learn/css/building_blocks/cascade_tasks/index.html @@ -40,7 +40,7 @@ original_slug: Learn/CSS/Building_blocks/Каскад_задачи <p>Если вы хотите, чтобы вашу работу оценили, или вы зашли в тупик и хотите попросить о помощи:</p> <ol> - <li>Поместите вашу работу в онлайн-редактор с возможностью совместного редактирования, например, <a href="https://codepen.io/">CodePen</a>, <a href="https://jsfiddle.net/">jsFiddle</a> или <a href="https://glitch.com/">Glitch</a>. Вы можете сами написать код или использвать файлы с исходным кодом, расположенные по ссылке в предыдущем разделе.</li> + <li>Поместите вашу работу в онлайн-редактор с возможностью совместного редактирования, например, <a href="https://codepen.io/">CodePen</a>, <a href="https://jsfiddle.net/">jsFiddle</a> или <a href="https://glitch.com/">Glitch</a>. Вы можете сами написать код или использовать файлы с исходным кодом, расположенные по ссылке в предыдущем разделе.</li> <li>Напишите сообщение с просьбой оценить и/или помочь на форуме в категории "Обучение": <a class="external external-icon" href="https://discourse.mozilla.org/c/mdn/learn" rel="noopener">MDN Discourse forum Learning category</a>. Ваше сообщение должно включать: <ul> <li>Описательный заголовок, например, "Необходима оценка для теста 1 Каскад" ("Assessment wanted for Cascade skill test 1").</li> diff --git a/files/ru/learn/css/building_blocks/debugging_css/index.html b/files/ru/learn/css/building_blocks/debugging_css/index.html index 1e78277f4b..ceb299bcab 100644 --- a/files/ru/learn/css/building_blocks/debugging_css/index.html +++ b/files/ru/learn/css/building_blocks/debugging_css/index.html @@ -138,7 +138,7 @@ translation_of: Learn/CSS/Building_blocks/Debugging_CSS <h3 id="Поддерживаются_ли_свойство_и_значение_браузером_в_котором_вы_тестируете">Поддерживаются ли свойство и значение браузером в котором вы тестируете?</h3> -<p>Браузеры попросту игнорируют CSS который они не понимают. Если свойство или значение, которое вы используете не поддерживается браузером, в котором вы тестируете, то ничего не "сломается", кроме того, что тот CSS не будет применен. Обычно DevTools выделяет неподдерживаемые свойства и значения каким-либо образом. На скриншоте ниже браузер не поддерживает значение "подсетки" (subgrid) {{cssxref("grid-template-columns")}}.</p> +<p>Браузеры попросту игнорируют CSS который они не понимают. Если свойство или значение, которое вы используете не поддерживается браузером, в котором вы тестируете, то ничего не "сломается", кроме того, что тот CSS не будет применен. Обычно DevTools выделяет неподдерживаемые свойства и значения каким-либо образом. На скриншоте ниже браузер не поддерживает значение "подсветки" (subgrid) {{cssxref("grid-template-columns")}}.</p> <p><img alt="Image of browser DevTools with the grid-template-columns: subgrid crossed out as the subgrid value is not supported." src="https://mdn.mozillademos.org/files/16641/no-support.png" style="height: 397px; width: 1649px;"></p> diff --git a/files/ru/learn/css/building_blocks/fundamental_css_comprehension/index.html b/files/ru/learn/css/building_blocks/fundamental_css_comprehension/index.html index 36f4767e10..2e47ff1cdf 100644 --- a/files/ru/learn/css/building_blocks/fundamental_css_comprehension/index.html +++ b/files/ru/learn/css/building_blocks/fundamental_css_comprehension/index.html @@ -8,7 +8,7 @@ original_slug: Learn/CSS/Introduction_to_CSS/Ponimanie_osnov_CSS <div>{{PreviousMenu("Learn/CSS/Introduction_to_CSS/Debugging_CSS", "Learn/CSS/Introduction_to_CSS")}}</div> -<p class="summary">Вы многое прошли в этом модуле, и должно быть вас посетило это прекрасное чувство, что дошли до конца! Последний шаг перед тем, как двигаться дальше, это попытка пройти проверку по материалам модуля — это включает в себя ряд соответствующих упражнений, которые должны быть выполнены для того, чтобы создать заключительный проект — визитка, карточка игрока, профиль в социльной сети.</p> +<p class="summary">Вы многое прошли в этом модуле, и должно быть вас посетило это прекрасное чувство, что дошли до конца! Последний шаг перед тем, как двигаться дальше, это попытка пройти проверку по материалам модуля — это включает в себя ряд соответствующих упражнений, которые должны быть выполнены для того, чтобы создать заключительный проект — визитка, карточка игрока, профиль в социальной сети.</p> <table class="learn-box standard-table"> <tbody> diff --git a/files/ru/learn/css/building_blocks/images_media_form_elements/index.html b/files/ru/learn/css/building_blocks/images_media_form_elements/index.html index 481cd28b58..21896e3f92 100644 --- a/files/ru/learn/css/building_blocks/images_media_form_elements/index.html +++ b/files/ru/learn/css/building_blocks/images_media_form_elements/index.html @@ -57,7 +57,7 @@ translation_of: Learn/CSS/Building_blocks/Images_media_form_elements <p>Вы также можете попробовать значение <code>fill</code>, которое будет заполнять блок, но при этом не сохранять соотношение сторон.</p> -<h2 id="Замещаемые_элемнты_в_верстке">Замещаемые элемнты в верстке</h2> +<h2 id="Замещаемые_элементы_в_верстке">Замещаемые элементы в верстке</h2> <p><span class="tlid-translation translation" lang="ru"><span title="">При использовании различных методов верстки CSS на замещаемых элементах, вы можете обнаружить, что они ведут себя немного иначе, чем другие элементы. Например</span></span>, во flex или grid layout элементы растягиваются по умолчанию чтобы заполнить всю площадь. Изображения растягиваться не будут, вместо этого они будут выравнены на начало площади flex- или grig-контейнера.</p> @@ -127,7 +127,7 @@ textarea { <h3 id="Другие_полезные_настройки">Другие полезные настройки</h3> -<p>В дополние к правилам отмеченых выше, вы должны также установить <code>overflow: auto</code> для <code><textarea></code> чтобы IE не отображал полосу прокрутки, когда в этом нет необходимости:</p> +<p>В дополнение к правилам отмеченных выше, вы должны также установить <code>overflow: auto</code> для <code><textarea></code> чтобы IE не отображал полосу прокрутки, когда в этом нет необходимости:</p> <pre class="brush: css">textarea { overflow: auto; diff --git a/files/ru/learn/css/building_blocks/index.html b/files/ru/learn/css/building_blocks/index.html index 8f071e3f62..8f2b09449c 100644 --- a/files/ru/learn/css/building_blocks/index.html +++ b/files/ru/learn/css/building_blocks/index.html @@ -52,7 +52,7 @@ translation_of: Learn/CSS/Building_blocks <dt><a href="/ru/docs/Learn/CSS/Building_blocks/The_box_model">Блоки в CSS</a></dt> <dd>Всё в CSS имеет форму блока, и понимание блоков позволяет Вам размещать элементы с помощью CSS или согласовывать их друг с другом. В этом уроке мы как следует рассмотрим <em>CSS-блоки.</em></dd> <dt><a href="/ru/docs/Learn/CSS/Building_blocks/Backgrounds_and_borders">Фон и границы</a></dt> - <dd>В этом уроке мы рассмотрим всякие интересные вещи, котроые Вы можете делать благодаря CSS-фонам и границам, — от добавления градиетнов и фоновых изображений до скругления углов, фонов и границ.</dd> + <dd>В этом уроке мы рассмотрим всякие интересные вещи, которые Вы можете делать благодаря CSS-фонам и границам, — от добавления градиентов и фоновых изображений до скругления углов, фонов и границ.</dd> <dt><a href="/ru/docs/Learn/CSS/Building_blocks/Handling_different_text_directions">Изменение направления текста</a></dt> <dd>Раньше CSS развивался, чтобы лучше поддерживать разные <strong>режимы написания</strong>, включая <em>справа налево</em> или <em>сверху вниз</em> (как в японском языке). Мы рассмотрим их в этой статье.</dd> <dt><a href="/ru/docs/Learn/CSS/Building_blocks/Overflowing_content">Перекрытие содержимого</a></dt> diff --git a/files/ru/learn/css/building_blocks/selectors/attribute_selectors/index.html b/files/ru/learn/css/building_blocks/selectors/attribute_selectors/index.html index 3ac93f2012..de2d540a59 100644 --- a/files/ru/learn/css/building_blocks/selectors/attribute_selectors/index.html +++ b/files/ru/learn/css/building_blocks/selectors/attribute_selectors/index.html @@ -69,7 +69,7 @@ original_slug: Learn/CSS/Building_blocks/Селекторы/Attribute_selectors <ul> <li>Используя <code>li[class],</code> мы можем выбрать каждый селектор с атрибутом класса. Это соответствует всем пунктам списка, за исключением первого.</li> - <li><code>li[class="a"]</code> выбирает селектор с классом <code>a</code>, но не селектор с классом <code>a</code> в сочетании с другим, отделённым запятой, классом как частью зачения. Он выбирает второй пункт списка.</li> + <li><code>li[class="a"]</code> выбирает селектор с классом <code>a</code>, но не селектор с классом <code>a</code> в сочетании с другим, отделённым запятой, классом как частью значения. Он выбирает второй пункт списка.</li> <li><code>li[class~="a"]</code> выберет класс <code>a</code>, а также значение, которое содержит класс <code>a</code> как часть разделённого пробелом списка. Он выберет второй и третий пункты списка.</li> </ul> @@ -77,7 +77,7 @@ original_slug: Learn/CSS/Building_blocks/Селекторы/Attribute_selectors <h2 id="Селекторы_вхождения_подстроки"><span class="tlid-translation translation" lang="ru"><span title="">Селекторы вхождения подстроки</span></span></h2> -<p><span class="tlid-translation translation" lang="ru"><span title="">Эти селекторы предоставляют более широкие возможности для выявления вхождения подстроки в значение атрибута</span></span>. Например, если у вас есть классы <code>box-warning</code> и <code>box-error</code> и вы хотите выбрать всё, что начинается со стороки "box-", вы можете использовать <code>[class^="box-"]</code>, чтобы выбрать оба класса (или <code>[class|="box"]</code> как описано в предыдущем разделе).</p> +<p><span class="tlid-translation translation" lang="ru"><span title="">Эти селекторы предоставляют более широкие возможности для выявления вхождения подстроки в значение атрибута</span></span>. Например, если у вас есть классы <code>box-warning</code> и <code>box-error</code> и вы хотите выбрать всё, что начинается со строки "box-", вы можете использовать <code>[class^="box-"]</code>, чтобы выбрать оба класса (или <code>[class|="box"]</code> как описано в предыдущем разделе).</p> <table class="standard-table"> <thead> diff --git a/files/ru/learn/css/building_blocks/selectors/combinators/index.html b/files/ru/learn/css/building_blocks/selectors/combinators/index.html index 89cab04833..c5dcf8b0c1 100644 --- a/files/ru/learn/css/building_blocks/selectors/combinators/index.html +++ b/files/ru/learn/css/building_blocks/selectors/combinators/index.html @@ -37,13 +37,13 @@ original_slug: Learn/CSS/Building_blocks/Селекторы/Combinators <h2 id="Дочерний_комбинатор">Дочерний комбинатор</h2> -<p><strong>Дочерний комбинатор</strong> (<code>></code>) помещается между двумя селекорами CSS. При этом будут выбраны только те элементы, соответствующие второму селектору, которые являются прямыми потомками элементов, соответствующих первому селектору. Все элементы-потомки на более низких уровнях иерархии будут пропущены. Например, чтобы выбрать только те элементы <code><p></code>, которые являются дочерними элементами <code><article></code>, селетор пишется так:</p> +<p><strong>Дочерний комбинатор</strong> (<code>></code>) помещается между двумя селекторами CSS. При этом будут выбраны только те элементы, соответствующие второму селектору, которые являются прямыми потомками элементов, соответствующих первому селектору. Все элементы-потомки на более низких уровнях иерархии будут пропущены. Например, чтобы выбрать только те элементы <code><p></code>, которые являются дочерними элементами <code><article></code>, селектор пишется так:</p> <pre class="brush: css notranslate">article > p</pre> <p>Другой пример. Имеется неупорядоченный список, заключающий в себе другой, упорядоченный список. Дочерний комбинатор используется для того, чтобы выбрать только те элементы <code><li></code>, которые являются прямыми потомками <code><ul></code>, и присвоить им верхнюю границу красного цвета.</p> -<p>Если вы уберёте символ <code>></code>, указывающий на то, что это селектор с дочерним комбинатором, селетор превратится в селектор всех потомков (комбинатор - пробел) и все элементы <code><li></code> получат верхнюю границу красного цвета.</p> +<p>Если вы уберёте символ <code>></code>, указывающий на то, что это селектор с дочерним комбинатором, селектор превратится в селектор всех потомков (комбинатор - пробел) и все элементы <code><li></code> получат верхнюю границу красного цвета.</p> <p>{{EmbedGHLiveSample("css-examples/learn/selectors/child.html", '100%', 600)}}</p> diff --git a/files/ru/learn/css/building_blocks/selectors/index.html b/files/ru/learn/css/building_blocks/selectors/index.html index b52ba93b52..dc1eae6b95 100644 --- a/files/ru/learn/css/building_blocks/selectors/index.html +++ b/files/ru/learn/css/building_blocks/selectors/index.html @@ -35,7 +35,7 @@ original_slug: Learn/CSS/Building_blocks/Селекторы <h2 id="Что_такое_селекторы">Что такое селекторы?</h2> -<p>Вы уже встерчались с селекторами. Это выражения, которые говорят браузеру, к какому элементу HTML нужно применить те или иные свойства CSS, определённые внутри блока объявления стиля.</p> +<p>Вы уже встречались с селекторами. Это выражения, которые говорят браузеру, к какому элементу HTML нужно применить те или иные свойства CSS, определённые внутри блока объявления стиля.</p> <p><img alt="Some code with the h1 highlighted." src="https://mdn.mozillademos.org/files/16550/selector.png" style="border: 1px solid #cccccc; height: 218px; width: 471px;"></p> diff --git a/files/ru/learn/css/building_blocks/selectors/type_class_and_id_selectors/index.html b/files/ru/learn/css/building_blocks/selectors/type_class_and_id_selectors/index.html index 2d54a6bde3..6e182420c8 100644 --- a/files/ru/learn/css/building_blocks/selectors/type_class_and_id_selectors/index.html +++ b/files/ru/learn/css/building_blocks/selectors/type_class_and_id_selectors/index.html @@ -80,7 +80,7 @@ original_slug: Learn/CSS/Building_blocks/Селекторы/Type_Class_and_ID_Se <p><span class="tlid-translation translation" lang="ru"><span title="">Вы можете применить несколько классов к элементу и нацелиться на них по отдельности, или выбрать элемент только если присутствуют все классы селектора.</span> <span title="">Это может быть полезно при создании компонентов, которые могут сочетаться на вашем сайте разными способами.</span></span></p> -<p>В примере ниже у нас есть <code><div></code>, содержащий примечание. Серая граница применятеся когда блок имеет класс <code>notebox</code>. Если у блока есть также класс <code>warning</code> или <code>danger</code>, мы меняем {{cssxref("border-color")}}.</p> +<p>В примере ниже у нас есть <code><div></code>, содержащий примечание. Серая граница применяется когда блок имеет класс <code>notebox</code>. Если у блока есть также класс <code>warning</code> или <code>danger</code>, мы меняем {{cssxref("border-color")}}.</p> <p>Мы можем указать браузеру, что мы хотим подобрать только такой элемент, <span class="tlid-translation translation" lang="ru"><span title="">к которому применены два класса, сцепив их вместе без пробелов между ними. </span></span> <span class="tlid-translation translation" lang="ru"><span title="">Вы увидите, что к последнему </span></span><code><div></code> <span class="tlid-translation translation" lang="ru"><span title=""> не применён ни один стиль, так как он имеет только класс</span></span> <code>danger</code>; <span class="tlid-translation translation" lang="ru"><span title="">ему нужен ещё и класс </span></span> <code>notebox</code><span class="tlid-translation translation" lang="ru"><span title="">, чтобы получить какую-нибудь стилизацию.</span></span></p> diff --git a/files/ru/learn/css/building_blocks/styling_tables/index.html b/files/ru/learn/css/building_blocks/styling_tables/index.html index 0141bfc6f2..2dafd6f79b 100644 --- a/files/ru/learn/css/building_blocks/styling_tables/index.html +++ b/files/ru/learn/css/building_blocks/styling_tables/index.html @@ -11,7 +11,7 @@ translation_of: Learn/CSS/Building_blocks/Styling_tables <div>{{PreviousMenuNext("Learn/CSS/Styling_boxes/Borders", "Learn/CSS/Styling_boxes/Advanced_box_effects", "Learn/CSS/Styling_boxes")}}</div> -<p class="summary">Стилизация HTML таблиц это не самая гламурная работа в мире, но иногда нам нужно это делать. Эта статья рукодство как сделать, чтобы ваши HTML таблицы выглядели хорошо, с некоторыми свойствами подробно рассмотренными в предыдущих статьях.</p> +<p class="summary">Стилизация HTML таблиц это не самая гламурная работа в мире, но иногда нам нужно это делать. Эта статья руководство как сделать, чтобы ваши HTML таблицы выглядели хорошо, с некоторыми свойствами подробно рассмотренными в предыдущих статьях.</p> <table class="learn-box standard-table"> <tbody> @@ -28,7 +28,7 @@ translation_of: Learn/CSS/Building_blocks/Styling_tables <h2 id="Типичная_HTML_таблица">Типичная HTML таблица</h2> -<p>Давайте начнем с рассмотрения типичной HTML таблицы. Когда мы говорим о примерах типичных HTML таблиц обычно речь идет о обуви, погоде или сотрудниках; мы решили сделать этоболее интересным создав таблицу о знаменитых панк группах Великобритании. Разметка выглядит следующим образом:</p> +<p>Давайте начнем с рассмотрения типичной HTML таблицы. Когда мы говорим о примерах типичных HTML таблиц обычно речь идет о обуви, погоде или сотрудниках; мы решили сделать это более интересным создав таблицу о знаменитых панк группах Великобритании. Разметка выглядит следующим образом:</p> <pre class="brush: html"><table> <caption>A summary of the UK's most famous punk bands</caption> @@ -82,7 +82,7 @@ translation_of: Learn/CSS/Building_blocks/Styling_tables <p>В этой части обучения мы будем работать над тем чтобы стилизовать наш пример таблицы.</p> <ol> - <li>В начале неоюходимо сделать копию <a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/punk-bands-unstyled.html">sample markup</a>, загрузить оба изображения (<a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/noise.png">noise</a> и <a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/leopardskin.jpg">leopardskin</a>), и вставить эти файлы в отдельную папку на вашем компьютере.</li> + <li>В начале необходимо сделать копию <a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/punk-bands-unstyled.html">sample markup</a>, загрузить оба изображения (<a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/noise.png">noise</a> и <a href="https://github.com/mdn/learning-area/blob/master/css/styling-boxes/styling-tables/leopardskin.jpg">leopardskin</a>), и вставить эти файлы в отдельную папку на вашем компьютере.</li> <li>Следующее, это создать новый файл <code>style.css</code> и сохранить его в той же папке вместе с другими файлами.</li> <li>Подключить CSS в HTML для этого разместить следующую строку в HTML внутри {{htmlelement("head")}}: <pre class="brush: html"><link href="style.css" rel="stylesheet" type="text/css"></pre> @@ -125,9 +125,9 @@ th, td { <p>Наиболее важные части следующие:</p> <ul> - <li>Свойство {{cssxref("table-layout")}} со значением <code>fixed</code> как правило полезно использовать для вашей таблицы, это делает поведение таблицы немного более предсказуемым, чем значение по умолчанию. Обычно столбцы таблицы имеют размер в зависимости от того сколько в них контента, что приводит иногда к некоторым странным результатам. Когда <code>table-layout: fixed</code>, размер ваших столбцов определяется шириной их заголовков и делает их контент соответствующего размера. Вот почему вы выбрали четыре разных заголовка с помощью селектора <code>thead th:nth-child(<em>n</em>)</code> ({{cssxref(":nth-child")}}) ("Выберите <em>n-ый</em> дочерний элемент {{htmlelement("th")}} в последовательности, внутри элемента {{htmlelement("thead")}}") и задать им заданную в процентах ширину. Ширина колонки соответствует ширине ее заголовка, это правильное решение при определении размеров колонок таблицы. Крис Койер (Chris Coyier) более подробно рассматиривает эту технику в статье <a href="https://css-tricks.com/fixing-tables-long-strings/">Fixed Table Layouts</a>.<br> + <li>Свойство {{cssxref("table-layout")}} со значением <code>fixed</code> как правило полезно использовать для вашей таблицы, это делает поведение таблицы немного более предсказуемым, чем значение по умолчанию. Обычно столбцы таблицы имеют размер в зависимости от того сколько в них контента, что приводит иногда к некоторым странным результатам. Когда <code>table-layout: fixed</code>, размер ваших столбцов определяется шириной их заголовков и делает их контент соответствующего размера. Вот почему вы выбрали четыре разных заголовка с помощью селектора <code>thead th:nth-child(<em>n</em>)</code> ({{cssxref(":nth-child")}}) ("Выберите <em>n-ый</em> дочерний элемент {{htmlelement("th")}} в последовательности, внутри элемента {{htmlelement("thead")}}") и задать им заданную в процентах ширину. Ширина колонки соответствует ширине ее заголовка, это правильное решение при определении размеров колонок таблицы. Крис Койер (Chris Coyier) более подробно рассматривает эту технику в статье <a href="https://css-tricks.com/fixing-tables-long-strings/">Fixed Table Layouts</a>.<br> <br> - Мы также использовали {{cssxref("width")}} 100%, что означает, что таблица заполнит любой контейнер и будет озывчивой (хотя для этого потребуется еще некоторая работа для правильного отображнения на экранах небольших размеров).</li> + Мы также использовали {{cssxref("width")}} 100%, что означает, что таблица заполнит любой контейнер и будет отзывчивой (хотя для этого потребуется еще некоторая работа для правильного отображения на экранах небольших размеров).</li> <li>Свойство {{cssxref("border-collapse")}} со значением <code>collapse</code> это стандартная практика при стилизации любой таблицы. По умолчанию, когда вы задали рамки для элементов таблицы, все они будут иметь пробелы между собой, как показано на рисунке ниже: <img alt="" src="https://mdn.mozillademos.org/files/13068/no-border-collapse.png" style="display: block; margin: 0 auto;">Это не очень хорошо выглядит (хотя может это то что вам нужно, кто знает?). Если установить <code>border-collapse: collapse;</code> рамки схлопываются в одну и так выглядит намного лучше: <img alt="" src="https://mdn.mozillademos.org/files/13066/border-collapse.png" style="display: block; margin: 0 auto;"></li> <li>Мы установили {{cssxref("border")}} вокруг всей таблицы, это понадобится когда чуть позже мы будет устанавливать рамки вокруг header и footer таблицы — когда по периметру всей таблицы нет рамки и граница заканчивается просто отступом, таблица выглядит странно и разрозненно.</li> <li>Мы установили {{cssxref("padding")}} на элементах {{htmlelement("th")}} и {{htmlelement("td")}} — это создает в талице воздух, который позволяет ей дышать, делая ее более понятной.</li> @@ -141,7 +141,7 @@ th, td { <p>Теперь мы еще кое-что изменим.</p> -<p>Во-первых, мы пойдем и найдем на <a href="https://www.google.com/fonts">Google Fonts</a> шрифт который подходит в нашей ситуации с таблицей о панк группах. Вы можете можете выбрать для себя другой шрифт если захотит, тогда вам понадобится заменить представленный {{htmlelement("link")}} элемент и изменить объявление {{cssxref("font-family")}} на выбраный вами Google Fonts шрифт.</p> +<p>Во-первых, мы пойдем и найдем на <a href="https://www.google.com/fonts">Google Fonts</a> шрифт который подходит в нашей ситуации с таблицей о панк группах. Вы можете можете выбрать для себя другой шрифт если захотят, тогда вам понадобится заменить представленный {{htmlelement("link")}} элемент и изменить объявление {{cssxref("font-family")}} на выбранный вами Google Fonts шрифт.</p> <p>Добавьте элемент {{htmlelement("link")}} в блок head вашего HTML, на строчку выше существующего элемента <code><link></code>:</p> @@ -210,7 +210,7 @@ thead th, tfoot th, tfoot td { <p>Мы добавили {{cssxref("background-image")}} в {{htmlelement("thead")}}, {{htmlelement("tfoot")}} и изменили {{cssxref("color")}} для всего текста внутри header и footer на белый (и еще {{cssxref("text-shadow")}}) для лучшей читаемости. Вы должны всегда быть уверены что ваш текст хорошо контрастирует с фоном, для обеспечения читаемости.</p> -<p>Также мы добавили линейный градиент для {{htmlelement("th")}} и {{htmlelement("td")}} элементов внутри header и footer для придания легкой приятной текстуры, а также установили этим элементамяркие пурпурные границы. Полезно иметь несколько вложенных элементов, это позволяет накладывать несколько стилей друг на друга. Да, мы могли бы установить и фоновое изображение, и линейный градиент на {{htmlelement("thead")}} и {{htmlelement("tfoot")}} элементы используя множественные фоновые изображения, но мы решили сделать это отдельно для старых браузеров, которые не поддерживают <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Backgrounds_and_Borders/Using_multiple_backgrounds">несколько фоновых изображений</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient">линейные градиенты</a>.</p> +<p>Также мы добавили линейный градиент для {{htmlelement("th")}} и {{htmlelement("td")}} элементов внутри header и footer для придания легкой приятной текстуры, а также установили этим элементам яркие пурпурные границы. Полезно иметь несколько вложенных элементов, это позволяет накладывать несколько стилей друг на друга. Да, мы могли бы установить и фоновое изображение, и линейный градиент на {{htmlelement("thead")}} и {{htmlelement("tfoot")}} элементы используя множественные фоновые изображения, но мы решили сделать это отдельно для старых браузеров, которые не поддерживают <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Backgrounds_and_Borders/Using_multiple_backgrounds">несколько фоновых изображений</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient">линейные градиенты</a>.</p> <h4 id="Полосатая_зебра">Полосатая зебра</h4> @@ -233,16 +233,16 @@ table { }</pre> <ul> - <li>Ранее вы видели как {{cssxref(":nth-child")}} селектор использовался для выбора специфичных дочерних элементов. В качестве параметра также может быть передана формула, тогда он будет выбирать последовательноость элементов. Так формула <code>2n-1</code> выберет все нечетные дочерние элементы (1, 3, 5 и т.д.), а формула <code>2n</code> выберет все четные (2, 4, 6 и т.д.). Мы использовали в нашем коде ключевые слова <code>odd</code> и <code>even</code>, которые делают тоже самое что и формулы выше. В данном случае мы устанавливаем четным и нечетным строкам разные (яркие) цвета.</li> + <li>Ранее вы видели как {{cssxref(":nth-child")}} селектор использовался для выбора специфичных дочерних элементов. В качестве параметра также может быть передана формула, тогда он будет выбирать последовательность элементов. Так формула <code>2n-1</code> выберет все нечетные дочерние элементы (1, 3, 5 и т.д.), а формула <code>2n</code> выберет все четные (2, 4, 6 и т.д.). Мы использовали в нашем коде ключевые слова <code>odd</code> и <code>even</code>, которые делают тоже самое что и формулы выше. В данном случае мы устанавливаем четным и нечетным строкам разные (яркие) цвета.</li> <li>Еще мы добавили повторяющийся плиткой фон ко всем строкам тела таблицы, который добавляет немного шума (полупрозрачный <code>.png</code> с небольшим количеством визуальных искажений на нем), чтобы получилась некоторая текстура.</li> - <li>И наконец мы установили для таблицы сплошной цвет фона, котрый обеспечит фон строкам таблицы в том случае если браузер не поддерживает селектор <code>:nth-child</code>.</li> + <li>И наконец мы установили для таблицы сплошной цвет фона, который обеспечит фон строкам таблицы в том случае если браузер не поддерживает селектор <code>:nth-child</code>.</li> </ul> <p>Этот взрыв цвета выглядит следующим образом:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/13074/table-with-color.png" style="display: block; margin: 0 auto;"></p> -<p>То что получилось может быть не в вашем вкусе, но основная идея была в том, что мы попытались сделать таблицу которая не будет скучной и акдемической.</p> +<p>То что получилось может быть не в вашем вкусе, но основная идея была в том, что мы попытались сделать таблицу которая не будет скучной и академической.</p> <h3 id="Стилизация_заголовка">Стилизация заголовка</h3> @@ -264,7 +264,7 @@ table { <h2 id="Активное_обучение_Стилизация_вашей_собственной_таблицы">Активное обучение: Стилизация вашей собственной таблицы</h2> -<p>Теперь мы хотим, чтобы вы взяли наш пример таблицы (или использовали собственный!) и сделали что-то зачительно более стильное и менее безвкусное чем наша таблица.</p> +<p>Теперь мы хотим, чтобы вы взяли наш пример таблицы (или использовали собственный!) и сделали что-то значительно более стильное и менее безвкусное чем наша таблица.</p> <h2 id="Стилизация_таблицы_быстрые_советы">Стилизация таблицы быстрые советы</h2> @@ -272,7 +272,7 @@ table { <ul> <li>Сделайте свою разметку простой и гибкой, например, используя для этого проценты, что сделает дизайн более отзывчивым.</li> - <li>Используйте {{cssxref("table-layout")}}<code>: fixed</code> для более понятного поведения разметки, при этомлегко установить ширину столбцов, установив ширину {{cssxref("width")}} для заголовков таблицы ({{htmlelement("th")}}).</li> + <li>Используйте {{cssxref("table-layout")}}<code>: fixed</code> для более понятного поведения разметки, при этом легко установить ширину столбцов, установив ширину {{cssxref("width")}} для заголовков таблицы ({{htmlelement("th")}}).</li> <li>Используйте {{cssxref("border-collapse")}}<code>: collapse</code>, которое схлопнет границы элементов таблицы, что обеспечит аккуратный внешний вид.</li> <li>Используйте {{htmlelement("thead")}}, {{htmlelement("tbody")}} и {{htmlelement("tfoot")}} чтобы разбить вашу таблицу на логические фрагменты и предоставив таким образом дополнительные точки для применения CSS, это дает возможность накладывать стили друг на друга, если это необходимо.</li> <li>Используйте полоски зебры, чтобы облегчить чтение между строк.</li> diff --git a/files/ru/learn/css/building_blocks/the_box_model/index.html b/files/ru/learn/css/building_blocks/the_box_model/index.html index 74a40b9a33..27f451d650 100644 --- a/files/ru/learn/css/building_blocks/the_box_model/index.html +++ b/files/ru/learn/css/building_blocks/the_box_model/index.html @@ -8,7 +8,7 @@ translation_of: Learn/CSS/Building_blocks/The_box_model --- <div>{{LearnSidebar}}{{PreviousMenuNext("Learn/CSS/Building_blocks/Selectors/Combinators", "Learn/CSS/Building_blocks/Backgrounds_and_borders", "Learn/CSS/Building_blocks")}}</div> -<div>Каждый элемент в CSS заключён в коробку (английское "<em>box</em>") и понимание поведения этих коробок — это ключ к умению создавать макеты с помощью CSS, то есть выстраивать одни элементы относительно других элементов. В этом уроке мы рассмотрим надлежащим образом <em>коробочную модель</em> CSS, так, чтобы вы могли решать более сложные здачи построения макетов, понимая, как она работает, и терминологию, которая к ней относится.</div> +<div>Каждый элемент в CSS заключён в коробку (английское "<em>box</em>") и понимание поведения этих коробок — это ключ к умению создавать макеты с помощью CSS, то есть выстраивать одни элементы относительно других элементов. В этом уроке мы рассмотрим надлежащим образом <em>коробочную модель</em> CSS, так, чтобы вы могли решать более сложные задачи построения макетов, понимая, как она работает, и терминологию, которая к ней относится.</div> <div></div> @@ -66,7 +66,7 @@ translation_of: Learn/CSS/Building_blocks/The_box_model <p>Однако, мы можем изменить внутренний тип отображения, используя такие значения <code>display</code> как <code>flex</code>. Если мы установим <code>display: flex;</code> для элемента, внешний тип отображения примет значение <code>block</code>, но внутренний тип изменится на <code>flex</code>. Любые прямые дочерние элементы этой коробки станут <em>гибкими</em> (flex) объектами и будут размещены в соответствии с правилами, изложенными в спецификации <a href="https://wiki.developer.mozilla.org/ru/docs/Learn/CSS/CSS_layout/Flexbox">Flexbox</a>, о которой вы узнаете позже.</p> <div class="blockIndicator note"> -<p><strong>Примечание</strong>: Чтобы узнать больше о значениях display, и о том, как работают коробки при блочном или строчном расположении, посмотрите руководство MDN <a href="https://wiki.developer.mozilla.org/ru/docs/Web/CSS/CSS_Flow_Layout/%D0%91%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D0%B8_%D1%81%D1%82%D1%80%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B5">Блочное и cтрочное расположение</a>.</p> +<p><strong>Примечание</strong>: Чтобы узнать больше о значениях display, и о том, как работают коробки при блочном или строчном расположении, посмотрите руководство MDN <a href="https://wiki.developer.mozilla.org/ru/docs/Web/CSS/CSS_Flow_Layout/%D0%91%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D0%B8_%D1%81%D1%82%D1%80%D0%BE%D1%87%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B5">Блочное и срочное расположение</a>.</p> </div> <p>Когда вы перейдёте к более подробному изучению CSS вёрстки, вы встретите <code>flex</code>, и другие внутренние значения, которые могут иметь ваши элементы, например <code><a href="https://wiki.developer.mozilla.org/ru/docs/Learn/CSS/CSS_layout/Grids">grid</a></code>.</p> @@ -168,7 +168,7 @@ translation_of: Learn/CSS/Building_blocks/The_box_model <p>В примере ниже, вы можете видеть 2 объекта. Оба имеют класс <code>.box</code>, который дает им одинаковые параметры <code>width</code>, <code>height</code>, <code>margin</code>, <code>border</code>, и <code>padding</code>. Единственное различие в том, что второй объект объявлен по альтернативной блочной модели.</p> -<p><strong>Можете ли вы изменить размер второго объекта (добавляя CSS в класс <code>.alternate)</code> чтобы ишрина и высота совпали с первым блоком?</strong></p> +<p><strong>Можете ли вы изменить размер второго объекта (добавляя CSS в класс <code>.alternate)</code> чтобы ширина и высота совпали с первым блоком?</strong></p> <p>{{EmbedGHLiveSample("css-examples/learn/box-model/box-models.html", '100%', 1000)}} </p> @@ -209,9 +209,9 @@ translation_of: Learn/CSS/Building_blocks/The_box_model <p>{{EmbedGHLiveSample("css-examples/learn/box-model/margin.html", '100%', 1000)}} </p> -<h4 id="Cхлопывание_margin"> Cхлопывание margin </h4> +<h4 id="Схлопывание_margin"> Схлопывание margin </h4> -<p>Ключевой момент, который нужно понимать в отношении внешних отступов (margin), это концепция схлопывания полей. Если у вас есть два элемента, поля которых соприкасаются, и оба значения margin положительные, то эти значения будут объединены в одно, равное большему из двух значений. А если одно или оба зничения негативны, то сумма отрицательнных значений будет вычтена из общей суммы.</p> +<p>Ключевой момент, который нужно понимать в отношении внешних отступов (margin), это концепция схлопывания полей. Если у вас есть два элемента, поля которых соприкасаются, и оба значения margin положительные, то эти значения будут объединены в одно, равное большему из двух значений. А если одно или оба значения негативны, то сумма отрицательных значений будет вычтена из общей суммы.</p> <p>В примере ниже имеется два абзаца. Первый абзац имеет ширину <code>margin-bottom</code> 50 пикселей. Ширина второго параграфа — <code>margin-top</code> 30 пикселей. Поля схлопываются так, что в результате margin между двумя блоками составляет 50 пикселей, а не сумму значений отдельных значений margin.</p> @@ -225,7 +225,7 @@ translation_of: Learn/CSS/Building_blocks/The_box_model <p>Граница располагается между margin и padding блочного элемента. Если вы используете стандартную блочную модель, размер границы прибавляется к значениям <code>width</code> и <code>height</code> бокса. Если вы используете альтернативную блочную модель, то размер границы уменьшает поле контента данного блока, так как значения границы входит в значения <code>width</code> и <code>height</code>.</p> -<p>Для слилизации границ существует большое количество различных свойств — имеется четыре границы, и каждая из них имеет свой стиль, ширину и цвет, которыми мы можем манипулировать.</p> +<p>Для стилизации границ существует большое количество различных свойств — имеется четыре границы, и каждая из них имеет свой стиль, ширину и цвет, которыми мы можем манипулировать.</p> <p>Вы можете установить ширину, стиль или цвет всех четырех границ сразу используя {{cssxref("border")}} свойства.</p> @@ -238,7 +238,7 @@ translation_of: Learn/CSS/Building_blocks/The_box_model <li>{{cssxref("border-left")}}</li> </ul> -<p>Для утановки ширины, стиля или цвета всех границ используйте:</p> +<p>Для установки ширины, стиля или цвета всех границ используйте:</p> <ul> <li>{{cssxref("border-width")}}</li> @@ -302,7 +302,7 @@ translation_of: Learn/CSS/Building_blocks/The_box_model <ul> <li><span class="tlid-translation translation" lang="ru"><span title="">Применяются свойства </span></span><code>width</code><span class="tlid-translation translation" lang="ru"><span title=""> и </span></span><code>height</code><span class="tlid-translation translation" lang="ru"><span title="">.</span></span></li> - <li>Использование <code>padding</code><span class="tlid-translation translation" lang="ru"><span title="">, </span></span><code>margin</code><span class="tlid-translation translation" lang="ru"><span title=""> и </span></span><code>border</code><span class="tlid-translation translation" lang="ru"><span title=""> приведёт к тому, что другие элементы будут отодвинуты от нашего элемена.</span></span></li> + <li>Использование <code>padding</code><span class="tlid-translation translation" lang="ru"><span title="">, </span></span><code>margin</code><span class="tlid-translation translation" lang="ru"><span title=""> и </span></span><code>border</code><span class="tlid-translation translation" lang="ru"><span title=""> приведёт к тому, что другие элементы будут отодвинуты от нашего элемента.</span></span></li> </ul> <p><span class="tlid-translation translation" lang="ru"><span title="">Он не прервётся на новую строку и станет больше, чем его содержимое, только если вы явно не укажите свойства </span></span><code>width</code><span class="tlid-translation translation" lang="ru"><span title=""> и </span></span><code>height</code><span class="tlid-translation translation" lang="ru"><span title="">.</span></span></p> diff --git a/files/ru/learn/css/building_blocks/values_and_units/index.html b/files/ru/learn/css/building_blocks/values_and_units/index.html index 7aa0744ad9..d64426b99e 100644 --- a/files/ru/learn/css/building_blocks/values_and_units/index.html +++ b/files/ru/learn/css/building_blocks/values_and_units/index.html @@ -22,7 +22,7 @@ translation_of: Learn/CSS/Building_blocks/Values_and_units <h2 id="Что_такое_значение_CSS">Что такое значение CSS?</h2> -<p><span class="tlid-translation translation" lang="ru"><span title="">В спецификациях CSS и на страницах свойств здесь в MDN вы сможете определять (узнавать) значения, потому как они будут заключены в угловые скобки, например </span></span><code><a href="/en-US/docs/Web/CSS/color_value"><color></a></code> или <code><a href="/en-US/docs/Web/CSS/length"><length></a></code><a href="/en-US/docs/Web/CSS/length">. </a>Если вы видите значение <code><color></code> как действительное для определенного свойства это значит что вы можете использовать любой валидный цвет в качестве значение для этого свойства, как перечисленно на странице <code><a href="/en-US/docs/Web/CSS/color_value"><color></a></code><a href="/en-US/docs/Web/CSS/color_value">.</a></p> +<p><span class="tlid-translation translation" lang="ru"><span title="">В спецификациях CSS и на страницах свойств здесь в MDN вы сможете определять (узнавать) значения, потому как они будут заключены в угловые скобки, например </span></span><code><a href="/en-US/docs/Web/CSS/color_value"><color></a></code> или <code><a href="/en-US/docs/Web/CSS/length"><length></a></code><a href="/en-US/docs/Web/CSS/length">. </a>Если вы видите значение <code><color></code> как действительное для определенного свойства это значит что вы можете использовать любой валидный цвет в качестве значение для этого свойства, как перечислено на странице <code><a href="/en-US/docs/Web/CSS/color_value"><color></a></code><a href="/en-US/docs/Web/CSS/color_value">.</a></p> <div class="blockIndicator note"> <p><strong>Note</strong>: You'll also see CSS values referred to as <em>data types</em>. The terms are basically interchangeable — when you see something in CSS referred to as a data type, it is really just a fancy way of saying value.</p> @@ -146,7 +146,7 @@ translation_of: Learn/CSS/Building_blocks/Values_and_units <thead> <tr> <th scope="col">Единица</th> - <th scope="col">Отосительна к</th> + <th scope="col">Относительна к</th> </tr> </thead> <tbody> @@ -273,7 +273,7 @@ translation_of: Learn/CSS/Building_blocks/Values_and_units <p><strong>И снова, попробуйте изменить значения, чтобы посмотреть, как варьируют цвета.</strong></p> -<h3 id="RGB_и_RGBA_зачения">RGB и RGBA зачения</h3> +<h3 id="RGB_и_RGBA_значения">RGB и RGBA значения</h3> <p>Третья схема, о которой мы здесь поговорим это RGB. Значения RGB это функция — <code>rgb()</code> — которой дается три параметра представляющих каналы красного, зеленого и синего значений цветов, во многом так же, как hex-значения. Отличие с RGB является то, что каждый канал представлен не двумя hex-цифрами, а десятичным числом между 0 и 255 — что отчасти проще в понимании.</p> diff --git a/files/ru/learn/css/css_layout/flexbox/index.html b/files/ru/learn/css/css_layout/flexbox/index.html index fcb1840af7..324f802c37 100644 --- a/files/ru/learn/css/css_layout/flexbox/index.html +++ b/files/ru/learn/css/css_layout/flexbox/index.html @@ -90,7 +90,7 @@ translation_of: Learn/CSS/CSS_layout/Flexbox <p>Вы увидите, что элементы расположились в виде столбцов, также как было до того, как мы добавили CSS код. Прежде чем продолжать, удалите эту строчку из примера.</p> <div class="note"> -<p><strong>Примечание</strong>: Вы можете также распологать flex элементы в обратном направлении, используя значения <code>row-reverse</code> и <code>column-reverse</code>. Попробуйте их тоже!</p> +<p><strong>Примечание</strong>: Вы можете также располагать flex элементы в обратном направлении, используя значения <code>row-reverse</code> и <code>column-reverse</code>. Попробуйте их тоже!</p> </div> <h2 id="Перенос_строк">Перенос строк</h2> diff --git a/files/ru/learn/css/css_layout/floats/index.html b/files/ru/learn/css/css_layout/floats/index.html index 4c4914cbe9..86ff3ac15d 100644 --- a/files/ru/learn/css/css_layout/floats/index.html +++ b/files/ru/learn/css/css_layout/floats/index.html @@ -77,7 +77,7 @@ translation_of: Learn/CSS/CSS_layout/Floats padding: 1em; }</pre> -<p>Если вы сохраните и обнавите сейчас, то <span class="tlid-translation translation" lang="ru"><span title="">вы увидите нечто похожее на следующее</span></span>:</p> +<p>Если вы сохраните и обновите сейчас, то <span class="tlid-translation translation" lang="ru"><span title="">вы увидите нечто похожее на следующее</span></span>:</p> <div id="Float_1"> <div class="hidden"> @@ -131,7 +131,7 @@ translation_of: Learn/CSS/CSS_layout/Floats } </pre> -<p>Чтобы эфект был лучше виден, измените <code>margin-right</code> обтекаемого объекта на <code>margin</code>, так вы получите пространство вокруг него. Вы сможете увидеть фон параграфа располагающегося прям под обтекаемым блоком, как на примере ниже.</p> +<p>Чтобы эффект был лучше виден, измените <code>margin-right</code> обтекаемого объекта на <code>margin</code>, так вы получите пространство вокруг него. Вы сможете увидеть фон параграфа располагающегося прям под обтекаемым блоком, как на примере ниже.</p> <div id="Float_2"> <div class="hidden"> diff --git a/files/ru/learn/css/css_layout/grids/index.html b/files/ru/learn/css/css_layout/grids/index.html index f94f97fb10..903cefd2be 100644 --- a/files/ru/learn/css/css_layout/grids/index.html +++ b/files/ru/learn/css/css_layout/grids/index.html @@ -477,7 +477,7 @@ body { <h2 id="Родные_CSS_Сетки_с_Grid_Layout">Родные CSS Сетки с Grid Layout</h2> -<p>В начале этой статьи мы сказали, что CSS ранее не имел реальной системы для создания макетов сетки, но это изменится. Хотя мы еще не можем использовать встроенную сетовую систему CSS, в следующем году мы увидим поддержку браузера для модуля компоновки сетки CSS (<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout Module</a>).</p> +<p>В начале этой статьи мы сказали, что CSS ранее не имел реальной системы для создания макетов сетки, но это изменится. Хотя мы еще не можем использовать встроенную сетевую систему CSS, в следующем году мы увидим поддержку браузера для модуля компоновки сетки CSS (<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout Module</a>).</p> <p>В настоящее время вы можете использовать только те методы, которые мы покажем вам в браузерах, которые реализуют макет сетки CSS «за флагом» - это означает, что он в настоящее время реализован, но в экспериментальном состоянии, которое вам нужно включить.</p> diff --git a/files/ru/learn/css/css_layout/index.html b/files/ru/learn/css/css_layout/index.html index a4fcfa8ac5..d5bc2e8e58 100644 --- a/files/ru/learn/css/css_layout/index.html +++ b/files/ru/learn/css/css_layout/index.html @@ -25,7 +25,7 @@ translation_of: Learn/CSS/CSS_layout --- <div>{{LearnSidebar}}</div> -<p class="summary">К текущему моменту мы познакомились с основами CSS. Мы знаем, как оформлять текст, как оформлять и изменять блоки, в которых находится ваш контент. Пришло время узнать, как разместить ваши блоки в нужных местах в зависимости от области просмотра и тому подобного. Мы уже знаем достаточно, чтобы погрузиться в изучение разметки с помощью CSS, в то, как изменять отображение в зависимости от особенностей экрана, как иcпользовать современные методы разметки, такие как Flexbox и CSS grid, и некоторые традиционные методы разметки, которые все ещё применяются.</p> +<p class="summary">К текущему моменту мы познакомились с основами CSS. Мы знаем, как оформлять текст, как оформлять и изменять блоки, в которых находится ваш контент. Пришло время узнать, как разместить ваши блоки в нужных местах в зависимости от области просмотра и тому подобного. Мы уже знаем достаточно, чтобы погрузиться в изучение разметки с помощью CSS, в то, как изменять отображение в зависимости от особенностей экрана, как использовать современные методы разметки, такие как Flexbox и CSS grid, и некоторые традиционные методы разметки, которые все ещё применяются.</p> <h2 id="Необходимые_условия">Необходимые условия</h2> @@ -70,7 +70,7 @@ translation_of: Learn/CSS/CSS_layout <dd>Grid-системы - это очень распространенная возможность, используемая в CSS layouts, и до CSS Grid Layout они, как правило, реализовывались с помощью floats или других возможностей верстки. Вы представляете свою верстку в виде заданного числа столбцов (например, 4 или 6), а затем вы помещаете содержимое в эти воображаемые столбцы. В этом разделе мы рассмотрим, как работают эти старые методы, чтобы вы понимали, как они использовались, если столкнётесь со старыми проектами.</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Supporting_Older_Browsers">Поддержка старыми браузерами</a></dt> <dd> - <p>В этом модуле мы рекомендуем использовать Flexbox и Grid как основные методы верстки для ваших проектов. Однако, ваш сайт могут посещать со старых браузеров или браузеров, которые не поддерживают данные методы. В сети это будет всегда - по мере появления новых возможностей, для различных браузеров будут приорететны различные вещи. Этот раздел объясняет, как использовать современные веб-технологии без блокировки пользователей со старыми технологиями.</p> + <p>В этом модуле мы рекомендуем использовать Flexbox и Grid как основные методы верстки для ваших проектов. Однако, ваш сайт могут посещать со старых браузеров или браузеров, которые не поддерживают данные методы. В сети это будет всегда - по мере появления новых возможностей, для различных браузеров будут приоритетны различные вещи. Этот раздел объясняет, как использовать современные веб-технологии без блокировки пользователей со старыми технологиями.</p> </dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Fundamental_Layout_Comprehension">Фундаментальное понятие верстки</a></dt> <dd>Оценка ваших знаний различных методов верстки посредством вёрстки веб-страницы.</dd> diff --git a/files/ru/learn/css/css_layout/introduction/index.html b/files/ru/learn/css/css_layout/introduction/index.html index fd443580da..422a215b1c 100644 --- a/files/ru/learn/css/css_layout/introduction/index.html +++ b/files/ru/learn/css/css_layout/introduction/index.html @@ -22,7 +22,7 @@ translation_of: Learn/CSS/CSS_layout/Introduction </tbody> </table> -<p>Методы компановки страниц CSS позволяют нам использовать элементы, расположенные на веб-странице, и контролировать где они находятся относительно их позиции по умолчанию, других элементов вокруг них, их родителей или главного окна. Методы компоновки страниц, которые мы подробно рассмотрим в этой статье.</p> +<p>Методы компоновки страниц CSS позволяют нам использовать элементы, расположенные на веб-странице, и контролировать где они находятся относительно их позиции по умолчанию, других элементов вокруг них, их родителей или главного окна. Методы компоновки страниц, которые мы подробно рассмотрим в этой статье.</p> <ul> <li>Нормальный поток</li> @@ -57,7 +57,7 @@ translation_of: Learn/CSS/CSS_layout/Introduction <p>Заметьте, что HTML элементы здесь отображаются точно в таком порядке, как и в исходном коде — первый параграф, за ним неупорядоченный список, затем второй параграф.</p> -<p>Элементы, выводящеся один <em>под</em> другим, называются <em>блочными</em>, в противоположность <em>строчным</em>, которые выводятся один <em>вслед</em> за другим, как отдельные слова в обычном абзаце текста.</p> +<p>Элементы, выводящиеся один <em>под</em> другим, называются <em>блочными</em>, в противоположность <em>строчным</em>, которые выводятся один <em>вслед</em> за другим, как отдельные слова в обычном абзаце текста.</p> <div class="note"> <p><strong>Примечание</strong>: Направление, в котором отображается содержимое блока, называется Block Direction. Block Direction вертикально в языках типа Английского, имеющих горизонтальное направление письма. В языках, типа Японского, имеющих вертикальное направление письма, Block Direction горизонтально. Соответствующее Inline Direction отвечает за направление отображения строковых элементов (таких как предложение).</p> @@ -68,10 +68,10 @@ translation_of: Learn/CSS/CSS_layout/Introduction <p>Методы CSS, которыми вы можете управлять разметкой элементов:</p> <ul> - <li><strong>Свойство {{cssxref("display")}} </strong>— Стандартные значениея <code>block</code>, <code>inline</code> или <code>inline-block </code>могут изменять поведение элементов в обычном потоке (см.подробнее <a href="/en-US/docs/Learn/CSS/Introduction_to_CSS/Box_model#Types_of_CSS_boxes">Types of CSS boxes</a>). Также можно менять сами методы разметки такими значениями свойства <code>display</code>, как <a href="/en-US/docs/Learn/CSS/CSS_layout/Grids">CSS Grid</a> или <a href="/en-US/docs/Learn/CSS/CSS_layout/Flexbox">Flexbox</a>.</li> + <li><strong>Свойство {{cssxref("display")}} </strong>— Стандартные значения <code>block</code>, <code>inline</code> или <code>inline-block </code>могут изменять поведение элементов в обычном потоке (см.подробнее <a href="/en-US/docs/Learn/CSS/Introduction_to_CSS/Box_model#Types_of_CSS_boxes">Types of CSS boxes</a>). Также можно менять сами методы разметки такими значениями свойства <code>display</code>, как <a href="/en-US/docs/Learn/CSS/CSS_layout/Grids">CSS Grid</a> или <a href="/en-US/docs/Learn/CSS/CSS_layout/Flexbox">Flexbox</a>.</li> <li><strong>Floats</strong> — Применение значения {{cssxref("float")}} типа <code>left</code> может заставить элемент блочного типа "прилепить" содержимое к одной стороне элемента, как иногда изображения обволакиваются текстом на газетных страницах.</li> <li><strong>Свойство {{cssxref("position")}} </strong>— Позволяет точно контролировать положение блоков внутри других блоков. <code>static</code> позиционирование является стандартным, но также можно применять другие значения свойства, например фиксированное в углу экрана.</li> - <li><strong>Макет Таблицы</strong> — свойства для разметки таблиц могут быть использованы и для нетабличных элеметов, с помощью <code>display: table</code> и соотвествующих свойств.</li> + <li><strong>Макет Таблицы</strong> — свойства для разметки таблиц могут быть использованы и для нетабличных элементов, с помощью <code>display: table</code> и соответствующих свойств.</li> <li><strong>Multi-column layout</strong> — <a href="/en-US/docs/Web/CSS/CSS_Columns">Многоколоночный макет</a> поможет расположить содержимое столбцами, как в газетах.</li> </ul> @@ -122,7 +122,7 @@ translation_of: Learn/CSS/CSS_layout/Introduction <p>В дополнение к свойствам, применяемым к контейнеру, существуют свойства, применяемые ко вложенным элементам. Эти свойства помимо всего прочего, могут менять размеры элемента, растягивая его и заставляя занимать всё доступное место.</p> -<p>В качестве простого примера, добавим свойство {{cssxref("flex")}} ко всем дочерним элементам, со значением <code>1</code>. Это заставит все элементы растянуться и заполнить контейнер, не оставляя свободного места в конце строки. Если освободится дополнительное пространство, элементы растянутся; если доступное местро убавится - элементы сожмутся. Также, если вы добавите дополнительный элемент, остальные элементы станут меньше, для того, чтобы все они были одного размера.</p> +<p>В качестве простого примера, добавим свойство {{cssxref("flex")}} ко всем дочерним элементам, со значением <code>1</code>. Это заставит все элементы растянуться и заполнить контейнер, не оставляя свободного места в конце строки. Если освободится дополнительное пространство, элементы растянутся; если доступное место убавится - элементы сожмутся. Также, если вы добавите дополнительный элемент, остальные элементы станут меньше, для того, чтобы все они были одного размера.</p> <div id="Flex_2"> <div class="hidden"> @@ -466,7 +466,7 @@ p { <p>{{ EmbedLiveSample('Absolute_1', '100%', 300) }}</p> -<p>Это совсем другое! Позиционированный элемент теперь совершенно отделен от разметки остальной страницы и располагется поверх него. Другие два параграфа теперь располагаются вместе так будто бы их позиционированный брат не существует. Свойства {{cssxref("top")}} и {{cssxref("left")}} имеют иной эффект на абсолютно позиционированные элементы, чем на относительно позиционированные элементы. В данном случае смещения были рассчитаны сверху и слева от страницы. Возможно изменить родительский элемент так что он становится контейнером, но мы рассмотрим это в уроке по <a href="/en-US/docs/Learn/CSS/CSS_layout/Positioning">позиционированию</a>.</p> +<p>Это совсем другое! Позиционированный элемент теперь совершенно отделен от разметки остальной страницы и располагается поверх него. Другие два параграфа теперь располагаются вместе так будто бы их позиционированный брат не существует. Свойства {{cssxref("top")}} и {{cssxref("left")}} имеют иной эффект на абсолютно позиционированные элементы, чем на относительно позиционированные элементы. В данном случае смещения были рассчитаны сверху и слева от страницы. Возможно изменить родительский элемент так что он становится контейнером, но мы рассмотрим это в уроке по <a href="/en-US/docs/Learn/CSS/CSS_layout/Positioning">позиционированию</a>.</p> <h3 id="Fixed_positioning">Fixed positioning</h3> diff --git a/files/ru/learn/css/css_layout/multiple-column_layout/index.html b/files/ru/learn/css/css_layout/multiple-column_layout/index.html index 7aa24804af..f61c802400 100644 --- a/files/ru/learn/css/css_layout/multiple-column_layout/index.html +++ b/files/ru/learn/css/css_layout/multiple-column_layout/index.html @@ -21,7 +21,7 @@ original_slug: Learn/CSS/CSS_layout/Макет_с_несколькими_сто <tr> <th scope="row">Задача:</th> <td> - <p>Изучить как создавать макет с неколькими столбцами на веб-страницах, такой как вы модете найти в газете.</p> + <p>Изучить как создавать макет с несколькими столбцами на веб-страницах, такой как вы можете найти в газете.</p> </td> </tr> </tbody> @@ -31,7 +31,7 @@ original_slug: Learn/CSS/CSS_layout/Макет_с_несколькими_сто <p>Сейчас мы будем изучать как использовать макет с несколькими столбцами, часто называемый <em>multicol. </em>Вы можете следовать за нами <a href="https://github.com/mdn/learning-area/blob/master/css/css-layout/multicol/0-starting-point.html">скачав файл отправной точки multicol</a> и добавлять CSS в соответствующие места. В конце раздела вы можете посмотреть живой пример того, как конечный код должен выглядеть.</p> -<p>Наша отправная точка содержит немного очень простого HTML; обертака с классом <code>container</code> внутри которого имеется заголовок и несколько параграфов.</p> +<p>Наша отправная точка содержит немного очень простого HTML; обертка с классом <code>container</code> внутри которого имеется заголовок и несколько параграфов.</p> <p>{{htmlelement("div")}} с классом контейнер станет нашим multicol контейнером. Мы включаем multicol используя одно из двух свойств {{cssxref("column-count")}} или {{cssxref("column-width")}}. Какое значение вы дадите свойству <code>column-count</code> столько столбцов он и создаст, поэтому если вы добавите следующий CSS в ваши стили и перезагрузите страницу, то получите три столбца:</p> diff --git a/files/ru/learn/css/css_layout/normal_flow/index.html b/files/ru/learn/css/css_layout/normal_flow/index.html index 707909d096..ddad3379d7 100644 --- a/files/ru/learn/css/css_layout/normal_flow/index.html +++ b/files/ru/learn/css/css_layout/normal_flow/index.html @@ -38,9 +38,9 @@ original_slug: Learn/CSS/CSS_layout/Нормальный_поток <p>Это объясняет отдельные элементы, но как насчет того, как элементы взаимодействуют друг с другом? Нормальный поток макета (упомянутый в статье введения макета) - это система, посредством которой элементы размещаются внутри окна просмотра браузера. По умолчанию элементы уровня блока выкладываются в направлении, что блокирует отображение в режиме записи документа - каждый из них будет отображаться в новой строке ниже последней строки, и они будут разделены любым полем, установленным на них. Поэтому на английском языке или на любом другом, в котором режим писания горизонтальный, сверху вниз, элементы уровня блока располагаются вертикально.</p> -<p>Встроенные элементы ведут себя по-другому — они не появляются на новых строках; они распологаются на той же строке, что и другие и любой смежной или завернутый текст располагается на всю ширину внутри элемента уровня родительского блока, до тех пор, пока не закончится пространство. Если пространства нет, тогда текст и/или элементы перейдут на новую строку (не с абзаца).</p> +<p>Встроенные элементы ведут себя по-другому — они не появляются на новых строках; они располагаются на той же строке, что и другие и любой смежной или завернутый текст располагается на всю ширину внутри элемента уровня родительского блока, до тех пор, пока не закончится пространство. Если пространства нет, тогда текст и/или элементы перейдут на новую строку (не с абзаца).</p> -<p>Если два смежных элемента имеют заданные для них поля/внешние отступы (margin) и эти поля соприкасаются друг с другом, большее из них остается, а меньшее исчезает — это звётся схлопывание полей (margin collapsing), и мы рассматривали это ранее.</p> +<p>Если два смежных элемента имеют заданные для них поля/внешние отступы (margin) и эти поля соприкасаются друг с другом, большее из них остается, а меньшее исчезает — это называется схлопывание полей (margin collapsing), и мы рассматривали это ранее.</p> <p>Давайте посмотрим на пример, который объясняет всё из того, что мы рассмотрели в данной статье:</p> diff --git a/files/ru/learn/css/css_layout/positioning/index.html b/files/ru/learn/css/css_layout/positioning/index.html index 3fe1be6b00..59669413f4 100644 --- a/files/ru/learn/css/css_layout/positioning/index.html +++ b/files/ru/learn/css/css_layout/positioning/index.html @@ -124,7 +124,7 @@ span { <pre class="brush: css notranslate">position: absolute;</pre> -<p>Если вы сохраните и обновновите, то вы должны увидеть нечто подобное:</p> +<p>Если вы сохраните и обновите, то вы должны увидеть нечто подобное:</p> <div class="hidden"> <pre class="brush: html notranslate"><h1>Absolute positioning</h1> @@ -349,7 +349,7 @@ p:nth-of-type(1) { margin-top: 60px; }</pre> -<p>Теверь вы должны видеть законченный пример:</p> +<p>Теперь вы должны видеть законченный пример:</p> <div class="hidden"> <pre class="brush: html notranslate"><h1>Fixed positioning</h1> @@ -401,7 +401,7 @@ p:nth-of-type(1) { <h3 id="position_sticky">position: sticky</h3> -<p>Доступно другое значение позиции называемое <code>position: sticky</code>, которое несколько новее чем другие. <span class="tlid-translation translation" lang="ru"><span title="">По сути, это гибрид относительной и фиксированной позиции, который позволяет позиционируемому элементу вести себя как будто он относительно позиционирован, до тех пор пока он не будет прокручен до определенной пороговой точки (напрмер, 10px от вершины окна просмотра), после чего он становится фиксированным. </span></span> <span class="tlid-translation translation" lang="ru"><span title="">Это можно использовать, например, чтобы заставить панель навигации прокручиваться вместе со страницей до определенной точки, а затем задерживать в верхней части страницы.</span></span></p> +<p>Доступно другое значение позиции называемое <code>position: sticky</code>, которое несколько новее чем другие. <span class="tlid-translation translation" lang="ru"><span title="">По сути, это гибрид относительной и фиксированной позиции, который позволяет позиционируемому элементу вести себя как будто он относительно позиционирован, до тех пор пока он не будет прокручен до определенной пороговой точки (например, 10px от вершины окна просмотра), после чего он становится фиксированным. </span></span> <span class="tlid-translation translation" lang="ru"><span title="">Это можно использовать, например, чтобы заставить панель навигации прокручиваться вместе со страницей до определенной точки, а затем задерживать в верхней части страницы.</span></span></p> <div id="Sticky_1"> <div class="hidden"> diff --git a/files/ru/learn/css/css_layout/practical_positioning_examples/index.html b/files/ru/learn/css/css_layout/practical_positioning_examples/index.html index 1dbbc6012b..2f5c145b3c 100644 --- a/files/ru/learn/css/css_layout/practical_positioning_examples/index.html +++ b/files/ru/learn/css/css_layout/practical_positioning_examples/index.html @@ -73,7 +73,7 @@ translation_of: Learn/CSS/CSS_layout/Practical_positioning_examples <p>Итак, у нас есть элемент {{htmlelement ("section")}} с <code>классом</code> <code>info-box</code>, который содержит {{htmlelement ("ul")}} и {{htmlelement ("div")}}. Неупорядоченный список содержит три элемента списка со ссылками внутри, которые станут фактическими вкладками для отображения наших панелей контента. <code>div</code> содержит три элемента {{htmlelement ("article")}}, которые будут составлять панели содержимого, соответствующие каждой вкладке. Каждая панель содержит некоторый образец контента.</p> -<p>Идея здесь заключается в том, что мы будем стилизовать вкладки, чтобы они выглядели как стандартное меню горизонтальной навигации и нарисуем панели, чтобы они сидели друг над другом, используя абсолютное позиционирование. Мы также предоставим вам немного JavaScript для включения на вашу страницу, чтобы отобразить соответствующую панель при нажатии вкладки и вы создатите саму вкладку. Вам не нужно будет понимать сам JavaScript на данном этапе, но вы должны подумать об изучении базового <a href="/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics">JavaScript</a> как можно скорее - чем сложнее ваши функции пользовательского интерфейса, тем больше вероятность того, что вам понадобится JavaScript для реализации желаемую функциональность.</p> +<p>Идея здесь заключается в том, что мы будем стилизовать вкладки, чтобы они выглядели как стандартное меню горизонтальной навигации и нарисуем панели, чтобы они сидели друг над другом, используя абсолютное позиционирование. Мы также предоставим вам немного JavaScript для включения на вашу страницу, чтобы отобразить соответствующую панель при нажатии вкладки и вы создадите саму вкладку. Вам не нужно будет понимать сам JavaScript на данном этапе, но вы должны подумать об изучении базового <a href="/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics">JavaScript</a> как можно скорее - чем сложнее ваши функции пользовательского интерфейса, тем больше вероятность того, что вам понадобится JavaScript для реализации желаемую функциональность.</p> <h3 id="Общая_настройка">Общая настройка</h3> @@ -101,7 +101,7 @@ body { margin: 0 auto; }</pre> -<p>Это задает конкретную ширину и высоту содержимого и центрирует его на экране с использованием старого <code>margin: 0 auto </code>трюкa. Раньше в курсе мы советовали не устанавливать фиксированную высоту на контейнеры содержимого, если это вообще возможно; это нормально в этом случае, потому что у нас есть фиксированный контент на наших вкладках. Это также выглядит немного раздражающим, чтобы иметь разные вкладки на разных высотах.</p> +<p>Это задает конкретную ширину и высоту содержимого и центрирует его на экране с использованием старого <code>margin: 0 auto </code>трюка. Раньше в курсе мы советовали не устанавливать фиксированную высоту на контейнеры содержимого, если это вообще возможно; это нормально в этом случае, потому что у нас есть фиксированный контент на наших вкладках. Это также выглядит немного раздражающим, чтобы иметь разные вкладки на разных высотах.</p> <h3 id="Укладка_наших_вкладок">Укладка наших вкладок</h3> diff --git a/files/ru/learn/css/css_layout/responsive_design/index.html b/files/ru/learn/css/css_layout/responsive_design/index.html index ee270e0769..ba5149fc62 100644 --- a/files/ru/learn/css/css_layout/responsive_design/index.html +++ b/files/ru/learn/css/css_layout/responsive_design/index.html @@ -6,7 +6,7 @@ original_slug: Learn/CSS/CSS_layout/Отзывчивый_дизайн --- <div>{{learnsidebar}}{{PreviousMenuNext("Learn/CSS/CSS_layout/Multiple-column_Layout", "Learn/CSS/CSS_layout/Media_queries", "Learn/CSS/CSS_layout")}}</div> -<p><span class="tlid-translation translation" lang="ru"><span title="">На заре веб-дизайна страницы создавались для экрана определенного размера.</span></span> Если у пользователя был экран большего или меньшего размера чем ожидал дизайнер, то результат мог быть от нежелательных полос прокрутки, до<span class="tlid-translation translation" lang="ru"><span title=""> слишком длинной строки и плохого использования пространства. Поскольку становились доступны много различных размеров экранов, появилась концепция <em>отзывчивого (адаптивого) веб-дизайна</em> </span></span><em>(responsive web design</em> (RWD)) — набор методов, которые позволяют веб-страницам менять свой макет и внешний вид в соответствии с разной шириной экрана, разрешением и т.д. Это та самая, идея которая изменила подход к дизайну веба для множества устройств, и в этой статье мы поможем вам понять основные методы, которые вам необходимо знать, чтобы освоить его.</p> +<p><span class="tlid-translation translation" lang="ru"><span title="">На заре веб-дизайна страницы создавались для экрана определенного размера.</span></span> Если у пользователя был экран большего или меньшего размера чем ожидал дизайнер, то результат мог быть от нежелательных полос прокрутки, до<span class="tlid-translation translation" lang="ru"><span title=""> слишком длинной строки и плохого использования пространства. Поскольку становились доступны много различных размеров экранов, появилась концепция <em>отзывчивого (адаптивного) веб-дизайна</em> </span></span><em>(responsive web design</em> (RWD)) — набор методов, которые позволяют веб-страницам менять свой макет и внешний вид в соответствии с разной шириной экрана, разрешением и т.д. Это та самая, идея которая изменила подход к дизайну веба для множества устройств, и в этой статье мы поможем вам понять основные методы, которые вам необходимо знать, чтобы освоить его.</p> <table class="learn-box standard-table"> <tbody> @@ -97,7 +97,7 @@ original_slug: Learn/CSS/CSS_layout/Отзывчивый_дизайн <p>Вы можете добавлять несколько медиа запросов в пределах одной таблицы стилей, подстраивая весь ваш макет или его части так чтоб соответствовать наилучшим образом разным размерам экрана. Точки, в которых применяется media query и меняется макет, известны как <em>контрольные точки.</em></p> -<p>Общим подходом при использовании Media Queriy является создание простого одно колоночного макета для устройств с узкими экранами (например, мобильные телефоны), затем проверка для бо'льших экранов и применение макета с несколькими столбцам, когда вы знаете, что у вас достаточно ширины экрана чтобы уместить все. Это часто называют дизайном <strong>сначала мобильный</strong> (<strong>mobile first</strong>).</p> +<p>Общим подходом при использовании Media Queriy является создание простого одно колоночного макета для устройств с узкими экранами (например, мобильные телефоны), затем проверка для больших экранов и применение макета с несколькими столбцам, когда вы знаете, что у вас достаточно ширины экрана чтобы уместить все. Это часто называют дизайном <strong>сначала мобильный</strong> (<strong>mobile first</strong>).</p> <p>Узнать больше о <a href="/en-US/docs/Web/CSS/Media_Queries">Media Query</a> можно в документации MDN.</p> @@ -127,7 +127,7 @@ original_slug: Learn/CSS/CSS_layout/Отзывчивый_дизайн <figcaption></figcaption> </figure> -<p>На более широких экранах они премещаются в два столбца:</p> +<p>На более широких экранах они перемещаются в два столбца:</p> <figure><img alt="A desktop view of a layout with two columns." src="https://mdn.mozillademos.org/files/16837/mdn-rwd-desktop.png" style="display: block; height: 217px; width: 600px;"> <figcaption></figcaption> @@ -159,7 +159,7 @@ original_slug: Learn/CSS/CSS_layout/Отзывчивый_дизайн <h3 id="Flexbox">Flexbox</h3> -<p><span class="tlid-translation translation" lang="ru"><span title="">В Flexbox, в качестве исходного поведения, flex элементы будут сжиматься и распределять пространство между элементами в соответствии с пространством в их контейнере. Изменяя значения </span></span><code>flex-grow</code> и <code>flex-shrink</code> <span class="tlid-translation translation" lang="ru"><span title="">вы можете указать, как вы хотите, чтобы предметы вели себя когда они сталкиваются с бо'льшим или меньшим пространством вокруг себя.</span></span></p> +<p><span class="tlid-translation translation" lang="ru"><span title="">В Flexbox, в качестве исходного поведения, flex элементы будут сжиматься и распределять пространство между элементами в соответствии с пространством в их контейнере. Изменяя значения </span></span><code>flex-grow</code> и <code>flex-shrink</code> <span class="tlid-translation translation" lang="ru"><span title="">вы можете указать, как вы хотите, чтобы предметы вели себя когда они сталкиваются с большим или меньшим пространством вокруг себя.</span></span></p> <p>В примере ниже каждый flex элемент будет принимать равное количество пространства во flex контейнере используя запись <code>flex: 1</code> как описано в главе <a href="/en-US/docs/Learn/CSS/CSS_layout/Flexbox#Flexible_sizing_of_flex_items">Flexbox: Гибкое изменение размеров flex элементов</a>.</p> @@ -205,11 +205,11 @@ original_slug: Learn/CSS/CSS_layout/Отзывчивый_дизайн <p><span class="tlid-translation translation" lang="ru"><span title="">Вы также можете напрямую использовать изображения разных размеров, обеспечивая разное кадрирование или совершенно другое изображение для разных размеров экрана.</span></span></p> -<p>Вы можете найти подробное <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images">руководство по отзывчивым изображениям в разделе ищучения HTML </a>на MDN.</p> +<p>Вы можете найти подробное <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images">руководство по отзывчивым изображениям в разделе изучения HTML </a>на MDN.</p> <h2 id="Отзывчивая_типография">Отзывчивая типография</h2> -<p>Элементом отзывчивого дизайна, не освещенного ранее в работе, была идея отзывчивой типографии. Главным образом, она описывает изменение размера шрифта в пределах media queries для того, чтобы отображать бо'льшую или меньшую площадь экрана.</p> +<p>Элементом отзывчивого дизайна, не освещенного ранее в работе, была идея отзывчивой типографии. Главным образом, она описывает изменение размера шрифта в пределах media queries для того, чтобы отображать большую или меньшую площадь экрана.</p> <p>В этом примере, мы хотим задать нашему заголовку первого уровня <code>4rem</code>, что значит, что он будет в четыре раза больше нашего базового размера шрифта. Это очень большой заголовок! Мы хотим этот гигантский заголовок только на экранах больших размеров, поэтому мы сначала создаем меньший заголовок, а затем используем media queries чтобы переписать его для больших экранов если мы знаем что у пользователя есть экран размером как минимум <code>1200px</code>.</p> diff --git a/files/ru/learn/css/first_steps/getting_started/index.html b/files/ru/learn/css/first_steps/getting_started/index.html index 6be6e212b6..674d5498d9 100644 --- a/files/ru/learn/css/first_steps/getting_started/index.html +++ b/files/ru/learn/css/first_steps/getting_started/index.html @@ -21,7 +21,7 @@ translation_of: Learn/CSS/First_steps/Getting_started <tbody> <tr> <th scope="row">Необходимые знания:</th> - <td>Базовая компьютерная грамотность, <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">Базовое програмное обеспечение</a>, базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">работа с файлами</a>, и базовые знания HTML (смотрите <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML">Введение в HTML</a>.)</td> + <td>Базовая компьютерная грамотность, <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">Базовое программное обеспечение</a>, базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">работа с файлами</a>, и базовые знания HTML (смотрите <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML">Введение в HTML</a>.)</td> </tr> <tr> <th scope="row">Задача:</th> @@ -131,7 +131,7 @@ translation_of: Learn/CSS/First_steps/Getting_started <li>Элемент <em>три</em></li> </ul></pre> -<p>В Вашем CSS Вы можете выбрать класс <code>special</code> к любому элементу на странице, чтобы он выгядел так же, как и этот элемент списка. Добавьте следующее в ваш файл CSS:</p> +<p>В Вашем CSS Вы можете выбрать класс <code>special</code> к любому элементу на странице, чтобы он выглядел так же, как и этот элемент списка. Добавьте следующее в ваш файл CSS:</p> <pre class="brush: css">.special { color: orange; diff --git a/files/ru/learn/css/first_steps/how_css_is_structured/index.html b/files/ru/learn/css/first_steps/how_css_is_structured/index.html index 62bbb0b148..3f6c18c125 100644 --- a/files/ru/learn/css/first_steps/how_css_is_structured/index.html +++ b/files/ru/learn/css/first_steps/how_css_is_structured/index.html @@ -27,7 +27,7 @@ original_slug: Learn/CSS/First_steps/Как_структурирован_CSS <tbody> <tr> <th scope="row">Необходимые знания:</th> - <td>Базовая компьютерная грамотность, <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">Базовое програмное обеспечение</a>, базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">работа с файлами</a>, и базовые знания HTML (статья <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML">Введение в HTML</a>), и знание о том <a href="https://developer.mozilla.org/ru/docs/Learn/CSS/First_steps/How_CSS_works">Как работает CSS</a></td> + <td>Базовая компьютерная грамотность, <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">Базовое программное обеспечение</a>, базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">работа с файлами</a>, и базовые знания HTML (статья <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML">Введение в HTML</a>), и знание о том <a href="https://developer.mozilla.org/ru/docs/Learn/CSS/First_steps/How_CSS_works">Как работает CSS</a></td> </tr> <tr> <th scope="row">Задача:</th> @@ -207,7 +207,7 @@ p { <pre class="brush: html notranslate"><p class="special">Какого же я цвета?</p></pre> -<p>В языке CSS есть правила, которые определяют, какое правило "выиграет" в случае подобного столкновения — они называются <strong>каскадами</strong>, или <strong>спецификациями</strong>. В примере ниже мы задали два правила для селектора <code>p</code>, но в итоге текст будет синим: объвление, делающее надпись синей, появилось позже того, которое делает её красной. Это каскад в действии.</p> +<p>В языке CSS есть правила, которые определяют, какое правило "выиграет" в случае подобного столкновения — они называются <strong>каскадами</strong>, или <strong>спецификациями</strong>. В примере ниже мы задали два правила для селектора <code>p</code>, но в итоге текст будет синим: объявление, делающее надпись синей, появилось позже того, которое делает её красной. Это каскад в действии.</p> <pre class="brush: css notranslate">p { color: red; @@ -346,7 +346,7 @@ p { <h2 id="Стенография">Стенография</h2> -<p>Некоторые свойства вроде {{cssxref("font")}}, {{cssxref("background")}}, {{cssxref("padding")}}, {{cssxref("border")}} и {{cssxref("margin")}} называются <em>стенографическими свойствами</em>, — они позволяют установать несколько значений свойств в одной строке, ускоряя запись и делая её аккуратной.</p> +<p>Некоторые свойства вроде {{cssxref("font")}}, {{cssxref("background")}}, {{cssxref("padding")}}, {{cssxref("border")}} и {{cssxref("margin")}} называются <em>стенографическими свойствами</em>, — они позволяют установить несколько значений свойств в одной строке, ускоряя запись и делая её аккуратной.</p> <p>К примеру, это строка (комментарий не в счёт):</p> @@ -386,7 +386,7 @@ background-scroll: fixed;</pre> <p>Мы не будем проходить это сейчас — вы можете найти эти и многие другие стенографии в <a href="/ru/docs/Web/CSS/Reference">Руководстве по CSS</a>.</p> -<p><strong>Добавьте вышеупоминутые объвления в ваш код. Попробуйте изменить значения и посмотреть на результат.</strong></p> +<p><strong>Добавьте вышеупомянутые объявления в ваш код. Попробуйте изменить значения и посмотреть на результат.</strong></p> <div class="blockIndicator warning"> <p><strong>Осторожно</strong>: Стенографии позволяют пропускать некоторые величины, и это может отразиться на результате недолжным образом.</p> diff --git a/files/ru/learn/css/first_steps/how_css_works/index.html b/files/ru/learn/css/first_steps/how_css_works/index.html index a0ff236f45..ff9721cbcf 100644 --- a/files/ru/learn/css/first_steps/how_css_works/index.html +++ b/files/ru/learn/css/first_steps/how_css_works/index.html @@ -139,7 +139,7 @@ translation_of: Learn/CSS/First_steps/How_CSS_works <p>Такое поведение можно использовать, например, при добавлении новых функций CSS в качестве дополнения, причём Вы будете уверены, что ничего не сломается, если браузер не распознает элемент. Вы можете использовать два правила с одинаковыми уровнями спецификации: одно — в качестве альтернативы для случая, если браузер не поддерживает нововведение.</p> -<p>Это хорошо применяется, если Вы хотиете использовать величину, не использующуюся везде в документе. К примеру, некоторые старые браузеры не поддерживают <code>calc()</code> как значение. Я добавлю резерв — знаение в px, затем задам ширину с помощью функции <code>calc()</code>, равной <code>100% - 50px</code>. Старые браузеры используют пиксельное значение, потому что не распознают <code>calc()</code>. Новые браузеры используют <code>calc()</code> так как эта строка появляется позже в каскаде.</p> +<p>Это хорошо применяется, если Вы хотите использовать величину, не использующуюся везде в документе. К примеру, некоторые старые браузеры не поддерживают <code>calc()</code> как значение. Я добавлю резерв — значение в px, затем задам ширину с помощью функции <code>calc()</code>, равной <code>100% - 50px</code>. Старые браузеры используют пиксельное значение, потому что не распознают <code>calc()</code>. Новые браузеры используют <code>calc()</code> так как эта строка появляется позже в каскаде.</p> <pre class="brush: css notranslate">.box { width: 500px; diff --git a/files/ru/learn/css/first_steps/using_your_new_knowledge/index.html b/files/ru/learn/css/first_steps/using_your_new_knowledge/index.html index 015846a9ff..977b1ddd39 100644 --- a/files/ru/learn/css/first_steps/using_your_new_knowledge/index.html +++ b/files/ru/learn/css/first_steps/using_your_new_knowledge/index.html @@ -99,6 +99,6 @@ translation_of: Learn/CSS/First_steps/Using_your_new_knowledge <ol> <li><a href="/en-US/docs/Learn/CSS/First_steps/What_is_CSS">Что такое CSS?</a></li> <li><a href="/en-US/docs/Learn/CSS/First_steps/Getting_started">Начало работы с CSS</a></li> - <li><a href="/en-US/docs/Learn/CSS/First_steps/How_CSS_works">Как струтурирован CSS</a></li> + <li><a href="/en-US/docs/Learn/CSS/First_steps/How_CSS_works">Как структурирован CSS</a></li> <li><a href="https://developer.mozilla.org/ru/docs/Learn/CSS/First_steps/How_CSS_works">Как работает CSS</a></li> </ol> diff --git a/files/ru/learn/css/first_steps/what_is_css/index.html b/files/ru/learn/css/first_steps/what_is_css/index.html index 6ece8cf585..9a0e8a65d6 100644 --- a/files/ru/learn/css/first_steps/what_is_css/index.html +++ b/files/ru/learn/css/first_steps/what_is_css/index.html @@ -23,7 +23,7 @@ original_slug: Learn/CSS/First_steps/Что_такое_CSS <tbody> <tr> <th scope="row">Требуемые знания:</th> - <td>Базовые компьютерные знания, <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">установка базового програмного обеспечения</a>, базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">работа с файлами</a> и базовые знания HTML (<a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML">Введение в HTML</a>).</td> + <td>Базовые компьютерные знания, <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">установка базового программного обеспечения</a>, базовые знания <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">работа с файлами</a> и базовые знания HTML (<a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML">Введение в HTML</a>).</td> </tr> <tr> <th scope="row">Задача:</th> @@ -85,7 +85,7 @@ p { <p>Вы обнаружите, что Вы быстро изучаете некоторые значения, тогда как другие Вам нужно искать. Страницы отдельных свойств в MDN дают Вам быстрый способ поиска свойств и их значений, когда Вы забыли или хотите узнать, что ещё Вы можете использовать в качестве значения.</p> <div class="blockIndicator note"> -<p><strong>Примечание</strong>: Вы можете найти ссылки на все страницы свойств CSS (вместе с другими функциями CSS), перечисленные в MDN <a href="/en-US/docs/Web/CSS/Reference">Руководстве по CSS</a>. Кроме того, Вы должны привыкнуть к поиску "MDN <em>css-feature-name</em>" в Вашем бразере, когда Вам нужно узнать больше информации о функции CSS. Например, попробуйте поискать «mdn color» и «mdn font-size»!</p> +<p><strong>Примечание</strong>: Вы можете найти ссылки на все страницы свойств CSS (вместе с другими функциями CSS), перечисленные в MDN <a href="/en-US/docs/Web/CSS/Reference">Руководстве по CSS</a>. Кроме того, Вы должны привыкнуть к поиску "MDN <em>css-feature-name</em>" в Вашем браузере, когда Вам нужно узнать больше информации о функции CSS. Например, попробуйте поискать «mdn color» и «mdn font-size»!</p> </div> <h2 id="CSS-модули">CSS-модули</h2> diff --git a/files/ru/learn/css/howto/css_faq/index.html b/files/ru/learn/css/howto/css_faq/index.html index 59f971e488..c4ab7459a5 100644 --- a/files/ru/learn/css/howto/css_faq/index.html +++ b/files/ru/learn/css/howto/css_faq/index.html @@ -6,12 +6,12 @@ original_slug: Web/CSS/Common_CSS_Questions --- <h2 id="Why_doesn't_my_CSS_which_is_valid_render_correctly">Why doesn't my CSS, which is valid, render correctly?</h2> -<p>Браузер использует декларацию <code>DOCTYPE</code> чтобы выбрать, как именно отображать документ - в форме, более совместимой с современными стандартами или в форме, которую будут поддерживать старые браузеры. Правильное использование декларациии <code>DOCTYPE</code> в начале вашего HTML кода повлияет на совместимость с современными стандартами веб браузеров.</p> +<p>Браузер использует декларацию <code>DOCTYPE</code> чтобы выбрать, как именно отображать документ - в форме, более совместимой с современными стандартами или в форме, которую будут поддерживать старые браузеры. Правильное использование декларации <code>DOCTYPE</code> в начале вашего HTML кода повлияет на совместимость с современными стандартами веб браузеров.</p> <p>У современных браузеров есть два режима отображения веб-страниц:</p> <ul> - <li><em>Индивидуальный</em>: его также называют backwards-compatibility mode, даёт возможность устаревшим страницам отображаться так, как планировал автор, следуя уже не стандартным правилам отображения, которые использовались ещё старыми браузерами. Документы с неполной, некорректной или отстутвующей <code>DOCTYPE</code> декларацией или с тем видом <code>DOCTYPE</code>, который использовался до 2001 года, будет отображён в индивидуальном режиме.</li> + <li><em>Индивидуальный</em>: его также называют backwards-compatibility mode, даёт возможность устаревшим страницам отображаться так, как планировал автор, следуя уже не стандартным правилам отображения, которые использовались ещё старыми браузерами. Документы с неполной, некорректной или отсутствующий <code>DOCTYPE</code> декларацией или с тем видом <code>DOCTYPE</code>, который использовался до 2001 года, будет отображён в индивидуальном режиме.</li> <li><em>Стандартный</em>: в этом режиме браузер старается строго следовать стандартам W3C. Ожидается, что современные HTML страницы разработаны для браузеров, следуемых стандартам, и в результате, страницы с современным <code>DOCTYPE</code> отображаются уже в стандартом режиме.</li> </ul> diff --git a/files/ru/learn/css/index.html b/files/ru/learn/css/index.html index 1e4d325d61..c312325c9d 100644 --- a/files/ru/learn/css/index.html +++ b/files/ru/learn/css/index.html @@ -42,11 +42,11 @@ translation_of: Learn/CSS <dt><a href="/ru/docs/Learn/CSS/Styling_text">Дизайн текста</a></dt> <dd>Здесь мы рассмотрим основы стилизации текста, в том числе изменение шрифта, жирности, курсивного написания, межстрочного и межбуквенного интервалов, теней и других особенностей текста. Завершается модуль демонстрацией применения пользовательских шрифтов на вашей странице, оформлением списков и ссылок.</dd> <dt><a href="/ru/docs/Learn/CSS/Styling_boxes">Стилизация блоков</a></dt> - <dd>Далее мы рассмотрим дизайн блоков, один из основных шагов к разметке веб-страницы. В этом модуле мы кратко рассмотрим работу с блочными элементами, а затем ознакомимся с приемами управления блоками, установив такие свойства, как поля, оступы и границы, настроим фоновые цвет и изображение, а также рассмотрим более сложные функции, такие как тени и фильтры.</dd> + <dd>Далее мы рассмотрим дизайн блоков, один из основных шагов к разметке веб-страницы. В этом модуле мы кратко рассмотрим работу с блочными элементами, а затем ознакомимся с приемами управления блоками, установив такие свойства, как поля, отступы и границы, настроим фоновые цвет и изображение, а также рассмотрим более сложные функции, такие как тени и фильтры.</dd> <dt><a href="/ru/docs/Learn/CSS/CSS_layout">Размещение элементов с помощью CSS</a></dt> - <dd>К текущему моменту мы познакомились с основами CSS. Мы знаем, как оформлять текст, как оформлять и изменять блоки, в которых находится ваш контент. Пришло время узнать, как разместить ваши блоки в нужных местах в зависимости от области просмотра и тому подобного. Мы уже знаем достаточно, чтобы погрузиться в изучение разметки с помощью CSS, в то, как изменять отображение в зависимости от особенностей экрана, как иcпользовать современные методы разметки, такие как Flexbox и CSS grid, и некоторые традиционные методы разметки, которые все ещё применяются.</dd> + <dd>К текущему моменту мы познакомились с основами CSS. Мы знаем, как оформлять текст, как оформлять и изменять блоки, в которых находится ваш контент. Пришло время узнать, как разместить ваши блоки в нужных местах в зависимости от области просмотра и тому подобного. Мы уже знаем достаточно, чтобы погрузиться в изучение разметки с помощью CSS, в то, как изменять отображение в зависимости от особенностей экрана, как использовать современные методы разметки, такие как Flexbox и CSS grid, и некоторые традиционные методы разметки, которые все ещё применяются.</dd> <dt>Адаптивный дизайн (TBD)</dt> - <dd><span id="result_box" lang="ru"><span>В настоящее время существоет множество устройств, способных осуществлять просмотр веб-страниц, адаптивный веб-дизайн (RWD - Responsive Web Design) стал основным навыком веб-разработки.</span> <span>В этом модуле рассказывается об основных принципах и инструментах RWD, объясняется, как применять различные CSS к документу в зависимости от таких функций устройства, как ширина экрана, ориентация и разрешение, а также изучить имеющиеся возможности отображения различных видео и изображений в зависимости от характеристик используемого пользователем устройства.</span></span></dd> + <dd><span id="result_box" lang="ru"><span>В настоящее время существует множество устройств, способных осуществлять просмотр веб-страниц, адаптивный веб-дизайн (RWD - Responsive Web Design) стал основным навыком веб-разработки.</span> <span>В этом модуле рассказывается об основных принципах и инструментах RWD, объясняется, как применять различные CSS к документу в зависимости от таких функций устройства, как ширина экрана, ориентация и разрешение, а также изучить имеющиеся возможности отображения различных видео и изображений в зависимости от характеристик используемого пользователем устройства.</span></span></dd> </dl> <h2 id="Решаем_часто_встречающиеся_проблемы_в_CSS">Решаем часто встречающиеся проблемы в CSS</h2> diff --git a/files/ru/learn/css/styling_text/index.html b/files/ru/learn/css/styling_text/index.html index 8a696e55df..54a8cc02fe 100644 --- a/files/ru/learn/css/styling_text/index.html +++ b/files/ru/learn/css/styling_text/index.html @@ -39,7 +39,7 @@ translation_of: Learn/CSS/Styling_text <p>Данный модуль состоит из следующих далее статей, которые дадут вам всё необходимое для оформления текстового HTML-контента.</p> <dl> - <dt><a href="/en-US/docs/Learn/CSS/Styling_text/Fundamentals">Основы стилизирования текcта и шрифта</a></dt> + <dt><a href="/en-US/docs/Learn/CSS/Styling_text/Fundamentals">Основы стилизирования текста и шрифта</a></dt> <dd>В этой статье мы детально изучим стилизирование текста и шрифта, включая параметры weight, family, style, font shorthand, text alignment и прочие эффекты, а так же line и letter spacing.</dd> <dt><a href="/en-US/docs/Learn/CSS/Styling_text/Styling_lists">Стилизирование списков</a></dt> <dd>Списки, по большей части, ведут себе так же, как и любой другой текст, но они имеют некоторые особые CSS свойства о которых нужно знать, и<br> diff --git a/files/ru/learn/css/styling_text/styling_links/index.html b/files/ru/learn/css/styling_text/styling_links/index.html index 29ecf37729..861d27909c 100644 --- a/files/ru/learn/css/styling_text/styling_links/index.html +++ b/files/ru/learn/css/styling_text/styling_links/index.html @@ -7,7 +7,7 @@ translation_of: Learn/CSS/Styling_text/Styling_links <div>{{PreviousMenuNext("Learn/CSS/Styling_text/Styling_lists", "Learn/CSS/Styling_text/Web_fonts", "Learn/CSS/Styling_text")}}</div> -<p class="summary">При стилизации ссылок, важно понимать как использовать псевдо-классы, чтобы стилизировать состояния ссылок эфективно, и как стилизировать ссылки для использования в общих разнообразных функциях интерфейса: таких как например навигационное меню и вкладки. Мы расмотрим все эти темы в этой статье.</p> +<p class="summary">При стилизации ссылок, важно понимать как использовать псевдо-классы, чтобы стилизировать состояния ссылок эффективно, и как стилизировать ссылки для использования в общих разнообразных функциях интерфейса: таких как например навигационное меню и вкладки. Мы рассмотрим все эти темы в этой статье.</p> <table class="learn-box standard-table"> <tbody> @@ -182,7 +182,7 @@ Firefox</a>, <a href="https://www.google.com/chrome/index.html">Goog <li>Наконец, <code>a:active</code> используется чтобы дать ссылкам инвертированную цветовую схему в то время когда они активированы, чтобы было ясно что происходит что то важное!</li> </ul> -<h3 id="Активное_изучение_Стилизуйте_ссылки_самостояельно">Активное изучение: Стилизуйте ссылки самостояельно</h3> +<h3 id="Активное_изучение_Стилизуйте_ссылки_самостоятельно">Активное изучение: Стилизуйте ссылки самостоятельно</h3> <p>В этой секции активного изучения, мы бы хотели, чтобы взяли наш набор пустых правил и добавили ваши собственные объявления так чтобы ссылки выглядели действительно круто. Используйте свое воображение, не сковывайтесь. Мы уверены, что вы можете придумать что-то более крутое и все еще так же функциональное, как и наш пример выше.</p> @@ -328,10 +328,10 @@ a[href*="http"] { <p>И последнее слово — как мы выбрали только внешние ссылки? Ну, если вы пишете свои <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">HTML ссылки</a> правильно, то вы должны были использовать только абсолютные URL для внешних ссылок — гораздо эффективнее использовать относительные ссылки для связи с другими частями вашего сайта. Текст "http" таким образом должен появляться только во внешних ссылках и можем выбрать его при помощи <a href="/en-US/Learn/CSS/Introduction_to_CSS/Selectors#Attribute_selectors">селектора атрибутов</a>: <code>a[href*="http"]</code> выбирает элементы {{htmlelement("a")}}, но только если они имеют атрибут {{htmlattrxref("href","a")}} со значением содержащим "http" где-то внутри него.</p> -<p>Ну вот и все — попробуте посетить секцию активного изучения выше и испытайте этот новый метод!</p> +<p>Ну вот и все — попробуйте посетить секцию активного изучения выше и испытайте этот новый метод!</p> <div class="note"> -<p><strong>Обратите вниманиеe</strong>: Не переживайте если вы еще не знакомы с <a href="/en-US/docs/Learn/CSS/Styling_boxes">фоном </a>и <a href="/en-US/docs/Web/Apps/Progressive/Responsive/responsive_design_building_blocks">адаптивным (отзывчивым) веб-дизайном</a>; это объяснено в других местах</p> +<p><strong>Обратите внимание</strong>: Не переживайте если вы еще не знакомы с <a href="/en-US/docs/Learn/CSS/Styling_boxes">фоном </a>и <a href="/en-US/docs/Web/Apps/Progressive/Responsive/responsive_design_building_blocks">адаптивным (отзывчивым) веб-дизайном</a>; это объяснено в других местах</p> </div> <h2 id="Стилизация_ссылок_в_виде_кнопок">Стилизация ссылок в виде кнопок</h2> @@ -404,7 +404,7 @@ a:active { <li>как в предыдущем примере, мы начинаем отключать настройки по умолчанию для {{cssxref("text-decoration")}} и {{cssxref("outline")}} — мы не хотим, чтоб они портили нам вид.</li> <li>Далее мы устанавливаем {{cssxref("display")}} на <code>inline-block</code> — элементы {{htmlelement("a")}} являются строчными по умолчанию и, поскольку мы не хотим чтобы они вываливались на свои собственные строки как если бы это получалось со значением <code>block</code>, мы хотим иметь возможность менять их размер. <code>inline-block</code> позволяет нам делать это.</li> <li>Теперь только изменение размера! Мы хотим заполнить всю ширину элемента {{htmlelement("ul")}}, оставить немного margin между каждой кнопкой (не без зазора с правого края) и мы имеем 5 кнопок, которые надо разместить и которые должны иметь одинаковый размер. Для того чтобы это сделать мы задаем {{cssxref("width")}} на 19.5%, а {{cssxref("margin-right")}} на 0.625%. Вы заметите что вся эта эта ширина составляет 100.625%, что может сделать так что последняя кнопка перекроет <code><ul></code> и выпадет вниз на следующую строку. <span class="tlid-translation translation" lang="ru"><span title="">Тем не менее, мы возвращаемся к 100%, используя следующее правило</span></span>, которое выбирает только последний <code><a></code> в списке и удаляет его margin. Сделано!</li> - <li>Последние три объявления довольно просты и в основном просто для косметических целей. Мы центрируем текст внутри каждой ссылки, задаем {{cssxref("line-height")}} на 3 чтобы кнопки имели некую высоту (что также имеет приемущество в центрировании текста по вертикали) и задаем для текста черный цвет.</li> + <li>Последние три объявления довольно просты и в основном просто для косметических целей. Мы центрируем текст внутри каждой ссылки, задаем {{cssxref("line-height")}} на 3 чтобы кнопки имели некую высоту (что также имеет преимущество в центрировании текста по вертикали) и задаем для текста черный цвет.</li> </ul> </li> </ul> diff --git a/files/ru/learn/css/styling_text/styling_lists/index.html b/files/ru/learn/css/styling_text/styling_lists/index.html index dfd19f97e8..c4f25e9a04 100644 --- a/files/ru/learn/css/styling_text/styling_lists/index.html +++ b/files/ru/learn/css/styling_text/styling_lists/index.html @@ -8,7 +8,7 @@ original_slug: Learn/CSS/Styling_text/Стилизация_списков <div>{{PreviousMenuNext("Learn/CSS/Styling_text/Fundamentals", "Learn/CSS/Styling_text/Styling_links", "Learn/CSS/Styling_text")}}</div> -<p class="summary"><a href="/en-US/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals#Lists">Списки</a>, по-большому счету, ведут себя также как любой другой текст, но существуют некоторые специфичные натройки CSS, о которых вы должны знать. В этой статье они все описываются.</p> +<p class="summary"><a href="/en-US/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals#Lists">Списки</a>, по-большому счету, ведут себя также как любой другой текст, но существуют некоторые специфичные настройки CSS, о которых вы должны знать. В этой статье они все описываются.</p> <table class="learn-box standard-table"> <tbody> diff --git a/files/ru/learn/css/styling_text/typesetting_a_homepage/index.html b/files/ru/learn/css/styling_text/typesetting_a_homepage/index.html index fd8fa8eb06..470566580f 100644 --- a/files/ru/learn/css/styling_text/typesetting_a_homepage/index.html +++ b/files/ru/learn/css/styling_text/typesetting_a_homepage/index.html @@ -54,7 +54,7 @@ original_slug: Learn/CSS/Styling_text/Задание:_Стилизировани <ul> <li>Дайте всей странице <code>font-size</code> <code>10px</code>.</li> - <li>Дайте вашему заголовку и другим типам элементов подходящие размеры шрифта задаваемые используя соответсвующие относительные единицы.</li> + <li>Дайте вашему заголовку и другим типам элементов подходящие размеры шрифта задаваемые используя соответствующие относительные единицы.</li> <li>Дайте основному тексту подходящую <code>line-height</code>.</li> <li>Отцентрируйте ваш заголовок верхнего уровня на странице.</li> <li>Дайте вашим заголовкам немного <code>letter-spacing</code> чтобы они не были слишком сжатыми, позвольте буквам немного дышать.</li> diff --git a/files/ru/learn/forms/basic_native_form_controls/index.html b/files/ru/learn/forms/basic_native_form_controls/index.html index f6465a6aa0..1b9ae6b9d7 100644 --- a/files/ru/learn/forms/basic_native_form_controls/index.html +++ b/files/ru/learn/forms/basic_native_form_controls/index.html @@ -23,7 +23,7 @@ original_slug: Learn/HTML/Forms/Стандартные_виджеты_форм </tbody> </table> -<p>Сейчас мы сосредоточимся на виджетах форм, встроенных в браузеры, но поскольку формы HTML остаюстся несколько ограниченными и особенности их реализации различаются для разных браузеров, веб-разработчики иногда создают собственные виджеты форм - прочтите статью <a href="https://developer.mozilla.org/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets" title="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets">Как создать собственную форму</a> позже в данном модуле для более подробного изучения.</p> +<p>Сейчас мы сосредоточимся на виджетах форм, встроенных в браузеры, но поскольку формы HTML остаются несколько ограниченными и особенности их реализации различаются для разных браузеров, веб-разработчики иногда создают собственные виджеты форм - прочтите статью <a href="https://developer.mozilla.org/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets" title="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets">Как создать собственную форму</a> позже в данном модуле для более подробного изучения.</p> <div class="note"> <p><strong>Note</strong>: Большая часть признаков обсуждаемых в этой статье имеют широкую поддержку в браузерах; мы отметим исключения из этого правила. Если вы хотите больше точных сведений, вам следует обратиться к <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element#Forms">HTML forms element reference, </a>и в частости к нашей обширной ссылке <a href="/en-US/docs/Web/HTML/Element/input"><input> types.</a></p> @@ -72,7 +72,7 @@ original_slug: Learn/HTML/Forms/Стандартные_виджеты_форм <h2 id="Поля_ввода_текста">Поля ввода текста</h2> -<p>Текстовые поля {{htmlelement("input")}} являются самыми базовыми виджетами форм. Эти поля наиболее удобны для пользовательского ввода различной информации. Однако, некоторые текстовые поля отличаются от данного и используются для специфических нужд. Мы уже видели нескольк простых примеров.</p> +<p>Текстовые поля {{htmlelement("input")}} являются самыми базовыми виджетами форм. Эти поля наиболее удобны для пользовательского ввода различной информации. Однако, некоторые текстовые поля отличаются от данного и используются для специфических нужд. Мы уже видели несколько простых примеров.</p> <div class="note"> <p><strong>Note</strong>: HTML form text fields are simple plain text input controls. This means that you cannot use them to perform <a href="/en-US/docs/Rich-Text_Editing_in_Mozilla" title="/en-US/docs/Rich-Text_Editing_in_Mozilla">rich editing</a> (bold, italic, etc.). All rich text editors you'll encounter out there are custom widgets created with HTML, CSS, and JavaScript.</p> @@ -111,7 +111,7 @@ original_slug: Learn/HTML/Forms/Стандартные_виджеты_форм <h4 id="E-mail_address_field">E-mail address field</h4> -<p>Этот тип поля устонавливается со значеним <code>email</code> для атрибута {{htmlattrxref("type","input")}}:</p> +<p>Этот тип поля устанавливается со значением <code>email</code> для атрибута {{htmlattrxref("type","input")}}:</p> <pre class="brush: html notranslate"><input type="email" id="email" name="email" multiple></pre> diff --git a/files/ru/learn/forms/form_validation/index.html b/files/ru/learn/forms/form_validation/index.html index 4aec16d46d..c1a70b2d23 100644 --- a/files/ru/learn/forms/form_validation/index.html +++ b/files/ru/learn/forms/form_validation/index.html @@ -177,7 +177,7 @@ input:valid { <p>Регулярные выражения довольно сложны, и мы не будем подробно разбирать их в этой статье. Ниже приведены некоторые примеры, чтобы вы представляли себе, как они работают:</p> <ul> - <li><code>a</code> — соответствует одному символу <code>a</code> (не <code>b</code>, не <code>aa</code>, итд.)</li> + <li><code>a</code> — соответствует одному символу <code>a</code> (не <code>b</code>, не <code>aa</code>, и т.д..)</li> <li><code>abc</code> — соответствует <code>a</code>, далее <code>b</code>, далее <code>c</code>.</li> <li><code>a*</code> — соответствует символу <code>a</code>, 0 или более раз (<code>+</code> соответствует символу один или несколько раз).</li> <li><code>[^a]</code> — соответствует одному символу, <strong>не </strong>a.</li> @@ -508,7 +508,7 @@ email.addEventListener("input", function (event) { </tr> <tr> <td><code>validity.valid</code></td> - <td>Возвращае <code>true</code> если значение элемента не имеет проблем с валидностью; в противном случае <code>false</code>.<br> + <td>Возвращает <code>true</code> если значение элемента не имеет проблем с валидностью; в противном случае <code>false</code>.<br> <br> Если возвращает <code>true</code>, элемент будет соответствовать CSS псевдоклассу {{cssxref(":valid")}} ; CSS псевдоклассу {{cssxref(":invalid")}} в противном случае.</td> </tr> @@ -548,7 +548,7 @@ email.addEventListener("input", function (event) { </tbody> </table> -<p>Для устаревших браузеров можно использовать полифилл как <a href="https://hyperform.js.org/" rel="external">Hyperform </a> чтобы компенсировать отсутствие поддержки API ограничений валидности. Поскольку вы уже используете JavaScript, использование полифилла не является дополнительным бременем для вашего веб-сайта или дизайна или реализации веб-приложения.</p> +<p>Для устаревших браузеров можно использовать полифил как <a href="https://hyperform.js.org/" rel="external">Hyperform </a> чтобы компенсировать отсутствие поддержки API ограничений валидности. Поскольку вы уже используете JavaScript, использование полифила не является дополнительным бременем для вашего веб-сайта или дизайна или реализации веб-приложения.</p> <h4 id="Пример_использования_API_проверки_ограничений">Пример использования API проверки ограничений</h4> diff --git a/files/ru/learn/forms/how_to_build_custom_form_controls/index.html b/files/ru/learn/forms/how_to_build_custom_form_controls/index.html index 344868775b..3cb9494d66 100644 --- a/files/ru/learn/forms/how_to_build_custom_form_controls/index.html +++ b/files/ru/learn/forms/how_to_build_custom_form_controls/index.html @@ -23,7 +23,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets <h2 id="Дизайн_структура_и_семантика">Дизайн, структура и семантика</h2> -<p>В начале создания пользовательского виджета необходимо обрисовать что именно вы хотите. Это сэкономит драгоценное время. Особенно важно четко определить все состояния вашего виджета. Чтобы это сделать, лучше начать с существущего виджета, состояния и реакции которго хорошо известны, так что вы сможете просто подражать им насколько это возможно.</p> +<p>В начале создания пользовательского виджета необходимо обрисовать что именно вы хотите. Это сэкономит драгоценное время. Особенно важно четко определить все состояния вашего виджета. Чтобы это сделать, лучше начать с существующего виджета, состояния и реакции которого хорошо известны, так что вы сможете просто подражать им насколько это возможно.</p> <p>В нашем примере мы будем переделывать элемент {{HTMLElement("select")}}. Вот такой результат мы хотим достичь:</p> @@ -43,7 +43,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets </ul> <div class="note"> - <p><strong>Замечание:</strong> Перемещение фокуса по странице обычно осуществялется клавишей "tab", но не везде. Например в Safari циклический переход между ссылками на странице осуществляется по усмолчанию <a href="http://www.456bereastreet.com/archive/200906/enabling_keyboard_navigation_in_mac_os_x_web_browsers/">комбинацией Option+Tab</a>.</p> + <p><strong>Замечание:</strong> Перемещение фокуса по странице обычно осуществляется клавишей "tab", но не везде. Например в Safari циклический переход между ссылками на странице осуществляется по умолчанию <a href="http://www.456bereastreet.com/archive/200906/enabling_keyboard_navigation_in_mac_os_x_web_browsers/">комбинацией Option+Tab</a>.</p> </div> </dd> <dt>Виджет в активном состоянии когда:</dt> @@ -51,7 +51,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets <ul> <li>пользователь кликает на него</li> <li>пользователь нажимает клавишу Tab, и он получает фокус</li> - <li>виджет был в развернутом состоянии и позователь кликает на виджет.</li> + <li>виджет был в развернутом состоянии и пользователь кликает на виджет.</li> </ul> </dd> <dt>Виджет в развернутом состоянии:</dt> @@ -81,9 +81,9 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets <li>когда курсор мыши находится над вариантом, он подсвечен и ранее подсвеченный вариант возвращается в его обычное состояние</li> </ul> -<p>Для нашего примера остановимся на этом; но, если вы внимательный читатель, вы заметите, что некоторые реакции отсутствуют. Например, как вы думаете, что произойдет если пользователь нажмет клавишу "tab" когда виджет в развернутом состоянии? Ответом будет... ничего. OK, правильная реакция кажется очевидной, но поскольку она не определена в наших спецификациях, то очень легко пропустить реализацию этой реакции. Это особенно верно для командной работы, когда те, кто опеределяет какими должны быть реакции виджета сами не реализуют их.</p> +<p>Для нашего примера остановимся на этом; но, если вы внимательный читатель, вы заметите, что некоторые реакции отсутствуют. Например, как вы думаете, что произойдет если пользователь нажмет клавишу "tab" когда виджет в развернутом состоянии? Ответом будет... ничего. OK, правильная реакция кажется очевидной, но поскольку она не определена в наших спецификациях, то очень легко пропустить реализацию этой реакции. Это особенно верно для командной работы, когда те, кто определяет какими должны быть реакции виджета сами не реализуют их.</p> -<p>Другой забавный пример: что произойдет, если пользователь нажмет клавишу вверх или вниз когда виджет находитися в развернутом состоянии? Это немного сложнее. Если вы предположите, что активное и развернутое состояние полностью различны, то ответом снова будет "ничего не произойдет" , потому что мы не определили никаких взаимодействий с клавиатурой в открытом состоянии. С другой стороны, если вы предположите, что активное и развернутое состояние немного похожи, значение может изменится, но выбранный вариант точно не будет соответственно подсвечен, опять же потому, что мы не определили никаких действий с клавиатуры над вариантами когда виджет находится в развернутом состоянии (мы определили только то, что произойдет, когда виджет развернется, но ничего более).</p> +<p>Другой забавный пример: что произойдет, если пользователь нажмет клавишу вверх или вниз когда виджет находится в развернутом состоянии? Это немного сложнее. Если вы предположите, что активное и развернутое состояние полностью различны, то ответом снова будет "ничего не произойдет" , потому что мы не определили никаких взаимодействий с клавиатурой в открытом состоянии. С другой стороны, если вы предположите, что активное и развернутое состояние немного похожи, значение может изменится, но выбранный вариант точно не будет соответственно подсвечен, опять же потому, что мы не определили никаких действий с клавиатуры над вариантами когда виджет находится в развернутом состоянии (мы определили только то, что произойдет, когда виджет развернется, но ничего более).</p> <p>В нашем примере пропущенные спецификации очевидны, так что мы с ними справимся, но это может стать реальной проблемой для новых экзотических виджетов, когда никто не имеет ни малейшего представления о том как они должны реагировать. Всегда лучше потратить время на этом этапе дизайна, потому что если вы плохо определите, или забудете определить реакцию виджета, то будет очень сложно изменять ее, когда пользователи уже привыкнут. Если у вас есть сомнения - спросите мнения у окружающих, и, если позволяет бюджет, не стесняйтесь <a href="https://ru.wikipedia.org/wiki/%D0%AE%D0%B7%D0%B0%D0%B1%D0%B8%D0%BB%D0%B8%D1%82%D0%B8-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5">выполнять пользовательские тесты</a>. Этот процесс называется UX Design (<a href="https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC">Дизайн взаимодействия с пользователем</a>). Если вы хотите узнать больше об этой теме, вам следует посетить следующие полезные ресурсы:</p> @@ -102,7 +102,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets <p>Теперь, когда основной функционал виджета определен, пора начать создание виджета. Первым делом определим его HTML структуру и придадим основную семантику. Вот все что нам нужно чтобы переделать элемент {{HTMLElement("select")}}:</p> <pre class="brush: html"><!-- Это основной контейнер для нашего виджета. - Аттрибут tabindex позволяет пользователю переместить фокус на виджет. + Атрибут tabindex позволяет пользователю переместить фокус на виджет. Позже мы увидим, что лучше его установить через JavaScript. --> <div class="select" tabindex="0"> @@ -123,7 +123,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets </div></pre> -<p>Обратите внимание на использование имен классов: они описывают каждый соответствующий элемет независимо от фактически используемых базовых элементов HTML. Важно быть уверенными что нам не придется жестко привязывать наши CSS и JavaScript к HTML структуре,тогда мы сможем позже вносить изменения не нарушая код виджета. Например, если вы захотите создать эквивалент элемента {{HTMLElement("optgroup")}}.</p> +<p>Обратите внимание на использование имен классов: они описывают каждый соответствующий элемент независимо от фактически используемых базовых элементов HTML. Важно быть уверенными что нам не придется жестко привязывать наши CSS и JavaScript к HTML структуре,тогда мы сможем позже вносить изменения не нарушая код виджета. Например, если вы захотите создать эквивалент элемента {{HTMLElement("optgroup")}}.</p> <h3 id="Создание_внешнего_вида_с_помощью_CSS">Создание внешнего вида с помощью CSS</h3> @@ -176,7 +176,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets <h4 id="Украшательства">Украшательства</h4> -<p>Теперь, когда основная функциональность на месте, можем начинать развлекаться. То, что мы сделаем дальше, является всего лишь примером того, что возможно, и будет соответствовать скриншоту в начале этой статьи. Но вы можете свободно эксперементировать и посмотреть на что вы способны.</p> +<p>Теперь, когда основная функциональность на месте, можем начинать развлекаться. То, что мы сделаем дальше, является всего лишь примером того, что возможно, и будет соответствовать скриншоту в начале этой статьи. Но вы можете свободно экспериментировать и посмотреть на что вы способны.</p> <pre class="brush: css">.select { /* Все размеры будут выражены в em по соображениям удобства @@ -278,7 +278,7 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets background: #f0f0f0; }</pre> -<p>Для вариантов нам нужно добавить класс <code>highlight</code> чтобы сделать возможным индентифицировать значение которе пользователь выберет (или выбрал).</p> +<p>Для вариантов нам нужно добавить класс <code>highlight</code> чтобы сделать возможным идентифицировать значение которе пользователь выберет (или выбрал).</p> <pre class="brush: css">.select .option { padding: .2em .3em; /* 2px 3px */ @@ -331,8 +331,8 @@ original_slug: Learn/HTML/Forms/How_to_build_custom_form_widgets <li>Пользователь отключил JavaScript: Это самый редкий случай; сейчас очень мало людей отключают JavaScript.</li> <li>Скрипт не загружается. Это один из самых распространенных случаев, особенно в мобильном мире, где сеть не очень надежная.</li> <li>Скрипт глючит.Вы должны всегда учитывать эту возможность.</li> - <li>Скрипт конфликтует со сторонним скриптом. Это может случиться со скриптами отслеживания или любыми закладурками (bookmarklets), которые использует пользователь.</li> - <li>Скрипт конфликтует с расширением браузера или зависит от него (такими как расширение <a href="https://addons.mozilla.org/fr/firefox/addon/noscript/" rel="external" title="https://addons.mozilla.org/fr/firefox/addon/noscript/">NoScript</a> в Firefox, или расширенние <a href="https://chrome.google.com/webstore/detail/notscripts/odjhifogjcknibkahlpidmdajjpkkcfn" rel="external" title="https://chrome.google.com/webstore/detail/notscripts/odjhifogjcknibkahlpidmdajjpkkcfn">NotScripts</a> в Chrome).</li> + <li>Скрипт конфликтует со сторонним скриптом. Это может случиться со скриптами отслеживания или любыми букмарклетами (bookmarklets), которые использует пользователь.</li> + <li>Скрипт конфликтует с расширением браузера или зависит от него (такими как расширение <a href="https://addons.mozilla.org/fr/firefox/addon/noscript/" rel="external" title="https://addons.mozilla.org/fr/firefox/addon/noscript/">NoScript</a> в Firefox, или расширение <a href="https://chrome.google.com/webstore/detail/notscripts/odjhifogjcknibkahlpidmdajjpkkcfn" rel="external" title="https://chrome.google.com/webstore/detail/notscripts/odjhifogjcknibkahlpidmdajjpkkcfn">NotScripts</a> в Chrome).</li> <li>Пользователь использует устаревший браузер, и одна из требуемых функций не поддерживается. Это часто случается, когда вы используете передовые API.</li> </ul> @@ -556,7 +556,7 @@ window.addEventListener('load', function () { }); });</pre> -<p>В этот момент наш виджет будет изменятт состояние в соответствии с нашим дизайном, но не будет обновлять его значение. С этим мы разберемся дальше.</p> +<p>В этот момент наш виджет будет изменять состояние в соответствии с нашим дизайном, но не будет обновлять его значение. С этим мы разберемся дальше.</p> <table> <thead> @@ -580,7 +580,7 @@ window.addEventListener('load', function () { <p>Самый простой способ сделать это - использовать встроенный виджет который также есть в нашей форме. Такой виджет будет отслеживать значение со всеми встроенными элементами управления, предоставленными браузером, и значение будет отправлено, как обычно, при отправке формы. Нет смысла заново изобретать велосипед, когда все это уже сделано за нас.</p> -<p>Как было показано ранее, у нас есть стандартный виджет {{HTMLElement("select")}} в качестве запасного варианта для повышения доступности; поэтому мы просто синхронизируем его значение с нашим собственнным виджетом:</p> +<p>Как было показано ранее, у нас есть стандартный виджет {{HTMLElement("select")}} в качестве запасного варианта для повышения доступности; поэтому мы просто синхронизируем его значение с нашим собственным виджетом:</p> <pre class="brush: js">// Эта функция обновляет отображенное значение и синхронизирует его со стандартным виджетом // Ей передается два параметра: @@ -619,7 +619,7 @@ function getIndex(select) { return nativeWidget.selectedIndex; };</pre> -<p>Исползуя эти две функции мы можем связать стандартный виджет с пользовательским:</p> +<p>Используя эти две функции мы можем связать стандартный виджет с пользовательским:</p> <pre class="brush: js">// Мы обрабатываем привязку события при загрузке документа. window.addEventListener('load', function () { @@ -663,7 +663,7 @@ window.addEventListener('load', function () { }); });</pre> -<p>В приведенном выше коде стоить отметить совйство <code><a href="/en-US/docs/Web/API/HTMLElement/tabIndex" title="/en-US/docs/Web/API/HTMLElement/tabIndex">tabIndex</a></code>. Использование этого свойства необходимо чтобы стандартный виджет никогда не получил фокус, и чтобы убедиться, что наш пользовательский виджет получает фокус когда пользователь использует клавиатуру или мышь.</p> +<p>В приведенном выше коде стоить отметить свойство <code><a href="/en-US/docs/Web/API/HTMLElement/tabIndex" title="/en-US/docs/Web/API/HTMLElement/tabIndex">tabIndex</a></code>. Использование этого свойства необходимо чтобы стандартный виджет никогда не получил фокус, и чтобы убедиться, что наш пользовательский виджет получает фокус когда пользователь использует клавиатуру или мышь.</p> <p>С этим мы закончили! Вот результат:</p> @@ -687,24 +687,24 @@ window.addEventListener('load', function () { <h2 id="Делаем_доступным">Делаем доступным</h2> -<p>Мы создали нечто работающее, и, хотя это далеко от полнофункционального селектбокса, работает это хорошо. Однако то, что мы сделали, это не более, чем возня с DOM. У него нет настоящей семантики, и хотя оно выглыдит как селектбокс, с точки зрения браузера - это не так, поэтому вспомогательные технологии не смогут понять что это селектбокс. Короче говоря, этот хорошенький селектбокс не является доступным для людей с ограниченными возможностями!</p> +<p>Мы создали нечто работающее, и, хотя это далеко от полнофункционального селектбокса, работает это хорошо. Однако то, что мы сделали, это не более, чем возня с DOM. У него нет настоящей семантики, и хотя оно выглядит как селектбокс, с точки зрения браузера - это не так, поэтому вспомогательные технологии не смогут понять что это селектбокс. Короче говоря, этот хорошенький селектбокс не является доступным для людей с ограниченными возможностями!</p> <p>К счастью существует решение, и оно называется <a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a>. ARIA - аббревиатура для "Accessible Rich Internet Application" (Доступное всем интернет приложение), и представляет собой <a href="http://www.w3.org/TR/wai-aria/" rel="external" title="http://www.w3.org/TR/wai-aria/">W3C спецификацию</a> специально разработанную для того, что мы здесь делаем: делаем веб приложения и пользовательские виджеты ассистивными (доступными для людей с ограниченными возможностями). В основном, это набор атрибутов, которые расширяют HTML, чтобы мы смогли лучше описать роли, состояния и свойства, так что только что изобретенный элемент выглядит как будто он был тем стандартным, за которого он себя выдает. Использовать эти атрибуты очень просто, поэтому давайте сделаем это.</p> -<h3 id="Аттрибут_role">Аттрибут <code>role</code></h3> +<h3 id="Атрибут_role">Атрибут <code>role</code></h3> -<p>Ключевой аттрибут используемый в <a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a> - это <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a>. Аттрибут <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a> принимает значение, определяющее для чего используется элемент. Каждая роль определяет свои собственные требования и поведение. В нашем примере мы используем роль <code><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role">listbox</a></code>. Это "составная роль" ("composite role"), т.е. элементы такой роли имеют потомков, у каждого из которых есть отдельная роль (в данном случае, как минимум один дочерний элемент с ролью <code>option</code>).</p> +<p>Ключевой атрибут используемый в <a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a> - это <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a>. Атрибут <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a> принимает значение, определяющее для чего используется элемент. Каждая роль определяет свои собственные требования и поведение. В нашем примере мы используем роль <code><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role">listbox</a></code>. Это "составная роль" ("composite role"), т.е. элементы такой роли имеют потомков, у каждого из которых есть отдельная роль (в данном случае, как минимум один дочерний элемент с ролью <code>option</code>).</p> -<p>Стоит также отметить что ARIA определяет роли, которые по умолчанию применяются к стандартной разметке HTML. Например, элемент {{HTMLElement("table")}} соответствует роли <code>grid</code>, а элемент {{HTMLElement("ul")}} соответствует роли <code>list</code>. Так как мы используем элемент {{HTMLElement("ul")}}, то нам необходимо убедиться что роль <code>listbox</code> нашего виджета заменит роль <code>list</code> элемента {{HTMLElement("ul")}}. С этой целью, мы будем использовать роль <code>presentation</code>. Эта роль разработана чтобы можно было отметить, что элемент не имеет особого значения, а используется исключительно чтобы представить информацию. Мы применим его к нашему элемету {{HTMLElement("ul")}}.</p> +<p>Стоит также отметить что ARIA определяет роли, которые по умолчанию применяются к стандартной разметке HTML. Например, элемент {{HTMLElement("table")}} соответствует роли <code>grid</code>, а элемент {{HTMLElement("ul")}} соответствует роли <code>list</code>. Так как мы используем элемент {{HTMLElement("ul")}}, то нам необходимо убедиться что роль <code>listbox</code> нашего виджета заменит роль <code>list</code> элемента {{HTMLElement("ul")}}. С этой целью, мы будем использовать роль <code>presentation</code>. Эта роль разработана чтобы можно было отметить, что элемент не имеет особого значения, а используется исключительно чтобы представить информацию. Мы применим его к нашему элементу {{HTMLElement("ul")}}.</p> <p>Чтобы ввести роль <code><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role">listbox</a></code> нам нужно просто внести следующие изменения в HTML:</p> -<pre class="brush: html"><!-- Мы добавили аттрибут role="listbox" в наш элемент верхнего уровня --> +<pre class="brush: html"><!-- Мы добавили атрибут role="listbox" в наш элемент верхнего уровня --> <div class="select" role="listbox"> <span class="value">Cherry</span> - <!-- Также мы добавили аттрибут role="presentation" в элемент ul --> + <!-- Также мы добавили атрибут role="presentation" в элемент ul --> <ul class="optList" role="presentation"> - <!-- И мы добавили аттрибут role="option" во все элементы li --> + <!-- И мы добавили атрибут role="option" во все элементы li --> <li role="option" class="option">Cherry</li> <li role="option" class="option">Lemon</li> <li role="option" class="option">Banana</li> @@ -719,7 +719,7 @@ window.addEventListener('load', function () { <h3 id="Атрибут_aria-selected">Атрибут <code>aria-selected</code> </h3> -<p>Использовать только аттрибут <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a> недостаточно. <a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a> также предоставляет множество атрибутов состояний и свойств. Чем больше и уместнее вы их используете, тем ваш виджет будет более понятен для вспомогательных технологий. В нашем случае мы ограничимся использованием одного аттрибута: <code>aria-selected</code>.</p> +<p>Использовать только атрибут <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a> недостаточно. <a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a> также предоставляет множество атрибутов состояний и свойств. Чем больше и уместнее вы их используете, тем ваш виджет будет более понятен для вспомогательных технологий. В нашем случае мы ограничимся использованием одного атрибута: <code>aria-selected</code>.</p> <p>Атрибут <code>aria-selected</code> используется для отметки текущего выбранного варианта; это позволяет ассистивным технологиям информировать пользователя о текущем выборе. Мы будем используя JavaScript динамически отмечать выбранный вариант каждый раз, когда пользователь его выбирает. С этой целью нам нужно пересмотреть нашу функцию <code>updateValue()</code>:</p> @@ -772,7 +772,7 @@ window.addEventListener('load', function () { <li><a href="https://www.google.fr/search?q=HTML+custom+form+controls&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a" rel="external" title="https://www.google.fr/search?q=HTML+custom+form+controls&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a">и многие другие…</a></li> </ul> -<p>Если вы хотите двигаться далее, то код в этом примере нуждается в некоторм улучшении прежде чем станет универсальным и многоразовым. Это упражнение, которое вы можете попробовать выполнить. Две подсказки, которые помогут вам в этом: первый аргумент всех наших функций одинаков, это значит что эти функции должны быть в одном контексте. Было бы разумным создать объект для совместного использования этого контекста. Также вам нужно сделать его функциональным; это значит, что ему необходимо одинаково хорошо работать с различными браузерами, чья соместимость с Web стандартами очень отличается. Повеселись!</p> +<p>Если вы хотите двигаться далее, то код в этом примере нуждается в некотором улучшении прежде чем станет универсальным и многоразовым. Это упражнение, которое вы можете попробовать выполнить. Две подсказки, которые помогут вам в этом: первый аргумент всех наших функций одинаков, это значит что эти функции должны быть в одном контексте. Было бы разумным создать объект для совместного использования этого контекста. Также вам нужно сделать его функциональным; это значит, что ему необходимо одинаково хорошо работать с различными браузерами, чья совместимость с Web стандартами очень отличается. Повеселись!</p> <p>{{PreviousMenuNext("Learn/HTML/Forms/Form_validation", "Learn/HTML/Forms/Sending_forms_through_JavaScript", "Learn/HTML/Forms")}}</p> diff --git a/files/ru/learn/forms/how_to_structure_a_web_form/index.html b/files/ru/learn/forms/how_to_structure_a_web_form/index.html index 97f8a42ad8..501767be92 100644 --- a/files/ru/learn/forms/how_to_structure_a_web_form/index.html +++ b/files/ru/learn/forms/how_to_structure_a_web_form/index.html @@ -42,7 +42,7 @@ original_slug: Learn/HTML/Forms/How_to_structure_an_HTML_form <p><strong>Внимание:</strong> Строго запрещается размещать форму внутри другой формы. Такое размещение может привести к непредсказуемому поведению форм, в зависимости от браузера. </p> </div> -<p>Стоит учесть, что всегда можно использовать элементы формы вне {{HTMLElement("form")}}. Тогда по умолчанию этот элемент формы не имеет ничего общего со всеми формами. Вы можете связать его с формой с помощью аттрибута <code>form</code>. В HTML5 был представлен аттрибут <code>form</code> для элементов HTML форм, который позволяет явно связать элемент с формой, даже если он не заключён внутри {{ HTMLElement("form") }}.</p> +<p>Стоит учесть, что всегда можно использовать элементы формы вне {{HTMLElement("form")}}. Тогда по умолчанию этот элемент формы не имеет ничего общего со всеми формами. Вы можете связать его с формой с помощью атрибута <code>form</code>. В HTML5 был представлен атрибут <code>form</code> для элементов HTML форм, который позволяет явно связать элемент с формой, даже если он не заключён внутри {{ HTMLElement("form") }}.</p> <h2 id="Элементы_<fieldset>_и_<legend>">Элементы <fieldset> и <legend></h2> @@ -82,7 +82,7 @@ original_slug: Learn/HTML/Forms/How_to_structure_an_HTML_form <h2 id="Элемент_<label>">Элемент <label></h2> -<p>В предыдущей статье мы увидели, что элемент {{HTMLElement("label")}} принято использовать для указания текстов-подсказок (лейблов) в HTML-формах. Это самый важный элемент для построения доступных форм — при правильной реализации скринридеры будут озвучивать текст-подсказку вместе со связанными элементами. Посмотрите на этот пример из предущей статьи:</p> +<p>В предыдущей статье мы увидели, что элемент {{HTMLElement("label")}} принято использовать для указания текстов-подсказок (лейблов) в HTML-формах. Это самый важный элемент для построения доступных форм — при правильной реализации скринридеры будут озвучивать текст-подсказку вместе со связанными элементами. Посмотрите на этот пример из предыдущей статьи:</p> <pre class="brush: html notranslate"><label for="name">Name:</label> <input type="text" id="name" name="user_name"></pre> @@ -100,7 +100,7 @@ original_slug: Learn/HTML/Forms/How_to_structure_an_HTML_form <h3 id="Лейблы_тоже_кликабельны!">Лейблы тоже кликабельны!</h3> -<p>Ещё одно преимущество при правильно установленных текстах-подсказках заключается в том, что по ним можно кликнуть для активации связанных с ними виджетов. Это поддерживается во всех браузерах. Это удобно как для текстовых полей ввода, в которых устанавливается фокус при клике на текст-посказку, так и для радио-кнопок и чекбоксов — область попадания такого элемента управления может быть очень маленькой, поэтому полезно сделать ее как можно больше.</p> +<p>Ещё одно преимущество при правильно установленных текстах-подсказках заключается в том, что по ним можно кликнуть для активации связанных с ними виджетов. Это поддерживается во всех браузерах. Это удобно как для текстовых полей ввода, в которых устанавливается фокус при клике на текст-подсказку, так и для радио-кнопок и чекбоксов — область попадания такого элемента управления может быть очень маленькой, поэтому полезно сделать ее как можно больше.</p> <p>Например:</p> @@ -155,25 +155,25 @@ original_slug: Learn/HTML/Forms/How_to_structure_an_HTML_form <ul> <li>В первом примере лейбл не будет прочитан вместе с текстовым полем — получится лишь "edit text blank" и отдельно читаемые тексты-подсказки. Множественные элементы <code><label></code> могут быть неправильно интерпретированы программой чтения с экрана.</li> - <li>Второй пример немного лучше — лейбл будет прочитан вместе с текстовым полем и будет звучать как "name star name edit text", однако тексты-подсказки всё ещё разделены. Это всё ещё немного сбивает с толку, но на этот раз ситуация немного лучше, потому что с текстовое поле связанао с текстом-подсказкой.</li> + <li>Второй пример немного лучше — лейбл будет прочитан вместе с текстовым полем и будет звучать как "name star name edit text", однако тексты-подсказки всё ещё разделены. Это всё ещё немного сбивает с толку, но на этот раз ситуация немного лучше, потому что с текстовое поле связано с текстом-подсказкой.</li> <li>Третий пример — лучший, так как весь лейбл будет связан с текстовым полем и озвучен целиком, а при чтении текст будет звучать как "name star edit text".</li> </ul> <div class="note"> -<p><strong>Примечение</strong>: В зависимости от программы для чтения с экрана результаты могут немного отличаться. В данной статье для тестирования использовался VoiceOver (NVDA ведет себя аналогично). Также мы были бы рады, если бы вы поделились своим опытом.</p> +<p><strong>Примечание</strong>: В зависимости от программы для чтения с экрана результаты могут немного отличаться. В данной статье для тестирования использовался VoiceOver (NVDA ведет себя аналогично). Также мы были бы рады, если бы вы поделились своим опытом.</p> </div> <div class="note"> <p><strong>Примечание</strong>: Вы можете найти этот пример на GitHub <a href="https://github.com/mdn/learning-area/blob/master/html/forms/html-form-structure/required-labels.html">required-labels.html</a> (<a href="https://mdn.github.io/learning-area/html/forms/html-form-structure/required-labels.html">также можно посмотреть вживую</a>). Запускайте пример, закомментировав остальные, иначе скриридеры не смогут правильно распознать контент, если у вас будет несколько лейблов и несколько текстовых полей с одинаковым ID!</p> </div> -<h2 id="Частоиспользуемые_с_формами_HTML-структуры">Частоиспользуемые с формами HTML-структуры</h2> +<h2 id="Часто используемые_с_формами_HTML-структуры">Часто используемые с формами HTML-структуры</h2> <p>Помимо структур, характерных только для HTML-форм, хорошо помнить, что формы — это просто HTML. Это означает, что вы можете использовать всю мощь HTML для структурирования HTML-формы.</p> <p>Как вы можете заметить в примерах, оборачивать лейбл и виджет формы в элемент {{HTMLElement("div")}} — это общепринятая практика. Элемент {{HTMLElement("p")}} также часто используется, как и HTML-списки (последние часто используются для структурирования множественных чекбоксом или радио-кнопок).</p> -<p>В добавок к элементу {{HTMLElement("fieldset")}} часто используют HTML-заголовки (например, {{HTMLElement("h1")}}, {{HTMLElement("h2")}}) и секционирование (например, {{HTMLElement("section")}}) для стуктурирования сложных форм.</p> +<p>В добавок к элементу {{HTMLElement("fieldset")}} часто используют HTML-заголовки (например, {{HTMLElement("h1")}}, {{HTMLElement("h2")}}) и секционирование (например, {{HTMLElement("section")}}) для структурирования сложных форм.</p> <p>Прежде всего, вам нужно найти стиль, который будет удобен именно вам для программирования и который также позволит создавать доступные и удобные формы.</p> @@ -185,7 +185,7 @@ original_slug: Learn/HTML/Forms/How_to_structure_an_HTML_form <ol> <li>Для начала сделайте локальную копию <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/getting-started/index.html">пустого шаблона</a> и <a href="https://github.com/mdn/learning-area/blob/master/html/forms/html-form-structure/payment-form.css">CSS для нашей платёжной формы</a> в новой директории на вашем компьютере.</li> - <li>Сначала подключите CSS к HTML, добавив следующую строку кода внутрь HTML-елемента {{htmlelement("head")}}: + <li>Сначала подключите CSS к HTML, добавив следующую строку кода внутрь HTML-элемента {{htmlelement("head")}}: <pre class="brush: html notranslate"><link href="payment-form.css" rel="stylesheet"></pre> </li> <li>Далее начните создавать свою форму с добавления внешнего элемента {{htmlelement("form")}}: diff --git a/files/ru/learn/forms/sending_and_retrieving_form_data/index.html b/files/ru/learn/forms/sending_and_retrieving_form_data/index.html index 3aebc66024..f8c265ffb2 100644 --- a/files/ru/learn/forms/sending_and_retrieving_form_data/index.html +++ b/files/ru/learn/forms/sending_and_retrieving_form_data/index.html @@ -25,7 +25,7 @@ original_slug: Learn/HTML/Forms/Отправка_и_Получение_данн <p>Здесь мы обсудим, что происходит с данными при отправке формы.</p> -<h3 id="О_клиенсткойсерверной_архитектуре">О клиенсткой/серверной архитектуре</h3> +<h3 id="О_клиенсткойсерверной_архитектуре">О клиентской/серверной архитектуре</h3> <p>WEB основан на очень простой клиент-серверной архитектуре, которую можно обобщить следующим образом: клиент (обычно веб-браузер) отправляет запрос на сервер (в основном веб-сервер, такой как <a href="https://httpd.apache.org/" rel="external">Apache</a>, <a href="https://www.nginx.com/" rel="external">Nginx</a>, <a href="https://www.iis.net/" rel="external">IIS</a>, <a href="https://tomcat.apache.org/" rel="external">Tomcat</a>, и т. д.), используя протокол HTTP. Сервер отвечает на запрос, используя тот же протокол.<img alt="A basic schema of the Web client/server architecture" src="/files/4291/client-server.png" style="display: block; height: 141px; margin: 0px auto; width: 400px;"></p> @@ -212,7 +212,7 @@ if __name__ == "__main__": <p>Два шаблона из коде выше взаимодействуют так:</p> <ul> - <li><a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/templates/form.html">form.html</a>: Та же форма, что и выше {{anch("The POST method")}} , только с использованием <code>action</code> к <code>\{{ url_for('hello') }}</code>. (Это <a href="http://jinja.pocoo.org/docs/2.9/">Jinja2</a> шаблон, который изначально HTMLно может содержать вызовы Python кода в фигурных скобках, которые запустятся веб-сервером. <code>url_for('hello')</code> буквально говорит: после отправки данных переадресуй их в <code>/hello</code>.)</li> + <li><a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/templates/form.html">form.html</a>: Та же форма, что и выше {{anch("The POST method")}} , только с использованием <code>action</code> к <code>\{{ url_for('hello') }}</code>. (Это <a href="http://jinja.pocoo.org/docs/2.9/">Jinja2</a> шаблон, который изначально HTML, но может содержать вызовы Python кода в фигурных скобках, которые запустятся веб-сервером. <code>url_for('hello')</code> буквально говорит: после отправки данных переадресуй их в <code>/hello</code>.)</li> <li><a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/templates/greeting.html">greeting.html</a>: Этот шаблон просто содержит строку, которая отображает два бита данных, переданных ему при отображении. Это сделано с помощью функции <code>hello()</code>, указанной выше, которая выполняется, когда запрос направляется в <code>/hello</code> URL.</li> </ul> @@ -244,7 +244,7 @@ if __name__ == "__main__": <h3 id="Атрибут_htmlattrxrefenctypeform">Атрибут {{htmlattrxref("enctype","form")}} </h3> -<p>Этот атрибут позволяет конкретизировать значение в <code>Content-Type</code> HTTP заголовок, включенный в запрос, при генерировании отпавки формы. Этот заголовок очень важен, потому что указывает серверу, какой тип данных отправляется. По умолчанию это: <code>application/x-www-form-urlencoded</code>. На человеческом это значит: "Это форма с данными, которые были закодированы в URL параметры."</p> +<p>Этот атрибут позволяет конкретизировать значение в <code>Content-Type</code> HTTP заголовок, включенный в запрос, при генерировании отправки формы. Этот заголовок очень важен, потому что указывает серверу, какой тип данных отправляется. По умолчанию это: <code>application/x-www-form-urlencoded</code>. На человеческом это значит: "Это форма с данными, которые были закодированы в URL параметры."</p> <p>Если хотите отправить файл, нужно сделать следующие три шага:</p> @@ -298,7 +298,7 @@ if __name__ == "__main__": <h3 id="Вброс_HTTP-заголовка_и_email">Вброс HTTP-заголовка и email</h3> -<p>Эти виды атак могут проявляться, когда ваше приложение создает заголовки HTTP или электронные почтовые адреса на основании данных, введенных пользователем в форму. Такие атаки напрямую не повреждают сервер или пользовалей, однако создают уязвимость для таких угроз, как перехват сессии, или для фишинговых атак.</p> +<p>Эти виды атак могут проявляться, когда ваше приложение создает заголовки HTTP или электронные почтовые адреса на основании данных, введенных пользователем в форму. Такие атаки напрямую не повреждают сервер или пользователей, однако создают уязвимость для таких угроз, как перехват сессии, или для фишинговых атак.</p> <p>Такие атаки являются самыми незаметными, но при этом могут превратить ваш сервер в <a href="http://en.wikipedia.org/wiki/Zombie_(computer_science)" rel="exernal">зомби</a>.</p> @@ -326,7 +326,7 @@ if __name__ == "__main__": <h2 id="См._также">См. также</h2> -<p>Если вы хотите узнать больше об обеспечении безопасности веб-приложений, вы можете использовать следущие источники информации:</p> +<p>Если вы хотите узнать больше об обеспечении безопасности веб-приложений, вы можете использовать следующие источники информации:</p> <ul> <li><a href="/en-US/docs/Learn/Server-side/First_steps">Первые шаги в программирование веб-сайтов на стороне сервера</a></li> diff --git a/files/ru/learn/forms/sending_forms_through_javascript/index.html b/files/ru/learn/forms/sending_forms_through_javascript/index.html index b686d909df..6a949fd237 100644 --- a/files/ru/learn/forms/sending_forms_through_javascript/index.html +++ b/files/ru/learn/forms/sending_forms_through_javascript/index.html @@ -16,7 +16,7 @@ original_slug: Learn/HTML/Forms/Sending_forms_through_JavaScript <p>Отправка стандартной HTML формы, как описывалось в предыдущей статье, загружает URL-адрес, по которому были отправлены данные, это означает, что окно браузера перемещается с полной загрузкой страницы. Если избегать полную перезагрузку страницы, можно обеспечить более плавную работу, за счет предотвращения задержек в сети и возможных визуальных проблем (например, мерцания).</p> -<p>Многие современные пользовательские интерфейсы используют HTML формы только для сбора пользовательского ввода, а не для для отправки данных. Когда пользователь пытатся отправить свои данные, приложение берет контроль и асинхронно передает данные в фоновом режиме, обновляя только ту часть всего интерфейса пользователя, которой требуется обновление.</p> +<p>Многие современные пользовательские интерфейсы используют HTML формы только для сбора пользовательского ввода, а не для для отправки данных. Когда пользователь пытается отправить свои данные, приложение берет контроль и асинхронно передает данные в фоновом режиме, обновляя только ту часть всего интерфейса пользователя, которой требуется обновление.</p> <p>Асинхронная отправка произвольных данных обычно называется <a href="/en-US/docs/AJAX">AJAX</a>, что означает <strong>"Asynchronous JavaScript And XML" </strong>(Асинхронный JavaScript и XML).</p> @@ -25,14 +25,14 @@ original_slug: Learn/HTML/Forms/Sending_forms_through_JavaScript <p>Объект {{domxref("XMLHttpRequest")}} (XHR) DOM может создавать HTTP-запросы, отправлять их, и получать их результат. Исторически, {{domxref("XMLHttpRequest")}} был разработан для получения и отправки <a href="/en-US/docs/XML">XML</a> в качестве формата обмена, который со временем был заменен на <a href="/en-US/docs/JSON">JSON</a>. Но ни XML, ни JSON не вписываются в кодировку запроса данных формы. Данные формы (<code>application/x-www-form-urlencoded</code>) состоят из списка пар ключ/значение в кодировке URL. Для передачи бинарных данных, HTTP-запрос преобразуется в <code>multipart/form-data</code>.</p> <div class="blockIndicator note"> -<p><strong>Замечание</strong>: Сейчас <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a> часто используется вместо XHR — это современная, обновленная версия XHR, которая работает в похожем стиле, но имеет несколько преимуществ. Большая часть XHR-кода, которую вы увидете в этой статье можно заменить на Fetch.</p> +<p><strong>Замечание</strong>: Сейчас <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a> часто используется вместо XHR — это современная, обновленная версия XHR, которая работает в похожем стиле, но имеет несколько преимуществ. Большая часть XHR-кода, которую вы увидите в этой статье можно заменить на Fetch.</p> </div> -<p>Если вы управляете фронтендом (кодом, который выполняется в браузере) и бкендом (кодом, который выполняется на стороне сервера), вы можете отправлять JSON/XML и обрабатывать их как хотите.</p> +<p>Если вы управляете фронтендом (кодом, который выполняется в браузере) и бэкендом (кодом, который выполняется на стороне сервера), вы можете отправлять JSON/XML и обрабатывать их как хотите.</p> <p>Но если вы хотите использовать сторонний сервис, то вам необходимо отправлять данные в формате, который требуется сервису.</p> -<p>Так как нам следует отправлять подобные данные? Ниже обписаны различные необходимые вам техники.</p> +<p>Так как нам следует отправлять подобные данные? Ниже описаны различные необходимые вам техники.</p> <h2 id="Отправка_данных_формы">Отправка данных формы</h2> @@ -48,7 +48,7 @@ original_slug: Learn/HTML/Forms/Sending_forms_through_JavaScript <h3 id="Создание_XMLHttpRequest_вручную">Создание XMLHttpRequest вручную</h3> -<p>{{domxref("XMLHttpRequest")}} это самый безопасный и надежный способ создавать HTTPзапросы. Для отправки данных формы с помощью {{domxref("XMLHttpRequest")}}, подготовьте данные с помощью URL-кодирования, и соблюдайте специфику запросов данных формы.</p> +<p>{{domxref("XMLHttpRequest")}} это самый безопасный и надежный способ создавать HTTP-запросы. Для отправки данных формы с помощью {{domxref("XMLHttpRequest")}}, подготовьте данные с помощью URL-кодирования, и соблюдайте специфику запросов данных формы.</p> <p>Посмотрите на пример:</p> diff --git a/files/ru/learn/forms/your_first_form/index.html b/files/ru/learn/forms/your_first_form/index.html index 4cb3f856d0..705c6fbeb9 100644 --- a/files/ru/learn/forms/your_first_form/index.html +++ b/files/ru/learn/forms/your_first_form/index.html @@ -116,7 +116,7 @@ original_slug: Learn/HTML/Forms/Ваша_первая_HTML_форма <ul> <li>В нашем простом примере мы используем {{HTMLelement("input/text")}} для первого поля ввода — значение по умолчанию для данного атрибута. Оно представляет однострочное текстовое поле, которое может принимать любые значения.</li> - <li>Для второго поля ввода мы используем тип {{HTMLelement("input/email")}}, который представляет собой однострочное текстовое поле, которое принимает в качестве значения корректно составленный e-mail адрес. Он делает простое текстовое поле "умным", позволяя проверять введёные пользователем данные на корректность. Также это позволяет открывать более подходящие для ввода e-mail адреса клавиатуры (например, с символом @ при базовой раскладке) на устройствах с динамической клавиатурой, таких как смартфоны. Вы найдёте более подробную информацию про валидацию форм далее в статье <a href="/ru/docs/Learn/HTML/Forms/Валидация_формы" title="/en-US/docs/HTML/Forms/Data_form_validation">Валидация формы</a>.</li> + <li>Для второго поля ввода мы используем тип {{HTMLelement("input/email")}}, который представляет собой однострочное текстовое поле, которое принимает в качестве значения корректно составленный e-mail адрес. Он делает простое текстовое поле "умным", позволяя проверять введенные пользователем данные на корректность. Также это позволяет открывать более подходящие для ввода e-mail адреса клавиатуры (например, с символом @ при базовой раскладке) на устройствах с динамической клавиатурой, таких как смартфоны. Вы найдёте более подробную информацию про валидацию форм далее в статье <a href="/ru/docs/Learn/HTML/Forms/Валидация_формы" title="/en-US/docs/HTML/Forms/Data_form_validation">Валидация формы</a>.</li> </ul> <p>Последнее, но не менее важное, обратите внимание на разницу синтаксиса у HTML-элементов <code><input></code> и <code><textarea></textarea></code>. Это одна из странностей HTML. Тег <code><input></code> — это пустой элемент, то есть он не нуждается в закрывающем теге. {{HTMLElement("textarea")}} — это непустой элемент, что говорит о том, что ему необходим закрывающий тег. Это важно при использовании одного из свойств форм: определения значения по умолчанию. Для определения начального значения для HTML-элемента {{HTMLElement("input")}} вам необходимо использовать атрибут <code>value</code> следующим образом:</p> @@ -161,7 +161,7 @@ original_slug: Learn/HTML/Forms/Ваша_первая_HTML_форма <p>Красиво стилизовать формы достаточно сложно. Эта тема выходит за рамки этой статьи, поэтому на данный момент мы просто добавим некоторый CSS-код для приведения формы в нормальный вид.</p> -<p>Сначала необходимо добавить HTML-элемент {{htmlelement("style")}} на вашу страницу внутрь тега <code>head</code> в HTML. Это должно выглядить следущим образом:</p> +<p>Сначала необходимо добавить HTML-элемент {{htmlelement("style")}} на вашу страницу внутрь тега <code>head</code> в HTML. Это должно выглядеть следующим образом:</p> <pre class="brush: html notranslate"><style> @@ -249,7 +249,7 @@ button { <p>Мы определяем имя <code>name</code> для каждого виджета формы. Указание имён важно как для браузера, так и для сервера: браузер узнаёт, какие имена дать каждой части данных, а сервер может получить эти данные, обратясь к ним по заданному имени. Данные форму отправляются на сервер в виде пары имя/значение.</p> -<p>Чтобы проименовать данные, вам необходимо использовать атрибут <code>name</code> на каждом виджете формы, который будет собирать определённую часть информации. Давайте взглянем на код нашей формы ещё раз:</p> +<p>Чтобы переименовать данные, вам необходимо использовать атрибут <code>name</code> на каждом виджете формы, который будет собирать определённую часть информации. Давайте взглянем на код нашей формы ещё раз:</p> <pre class="brush:html; notranslate"><form action="/my-handling-form-page" method="post"> <div> diff --git a/files/ru/learn/front-end_web_developer/index.html b/files/ru/learn/front-end_web_developer/index.html index 7c0e93322d..ac43dad174 100644 --- a/files/ru/learn/front-end_web_developer/index.html +++ b/files/ru/learn/front-end_web_developer/index.html @@ -33,7 +33,7 @@ original_slug: Learn/Фронтенд_разработчик <p>Вам не нужно никаких предварительных знаний, чтобы начать этот курс. Всё, что вам необходимо – это компьютер, который может работать с современными браузерами, интернет соединение и готовность учиться.<br> <br> - Если вы не уверены, подходит ли вам фронтент разработка и/или вы хотите получить подробное представление, то прежде чем начинать полный курс, вам следует сначала изучить наш раздел <a href="/ru/docs/Learn/Getting_started_with_the_web">Начало работы с веб</a> модулем.</p> + Если вы не уверены, подходит ли вам фронтенд разработка и/или вы хотите получить подробное представление, то прежде чем начинать полный курс, вам следует сначала изучить наш раздел <a href="/ru/docs/Learn/Getting_started_with_the_web">Начало работы с веб</a> модулем.</p> <h2 id="Получить_помощь">Получить помощь</h2> diff --git a/files/ru/learn/getting_started_with_the_web/css_basics/index.html b/files/ru/learn/getting_started_with_the_web/css_basics/index.html index a091f49fc3..f5aec65b86 100644 --- a/files/ru/learn/getting_started_with_the_web/css_basics/index.html +++ b/files/ru/learn/getting_started_with_the_web/css_basics/index.html @@ -142,7 +142,7 @@ translation_of: Learn/Getting_started_with_the_web/CSS_basics <li>Прежде всего, вернитесь и найдите <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/What_will_your_website_look_like">вывод из Google Fonts</a>, который вы уже где-то сохранили. Добавьте элемент {{htmlelement("link")}} где-нибудь внутри шапки вашего <code>index.html</code> (снова, в любом месте между тегами <code><head></code> и <code></head></code>). Это будет выглядеть примерно так: <pre class="brush: html notranslate"><link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'></pre> - Этот код связывает вашу страницу с таблицой стилями, которая загружает семейство шрифтов Open Sans вместе с вашей страницой и позволяет вам применять их к вашим HTML элементам используя свою собственную таблицу стилей.</li> + Этот код связывает вашу страницу с таблицой стилями, которая загружает семейство шрифтов Open Sans вместе с вашей страницей и позволяет вам применять их к вашим HTML элементам используя свою собственную таблицу стилей.</li> <li>Затем, удалите существующее правило в вашем <code>style.css</code> файле. Это был хороший тест, но красный текст, на самом деле, не очень хорошо выглядит.</li> <li>Добавьте следующие строки в нужное место, заменив строку <code>placeholder</code> актуальной <code>font-family</code> строкой, которую вы получили из Google Fonts. (<code>font-family</code> просто означает, какой шрифт(ы) вы хотите использовать для вашего текста). Это правило устанавливает глобальный базовый шрифт и размер шрифта для всей страницы (поскольку <code><html></code> является родительским элементом для всей страницы, и все элементы внутри него наследуют такой же <code>font-size</code> и <code>font-family</code>): <pre class="brush: css notranslate">html { @@ -223,7 +223,7 @@ p, li { <ul> <li><code>width: 600px;</code> — заставляет тело быть всегда 600 пикселей в ширину.</li> <li><code>margin: 0 auto;</code> — когда вы устанавливаете два значения для таких свойств как <code>margin</code> или <code>padding</code>, первое значение элемента влияет на верхнюю <strong>и</strong> нижнюю сторону (делает их <code>0</code> в данном случае), и второе значение на левую <strong>и</strong> правую сторону (здесь, <code>auto</code> является особым значением, которое делит доступное пространство по горизонтали поровну слева и справа). Вы также можете использовать один, три или четыре значения, как описано <a href="https://developer.mozilla.org/ru/docs/Web/CSS/margin#Values">здесь</a>.</li> - <li><code>background-color: #FF9500;</code> — как и прежде, устанавливает цвет фона элемента. Я использовал красновато-оранжевый для тела, в отличие от темно-синего цвета для {{htmlelement("html")}} элемента, но не стесняйтесь и эксперементируйте.</li> + <li><code>background-color: #FF9500;</code> — как и прежде, устанавливает цвет фона элемента. Я использовал красновато-оранжевый для тела, в отличие от темно-синего цвета для {{htmlelement("html")}} элемента, но не стесняйтесь и экспериментируйте.</li> <li><code>padding: 0 20px 20px 20px;</code> — у нас есть четыре значения, установленные для padding, чтобы сделать немного пространства вокруг нашего контента. В этот раз мы не устанавливаем padding на верхней части тела, но делаем 20 пикселей слева, снизу и справа. Значения устанавливаются сверху, справа, снизу, слева, в таком порядке.</li> <li><code>border: 5px solid black;</code> — просто устанавливает сплошную черную рамку шириной 5 пикселей со всех сторон тела.</li> </ul> diff --git a/files/ru/learn/getting_started_with_the_web/dealing_with_files/index.html b/files/ru/learn/getting_started_with_the_web/dealing_with_files/index.html index ec66653d61..1976fc08ea 100644 --- a/files/ru/learn/getting_started_with_the_web/dealing_with_files/index.html +++ b/files/ru/learn/getting_started_with_the_web/dealing_with_files/index.html @@ -64,7 +64,7 @@ translation_of: Learn/Getting_started_with_the_web/Dealing_with_files <ol> <li>Скопируйте изображение, которое вы выбрали ранее, в папку <code>images</code>.</li> - <li>Откройте ваш файл <code>index.html</code> и вставьте следующий код в файл именно в таком виде. Не беспокойтесь о том, что все это значит - позже в этом руководстве мы рассмотрим сруктуры более подробно. + <li>Откройте ваш файл <code>index.html</code> и вставьте следующий код в файл именно в таком виде. Не беспокойтесь о том, что все это значит - позже в этом руководстве мы рассмотрим структуры более подробно. <pre class="brush: html"><!DOCTYPE html> <html> <head> diff --git a/files/ru/learn/getting_started_with_the_web/how_the_web_works/index.html b/files/ru/learn/getting_started_with_the_web/how_the_web_works/index.html index 27175cb898..f3a8d0da2c 100644 --- a/files/ru/learn/getting_started_with_the_web/how_the_web_works/index.html +++ b/files/ru/learn/getting_started_with_the_web/how_the_web_works/index.html @@ -10,7 +10,7 @@ tags: - Infrastructure - Learn - TCP - - Инфраструтура + - Инфраструктура - Клиент - Новичку - Обучение @@ -82,7 +82,7 @@ translation_of: Learn/Getting_started_with_the_web/How_the_Web_works <h2 id="Пакеты">Пакеты</h2> -<p>Ранее мы использовали термин "пакеты", чтобы описать формат, в котором данные передаются от сервера к клиенту. Что мы имеем в виду? В основном, когда данные передаются через Интернет, они отправляются в виде тысячи мелких кусочков, так что множество разных пользователей могут скачивать один и тот же сайт одовременно. Если бы сайты отправлялись одним большим куском, тогда бы только один пользователь мог скачать его за один раз, и это, очевидно, сделало бы пользование интернетом не эффективным и не очень радостным.</p> +<p>Ранее мы использовали термин "пакеты", чтобы описать формат, в котором данные передаются от сервера к клиенту. Что мы имеем в виду? В основном, когда данные передаются через Интернет, они отправляются в виде тысячи мелких кусочков, так что множество разных пользователей могут скачивать один и тот же сайт одновременно. Если бы сайты отправлялись одним большим куском, тогда бы только один пользователь мог скачать его за один раз, и это, очевидно, сделало бы пользование интернетом не эффективным и не очень радостным.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/learn/getting_started_with_the_web/index.html b/files/ru/learn/getting_started_with_the_web/index.html index 8500828b35..73be1678c7 100644 --- a/files/ru/learn/getting_started_with_the_web/index.html +++ b/files/ru/learn/getting_started_with_the_web/index.html @@ -31,7 +31,7 @@ translation_of: Learn/Getting_started_with_the_web <h3 id="Установка_базового_программного_обеспечения"><a href="/ru/docs/Learn/Getting_started_with_the_web/Установка_базового_программного_обеспечения">Установка базового программного обеспечения</a></h3> -<p>Когда речь заходит об инструментаx для создания веб-сайта, тут есть из чего выбрать. Если вы только начинаете, вас может смутить количество текстовых редакторов, фреймворков и инструментов тестирования. В главе <a href="/ru/docs/Learn/Getting_started_with_the_web/Установка_базового_программного_обеспечения">Установка базового программного обеспечения</a> мы покажем вам шаг за шагом, как установить только то программное обеспечение, которое вам понадобится для веб-разработки на начальном этапе.</p> +<p>Когда речь заходит об инструментах для создания веб-сайта, тут есть из чего выбрать. Если вы только начинаете, вас может смутить количество текстовых редакторов, фреймворков и инструментов тестирования. В главе <a href="/ru/docs/Learn/Getting_started_with_the_web/Установка_базового_программного_обеспечения">Установка базового программного обеспечения</a> мы покажем вам шаг за шагом, как установить только то программное обеспечение, которое вам понадобится для веб-разработки на начальном этапе.</p> <h3 id="Каким_должен_быть_ваш_веб-сайт"><a href="/ru/docs/Learn/Getting_started_with_the_web/What_will_your_website_look_like">Каким должен быть ваш веб-сайт?</a></h3> diff --git a/files/ru/learn/getting_started_with_the_web/installing_basic_software/index.html b/files/ru/learn/getting_started_with_the_web/installing_basic_software/index.html index 2829c00c84..a8728f3cf7 100644 --- a/files/ru/learn/getting_started_with_the_web/installing_basic_software/index.html +++ b/files/ru/learn/getting_started_with_the_web/installing_basic_software/index.html @@ -4,7 +4,7 @@ slug: Learn/Getting_started_with_the_web/Installing_basic_software tags: - WebMechanics - Браузер - - Интрументы + - Инструменты - Начинающий - Новичку - Обучение @@ -27,7 +27,7 @@ original_slug: Learn/Getting_started_with_the_web/Установка_базов <ul> <li><strong>Компьютер</strong>. Может быть, это звучит очевидно для некоторых людей, но некоторые из вас читают эту статью с телефона или библиотечного компьютера. Для серьезной веб-разработки, лучше приобрести настольный компьютер (Windows, Mac или Linux).</li> - <li><strong>Текстовый редактор</strong>, чтобы писать код. Это может быть текстовый редактор (например, <a href="https://code.visualstudio.com/">Visual Studio Code</a>, <a href="https://notepad-plus-plus.org/">Notepad++</a>, <a href="https://www.sublimetext.com/">Sublime Text</a>, <a href="https://atom.io/">Atom</a>, <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>, или <a href="https://www.vim.org/">VIM</a>) или гибридный редактор (например, <a href="https://www.adobe.com/products/dreamweaver.html">Dreamweaver </a>or <a href="https://www.jetbrains.com/webstorm/">WebStorm</a>). Офисные редакторы не подходят для этого, посколько они зависят от скрытых элементов, которые мешают движкам рендеринга, <span class="tlid-translation translation" lang="ru"><span title="">используемым веб-браузерами</span></span>.</li> + <li><strong>Текстовый редактор</strong>, чтобы писать код. Это может быть текстовый редактор (например, <a href="https://code.visualstudio.com/">Visual Studio Code</a>, <a href="https://notepad-plus-plus.org/">Notepad++</a>, <a href="https://www.sublimetext.com/">Sublime Text</a>, <a href="https://atom.io/">Atom</a>, <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>, или <a href="https://www.vim.org/">VIM</a>) или гибридный редактор (например, <a href="https://www.adobe.com/products/dreamweaver.html">Dreamweaver </a>or <a href="https://www.jetbrains.com/webstorm/">WebStorm</a>). Офисные редакторы не подходят для этого, поскольку они зависят от скрытых элементов, которые мешают движкам рендеринга, <span class="tlid-translation translation" lang="ru"><span title="">используемым веб-браузерами</span></span>.</li> <li><strong>Веб-браузеры</strong>, для тестирования кода. В настоящее время наиболее часто используемые браузеры это <a href="https://www.mozilla.org/ru/firefox/new/">Firefox</a>, <a href="https://www.google.com/chrome/browser/">Chrome</a>, <a href="http://www.opera.com/">Opera</a>, <a href="https://www.apple.com/safari/">Safari</a>, и <a href="http://windows.microsoft.com/ru/internet-explorer/download-ie">Internet Explorer</a>. Вы также должны тестировать ваш сайт на то, как он работает на мобильных устройствах и на любых старых браузерах, которые ваша целевая аудитория может все ещё широко использовать (например, IE 6-8). <a href="https://lynx.browser.org/">Lynx</a>, текстовый веб-браузер для терминала, отлично подходит для того, чтобы увидеть, как ваш сайт воспринимается слабовидящими пользователями.</li> <li><strong>Графический редактор</strong>, такие как <a href="http://www.gimp.org/">The Gimp</a>, <a href="http://www.getpaint.net/">Paint.NET</a>, или <a href="http://www.adobe.com/uk/products/photoshop.html">Photoshop</a>, чтобы создавать изображения для ваших веб-страниц.</li> <li><strong>Система контроля версий</strong>, чтобы управлять файлами на сервере, для совместной работы над проектом с командой, обмениваться кодом и избегать редакторских конфликтов. Сейчас <a href="http://git-scm.com/">Git</a> является наиболее популярным инструментом контроля версий, и репозиторий кода <a href="https://github.com/">Github</a>, основанный на Git, также является очень популярным.</li> @@ -54,7 +54,7 @@ original_slug: Learn/Getting_started_with_the_web/Установка_базов <ul> <li>Linux: <a href="https://www.mozilla.org/ru/firefox/new/">Firefox</a>, <a href="https://www.google.com/chrome/browser/">Chrome</a>, <a href="http://www.opera.com/">Opera</a>, <a href="https://brave.com">Brave</a>.</li> <li>Windows: <a href="https://www.mozilla.org/ru/firefox/new/">Firefox</a>, <a href="https://www.google.com/chrome/browser/">Chrome</a>, <a href="http://www.opera.com/">Opera</a>, <a href="http://windows.microsoft.com/ru/internet-explorer/download-ie">Internet Explorer</a>, <a href="https://brave.com">Brave</a> (Если у вас есть Windows 8 или выше, вы можете установить IE 10 или более позднюю версию; иначе, вам следует установить альтернативный браузер)</li> - <li>Mac: <a href="https://www.mozilla.org/ru/firefox/new/">Firefox</a>, <a href="https://www.google.com/chrome/browser/">Chrome</a>, <a href="http://www.opera.com/">Opera</a>, <a href="https://www.apple.com/safari/">Safari</a>, <a href="https://brave.com">Brave</a> (Safari постовляется с iOS и OS X по умолчанию)</li> + <li>Mac: <a href="https://www.mozilla.org/ru/firefox/new/">Firefox</a>, <a href="https://www.google.com/chrome/browser/">Chrome</a>, <a href="http://www.opera.com/">Opera</a>, <a href="https://www.apple.com/safari/">Safari</a>, <a href="https://brave.com">Brave</a> (Safari поставляется с iOS и OS X по умолчанию)</li> </ul> <p>Прежде, чем идти дальше, вам следует установить, по крайней мере, два из этих браузеров, чтобы использовать их для тестирования.</p> diff --git a/files/ru/learn/getting_started_with_the_web/publishing_your_website/index.html b/files/ru/learn/getting_started_with_the_web/publishing_your_website/index.html index 3e70566e96..afa0a343df 100644 --- a/files/ru/learn/getting_started_with_the_web/publishing_your_website/index.html +++ b/files/ru/learn/getting_started_with_the_web/publishing_your_website/index.html @@ -41,7 +41,7 @@ translation_of: Learn/Getting_started_with_the_web/Publishing_your_website <h4 id="Советы_по_поиску_хостингов_и_доменов">Советы по поиску хостингов и доменов</h4> <ul> - <li>Здесь мы не продвигаем какие-то конкретные хостинговые компании. Чтобы найти хостинг и регистратора доменных имен, просто поищите "веб-хостинг" и "доменные имена". Во всех таких сервисах есть функция, позволяющая вам проверить, доступно ли имя домена, или кто-то другой уже зарегестрировал его. </li> + <li>Здесь мы не продвигаем какие-то конкретные хостинговые компании. Чтобы найти хостинг и регистратора доменных имен, просто поищите "веб-хостинг" и "доменные имена". Во всех таких сервисах есть функция, позволяющая вам проверить, доступно ли имя домена, или кто-то другой уже зарегистрировал его. </li> <li>Ваш домашний или рабочий {{Glossary("ISP", "Интернет-провайдер")}} может предоставлять хостинговые услуги для небольших веб-сайтов. Набор возможностей в таком случае может быть ограничен, но, тем не менее, он может отлично подойти для ваших первых экспериментов - свяжитесь с ними и узнайте! </li> <li>Также есть несколько бесплатных сервисов, таких как <a href="https://neocities.org/">Neocities</a>, <a href="https://www.blogger.com">Blogspot</a>, и <a href="https://wordpress.com/">Wordpress</a>. Опять же, вы получаете то, за что платите, но они идеально подходят для ваших первоначальных экспериментов. Бесплатные сервисы по большей части не требуют FTP-клиентов - вы можете перетаскивать ваши файлы напрямую в веб-интерфейсе.</li> <li>Иногда компании предлагают одновременно и хостинг и домен.</li> @@ -52,7 +52,7 @@ translation_of: Learn/Getting_started_with_the_web/Publishing_your_website <p>Некоторые сервисы позволяют вам опубликовать сайт:</p> <ul> - <li><a href="https://github.com/">GitHub</a> - это "социальная сеть программистов". С помощью нее можно загружать репозитории с вашими разработками для хранения в <a href="http://git-scm.com/">Git</a> - <strong>систему контроля версий. </strong>По-умолчанию все разработки хранятся с открытым исходным кодом, а это значит, что ваш код будет доступен любому - участники могут по нему учиться либо же предлагать свои улучшения. Вы также можете объединяться с другими кодерами! Это очень большое и полезное сообщество, в чьи ряды лучше вступить, и Git/GitHub это очень популярная <a href="http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control">система контроля версий</a> — большинство компаний сейчас использует ее для работы. GitHub имеет очень полезную функцию <a href="https://pages.github.com/">GitHub pages</a>, с помощью которой вы сможете опубликовать ваш код (ваш сайт) в интернете.</li> + <li><a href="https://github.com/">GitHub</a> - это "социальная сеть программистов". С помощью нее можно загружать репозитории с вашими разработками для хранения в <a href="http://git-scm.com/">Git</a> - <strong>систему контроля версий. </strong>По умолчанию все разработки хранятся с открытым исходным кодом, а это значит, что ваш код будет доступен любому - участники могут по нему учиться либо же предлагать свои улучшения. Вы также можете объединяться с другими кодерами! Это очень большое и полезное сообщество, в чьи ряды лучше вступить, и Git/GitHub это очень популярная <a href="http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control">система контроля версий</a> — большинство компаний сейчас использует ее для работы. GitHub имеет очень полезную функцию <a href="https://pages.github.com/">GitHub pages</a>, с помощью которой вы сможете опубликовать ваш код (ваш сайт) в интернете.</li> <li><a href="https://cloud.google.com/appengine/" title="App Engine - Build Scalable Web & Mobile Backends in Any Language | Google Cloud Platform">Google App Engine</a> - это мощная платформа, которая позволяет создавать и запускать приложения в инфраструктуре Google — нужно ли вам создать многоуровневое веб-приложение с нуля или разместить статический веб-сайт. Смотрите <a href="https://developer.mozilla.org/ru/docs/Learn/Common_questions/How_do_you_host_your_website_on_Google_App_Engine">как разместить ваш веб-сайт на Google App Engine</a> чтобы узнать больше информации.</li> </ul> @@ -83,7 +83,7 @@ translation_of: Learn/Getting_started_with_the_web/Publishing_your_website <li>Прежде всего, <a href="http://git-scm.com/downloads">установите Git</a> на ваш компьютер. Это основная версия системы управления версий, поддерживающая GitHub.</li> <li>Далее, <a href="https://github.com/join">создайте аккаунт в GitHub</a>. Это просто и легко.</li> <li>После того как вы зарегистрировались, войдите в github.com используя ваш логин и пароль.</li> - <li>Далее, вам нужно создать новый репозиторий для ваших файлов. Нажмитре Плюс (+) в правом верхнем углу главной страницы GitHub, затем выберите <em>New repository</em>.</li> + <li>Далее, вам нужно создать новый репозиторий для ваших файлов. Нажмите Плюс (+) в правом верхнем углу главной страницы GitHub, затем выберите <em>New repository</em>.</li> </ol> <p>На этой странице, в поле <em>Repository name</em>, введите <em>username</em>.github.io, где <em>username</em> это ваше имя пользователя. Так, например, наш друг <em>valerii15298</em> введёт <em>valerii15298.github.io</em>.</p> diff --git a/files/ru/learn/getting_started_with_the_web/the_web_and_web_standards/index.html b/files/ru/learn/getting_started_with_the_web/the_web_and_web_standards/index.html index 8791fab186..7c74a04194 100644 --- a/files/ru/learn/getting_started_with_the_web/the_web_and_web_standards/index.html +++ b/files/ru/learn/getting_started_with_the_web/the_web_and_web_standards/index.html @@ -23,13 +23,13 @@ original_slug: Learn/Getting_started_with_the_web/Веб_и_веб_станда <p dir="ltr">К концу 1990-го года Тим Бернерс разработал все необходимые для запуска сети средства — <a href="/en-US/docs/Web/HTTP">HTTP</a>, <a href="/en-US/docs/Web/HTML">HTML</a>, первый в мире веб браузер (<a href="https://en.wikipedia.org/wiki/WorldWideWeb">WorldWideWeb</a>), сервер HTTP и несколько веб страниц для наглядности.</p> -<p dir="ltr">В течение нескольких последующих лет веб сеть расширялась, выпускались новые браузеры, были установлены тысячи серверов и созданны миллионы веб страниц. Как и обещали, достаточно краткая история.</p> +<p dir="ltr">В течение нескольких последующих лет веб сеть расширялась, выпускались новые браузеры, были установлены тысячи серверов и созданы миллионы веб страниц. Как и обещали, достаточно краткая история.</p> <p dir="ltr">Стоит отметить, что в 1994 году TimBL основал консорциум Всемирной паутины (<a href="https://www.w3.org/">World Wide Web Consortium (W3C)</a>) - организацию, связывающую множество компаний для сплочения усилий в области разработки веб технологий. После этого появились технологии, например, такие как <a href="/en-US/docs/Web/CSS">CSS</a> и <a href="/en-US/docs/Web/JavaScript">JavaScript</a>, которые преобразовали веб сеть в тот вид, в котором мы наблюдаем её сейчас.</p> <h2 dir="ltr" id="Веб-стандарты">Веб-стандарты</h2> -<p dir="ltr"><strong>Веб-стандарты</strong> - это технологии, используемые для создания веб страниц. Стандарты существуют в виде технической документации (спецификаций), которая точно описывает как та, или иная технология должна работать. Документация никак не поможет изучить то, как пользоваться описываемыми в ней технологиями (вот почему существет сайт MDN Web Docs). Она используются разработчиками ПО для внендрения технологий (например, в веб браузеры).</p> +<p dir="ltr"><strong>Веб-стандарты</strong> - это технологии, используемые для создания веб страниц. Стандарты существуют в виде технической документации (спецификаций), которая точно описывает как та, или иная технология должна работать. Документация никак не поможет изучить то, как пользоваться описываемыми в ней технологиями (вот почему существует сайт MDN Web Docs). Она используются разработчиками ПО для внедрения технологий (например, в веб браузеры).</p> <p dir="ltr">В качестве примера приведем стандарт <a href="https://html.spec.whatwg.org/multipage/">HTML Living Standard</a>. Он описывает как HTML (все элементы HTML, связанные с ними API и остальные близкие технологии) должны быть реализованы.</p> diff --git a/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html b/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html index a7b386098d..2c51073d15 100644 --- a/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html +++ b/files/ru/learn/html/howto/author_fast-loading_html_pages/index.html @@ -187,7 +187,7 @@ original_slug: Web/Guide/HTML/Tips_for_authoring_fast-loading_HTML_pages <ul> <li>Книга: <a class="external" href="http://www.websiteoptimization.com/">"Speed Up Your Site" by Andy King</a></li> - <li>Отличная и очень содеражательная статья <a class="external" href="http://developer.yahoo.com/performance/rules.html" title="http://developer.yahoo.com/performance/rules.html">Best Practices for Speeding Up Your Web Site</a> (Yahoo!)</li> + <li>Отличная и очень содержательная статья <a class="external" href="http://developer.yahoo.com/performance/rules.html" title="http://developer.yahoo.com/performance/rules.html">Best Practices for Speeding Up Your Web Site</a> (Yahoo!)</li> <li>Инструменты для анализа и оптимизации производительности: <a href="https://developers.google.com/speed/pagespeed/" title="https://developers.google.com/speed/pagespeed/">Google PageSpeed Tools</a></li> </ul> diff --git a/files/ru/learn/html/howto/index.html b/files/ru/learn/html/howto/index.html index 65c138e103..c4f9f46583 100644 --- a/files/ru/learn/html/howto/index.html +++ b/files/ru/learn/html/howto/index.html @@ -45,7 +45,7 @@ original_slug: Learn/HTML/Рецепты <p>Одной из главных причин по которым навигация в HTML страницах столь проста являются гиперссылки, которые могут которые возможно использоваться различными способами:</p> <ul> - <li><a href="/en-US/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">Как создавить гиперссылки</a></li> + <li><a href="/en-US/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">Как создавать гиперссылки</a></li> <li><a href="/en-US/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks#Active_learning_creating_a_navigation_menu">Как создать "оглавление" HTML</a></li> </ul> diff --git a/files/ru/learn/html/howto/use_data_attributes/index.html b/files/ru/learn/html/howto/use_data_attributes/index.html index 9820e4e0f9..3fa918c42f 100644 --- a/files/ru/learn/html/howto/use_data_attributes/index.html +++ b/files/ru/learn/html/howto/use_data_attributes/index.html @@ -37,7 +37,7 @@ article.dataset.parent // "cars"</code></pre> <h2 id="Доступ_в_CSS">Доступ в CSS</h2> -<p>Заметим, что <code>data</code>-атрибуты являются обычными HTML-аттрибутами, к которым можно получить доступ в <a href="/ru/docs/Web/CSS">CSS</a>. Например, чтобы показать родительские данные о статье можно использовать <a href="/ru/docs/Web/CSS/content">генерируемый контент</a> и CSS функцию {{cssxref("attr")}}:</p> +<p>Заметим, что <code>data</code>-атрибуты являются обычными HTML-атрибутами, к которым можно получить доступ в <a href="/ru/docs/Web/CSS">CSS</a>. Например, чтобы показать родительские данные о статье можно использовать <a href="/ru/docs/Web/CSS/content">генерируемый контент</a> и CSS функцию {{cssxref("attr")}}:</p> <pre class="brush: css">article::before { content: attr(data-parent); @@ -54,7 +54,7 @@ article[data-columns='4']{ <p>Увидеть как это работает можно <a href="https://jsbin.com/ujiday/2/edit">в примере на JSBin</a>.</p> -<p><code>Data</code>-аттрибуты также могут использоваться для хранения информации, которая постоянно изменяется, например, счёт в игре. Используя CSS селекторы и возможности JavaScript можно создавать некоторые изящные эффекты, без необходимости писать свои функции отображения. Посмотрите <a href="https://www.youtube.com/watch?v=On_WyUB1gOk">скринкаст</a> чтобы увидеть больше примеров использующих сгенерированный контент и переходы на CSS. <a href="https://jsbin.com/atawaz/3/edit">Пример кода из скринкаста можно также посмотреть на JSBin</a>.</p> +<p><code>Data</code>-атрибуты также могут использоваться для хранения информации, которая постоянно изменяется, например, счёт в игре. Используя CSS селекторы и возможности JavaScript можно создавать некоторые изящные эффекты, без необходимости писать свои функции отображения. Посмотрите <a href="https://www.youtube.com/watch?v=On_WyUB1gOk">скринкаст</a> чтобы увидеть больше примеров использующих сгенерированный контент и переходы на CSS. <a href="https://jsbin.com/atawaz/3/edit">Пример кода из скринкаста можно также посмотреть на JSBin</a>.</p> <h2 id="Проблемы">Проблемы</h2> diff --git a/files/ru/learn/html/index.html b/files/ru/learn/html/index.html index 75e8f2485b..0727a2b8bd 100644 --- a/files/ru/learn/html/index.html +++ b/files/ru/learn/html/index.html @@ -23,7 +23,7 @@ translation_of: Learn/HTML <ul> <li><a href="/ru/docs/Learn/CSS">"CSS (Каскадные таблицы стилей)"</a>, и как их использовать для оформления (стилизации) HTML-документа (например, изменение шрифта и его размера, добавление границы и теней для элементов, разбиение страницы на несколько столбцов, добавление анимации и других визуальных эффектов).</li> - <li><a href="/ru/docs/Learn/JavaScript">"JavaScript"</a>, и как его использовать для придания динамической функциональности веб-страницам (например, определение вашего местоположения и отображение его на карте, создание элементов, которые будут появлятся/исчезать при нажатии на кнопку, сохранение данных пользователей локально на их компьютерах и многое другое).</li> + <li><a href="/ru/docs/Learn/JavaScript">"JavaScript"</a>, и как его использовать для придания динамической функциональности веб-страницам (например, определение вашего местоположения и отображение его на карте, создание элементов, которые будут появляться/исчезать при нажатии на кнопку, сохранение данных пользователей локально на их компьютерах и многое другое).</li> </ul> <p>Прежде чем приступить к этой теме, вы должны иметь хотя бы базовое представление об использовании компьютеров вообще и уметь "пассивно" использовать Интернет (т.е. уметь просматривать веб-страницы, быть потребителем контента). У вас должна быть базовая рабочая среда, описанная в <a href="/ru/docs/Learn/Getting_started_with_the_web/Installing_basic_software">разделе "Установка базового программного обеспечения"</a>, а также вы должны понимать, как создавать файлы и управлять ими, что подробно описано в <a href="/ru/docs/Learn/Getting_started_with_the_web/Dealing_with_files">разделе "Работа с файлами"</a> — обе статьи являются частью нашего модуля для новичков - <a href="/ru/docs/Learn/Getting_started_with_the_web">"Начало работы с вебом"</a>.</p> diff --git a/files/ru/learn/html/introduction_to_html/advanced_text_formatting/index.html b/files/ru/learn/html/introduction_to_html/advanced_text_formatting/index.html index 2e34f4a80b..3e05c04ea4 100644 --- a/files/ru/learn/html/introduction_to_html/advanced_text_formatting/index.html +++ b/files/ru/learn/html/introduction_to_html/advanced_text_formatting/index.html @@ -424,7 +424,7 @@ textarea.onkeyup = function(){ <p>Я думаю, <abbr title="Почтенный">Почт.</abbr> Грин сделал это на кухне с бензопилой.</p> <div class="note"> -<p><strong>Примечание:</strong> Существует еще один элемент {{htmlelement ("acronym")}}, который в основном делает то же самое, что и <code><abbr></code>, но предназначен специально для акронимов (тип аббревитатур). Это, однако, было излишним, — он не поддерживается в браузерах на том же уровне, что <code><abbr></code>, и имеет такую же функциональность, поэтому считается бессмысленным иметь оба. Просто используйте <code><abbr></code>.</p> +<p><strong>Примечание:</strong> Существует еще один элемент {{htmlelement ("acronym")}}, который в основном делает то же самое, что и <code><abbr></code>, но предназначен специально для акронимов (тип аббревиатур). Это, однако, было излишним, — он не поддерживается в браузерах на том же уровне, что <code><abbr></code>, и имеет такую же функциональность, поэтому считается бессмысленным иметь оба. Просто используйте <code><abbr></code>.</p> </div> <h3 id="Активное_обучение_выделение_аббревиатуры">Активное обучение: выделение аббревиатуры</h3> diff --git a/files/ru/learn/html/introduction_to_html/creating_hyperlinks/index.html b/files/ru/learn/html/introduction_to_html/creating_hyperlinks/index.html index d252a56e21..0ec868fd19 100644 --- a/files/ru/learn/html/introduction_to_html/creating_hyperlinks/index.html +++ b/files/ru/learn/html/introduction_to_html/creating_hyperlinks/index.html @@ -25,7 +25,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <tbody> <tr> <th scope="row">Предварительные требования:</th> - <td>Базовое <span class="short_text" id="result_box" lang="ru"><span>знакомство с HTML, описаное в статье</span></span> <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B">Начало работы c HTML</a>. Форматирование текста в HTML, описанное в статье <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/HTML_text_fundamentals">Основы редактирования текста в HTML</a>.</td> + <td>Базовое <span class="short_text" id="result_box" lang="ru"><span>знакомство с HTML, описанное в статье</span></span> <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B">Начало работы c HTML</a>. Форматирование текста в HTML, описанное в статье <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/HTML_text_fundamentals">Основы редактирования текста в HTML</a>.</td> </tr> <tr> <th scope="row">Задача:</th> @@ -58,7 +58,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <p>Я создал ссылку на <a class="ignore-external" href="https://www.mozilla.org/ru/">домашнюю страницу Mozilla</a>.</p> -<h3 id="Добавляем_инфомацию_через_атрибут_title">Добавляем инфомацию через атрибут title</h3> +<h3 id="Добавляем_информацию_через_атрибут_title">Добавляем информацию через атрибут title</h3> <p>Другим атрибутом, который вы можете добавить к своим ссылкам, является — <code>title</code>. Он предназначен для хранения полезной информации о ссылке. Например, какую информацию содержит страница или другие вещи, о которых вам нужно знать. Например:</p> @@ -111,7 +111,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <p><strong>Корень</strong> структуры — каталог <code>creating-hyperlinks</code>. При работе на локальном веб-сайте у вас будет один каталог, в который входит весь сайт. В корне у нас есть два файла — <code>index.html</code> и <code>contacts.html</code>. На настоящем веб-сайте <code>index.html</code> был бы нашей домашней, или лендинг-страницей (веб-страницей, которая служит точкой входа для веб-сайта или определенного раздела веб-сайта).</p> -<p>В корне есть ещё два каталога — <code>pdfs</code> и <code>projects</code>. У каждого из них есть один файл внутри — <code>project-brief.pdf</code> и <code>index.html</code>, соответсвенно. Обратите внимание на то, что вы можете довольно успешно иметь два <code>index.html</code> файла в одном проекте, <span id="result_box" lang="ru"><span>пока они находятся в разных местах файловой системы.</span></span> Многие веб-сайты так делают. Второй <code>index.html</code><span id="result_box" lang="ru"><span>, возможно, будет главной лендинг-страницей для связанной с проектом информации.</span></span></p> +<p>В корне есть ещё два каталога — <code>pdfs</code> и <code>projects</code>. У каждого из них есть один файл внутри — <code>project-brief.pdf</code> и <code>index.html</code>, соответственно. Обратите внимание на то, что вы можете довольно успешно иметь два <code>index.html</code> файла в одном проекте, <span id="result_box" lang="ru"><span>пока они находятся в разных местах файловой системы.</span></span> Многие веб-сайты так делают. Второй <code>index.html</code><span id="result_box" lang="ru"><span>, возможно, будет главной лендинг-страницей для связанной с проектом информации.</span></span></p> <ul> <li> @@ -130,7 +130,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс </p></pre> </li> <li> - <p><strong>Перемещение обратно в родительские каталоги</strong>: Если вы хотите подключить ссылку внутри <code>projects/index.html</code>, указывающую на <code>pdfs/project-brief.pdf</code>, вам нужно будет подняться на уровень каталога, затем спустится в каталог <code>pdf</code>. "Поднятся вверх на уровень каталога" обозначается двумя точками — <code>..</code> — так, URL-адрес, который вы используете <code>../pdfs/project-brief.pdf</code>:</p> + <p><strong>Перемещение обратно в родительские каталоги</strong>: Если вы хотите подключить ссылку внутри <code>projects/index.html</code>, указывающую на <code>pdfs/project-brief.pdf</code>, вам нужно будет подняться на уровень каталога, затем спустится в каталог <code>pdf</code>. "Подняться вверх на уровень каталога" обозначается двумя точками — <code>..</code> — так, URL-адрес, который вы используете <code>../pdfs/project-brief.pdf</code>:</p> <pre class="brush: html notranslate"><p>Ссылка на <a href="../pdfs/project-brief.pdf">краткое описание моего проекта</a>. @@ -175,7 +175,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <dl> <dt><strong>Относительный URL</strong></dt> - <dd>Указывает расположение <em>относительно </em>файла, с которого вы связываетесь, это больше похоже на случай, который мы рассматривали в предыдущей секции. Для примера, если мы хотим указать со страницы <code>http://www.example.com/projects/index.html</code> на PDF файл, находящийся в той же директории, наш URL может быть просто названием файла — <code>project-brief.pdf</code> — никакой дополнительной информации не требуется. Если PDF расположен в поддериктории <code>pdfs</code> внутри каталога <code>projects</code>, относительная ссылка будет <code>pdfs/project-brief.pdf</code> (аналогичный абсолютный URL был бы <code>http://www.example.com/projects/pdfs/project-brief.pdf</code>.).</dd> + <dd>Указывает расположение <em>относительно </em>файла, с которого вы связываетесь, это больше похоже на случай, который мы рассматривали в предыдущей секции. Для примера, если мы хотим указать со страницы <code>http://www.example.com/projects/index.html</code> на PDF файл, находящийся в той же директории, наш URL может быть просто названием файла — <code>project-brief.pdf</code> — никакой дополнительной информации не требуется. Если PDF расположен в поддиректории <code>pdfs</code> внутри каталога <code>projects</code>, относительная ссылка будет <code>pdfs/project-brief.pdf</code> (аналогичный абсолютный URL был бы <code>http://www.example.com/projects/pdfs/project-brief.pdf</code>.).</dd> </dl> <p><em>Относительный URL</em> будет указывать на различные места, в зависимости от того, где находится файл, в котором он используется, — например, если мы переместим наш файл <code>index.html</code> из каталога <code>projects</code> в корневой каталог веб-сервера (верхний уровень, не в директорию) , то относительный URL <code>pdfs/project-brief.pdf</code> будет вести на <code>http://www.example.com/pdfs/project-brief.pdf</code>, а не на <code>http://www.example.com/projects/pdfs/project-brief.pdf</code>.</p> @@ -219,7 +219,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <ul> <li>Не пишите URL-адрес как часть текста ссылки. URL-адреса выглядят сложными, а звучат ещё сложнее, когда программы чтения с экрана читают их по буквам.</li> - <li>Не пишите «ссылка» или «ссылки на» в тексте ссылки — это лишнее. Программы чтения с экрана сами проговоаривают, что есть ссылка. На экране пользователи также видят, что есть ссылка, потому что ссылки, как правило, оформлены в другом цвете и подчеркнуты (подчёркивая ссылки, вы соблюдаете правила хорошего тона, поскольку пользователи привыкли к этому).</li> + <li>Не пишите «ссылка» или «ссылки на» в тексте ссылки — это лишнее. Программы чтения с экрана сами проговаривают, что есть ссылка. На экране пользователи также видят, что есть ссылка, потому что ссылки, как правило, оформлены в другом цвете и подчеркнуты (подчёркивая ссылки, вы соблюдаете правила хорошего тона, поскольку пользователи привыкли к этому).</li> <li>Следите за тем, чтобы текст ссылки был как можно короче. Длинный текст ссылки особенно раздражает пользователей программ чтения с экрана, которым придётся услышать всё, что написано.</li> <li>Минимизируйте случаи, когда несколько копий одного и того же текста ссылок указывает на разные страницы. Это может вызвать проблемы для пользователей программ чтения с экрана, которые часто вызывают список ссылок — несколько ссылок, помеченных как «нажмите здесь», «нажмите здесь», «нажмите здесь», будут путать.</li> </ul> @@ -235,7 +235,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <h3 id="Создавая_ссылки_на_не_HTML_ресурсы_—_добавляйте_описание">Создавая ссылки на не HTML ресурсы — добавляйте описание</h3> -<p>Когда вы создаёте ссылку на файл, нажав на который можно загрузить документ PDF или Word или открыть просмотр видео, прослушивание аудио файла или перейти на страницу с другим, неожиданным для пользователя результатом (всплывающее окно или загрузка Flash-фильма), добавляйте четкую формулировку, чтобы уменьшить путаницу. Отсуствие описания может раздражать пользователя. Приведем пример:</p> +<p>Когда вы создаёте ссылку на файл, нажав на который можно загрузить документ PDF или Word или открыть просмотр видео, прослушивание аудио файла или перейти на страницу с другим, неожиданным для пользователя результатом (всплывающее окно или загрузка Flash-фильма), добавляйте четкую формулировку, чтобы уменьшить путаницу. Отсутствие описания может раздражать пользователя. Приведем пример:</p> <ul> <li>Если вы используете соединение с низкой пропускной способностью и вдруг нажмёте на ссылку без описания, начнётся загрузка большого файла.</li> @@ -292,7 +292,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <p><img alt="An example of a simple HTML navigation menu, with home, pictures, projects, and social menu items" src="https://mdn.mozillademos.org/files/12411/navigation-example.png" style="display: block; margin: 0 auto;"></p> <div class="note"> -<p>Если не удается сделать, или вы неуверены, что сделали верно, посмотрите наш вариант <a href="https://github.com/mdn/learning-area/tree/master/html/introduction-to-html/navigation-menu-marked-up">navigation-menu-marked-up</a>.</p> +<p>Если не удается сделать, или вы не уверены, что сделали верно, посмотрите наш вариант <a href="https://github.com/mdn/learning-area/tree/master/html/introduction-to-html/navigation-menu-marked-up">navigation-menu-marked-up</a>.</p> </div> <h2 id="Ссылки_электронной_почты">Ссылки электронной почты</h2> @@ -304,7 +304,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Создание_гиперс <pre class="brush: html notranslate"><a href="mailto:nowhere@mozilla.org">Отправить письмо для nowhere</a> </pre> -<p>В результате полчим ссылку вида: <a href="mailto:nowhere@mozilla.org">Отправить письмо для nowhere</a>.</p> +<p>В результате получим ссылку вида: <a href="mailto:nowhere@mozilla.org">Отправить письмо для nowhere</a>.</p> <p>Сам адрес электронной почты не является обязательным для заполнения. Если оставить это поле пустым (в поле {{htmlattrxref("href", "a")}} оставить только "mailto:"), откроется новое исходящее сообщение почтовой программой, в поле получателя будет пусто. Это можно использовать для кнопки "Поделиться".</p> diff --git a/files/ru/learn/html/introduction_to_html/debugging_html/index.html b/files/ru/learn/html/introduction_to_html/debugging_html/index.html index a48d53d1c2..e80ec52b6d 100644 --- a/files/ru/learn/html/introduction_to_html/debugging_html/index.html +++ b/files/ru/learn/html/introduction_to_html/debugging_html/index.html @@ -24,7 +24,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Debugging_HTML </tr> <tr> <th scope="row">Чему вы научитесь:</th> - <td>Искать проблемы в HTML с помощю инструментов отладки.</td> + <td>Искать проблемы в HTML с помощью инструментов отладки.</td> </tr> </tbody> </table> @@ -33,7 +33,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Debugging_HTML <p>Во время написания какого-нибудь кода, обычно все идет хорошо, пока не появляется тот момент, когда вы совершаете ошибку. Итак, ваш код не работает, или работает не так, как вы задумывали. Если вы попытаетесь скомпилировать неработающую программу на языке <a href="https://www.rust-lang.org/">Rust</a>, компилятор укажет на ошибку:</p> -<p><img alt="A console window showing the result of trying to compile a rust program with a missing quote around a string in a print statement. The error message reported is error: unterminated double quote string." src="https://mdn.mozillademos.org/files/12435/error-message.png" style="display: block; height: 520px; margin: 0px auto; width: 711px;">В данном случае, сообщение об ошибке понять относительно просто — "unterminated double quote string". Если вы внимательно посмотрите на <code>println!(Hello, world!");</code> , то заметите, что здесь отсутсвует двойная кавычка. Разумеется, сообщения об ошибках могут становиться куда более сложными для понимания по мере роста вашего кода, и даже самые простые случаи могут показаться пугающими для тех, кто ничего не знает о Rust.</p> +<p><img alt="A console window showing the result of trying to compile a rust program with a missing quote around a string in a print statement. The error message reported is error: unterminated double quote string." src="https://mdn.mozillademos.org/files/12435/error-message.png" style="display: block; height: 520px; margin: 0px auto; width: 711px;">В данном случае, сообщение об ошибке понять относительно просто — "unterminated double quote string". Если вы внимательно посмотрите на <code>println!(Hello, world!");</code> , то заметите, что здесь отсутствует двойная кавычка. Разумеется, сообщения об ошибках могут становиться куда более сложными для понимания по мере роста вашего кода, и даже самые простые случаи могут показаться пугающими для тех, кто ничего не знает о Rust.</p> <p>Но не бойтесь отладки! Чтобы комфортно писать и отлаживать любой код, нужно понимать язык и его инструменты.</p> @@ -50,7 +50,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Debugging_HTML <li><strong>Логические ошибки (Logic errors)</strong>: Это ошибки, появляющиеся в том случае, если синтаксис корректен, но код не выполняет своего предназначения, то есть программа выполняется неверно. Такие исправлять сложнее, чем синтаксические, поскольку не выводится сообщений, указывающих место, где вы ошиблись.</li> </ul> -<p>HTML не страдает от синтаксических ошибок, потому что браузер читает код толерантно, в том смысле, что страницы могут отображаться даже если синтаксические ошибки присутсвуют. Браузеры имеют встроенные правила по интерпретации неверно написанной разметки, и вы можете запустить что-либо, даже если вы имели в виду другое. Это может стать настоящей проблемой!</p> +<p>HTML не страдает от синтаксических ошибок, потому что браузер читает код толерантно, в том смысле, что страницы могут отображаться даже если синтаксические ошибки присутствуют. Браузеры имеют встроенные правила по интерпретации неверно написанной разметки, и вы можете запустить что-либо, даже если вы имели в виду другое. Это может стать настоящей проблемой!</p> <div class="note"> <p><strong>На заметку</strong>: HTML читается толерантно, потому что когда веб только появился, было решено позволить людям публиковать контент даже при условии некорректностей в коде, так как это куда более важно, чем уверенность в абсолютно верном синтаксисе. Веб не был бы сейчас так популярен, если бы относился к новичкам строго.</p> @@ -86,7 +86,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Debugging_HTML <li>У {{htmlelement("p","параграфа")}} и {{htmlelement("li","элемента списка")}} не закрыты теги. На изображении выше видно, что разметка не пострадала, так как браузеру легко сделать вывод о том, где заканчивается один элемент и начинается другой.</li> <li>Первый {{htmlelement("strong")}} элемент также не имеет закрывающего тега. Это уже более проблематично, так как сложно сказать, где элемент должен заканчиваться. На деле, весь оставшийся текст был выделен жирным.</li> <li>Следующая часть нарушает правила вложенности: <code><strong>strong <em>strong emphasised?</strong> what is this?</em></code>. В этом случае код тоже сложно проинтерпретировать по причине, описанной выше.</li> - <li>В атрибуте {{htmlattrxref("href","a")}} отсутсвует закрывающая двойная кавычка. Это послужило причиной крупной проблемы — ссылка не воспроизвелась вовсе.</li> + <li>В атрибуте {{htmlattrxref("href","a")}} отсутствует закрывающая двойная кавычка. Это послужило причиной крупной проблемы — ссылка не воспроизвелась вовсе.</li> </ul> </li> <li>Сейчас же посмотрим, как браузер сгенерировал собственную разметку, в противовес исходной разметке документа. Чтобы сделать это, воспользуемся инструментами разработчика. Если вы не знакомы с инструментами разработчика, потратьте несколько минут на <a href="/en-US/docs/Learn/Discover_browser_developer_tools">Обзор инструментов разработки в браузерах</a>.</li> @@ -101,7 +101,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Debugging_HTML </strong> <em> what is this?</em></pre> </li> - <li>Ссылка с отсутсвующими двойными кавычками была удалена насовсем. Последний элемент списка будет выглядеть так: + <li>Ссылка с отсутствующими двойными кавычками была удалена насовсем. Последний элемент списка будет выглядеть так: <pre class="brush: html"><li> <strong>Unclosed attributes: Another common source of HTML problems. Let's look at an example: </strong> diff --git a/files/ru/learn/html/introduction_to_html/document_and_website_structure/index.html b/files/ru/learn/html/introduction_to_html/document_and_website_structure/index.html index 081d12edf3..7128fd4462 100644 --- a/files/ru/learn/html/introduction_to_html/document_and_website_structure/index.html +++ b/files/ru/learn/html/introduction_to_html/document_and_website_structure/index.html @@ -76,7 +76,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Структура_докум <h3 id="Активное_обучение_исследование_кода_для_нашего_примера">Активное обучение: исследование кода для нашего примера</h3> -<p>Наш пример, представленный выше, содержит следующий код (Вы также можете <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/document_and_website_structure/index.html">найти пример в нашем репозитории Github</a>). Мы хотели бы, чтобы Вы взгянули на приведенный выше пример, а затем просмотрели код ниже, чтобы узнать, из каких частей он состоит.</p> +<p>Наш пример, представленный выше, содержит следующий код (Вы также можете <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/document_and_website_structure/index.html">найти пример в нашем репозитории Github</a>). Мы хотели бы, чтобы Вы взглянули на приведенный выше пример, а затем просмотрели код ниже, чтобы узнать, из каких частей он состоит.</p> <pre class="brush: html notranslate"><!DOCTYPE html> <html> @@ -259,7 +259,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Структура_докум <h3 id="Самостоятельная_работа_создайте_свою_собственную_карту_сайта">Самостоятельная работа: создайте свою собственную карту сайта</h3> -<p>Приментие наш метод к своему сайту. О чем он будет?</p> +<p>Применить наш метод к своему сайту. О чем он будет?</p> <div class="note"> <p><strong>Примечание</strong>: Сохраните свой код, он Вам ещё понадобится.</p> @@ -267,7 +267,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Структура_докум <h2 id="Заключение">Заключение</h2> -<p><span class="tlid-translation translation">Вы стали лучше понимаеть, как структурировать веб-страницу или сайт. В последней статье этого модуля мы узнаем, как отлаживать HTML.</span></p> +<p><span class="tlid-translation translation">Вы стали лучше понимать, как структурировать веб-страницу или сайт. В последней статье этого модуля мы узнаем, как отлаживать HTML.</span></p> <h2 id="Дополнительные_материалы">Дополнительные материалы</h2> diff --git a/files/ru/learn/html/introduction_to_html/getting_started/index.html b/files/ru/learn/html/introduction_to_html/getting_started/index.html index 89f5077314..1a726362e6 100644 --- a/files/ru/learn/html/introduction_to_html/getting_started/index.html +++ b/files/ru/learn/html/introduction_to_html/getting_started/index.html @@ -4,7 +4,7 @@ slug: Learn/HTML/Introduction_to_HTML/Getting_started tags: - Guide - HTML - - Аттрибуты + - Атрибуты - Для начинающих - Комментарии - Пробелы @@ -283,7 +283,7 @@ textarea.onkeyup = function(){ <li><code>target</code>: Атрибут <code>target</code> определяет контекст просмотра, который будет использоваться для отображения ссылки. Например, <code>target="_blank"</code> отобразит ссылку на новой вкладке. Если вы хотите отобразить ссылку на текущей вкладке, просто опустите этот атрибут.</li> </ul> -<p>Измените строку текста ниже в поле <em>Ввод</em> так, чтобы она вела на ваш любимый вебсайт. Сначала добавьте элемент <code><a></code>затем атрибут <code>href</code> и атрибут <code>title</code>. Наконец, укажите атрибут <code>target</code> чтобы открыть ссылку на новой вкладке. Вы можете наблюдать сделанные изменения в реальном времени в поле <em>Вывод</em>. Вы должны увидеть гиперссылку, при наведении курсора на которую появляется содержимое атрибута <code>title</code>, а при щелчке переходит по адресу в атрибуте <code>href</code>. Помните, что между именем элемента и каждым из атрибутов должен быть пробел.</p> +<p>Измените строку текста ниже в поле <em>Ввод</em> так, чтобы она вела на ваш любимый веб-сайт. Сначала добавьте элемент <code><a></code>затем атрибут <code>href</code> и атрибут <code>title</code>. Наконец, укажите атрибут <code>target</code> чтобы открыть ссылку на новой вкладке. Вы можете наблюдать сделанные изменения в реальном времени в поле <em>Вывод</em>. Вы должны увидеть гиперссылку, при наведении курсора на которую появляется содержимое атрибута <code>title</code>, а при щелчке переходит по адресу в атрибуте <code>href</code>. Помните, что между именем элемента и каждым из атрибутов должен быть пробел.</p> <p>Если Вы ошиблись, то всегда можете начать снова, воспользовавшись кнопкой <em>Сбросить</em>. Если упражнение вызывает у Вас затруднения, то нажмите кнопку <em>Показать решение</em>, чтобы увидеть правильный ответ.</p> @@ -677,7 +677,7 @@ textarea.onkeyup = function(){ <p>В HTML символы <code><</code>, <code>></code>, <code>"</code>, <code>'</code> и <code>&</code> являются специальными. Они являются частью самого синтаксиса HTML. Так как же включить в текст один из этих специальных символов? Например, если вы хотите использовать амперсанд или знак «меньше» и не интерпретировать его как код.</p> -<p>Мы должны использовать ссылки-мнемоники — специальные коды, которые отображают спецсимволы, и могут быть использованы в необходимых позициях. Каждая ссылка-мнемоник начинается с ампресанда (&) и завершается точкой с запятой (;).</p> +<p>Мы должны использовать ссылки-мнемоники — специальные коды, которые отображают спецсимволы, и могут быть использованы в необходимых позициях. Каждая ссылка-мнемоник начинается с амперсанда (&) и завершается точкой с запятой (;).</p> <table class="standard-table"> <thead> @@ -736,13 +736,13 @@ textarea.onkeyup = function(){ <!-- <p>А теперь есть!</p> --></pre> -<p>Как вы увидете ниже, первый параграф будет отображён на экране, а второй нет.</p> +<p>Как вы увидите ниже, первый параграф будет отображён на экране, а второй нет.</p> <p>{{ EmbedLiveSample('HTML_comments', 700, 100, "", "", "hide-codepen-jsfiddle") }}</p> <h2 id="Подведение_итогов">Подведение итогов</h2> -<p>Вы дошли до конца статьи — надемся, вам понравилось путешествие по основам HTML. На этом этапе вы уже должны немного разобраться, как выглядит язык, как он работает на базовом уровне и уметь описать несколько элементов и атрибутов. Сейчас идеальное время и место, чтобы продолжить изучать HTML. В последующих статьях мы рассмотрим некоторые из вещей, которые вы уже рассмотрели, но намного подробнее, а также представим некоторые новые функции языка. Оставайтесь с нами!</p> +<p>Вы дошли до конца статьи — надеемся, вам понравилось путешествие по основам HTML. На этом этапе вы уже должны немного разобраться, как выглядит язык, как он работает на базовом уровне и уметь описать несколько элементов и атрибутов. Сейчас идеальное время и место, чтобы продолжить изучать HTML. В последующих статьях мы рассмотрим некоторые из вещей, которые вы уже рассмотрели, но намного подробнее, а также представим некоторые новые функции языка. Оставайтесь с нами!</p> <div class="note"> <p><strong>Примечание</strong>: Сейчас, когда вы начинаете больше узнавать о HTML, вы также можете начать изучать основы каскадных таблиц стилей Cascading Style Sheets, или <a href="/en-US/docs/Learn/CSS">CSS</a>. CSS — это язык, который используется для стилизации веб-страниц (например, изменение шрифта или цветов или изменение макета страницы). Как вы скоро поймете, HTML и CSS созданы друг для друга.</p> diff --git a/files/ru/learn/html/introduction_to_html/html_text_fundamentals/index.html b/files/ru/learn/html/introduction_to_html/html_text_fundamentals/index.html index 8ca79e314e..65704d6d4c 100644 --- a/files/ru/learn/html/introduction_to_html/html_text_fundamentals/index.html +++ b/files/ru/learn/html/introduction_to_html/html_text_fundamentals/index.html @@ -78,7 +78,7 @@ original_slug: Learn/HTML/Введение_в_HTML/HTML_text_fundamentals <p>Всё это действительно зависит от вас — что именно будут представлять собой элементы, пока существует иерархия. Вам просто нужно иметь в виду несколько хороших правил при создании таких структур.</p> <ul> - <li>Предпочтительнее использовать <code><h1></code> только один раз на странице — это заголовок самого верхнего уровня, и все остальные заголовки распологаются ниже его в иерархии.</li> + <li>Предпочтительнее использовать <code><h1></code> только один раз на странице — это заголовок самого верхнего уровня, и все остальные заголовки располагаются ниже его в иерархии.</li> <li>Убедитесь, что вы используете заголовки в правильном порядке в иерархии. Не используйте <code><h3></code> для создания подзаголовков при одновременном использовании <code><h2></code> для представления под-подзаголовков — это не имеет смысла и приведет к странным результатам.</li> <li><span id="result_box" lang="ru"><span>Из шести доступных уровней заголовка вы должны стремиться использовать не более трех на странице, если только вы не чувствуете, что это необходимо.</span></span> <span id="result_box" lang="ru"><span>Документы с большим количеством уровней (то есть с глубокой иерархией) становятся громоздкими и трудными для навигации.</span></span> <span id="result_box" lang="ru"><span>В таких случаях рекомендуется распределять контент по нескольким страницам, если это возможно.</span></span></li> </ul> @@ -238,7 +238,7 @@ textarea.onkeyup = function(){ <h3 id="Почему_мы_нуждаемся_в_семантике">Почему мы нуждаемся в семантике?</h3> -<p><span id="result_box" lang="ru"><span>Семантика проявляется всюду вокруг нас — мы полагаемся на опыт, который рассказывает нам, какова функция бытовых предметoв;</span> <span>когда мы что-то видим, мы знаем, какова его функция.</span> <span>Так, например, мы ожидаем, что красный свет на светофоре означает «стоп», а зеленый свет означает «идти».</span> <span>Жизнь станет очень сложной, если применяется неправильная семантика (какие-либо страны используют красный цвет для обозначения «идти»? Надеюсь, что нет.)</span></span></p> +<p><span id="result_box" lang="ru"><span>Семантика проявляется всюду вокруг нас — мы полагаемся на опыт, который рассказывает нам, какова функция бытовых предметов;</span> <span>когда мы что-то видим, мы знаем, какова его функция.</span> <span>Так, например, мы ожидаем, что красный свет на светофоре означает «стоп», а зеленый свет означает «идти».</span> <span>Жизнь станет очень сложной, если применяется неправильная семантика (какие-либо страны используют красный цвет для обозначения «идти»? Надеюсь, что нет.)</span></span></p> <p><span id="result_box" lang="ru"><span>В подобном ключе нам нужно убедиться, что мы используем правильные элементы, придавая нашему контенту правильное значение, функцию или внешний вид.</span> <span>В этом контексте элемент {{htmlelement ("h1")}} также является семантическим элементом, который даёт тексту, который он обёртывает, роль (или значение) «заголовка верхнего уровня на вашей странице».</span></span></p> @@ -725,7 +725,7 @@ textarea.onkeyup = function(){ <h3 id="Вложенные_списки">Вложенные списки</h3> -<p><span id="result_box" lang="ru"><span>Вполне нормально вложить один список в другой.</span> <span>Возможно, вы захотите, чтобы один список распологался внутри другого.</span> <span>Давайте возьмем второй список из нашего примера рецепта:</span></span></p> +<p><span id="result_box" lang="ru"><span>Вполне нормально вложить один список в другой.</span> <span>Возможно, вы захотите, чтобы один список располагался внутри другого.</span> <span>Давайте возьмем второй список из нашего примера рецепта:</span></span></p> <pre class="brush: html notranslate"><ol> <li>Очистите чеснок от кожуры и крупно нарежьте.</li> diff --git a/files/ru/learn/html/introduction_to_html/index.html b/files/ru/learn/html/introduction_to_html/index.html index a90af38b71..c914c8ff27 100644 --- a/files/ru/learn/html/introduction_to_html/index.html +++ b/files/ru/learn/html/introduction_to_html/index.html @@ -22,7 +22,7 @@ original_slug: Learn/HTML/Введение_в_HTML <h2 id="Необходимые_условия">Необходимые условия</h2> -<p>Чтобы начать изучение этого модуля, вам не нужны никакие знания HTML, но вы должны иметь хотя бы базовые навыки обращения с компьютером и навыки пассивного использования Веба (т.е просто смотря на него, потребляя контент). У вас должна быть базовая рабочая среда, описанная в разделе <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">Установка базового програмного обеспечения</a>), а также понимание, как создавать и управлять файлами, что подробно описано в статье <a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/Dealing_with_files">Работа с файлами</a> — обе статьи являются частью нашего модуля <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web">Начало работы с сетью</a>.</p> +<p>Чтобы начать изучение этого модуля, вам не нужны никакие знания HTML, но вы должны иметь хотя бы базовые навыки обращения с компьютером и навыки пассивного использования Веба (т.е просто смотря на него, потребляя контент). У вас должна быть базовая рабочая среда, описанная в разделе <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F">Установка базового программного обеспечения</a>), а также понимание, как создавать и управлять файлами, что подробно описано в статье <a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/Dealing_with_files">Работа с файлами</a> — обе статьи являются частью нашего модуля <a href="https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web">Начало работы с сетью</a>.</p> <div class="note"> <p><strong>Примечание</strong>: если вы работаете на компьютере/планшете/другом устройстве, с отсутствием возможности создания собственных файлов, вы можете испробовать примеры кода (большинство) в онлайн-редакторах кода, таких как <a href="http://jsbin.com/">JSBin</a> или <a href="https://thimble.mozilla.org/">Thimble.</a></p> @@ -38,7 +38,7 @@ original_slug: Learn/HTML/Введение_в_HTML <dt><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/The_head_metadata_in_HTML">Что такое заголовок? Метаданные в HTML</a></dt> <dd>Заголовок HTML — это часть документа, которая <strong>не отображается</strong> в браузере при загрузке страницы. Он содержит информацию, такую как: страница {{htmlelement("title")}}, ссылки на {{glossary("CSS")}} (если вы хотите стилизовать свой HTML при помощи CSS), ссылки на пользовательские значки и метаданные (которые представляют собой данные о HTML, например, кто его написал или важные ключевые слова, которые описывают документ).</dd> <dt><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/HTML_text_fundamentals">Основы редактирования текста в HTML</a></dt> - <dd>Основной задачей HTML является придание тексту значения <strong>(</strong>также известно, как <strong>семантика</strong>), чтобы браузер знал, как его правильно отображать. В этой статье расматривается то, как использовать HTML, чтобы разбить блок текста на структуру из заголовков и абзацев, добавить акцент/значение слов, создать списки и многое другое.</dd> + <dd>Основной задачей HTML является придание тексту значения <strong>(</strong>также известно, как <strong>семантика</strong>), чтобы браузер знал, как его правильно отображать. В этой статье рассматривается то, как использовать HTML, чтобы разбить блок текста на структуру из заголовков и абзацев, добавить акцент/значение слов, создать списки и многое другое.</dd> <dt><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA">Создание гиперссылок</a></dt> <dd>Гиперссылки очень важны — ведь именно они делают интернет интернетом. В этой статье описан синтаксис, необходимый для создания ссылок, а также описано их наилучшее применение на практике.</dd> <dt><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/Advanced_text_formatting">Углубленное форматирование текста</a></dt> @@ -55,7 +55,7 @@ original_slug: Learn/HTML/Введение_в_HTML <dl> <dt><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/Marking_up_a_letter">Разметка письма</a></dt> - <dd>Все мы рано или поздно учимся писать письма; также это полезеный тест, для проверки ваших навыков форматирования текста! Поэтому, в этом задании вам будет предоставлено письмо для разметки.</dd> + <dd>Все мы рано или поздно учимся писать письма; также это полезный тест, для проверки ваших навыков форматирования текста! Поэтому, в этом задании вам будет предоставлено письмо для разметки.</dd> <dt><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/Structuring_a_page_of_content">Структурируем страницу</a></dt> <dd>Этот тест проверит вашу способность использовать HTML для структурирования простой страницы, которая содержит шапку ("хедер") , нижний колонтитул ("футер"), меню навигации, основное содержимое и боковую панель.</dd> </dl> @@ -64,5 +64,5 @@ original_slug: Learn/HTML/Введение_в_HTML <dl> <dt><a href="https://teach.mozilla.org/activities/web-lit-basics/">Основы интернет-грамотности</a></dt> - <dd>Отличный фундаментальный курс Mozilla, который дает множество тестов, проверяющих знания, о которых мы говорили в модуле <em>Введение в HTML. </em>Учащиееся знакомятся с чтением, письмом и использованием сети в модуле из 6 частей. Откройте для себя основы Интернета через производство и сотрудничество.</dd> + <dd>Отличный фундаментальный курс Mozilla, который дает множество тестов, проверяющих знания, о которых мы говорили в модуле <em>Введение в HTML. </em>Учащиеся знакомятся с чтением, письмом и использованием сети в модуле из 6 частей. Откройте для себя основы Интернета через производство и сотрудничество.</dd> </dl> diff --git a/files/ru/learn/html/introduction_to_html/marking_up_a_letter/index.html b/files/ru/learn/html/introduction_to_html/marking_up_a_letter/index.html index cb0956fa0b..4638bb8c24 100644 --- a/files/ru/learn/html/introduction_to_html/marking_up_a_letter/index.html +++ b/files/ru/learn/html/introduction_to_html/marking_up_a_letter/index.html @@ -31,7 +31,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Marking_up_a_letter <h2 id="Отправная_точка">Отправная точка</h2> -<p>Для начала задания, вы должны <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/marking-up-a-letter-start/letter-text.txt">скачать текст</a>, который вам надо отформатировать, и <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/marking-up-a-letter-start/css.txt">CSS стиль</a>, который вы должны подключить к вашему HTML. Создайте .html файл используюя текстовый редактор, которым вы пользуетесь (или воспользуйтесь онлайн редактороми, таким как <a class="external external-icon" href="http://jsbin.com/">JSBin</a> или <a class="external external-icon" href="https://thimble.mozilla.org/">Thimble</a>).</p> +<p>Для начала задания, вы должны <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/marking-up-a-letter-start/letter-text.txt">скачать текст</a>, который вам надо отформатировать, и <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/marking-up-a-letter-start/css.txt">CSS стиль</a>, который вы должны подключить к вашему HTML. Создайте .html файл используя текстовый редактор, которым вы пользуетесь (или воспользуйтесь онлайн редакторами, таким как <a class="external external-icon" href="http://jsbin.com/">JSBin</a> или <a class="external external-icon" href="https://thimble.mozilla.org/">Thimble</a>).</p> <h2 id="Описание_проекта">Описание проекта</h2> @@ -42,7 +42,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Marking_up_a_letter <ul> <li>Вы должны корректно структурировать весь документ, включив в него элементы doctype, и {{htmlelement("html")}}, {{htmlelement("head")}} и {{htmlelement("body")}}.</li> <li>Письмо в целом должно быть размечено используя параграфы и заголовки, за исключением следующих пунктов - один заголовок верхнего уровня (начинается на "Re:") и три заголовка второго уровня.</li> - <li>Даты начала семестра, изучения предметов и экзотических танцев должны быть помечены используя соответсвующие типы списков.</li> + <li>Даты начала семестра, изучения предметов и экзотических танцев должны быть помечены используя соответствующие типы списков.</li> <li>Два адреса должны быть помещены внутри элементов {{htmlelement("address")}}. Каждая строка адреса должна находиться на новой строке, но не быть новым параграфом.</li> </ul> @@ -51,7 +51,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Marking_up_a_letter <ul> <li>Имена отправителя и получателя (как и "Tel" и "Email") должны быть выделены жирным.</li> <li>Четырем датам в документе необходимо выбрать правильные элементы содержащие машинно-читаемые даты.</li> - <li>Первый адрес и первая дата в письме должны иметь аттрибут <code>class</code> со значением <code>"sender-column"</code>; CSS стиль, который вы добавите позже, позволит выравнять по правому боку, как оно и должно быть в классической разметке письма.</li> + <li>Первый адрес и первая дата в письме должны иметь атрибут <code>class</code> со значением <code>"sender-column"</code>; CSS стиль, который вы добавите позже, позволит выравнять по правому боку, как оно и должно быть в классической разметке письма.</li> <li>Пять акронимов/аббревиатур в главном тексте письма должны быть размечены, чтобы предоставить подсказки для каждого акронима/аббревиатуры.</li> <li>Шесть под/надстрочных элементов должны быть оформлены корректно в химической формуле, как и числа 10<sup>3</sup> и 10<sup>4 </sup>(степень числа должна быть над числом).</li> <li>Для разметки символов градуса и умножения воспользуйтесь <a href="https://ru.wikipedia.org/wiki/Мнемоники_в_HTML">справкой</a>.</li> diff --git a/files/ru/learn/html/introduction_to_html/structuring_a_page_of_content/index.html b/files/ru/learn/html/introduction_to_html/structuring_a_page_of_content/index.html index 0dd009c3bc..3f0fe71917 100644 --- a/files/ru/learn/html/introduction_to_html/structuring_a_page_of_content/index.html +++ b/files/ru/learn/html/introduction_to_html/structuring_a_page_of_content/index.html @@ -16,7 +16,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Structuring_a_page_of_content <tbody> <tr> <th scope="row">Что нужно знать:</th> - <td>Вам пондобятся навыки из всего курса. Особое внимание уделите разделу <a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0_%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0">Структура документа и веб-сайта</a>.</td> + <td>Вам понадобятся навыки из всего курса. Особое внимание уделите разделу <a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0_%D0%B8_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B0%D0%B9%D1%82%D0%B0">Структура документа и веб-сайта</a>.</td> </tr> <tr> <th scope="row">Цель:</th> @@ -29,7 +29,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Structuring_a_page_of_content <h2 id="Отправная_точка">Отправная точка</h2> -<p>Чтобы начать это, вы должны перейти и скачать <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/structuring-a-page-of-content-start/assets.zip?raw=true">архив содержаший все начальные активы</a>. Архив содержит:</p> +<p>Чтобы начать это, вы должны перейти и скачать <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/structuring-a-page-of-content-start/assets.zip?raw=true">архив содержащий все начальные активы</a>. Архив содержит:</p> <ul> <li>HTML, где вам нужно добавить структурную разметку.</li> @@ -52,7 +52,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Structuring_a_page_of_content <p>Вам необходимо добавить подходящую обертку для:</p> <ul> - <li>Заголовока</li> + <li>Заголовка</li> <li>Меню навигации</li> <li>Основного содержимого</li> <li>Приветственного текста</li> diff --git a/files/ru/learn/html/introduction_to_html/the_head_metadata_in_html/index.html b/files/ru/learn/html/introduction_to_html/the_head_metadata_in_html/index.html index 8cf9b3907d..6c762e94ac 100644 --- a/files/ru/learn/html/introduction_to_html/the_head_metadata_in_html/index.html +++ b/files/ru/learn/html/introduction_to_html/the_head_metadata_in_html/index.html @@ -71,7 +71,7 @@ original_slug: Learn/HTML/Введение_в_HTML/The_head_metadata_in_HTML <h2 id="Название_страницы_title">Название страницы (title)</h2> -<p>Мы уже видели, как работает элемент {{htmlelement("title")}}: его используют для добавления заголовка (названия страницы) в документ. Элемент {{htmlelement("h1")}} тоже иногда назвают заголовком страницы. Но это разные вещи!</p> +<p>Мы уже видели, как работает элемент {{htmlelement("title")}}: его используют для добавления заголовка (названия страницы) в документ. Элемент {{htmlelement("h1")}} тоже иногда называют заголовком страницы. Но это разные вещи!</p> <ul> <li>Элемент {{htmlelement("h1")}} виден на странице, открытой в браузере, — его используют <strong>один раз на странице</strong>, чтобы выделить название содержимого. Это может быть название истории, заголовок новости или что-то в этом роде.</li> @@ -110,7 +110,7 @@ original_slug: Learn/HTML/Введение_в_HTML/The_head_metadata_in_HTML <pre class="brush: html notranslate"><meta charset="utf-8"></pre> -<p>В этом элементе указана кодировка документа — набор символов, которые в нём можно использовать . <code>utf-8</code> — универсальный набор символов, который включает почти все символы со всех языков человечества. Такая веб-страница сможет работать с любым языком. Установить эту кодировку на всех веб-страницов, которые вы создаёте — отличная идея! Страница в такой кодировке прекрасно отображает как английские, так и японские символы:</p> +<p>В этом элементе указана кодировка документа — набор символов, которые в нём можно использовать . <code>utf-8</code> — универсальный набор символов, который включает почти все символы со всех языков человечества. Такая веб-страница сможет работать с любым языком. Установить эту кодировку на всех веб-странице, которые вы создаёте — отличная идея! Страница в такой кодировке прекрасно отображает как английские, так и японские символы:</p> <p><img alt="a web page containing English and Japanese characters, with the character encoding set to universal, or utf-8. Both languages display fine," src="https://mdn.mozillademos.org/files/12343/correct-encoding.png" style="display: block; margin: 0 auto;">Если использовать, скажем, кодировку <code>ISO-8859-1</code> (набор символов для латиницы), текст страницы испортится:</p> @@ -176,7 +176,7 @@ original_slug: Learn/HTML/Введение_в_HTML/The_head_metadata_in_HTML <p>В сети вы найдете также другие типы метаданных. Многие из них — это собственные форматы, созданные для предоставления определенным сайтам (например, социальных сетей) специальной информации, которую они могут использовать.</p> -<p>Например, <a href="https://ruogp.me/">Протокол Open Graph</a> создан Facebook чтобы предоставить сайтам дополнительные возможности использования метеданных. В исходном коде MDN Web Docs вы можете найти строки:</p> +<p>Например, <a href="https://ruogp.me/">Протокол Open Graph</a> создан Facebook чтобы предоставить сайтам дополнительные возможности использования метаданных. В исходном коде MDN Web Docs вы можете найти строки:</p> <pre class="brush: html notranslate"><meta property="og:image" content="https://wiki.developer.mozilla.org/static/img/opengraph-logo.72382e605ce3.png"> <meta property="og:description" content="Веб-документация на MDN предоставляет @@ -185,7 +185,7 @@ original_slug: Learn/HTML/Введение_в_HTML/The_head_metadata_in_HTML продуктах Mozilla, как Инструменты разработчика Firefox."> <meta property="og:title" content="MDN Web Docs"></pre> -<p>Один из результатов добавления этих метеданных в том, что когда вы добавите ссылку MDN Web Docs на facebook, она отобразится с изображением и описанием, улучшая опыт взаимодействия <em><a href="https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%8B%D1%82_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F">(User eXperience, UX</a>)</em>.</p> +<p>Один из результатов добавления этих метаданных в том, что когда вы добавите ссылку MDN Web Docs на facebook, она отобразится с изображением и описанием, улучшая опыт взаимодействия <em><a href="https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%8B%D1%82_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F">(User eXperience, UX</a>)</em>.</p> <p><img alt="Open graph protocol data from the MDN homepage as displayed on facebook, showing an image, title, and description." src="https://mdn.mozillademos.org/files/12349/facebook-output.png" style="display: block; margin: 0 auto;">У Twitter также есть собственный формат метаданных, с помощью которого создается аналогичный эффект, при отображении URL сайта на twitter.com:</p> @@ -225,7 +225,7 @@ original_slug: Learn/HTML/Введение_в_HTML/The_head_metadata_in_HTML <h2 id="Подключение_CSS_и_JavaScript">Подключение CSS и JavaScript</h2> -<p>Современные сайты используют {{glossary("CSS")}}, чтобы выглядеть привлекательнее, и добавляют интерактивные функции через {{glossary("JavaScript")}}: видеоплееры, карты, игры. Обычно связянные стили добавляют на страницу через элемент {{htmlelement("link")}}, а скрипты — через элемент {{htmlelement("script")}} .</p> +<p>Современные сайты используют {{glossary("CSS")}}, чтобы выглядеть привлекательнее, и добавляют интерактивные функции через {{glossary("JavaScript")}}: видеоплееры, карты, игры. Обычно связанные стили добавляют на страницу через элемент {{htmlelement("link")}}, а скрипты — через элемент {{htmlelement("script")}} .</p> <ul> <li> diff --git a/files/ru/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html b/files/ru/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html index 9e6eb3707e..3d241796d9 100644 --- a/files/ru/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html +++ b/files/ru/learn/html/multimedia_and_embedding/adding_vector_graphics_to_the_web/index.html @@ -20,7 +20,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Добавление_r_graphi </tr> <tr> <th scope="row">Цель:</th> - <td>Изучить как встроить SVG (векторное) изображение на вебстраницу.</td> + <td>Изучить как встроить SVG (векторное) изображение на веб-страницу.</td> </tr> </tbody> </table> @@ -47,14 +47,14 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Добавление_r_graphi <p><img alt="Two star images zoomed in, one crisp and the other blurry" src="https://mdn.mozillademos.org/files/12868/raster-vector-zoomed.png" style="display: block; height: 328px; margin: 0px auto; width: 677px;"></p> <div class="note"> -<p><strong>Примечание</strong>: Оба изображения сверху имеют формат PNG — слева показано растровое изображение, справа условно показано векторное изображение. Напоминаем, что пример с реальными растровым и веркторным изображениями находится по ссылке: <a href="http://mdn.github.io/learning-area/html/multimedia-and-embedding/adding-vector-graphics-to-the-web/vector-versus-raster.html">vector-versus-raster.html</a> !</p> +<p><strong>Примечание</strong>: Оба изображения сверху имеют формат PNG — слева показано растровое изображение, справа условно показано векторное изображение. Напоминаем, что пример с реальными растровым и векторными изображениями находится по ссылке: <a href="http://mdn.github.io/learning-area/html/multimedia-and-embedding/adding-vector-graphics-to-the-web/vector-versus-raster.html">vector-versus-raster.html</a> !</p> </div> <p>Более того, файлы векторных изображений намного меньше растровых, т.к. в них содержится алгоритмы построения вместо информации о каждом пикселе.</p> <h2 id="Что_такое_SVG">Что такое SVG?</h2> -<p><a href="https://developer.mozilla.org/en-US/docs/Web/SVG">SVG</a> это язык на базе {{glossary("XML")}} для описания векторных изображений. По сути это язык разметки, как и HTML, только содержащий множество различных элементов для определения фигур вашего изображения, а также параметров их отображения. SVG предназначен для разметки графики, а не содержимого. В простейшем случае, Вы можете использовать элементы для создания простых фигур, таких как {{svgelement("circle")}}(круг) и {{svgelement("rect")}}(прямоугольник). Более сложные SVG элементы включают {{svgelement("feColorMatrix")}} (разложение цвета с использованием матрицы), {{svgelement("animate")}} (анимация частей Вашего векторного изображения) и {{svgelement("mask")}} (примение маски к изображению.)</p> +<p><a href="https://developer.mozilla.org/en-US/docs/Web/SVG">SVG</a> это язык на базе {{glossary("XML")}} для описания векторных изображений. По сути это язык разметки, как и HTML, только содержащий множество различных элементов для определения фигур вашего изображения, а также параметров их отображения. SVG предназначен для разметки графики, а не содержимого. В простейшем случае, Вы можете использовать элементы для создания простых фигур, таких как {{svgelement("circle")}}(круг) и {{svgelement("rect")}}(прямоугольник). Более сложные SVG элементы включают {{svgelement("feColorMatrix")}} (разложение цвета с использованием матрицы), {{svgelement("animate")}} (анимация частей Вашего векторного изображения) и {{svgelement("mask")}} (применение маски к изображению.)</p> <p>В качестве простого примера, следующий код создает круг и прямоугольник:</p> @@ -134,7 +134,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Добавление_r_graphi background<code>-image: url("image.svg"); background-size: contain;</code></pre> -<p>Подобно методу <code><img></code>, описанному выше, вставка SVG с использлованием фоновых изображений CSS означает, что SVG нельзя манипулировать при помощи JavaScript, и что SVG будет иметь те же ограничения, что и CSS.</p> +<p>Подобно методу <code><img></code>, описанному выше, вставка SVG с использованием фоновых изображений CSS означает, что SVG нельзя манипулировать при помощи JavaScript, и что SVG будет иметь те же ограничения, что и CSS.</p> <p>Если ваши SVG не отображаются вовсе, возможно, ваш сервер не настроен должным образом. Если проблема в этом, то <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Getting_Started#A_Word_on_Webservers">данная статья укажет вам верное направление</a>.</p> @@ -189,7 +189,7 @@ background-size: contain;</code></pre> <h2 id="Активное_изучение_поиграйте_с_SVG">Активное изучение: поиграйте с SVG</h2> -<p>В этом разделе ативного изучения мы бы хотели, чтобы вы просто попробовали поиграть с SVG. Ниже, в областе <em>Input,</em> вы увидите, что мы уже предоставили некий пример для того, чтобы вы начали. А еще вы можете посетить <a href="/en-US/docs/Web/SVG/Element">SVG Element Reference</a>, чтобы узнать больше деталей о других игрушках, которые могут быть использованы в SVG, и тоже попробовать их. Этот раздел полностью посвящен практике ваших исследовательских навыков и вашему развлечению.</p> +<p>В этом разделе активного изучения мы бы хотели, чтобы вы просто попробовали поиграть с SVG. Ниже, в области <em>Input,</em> вы увидите, что мы уже предоставили некий пример для того, чтобы вы начали. А еще вы можете посетить <a href="/en-US/docs/Web/SVG/Element">SVG Element Reference</a>, чтобы узнать больше деталей о других игрушках, которые могут быть использованы в SVG, и тоже попробовать их. Этот раздел полностью посвящен практике ваших исследовательских навыков и вашему развлечению.</p> <p>Если Вы где-то застряли и ваш код не работает, Вы всегда можете начать сначала, нажав кнопку <em>Reset</em>.</p> diff --git a/files/ru/learn/html/multimedia_and_embedding/images_in_html/index.html b/files/ru/learn/html/multimedia_and_embedding/images_in_html/index.html index 3bf7b57393..3dc16ecfd2 100644 --- a/files/ru/learn/html/multimedia_and_embedding/images_in_html/index.html +++ b/files/ru/learn/html/multimedia_and_embedding/images_in_html/index.html @@ -28,7 +28,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Изображения_в_HTM <p>Чтобы разместить изображение на странице, нужно использовать тег {{htmlelement("img")}}. Это пустой элемент (имеется ввиду, что не содержит текста и закрывающего тега), который требует минимум один атрибут для использования — <code>src</code> (произносится <em>эс-ар-си</em>, иногда говорят его полное название, <em>source</em>). Атрибут <code>src</code> содержит путь к изображению, которое вы хотите встроить в страницу, и может быть относительным или абсолютным URL, точно так же, как значения атрибута <code>href</code> для элемента {{htmlelement("a")}}.</p> <div class="note"> -<p><strong>Примечание</strong>: Перед тем как продолжить, вам стоит вспомнить про <a href="/ru/docs/Learn/HTML/Введение_в_HTML/Создание_гиперссылок#Абсолютные_и_относительные_URL-адреса">типы адресов URL</a>, чтобы обновить в памяти про относительные и абсолютные адресса.</p> +<p><strong>Примечание</strong>: Перед тем как продолжить, вам стоит вспомнить про <a href="/ru/docs/Learn/HTML/Введение_в_HTML/Создание_гиперссылок#Абсолютные_и_относительные_URL-адреса">типы адресов URL</a>, чтобы обновить в памяти про относительные и абсолютные адреса.</p> </div> <p>Например, если ваше изображение называется <code>dinosaur.jpg</code>, и оно находится в той же директории что и ваша HTML страница, вы можете встроить это изображение как:</p> @@ -49,10 +49,10 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Изображения_в_HTM <pre class="brush: html notranslate"><img src="https://www.example.com/images/dinosaur.jpg"></pre> -<p>Но это бесмыссленно, так как он просто заставляет браузер делать больше работы, запрашивая каждый раз IP-адрес от DNS-сервера. Вы почти всегда будете держать свои изображения для сайта на том же сервере, что и ваш HTML.</p> +<p>Но это бессмысленно, так как он просто заставляет браузер делать больше работы, запрашивая каждый раз IP-адрес от DNS-сервера. Вы почти всегда будете держать свои изображения для сайта на том же сервере, что и ваш HTML.</p> <div class="warning"> -<p><strong>Внимание:</strong> Большиство изображений защищены. Не отображайте изображения на вашем сайте пока:</p> +<p><strong>Внимание:</strong> Большинство изображений защищены. Не отображайте изображения на вашем сайте пока:</p> <ul> <li>вы не будете владеть изображением</li> @@ -112,7 +112,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Изображения_в_HTM <h3 id="Ширина_и_высота">Ширина и высота</h3> -<p>Вы можете использовать атрибуты <code>width</code> и <code>height</code>, чтобы указать ширину и высоту вашего изображения. Ширину и высоту вашего избражение можете найти различными способами. Например, на Mac можно использовать <kbd>Cmd</kbd> + <kbd>I</kbd> чтобы получить информацию по изображению. Повторяя наш пример, мы можем сделать так:</p> +<p>Вы можете использовать атрибуты <code>width</code> и <code>height</code>, чтобы указать ширину и высоту вашего изображения. Ширину и высоту вашего изображение можете найти различными способами. Например, на Mac можно использовать <kbd>Cmd</kbd> + <kbd>I</kbd> чтобы получить информацию по изображению. Повторяя наш пример, мы можем сделать так:</p> <pre class="brush: html notranslate"><img src="images/dinosaur.jpg" alt="The head and torso of a dinosaur skeleton; @@ -126,7 +126,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/Изображения_в_HTM <p>Это хорошая практика, в результате страница загрузится быстрее и более гладко.</p> -<p>Однако, вы не должны изменять размеры ваших изображений используя HTML аттрибуты. Если вы установите размер изображения слишком большим, то в конечном итоге вы сталкнётесь с изображениями, которые выглядят зернистыми, размытыми или слишком маленькими, и потратите трафик для загрузки изображения, которое не будет соответствовать нуждам пользователя. Конечное изображение может также выглядеть искажённым, если вы не сохраните правильное <a href="https://en.wikipedia.org/wiki/Aspect_ratio_(image)">соотношение сторон</a>. Рекомендуется использовать графический редактор для подгонки изображения к нужному размеру, перед вставкой его на вашу вэб-страницу.</p> +<p>Однако, вы не должны изменять размеры ваших изображений используя HTML атрибуты. Если вы установите размер изображения слишком большим, то в конечном итоге вы столкнетесь с изображениями, которые выглядят зернистыми, размытыми или слишком маленькими, и потратите трафик для загрузки изображения, которое не будет соответствовать нуждам пользователя. Конечное изображение может также выглядеть искажённым, если вы не сохраните правильное <a href="https://en.wikipedia.org/wiki/Aspect_ratio_(image)">соотношение сторон</a>. Рекомендуется использовать графический редактор для подгонки изображения к нужному размеру, перед вставкой его на вашу веб-страницу.</p> <div class="note"> <p><strong>Примечание</strong>: Если вам действительно нужно изменить размер изображения, вы должны использовать вместо этого <a href="/ru/docs/Learn/CSS">CSS</a>.</p> diff --git a/files/ru/learn/html/multimedia_and_embedding/mozilla_splash_page/index.html b/files/ru/learn/html/multimedia_and_embedding/mozilla_splash_page/index.html index d3233346a2..8cbd9191df 100644 --- a/files/ru/learn/html/multimedia_and_embedding/mozilla_splash_page/index.html +++ b/files/ru/learn/html/multimedia_and_embedding/mozilla_splash_page/index.html @@ -35,7 +35,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/заставка_Mozilla <h2 id="Описание_проекта">Описание проекта</h2> -<p>В этом задании мы представляем вам почти законченый сайт-визитку Mozilla, цель которого - рассказать что-нибудь интересное о принципах Mozilla и предоставить несколько ссылок для углубленного ознакомления. К сожалению, изображения или видео не добавлены - это ваша работа! Вам нужно добавить несколько медиа-файлов для того, чтобы страница смотрелась лучше и имела больше смысла. В следующих подразделах подробно объяснено, что вам требуется сделать:</p> +<p>В этом задании мы представляем вам почти законченный сайт-визитку Mozilla, цель которого - рассказать что-нибудь интересное о принципах Mozilla и предоставить несколько ссылок для углубленного ознакомления. К сожалению, изображения или видео не добавлены - это ваша работа! Вам нужно добавить несколько медиа-файлов для того, чтобы страница смотрелась лучше и имела больше смысла. В следующих подразделах подробно объяснено, что вам требуется сделать:</p> <h3 id="Подготовка_изображений">Подготовка изображений</h3> @@ -51,7 +51,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/заставка_Mozilla <p>Вместе с <code>mdn.svg</code>, эти изображения будут иконками для ссылок на другие ресурсы внутри секции <code>further-info</code>. Вы также дадите ссылку на логотип Firefox в шапке сайта. Сохраните все копии внутри той же папки, что и <code>index.html</code>.</p> -<p>Затем создайте фоновую версию <code>red-panda.jpg </code>шириной 1200px и портретную версию шириной 600px, которая показывает панду более крупным планом. Снова назовите их разумно, чтобы легко распозновать их. Сохраните обе копии внутри той же папки, что и <code>index.html</code>.</p> +<p>Затем создайте фоновую версию <code>red-panda.jpg </code>шириной 1200px и портретную версию шириной 600px, которая показывает панду более крупным планом. Снова назовите их разумно, чтобы легко распознавать их. Сохраните обе копии внутри той же папки, что и <code>index.html</code>.</p> <div class="note"> <p><strong>Note</strong>: Следует обрабатывать JPG и PNG изображения, чтобы делать их как можно меньше по весу, при сохранении хорошего вида. <a href="https://tinypng.com/">tinypng.com</a> - отличный сервис для этого.</p> @@ -65,7 +65,7 @@ original_slug: Learn/HTML/Multimedia_and_embedding/заставка_Mozilla <p>Внутри элемента {{htmlelement("article")}} (сразу после открывающего тэга), вставьте ролик с YouTube по ссылке <a href="https://www.youtube.com/watch?v=ojcNcvb1olg">https://www.youtube.com/watch?v=ojcNcvb1olg</a>, используя подходящие инструменты YouTube для генерации кода. Видео должно быть 400px в ширину.</p> -<h3 id="Добавление_отзывчивых_изображений_к_ссылкам_с_доп._информацей">Добавление отзывчивых изображений к ссылкам с доп. информацей</h3> +<h3 id="Добавление_отзывчивых_изображений_к_ссылкам_с_доп._информацией">Добавление отзывчивых изображений к ссылкам с доп. информацией</h3> <p>Внутри {{htmlelement("div")}} с классом <code>further-info</code> вы найдёте четыре элемента {{htmlelement("a")}} — каждый из которых ссылается на интересную страницу, связанную с Mozilla. Для завершения этой секции вам необходимо поместить элемент {{htmlelement("img")}} внутрь каждого элемента {{htmlelement("a")}} дополнив подходящими атрибутами {{htmlattrxref("src", "img")}}, {{htmlattrxref("alt", "img")}}, {{htmlattrxref("srcset", "img")}} и {{htmlattrxref("sizes", "img")}}.</p> diff --git a/files/ru/learn/html/multimedia_and_embedding/other_embedding_technologies/index.html b/files/ru/learn/html/multimedia_and_embedding/other_embedding_technologies/index.html index 7ad838ef1b..7d32a65685 100644 --- a/files/ru/learn/html/multimedia_and_embedding/other_embedding_technologies/index.html +++ b/files/ru/learn/html/multimedia_and_embedding/other_embedding_technologies/index.html @@ -355,7 +355,7 @@ textarea.onkeyup = function(){ <h2 id="Заключение">Заключение</h2> -<p>Тема встраивания другого контента в веб-документы поначалу может показаться очень сложной для понимания, поэтому в этой статье мы попытались представить ее простым, знакомым способом, который сразу же станет актуальным, но все же намекает на некоторые из более сложных функций вовлеченных технологий. Начнем с того, что вы вряд ли будете использовать большое количество встраиваний стороннего контента, помимо встроенных карт и видео на своих страницах.</p> +<p>Тема встраивания другого контента в веб-документы поначалу может показаться очень сложной для понимания, поэтому в этой статье мы попытались представить ее простым, знакомым способом, который сразу же станет актуальным, но все же намекает на некоторые из более сложных функций вовлеченных технологий. Начнем с того, что вы вряд ли будете использовать большое количество встраивании стороннего контента, помимо встроенных карт и видео на своих страницах.</p> <p>Существует много других технологий, которые включают в себя внедрение внешнего контента, помимо тех, которые мы обсуждали здесь. Мы видели некоторые из ранних статей, например {{htmlelement ("video")}}, {{htmlelement ("audio")}} и {{htmlelement ("img")}}, но есть и другие. Например, {{htmlelement ("canvas")}} для 2D-и 3D-графики, сгенерированной JavaScript, и {{SVGElement ("svg")}} для встраивания векторной графики. Мы рассмотрим SVG в следующей статье модуля.</p> diff --git a/files/ru/learn/html/multimedia_and_embedding/responsive_images/index.html b/files/ru/learn/html/multimedia_and_embedding/responsive_images/index.html index b65ec750e1..d08e65fc01 100644 --- a/files/ru/learn/html/multimedia_and_embedding/responsive_images/index.html +++ b/files/ru/learn/html/multimedia_and_embedding/responsive_images/index.html @@ -107,9 +107,9 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images <li>Загрузит изображение из списка из <code>srcset</code>, которое имеет тот же размер, что и выбранный слот, или, если такого нет, то первое изображение, которое больше размера выбранного слота. </li> </ol> -<p>И это всё! На текущий момент, если поддерживающий браузер с viewport width 480px загрузит страницу, медиа-условие <code>(max-width: 480px)</code> будет истинно, следовательно, будет выбран слот <code>440px</code>, тогда будет загружено изображение <code>elva-fairy-480w.jpg</code>, так как свойство ширины (<code>480w</code>) наиболее близко значение <code>440px</code>. Условно, изоображение 800px занимает на диске 128KB, в то время как версия в 480px только 63KB — экономия в 65KB. Теперь представьте, что у вас страница, на которой много изображений. Используя это технику, вы обеспечите мобильным пользователям большую пропускную способность.</p> +<p>И это всё! На текущий момент, если поддерживающий браузер с viewport width 480px загрузит страницу, медиа-условие <code>(max-width: 480px)</code> будет истинно, следовательно, будет выбран слот <code>440px</code>, тогда будет загружено изображение <code>elva-fairy-480w.jpg</code>, так как свойство ширины (<code>480w</code>) наиболее близко значение <code>440px</code>. Условно, изображение 800px занимает на диске 128KB, в то время как версия в 480px только 63KB — экономия в 65KB. Теперь представьте, что у вас страница, на которой много изображений. Используя это технику, вы обеспечите мобильным пользователям большую пропускную способность.</p> -<p>Старые брузеры, не поддерживающие эти возможности, просто проигнорируют их и возьмут изображение по адресу из атрибута {{htmlattrxref("src", "img")}}.</p> +<p>Старые браузеры, не поддерживающие эти возможности, просто проигнорируют их и возьмут изображение по адресу из атрибута {{htmlattrxref("src", "img")}}.</p> <div class="note"> <p><strong>Note</strong>: В описании элемента {{htmlelement("head")}} вы найдёте строку <code><meta name="viewport" content="width=device-width"></code>: это заставляет мобильные браузеры адаптировать их реальный viewport width для загрузки web-страниц (некоторые мобильные браузеры нечестны насчёт своего viewport width, вместо этого они загружают страницу в большем viewport width, а затем ужимают её, что не очень хорошо сказывается на наших отзывчивых изображениях или дизайне. Мы расскажем вам об этом больше в будущем модуле.)</p> @@ -129,7 +129,7 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images <h3 id="Переключения_разрешений_Одинаковый_размер_разные_разрешения">Переключения разрешений: Одинаковый размер, разные разрешения</h3> -<p>Если вы поддерживаете несколько разрешений экрана, но все видят ваше изображение в одном и том же размере на экране, вы можете позволить браузеру выбирать изображение с подходящим разрешением используя <code>srcset</code> с x-дисриптором и без <code>sizes</code> — более простой синтаксис! Найти пример как это выглядит можно здесь <a href="http://mdn.github.io/learning-area/html/multimedia-and-embedding/responsive-images/srcset-resolutions.html">srcset-resolutions.html</a> (смотрите также <a href="https://github.com/mdn/learning-area/blob/master/html/multimedia-and-embedding/responsive-images/srcset-resolutions.html">the source code</a>):</p> +<p>Если вы поддерживаете несколько разрешений экрана, но все видят ваше изображение в одном и том же размере на экране, вы можете позволить браузеру выбирать изображение с подходящим разрешением используя <code>srcset</code> с x-дескриптором и без <code>sizes</code> — более простой синтаксис! Найти пример как это выглядит можно здесь <a href="http://mdn.github.io/learning-area/html/multimedia-and-embedding/responsive-images/srcset-resolutions.html">srcset-resolutions.html</a> (смотрите также <a href="https://github.com/mdn/learning-area/blob/master/html/multimedia-and-embedding/responsive-images/srcset-resolutions.html">the source code</a>):</p> <pre class="brush: html notranslate"><img srcset="elva-fairy-320w.jpg, elva-fairy-480w.jpg 1.5x, @@ -137,13 +137,13 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images src="elva-fairy-640w.jpg" alt="Elva dressed as a fairy"> </pre> -<p><img alt="A picture of a little girl dressed up as a fairy, with an old camera film effect applied to the image" src="https://mdn.mozillademos.org/files/12942/resolution-example.png" style="display: block; height: 425px; margin: 0px auto; width: 480px;">В данном примере, к изображению применяется CSS таким образом, что оно имеет ширину в 320 пикселей на экране (также называмое CSS-пикселями):</p> +<p><img alt="A picture of a little girl dressed up as a fairy, with an old camera film effect applied to the image" src="https://mdn.mozillademos.org/files/12942/resolution-example.png" style="display: block; height: 425px; margin: 0px auto; width: 480px;">В данном примере, к изображению применяется CSS таким образом, что оно имеет ширину в 320 пикселей на экране (также называемое CSS-пикселями):</p> <pre class="brush: css notranslate">img { width: 320px; }</pre> -<p>В этом случае, нет необходимости в <code>sizes</code> — браузер просто определяет в каком разрешении отображает дисплей и выводит наиболее подходящее изображение в соответствии с <code>srcset</code>. Таким образом, если устройство, подключаемое к странице, имеет дисплей стандартного/низкого разрешения, когда один пиксель устройства представляет (соответсвтует) каждый CSS-пиксель, то будет загружено изображение <code>elva-fairy-320w.jpg</code> (применен x1, то есть вам не надо включать его). Если устройство имеет высокое разрешение, в два пикселя устройства на каждый CSS-пиксель или более, то будет загружено изображение <code>elva-fairy-640w.jpg</code>. 640px изображение имеет размер 93KB, тогда так 320px изображение - всего 39KB.</p> +<p>В этом случае, нет необходимости в <code>sizes</code> — браузер просто определяет в каком разрешении отображает дисплей и выводит наиболее подходящее изображение в соответствии с <code>srcset</code>. Таким образом, если устройство, подключаемое к странице, имеет дисплей стандартного/низкого разрешения, когда один пиксель устройства представляет (соответствует) каждый CSS-пиксель, то будет загружено изображение <code>elva-fairy-320w.jpg</code> (применен x1, то есть вам не надо включать его). Если устройство имеет высокое разрешение, в два пикселя устройства на каждый CSS-пиксель или более, то будет загружено изображение <code>elva-fairy-640w.jpg</code>. 640px изображение имеет размер 93KB, тогда так 320px изображение - всего 39KB.</p> <h3 id="Художественное_оформление">Художественное оформление</h3> @@ -153,7 +153,7 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images <pre class="brush: html notranslate"><img src="elva-800w.jpg" alt="Chris standing up holding his daughter Elva"></pre> -<p>Давайте исправим это при помощи элемента {{htmlelement("picture")}}! Так же как <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content"><code><video></code> и <code><audio></code></a>, элемент <code><picture></code> это обертка содержащая некоторое количество элементов {{htmlelement("source")}} которые предоставляют браузеру выбор нескольких разных источников, в сопровождаении крайне важного элемента {{htmlelement("img")}}. Код <a href="http://mdn.github.io/learning-area/html/multimedia-and-embedding/responsive-images/responsive.html">responsive.html</a> выглядит так:</p> +<p>Давайте исправим это при помощи элемента {{htmlelement("picture")}}! Так же как <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content"><code><video></code> и <code><audio></code></a>, элемент <code><picture></code> это обертка содержащая некоторое количество элементов {{htmlelement("source")}} которые предоставляют браузеру выбор нескольких разных источников, в сопровождении крайне важного элемента {{htmlelement("img")}}. Код <a href="http://mdn.github.io/learning-area/html/multimedia-and-embedding/responsive-images/responsive.html">responsive.html</a> выглядит так:</p> <pre class="brush: html notranslate"><picture> <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg"> @@ -163,8 +163,8 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images </pre> <ul> - <li>Элемент <code><source></code> принимает атрибут <code>media</code>, который содержит медиа-условие; при помощи этих условий опредяется, какое изображение будет выведено. В данном случае, если ширина viewport'a составит 799px или меньше, будет выведено изображение первого элемента <code><source></code>. Если ширина составит 800px и более — второго.</li> - <li>Атрибут <code>srcset</code> содержит путь изображения, которое будет выведено. Обратите внимание, что, как и в примере с <code><img></code> выше, <code><source></code> может принимать атрибуты <code>srcset</code> и <code>sizes</code> с несколько предопределенными изображниями. Так вы можете не только поместить группу изображений внутри элемента <code><picture></code>, но и задать группу предписаний для каждого из них. В реальности вы вряд ли захотите заниматься этим очень часто.</li> + <li>Элемент <code><source></code> принимает атрибут <code>media</code>, который содержит медиа-условие; при помощи этих условий определяется, какое изображение будет выведено. В данном случае, если ширина viewport'a составит 799px или меньше, будет выведено изображение первого элемента <code><source></code>. Если ширина составит 800px и более — второго.</li> + <li>Атрибут <code>srcset</code> содержит путь изображения, которое будет выведено. Обратите внимание, что, как и в примере с <code><img></code> выше, <code><source></code> может принимать атрибуты <code>srcset</code> и <code>sizes</code> с несколько предопределенными изображениями. Так вы можете не только поместить группу изображений внутри элемента <code><picture></code>, но и задать группу предписаний для каждого из них. В реальности вы вряд ли захотите заниматься этим очень часто.</li> <li>Вы всегда должны использовать элемент <code><img></code>, с <code>src</code> и <code>alt</code>, прямо перед <code></picture></code>, иначе изображения не появятся. Это нужно на тот случай, когда ни одно из медиа-условий не удовлетворено (например, если бы вы убрали второй элемент <code><source>)</code> или браузер не поддерживает элемент <code><picture></code>.</li> </ul> @@ -173,12 +173,12 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images <p><img alt="Our example site as viewed on a wide screen - here the first image works ok, as it is big enough to see the detail in the center." src="https://mdn.mozillademos.org/files/12940/picture-element-wide.png" style="display: block; height: 554px; margin: 0px auto; width: 700px;"><img alt="Our example site as viewed on a narrow screen with the picture element used to switch the first image to a portrait close up of the detail, making it a lot more useful on a narrow screen" src="https://mdn.mozillademos.org/files/12938/picture-element-narrow.png" style="display: block; height: 710px; margin: 0px auto; width: 320px;"></p> <div class="note"> -<p><strong>Примечание</strong>: Вам следует использовать атрибут <code>media</code> только при художественном оформлении; когда вы используюте <code>media</code>, не применяйте медиа-условия с атрибутом <code>sizes</code>.</p> +<p><strong>Примечание</strong>: Вам следует использовать атрибут <code>media</code> только при художественном оформлении; когда вы используете <code>media</code>, не применяйте медиа-условия с атрибутом <code>sizes</code>.</p> </div> <h3 id="Почему_это_нельзя_сделать_посредством_CSS_и_JavaScript">Почему это нельзя сделать посредством CSS и JavaScript?</h3> -<p>Когда браузер начинает загружать страницу, он начинает загрузку изображений до того, как главный парсер начал загружать и интерпретировать CSS и JavaScript. В среднем, эта техника уменьшает время загрузки страницы на 20%. Но она не так полезна в случае с адаптивными изображениями, поэтому и необходимы такие решeния, как <code>srcset</code>. Например, вы не могли бы загрузить элемент <code><img></code>, потом определить ширину viewport'а при помощи JavaScript и динамически изменить источник изображения. Изначальное изображение было бы уже загружено к тому времени, как вы загрузили его меньшую версию, что плохо.</p> +<p>Когда браузер начинает загружать страницу, он начинает загрузку изображений до того, как главный парсер начал загружать и интерпретировать CSS и JavaScript. В среднем, эта техника уменьшает время загрузки страницы на 20%. Но она не так полезна в случае с адаптивными изображениями, поэтому и необходимы такие решения, как <code>srcset</code>. Например, вы не могли бы загрузить элемент <code><img></code>, потом определить ширину viewport'а при помощи JavaScript и динамически изменить источник изображения. Изначальное изображение было бы уже загружено к тому времени, как вы загрузили его меньшую версию, что плохо.</p> <ul> </ul> @@ -210,7 +210,7 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images <li>Напишите простую HTML-разметку.</li> <li>Найдите широкоформатное пейзажное фото с какой-нибудь яркой деталью. Создайте веб-версию изображения посредством графического редактора, потом обрежьте его, чтобы крупнее выделить деталь, и создайте второе изображение (примерно 480px достаточно).</li> <li>Используйте элемент <code><picture> </code>для работы с художественно оформленной картинкой.</li> - <li>Обозначьте несколько разных размеров для этой картикни.</li> + <li>Обозначьте несколько разных размеров для этой картинки.</li> <li>Используйте <code>srcset</code>/<code>size</code> для описания переключения при смене размеров viewport'а</li> </ol> @@ -227,7 +227,7 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Responsive_images <li><strong>Переключение разрешений</strong>: Проблема, при которой вы хотите использовать <span class="tlid-translation translation" lang="ru"><span title="">файлы изображений меньшего размера на устройствах с узким экраном, поскольку им не нужны огромные изображения, как на настольных дисплеях</span></span>, а также дополнительно, что вы хотите использовать изображения разного разрешения для экранов с высокой/низкой плотностью. Эту проблему можно решить с помощью <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web">векторной графики</a> (SVG изображений), и {{htmlattrxref("srcset", "img")}} и {{htmlattrxref("sizes", "img")}} атрибуты.</li> </ul> -<p>Это так же подводит нас к окончанию целого модуля <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding">"Мультимедия и встраивание"</a>! Единственное, что вам осталось сейчас сделать перед тем, как двигаться дальше <span class="tlid-translation translation" lang="ru"><span title="">- это попробовать наше мультимедийное задание и посмотреть, как вы усвоили материал. Веселитесь!</span></span></p> +<p>Это так же подводит нас к окончанию целого модуля <a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding">"Мультимедиа и встраивание"</a>! Единственное, что вам осталось сейчас сделать перед тем, как двигаться дальше <span class="tlid-translation translation" lang="ru"><span title="">- это попробовать наше мультимедийное задание и посмотреть, как вы усвоили материал. Веселитесь!</span></span></p> <h2 id="Посмотрите_так_же">Посмотрите так же</h2> diff --git a/files/ru/learn/html/multimedia_and_embedding/video_and_audio_content/index.html b/files/ru/learn/html/multimedia_and_embedding/video_and_audio_content/index.html index e37ffaabd4..84751810da 100644 --- a/files/ru/learn/html/multimedia_and_embedding/video_and_audio_content/index.html +++ b/files/ru/learn/html/multimedia_and_embedding/video_and_audio_content/index.html @@ -86,7 +86,7 @@ translation_of: Learn/HTML/Multimedia_and_embedding/Video_and_audio_content <p>Вышеупомянутые форматы существуют для сжатия видео и аудио в управляемые файлы (необработанные видео и аудио очень большие). Браузеры содержат разные {{Glossary("Codec","кодеки")}}, вроде Vorbis или H.264, которые используются для преобразования сжатого звука и видео в бинарные данные и обратно. Каждый кодек имеет свои преимущества и недостатки, и каждый контейнер может также предлагать свои собственные положительные и отрицательные особенности, влияющие на ваше решение о том, какой из них использовать. Как указано выше, браузеры, к сожалению, не поддерживают одни и те же кодеки, поэтому вам придется предоставить несколько файлов для каждого медиа-продукта. Если вам не хватает правильного кодека для декодирования контента, он просто не сможет воспроизводиться.</p> <div class="note"> -<p><strong>Примечание:</strong> Возможно, вам интересно, как сложилась такая ситуация. MP3 (для аудио) и MP4/H.264 (для видео) широко поддерживаются и имеют высокое качество. В то же время, они защищены патентами — американские патенты охватывают MP3 по крайней мере до 2017 года и H.264 самое меньшее до 2027 года, так что браузеры, которые не являются держетелями этих патентов, должны платить огромные суммы денег для поддержки этих форматов. Кроме того, многие люди избегают несвободного программного обеспечения в принципе, предпочитая открытые форматы. Вот почему мы должны предоставить несколько форматов для разных браузеров.</p> +<p><strong>Примечание:</strong> Возможно, вам интересно, как сложилась такая ситуация. MP3 (для аудио) и MP4/H.264 (для видео) широко поддерживаются и имеют высокое качество. В то же время, они защищены патентами — американские патенты охватывают MP3 по крайней мере до 2017 года и H.264 самое меньшее до 2027 года, так что браузеры, которые не являются держателями этих патентов, должны платить огромные суммы денег для поддержки этих форматов. Кроме того, многие люди избегают несвободного программного обеспечения в принципе, предпочитая открытые форматы. Вот почему мы должны предоставить несколько форматов для разных браузеров.</p> </div> <p>Все становится немного сложнее, потому что каждый браузер не только поддерживает свой набор форматов файлов-контейнеров, но и каждый из них поддерживает свой выбор кодеков. Чтобы максимизировать вероятность того, что ваш веб-сайт или приложение будет работать в браузере пользователя, вам может потребоваться предоставить каждый медиафайл, который вы используете, в нескольких форматах. Если ваш сайт и браузер пользователя не используют общий медиаформат, ваши медиа просто не будут воспроизводиться.</p> diff --git a/files/ru/learn/html/tables/advanced/index.html b/files/ru/learn/html/tables/advanced/index.html index 6314fedda1..e578557eb7 100644 --- a/files/ru/learn/html/tables/advanced/index.html +++ b/files/ru/learn/html/tables/advanced/index.html @@ -46,7 +46,7 @@ translation_of: Learn/HTML/Tables/Advanced <ol> <li>Откройте расписание занятий школьного учителя по языку в конце статьи <a href="/ru/docs/Learn/HTML/Tables/Basics#Active_learning_colgroup_and_col">HTML таблицы основы</a>, или сделайте копию нашего <a href="https://github.com/mdn/learning-area/blob/master/html/tables/basic/timetable-fixed.html">timetable-fixed.html</a> файла.</li> - <li>Добвьте подходящий заголовок к таблице.</li> + <li>Добавьте подходящий заголовок к таблице.</li> <li>Сохраните свой код и откройте его в браузере, чтобы посмотреть как это выглядит.</li> </ol> @@ -58,18 +58,18 @@ translation_of: Learn/HTML/Tables/Advanced <p>Когда таблицы становятся более сложными по структуре полезно дать им более структурированное определение. Отличный способ сделать это используя {{htmlelement("thead")}}, {{htmlelement("tfoot")}} и {{htmlelement("tbody")}}, которые позволяют вам разметить header, footer и body секции таблицы.</p> -<p>Эти элементы не создают дополнительной доступности для пользователей со скринридерами и не приводят к какому-то визуальному улучшению при их использовании. Зато они очень полезны при стилизации и разметке, как точки для добавления CSS к вашей таблице. Вот несколько интересных примеров, в случае длинной таблицы вы можете сделать header и footer таблицы повторяемый на каждой печатной странице, или вы можете сделать body таблицы отбражаемое на одной странице и иметь доступ ко всему содержимому контенту прокручивая вверх и вниз.</p> +<p>Эти элементы не создают дополнительной доступности для пользователей со скринридерами и не приводят к какому-то визуальному улучшению при их использовании. Зато они очень полезны при стилизации и разметке, как точки для добавления CSS к вашей таблице. Вот несколько интересных примеров, в случае длинной таблицы вы можете сделать header и footer таблицы повторяемый на каждой печатной странице, или вы можете сделать body таблицы отображаемое на одной странице и иметь доступ ко всему содержимому контенту прокручивая вверх и вниз.</p> <p>Использование:</p> <ul> <li>Элементом <code><thead></code> нужно обернуть часть таблицы которая относится к заголовку — обычно это первая строка содержащая заголовки колонок, но это не обязательно всегда такой случай. Если вы используете {{htmlelement("col")}}/{{htmlelement("colgroup")}} элемент, тогда заголовок должен находиться ниже его.</li> - <li>Элементом <code><tfoot></code> нужно обернуть ту часть, которая относится к footer таблицы — например, это может быть последняя строка в которой отбражаются суммы по столбцам таблицы. Вы можете включить сюда footer таблицы, как и следовало ожидать, или чуть ниже заголовка таблицы (браузер все равно отобразит его внизу таблицы).</li> + <li>Элементом <code><tfoot></code> нужно обернуть ту часть, которая относится к footer таблицы — например, это может быть последняя строка в которой отражаются суммы по столбцам таблицы. Вы можете включить сюда footer таблицы, как и следовало ожидать, или чуть ниже заголовка таблицы (браузер все равно отобразит его внизу таблицы).</li> <li>Элементом <code><tbody></code> необходимо обернуть остальную часть содержимого таблицы которая не находится в header или footer таблицы. Этот блок располагают ниже заголовка таблицы или иногда footer таблицы, зависит от того какую структуру вы решите использовать (читать выше по тексту).</li> </ul> <div class="note"> -<p><strong>Примечание</strong>: <code><tbody></code> всегда включен в каждой таблице, неявно если не укажете его в коде. Проверьте это, открыв один из предыдущих примеров в котором не используется <code><tbody></code> и посмотрите HTML код в <a href="/ru/docs/Learn/Common_questions/What_are_browser_developer_tools">browser developer tools</a> — вы увидите, что браузер добавил этот тег самостоятельно. Вы могли бы задаться вопросом почему мы должны волноваться о его включениии, но вы должны, потому что это дает больше контроля над структурой таблицы и стилем.</p> +<p><strong>Примечание</strong>: <code><tbody></code> всегда включен в каждой таблице, неявно если не укажете его в коде. Проверьте это, открыв один из предыдущих примеров в котором не используется <code><tbody></code> и посмотрите HTML код в <a href="/ru/docs/Learn/Common_questions/What_are_browser_developer_tools">browser developer tools</a> — вы увидите, что браузер добавил этот тег самостоятельно. Вы могли бы задаться вопросом почему мы должны волноваться о его включении, но вы должны, потому что это дает больше контроля над структурой таблицы и стилем.</p> </div> <h3 id="Упражнение_Добавление_структуры_таблицы">Упражнение: Добавление структуры таблицы</h3> @@ -80,7 +80,7 @@ translation_of: Learn/HTML/Tables/Advanced <li>В первую очередь, сделайте копию <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/spending-record.html">spending-record.html</a> и <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/minimal-table.css">minimal-table.css</a> в новой папке.</li> <li>Попробуйте открыть это в браузере — вы увидите, что все выглядит классно, но могло бы быть лучше. Строка "SUM" которая содержит потраченные суммы кажется находится не в том месте и некоторые детали отсутствуют в коде.</li> <li>Поместите очевидную строку заголовка внутрь <code><thead></code> элемента, строку "SUM" внутрь <code><tfoot></code> элемента и оставшийся контент внутрь <code><tbody></code> элемента.</li> - <li>Сохраните, презагрузите и вы увидите, что добавление элемента <code><tfoot></code> привело к тому, что строка "SUM" опустилась к нижней части таблицы.</li> + <li>Сохраните, перезагрузите и вы увидите, что добавление элемента <code><tfoot></code> привело к тому, что строка "SUM" опустилась к нижней части таблицы.</li> <li>Далее, добавьте атрибут {{htmlattrxref("colspan","td")}}, чтобы ячейка "SUM" занимала первые четыре столбца, таким образом числовое значение "Cost" появится в последнем столбце.</li> <li>Давайте добавим несколько простых дополнительных стилей к таблице, чтобы дать вам представление насколько эти элементы полезны при использовании CSS. Внутри в <code><head></code> вашего HTML документа вы увидите пустой элемент {{htmlelement("style")}}. Внутри этого элемента добавьте следующие строки CSS кода: <pre class="brush: css notranslate">tbody { @@ -349,13 +349,13 @@ tfoot { </tbody> </table> -<p>Но что если вы не можете провести эти визуальные ассоциации? Как тогда вы сможете прочитать таблицу выше? Люди с ослабленным зрением часто используют скринридер, который читает им информацию с веб-страницы. Это не проблема когда вы читаете простой текст, но интерпретация таблицы может быть сложной проблемой для слепых людей. Тем не менее, вместе с правильной разметкой мы можем заменить визуальные ассоциации програмными.</p> +<p>Но что если вы не можете провести эти визуальные ассоциации? Как тогда вы сможете прочитать таблицу выше? Люди с ослабленным зрением часто используют скринридер, который читает им информацию с веб-страницы. Это не проблема когда вы читаете простой текст, но интерпретация таблицы может быть сложной проблемой для слепых людей. Тем не менее, вместе с правильной разметкой мы можем заменить визуальные ассоциации программными.</p> <p>В этой части статьи приводятся дополнительные способы которые делают таблицы более доступными.</p> <h3 class="attTitle" id="Использование_заголовков_столбцов_и_строк">Использование заголовков столбцов и строк</h3> -<p>Скринридеры будут определять все заголовки и использовать их создавая програмные ассоциации между этими заголовками и ячейками к которым они относятся. Сочетание заголовков столбцов и строк будет определять и интерпретировать данные в каждой ячейке так, что пользователи скринридеров могут интерпретировать таблицу также как это делают зрячие пользователи.</p> +<p>Скринридеры будут определять все заголовки и использовать их создавая программные ассоциации между этими заголовками и ячейками к которым они относятся. Сочетание заголовков столбцов и строк будет определять и интерпретировать данные в каждой ячейке так, что пользователи скринридеров могут интерпретировать таблицу также как это делают зрячие пользователи.</p> <p>Мы уже разобрали заголовки в предыдущей статье, смотри по ссылке <a href="https://developer.mozilla.org/ru/docs/Learn/HTML/Tables/Basics#Adding_headers_with_%3Cth%3E_elements">Добавление заголовков с помощью элемента <th></a>.</p> diff --git a/files/ru/learn/html/tables/basics/index.html b/files/ru/learn/html/tables/basics/index.html index a393a80a84..15f766186a 100644 --- a/files/ru/learn/html/tables/basics/index.html +++ b/files/ru/learn/html/tables/basics/index.html @@ -117,10 +117,10 @@ translation_of: Learn/HTML/Tables/Basics <ol> <li><strong>Таблицы, используемые для оформления, уменьшают доступность страниц для людей, имеющих проблемы со зрением</strong>: <a href="/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Screenreaders">Скринридеры (Screenreaders</a>), используемые ими, интерпретируют HTML-теги и читают содержимое пользователю. Поскольку таблицы не являются средством для представления структуры таблицы, и разметка получается сложнее, чем при использовании методов CSS, скринридеры вводят пользователей в заблуждение.</li> <li><strong>Таблицы создают путаницу тегов</strong>: Как уже упоминалось, оформление страниц с помощью таблиц дает более сложную структуру разметки, чем специально предназначенные для этого методы. Соответственно, такой код труднее писать, поддерживать и отлаживать.</li> - <li><strong>Таблицы не реагируют автоматически на тип устройства</strong>: У надлежащих контейнеров (например, {{htmlelement("header")}}, {{htmlelement("section")}}, {{htmlelement("article")}}, или {{htmlelement("div")}}) ширина по умолчанию равна 100% от их родительского элемента. У таблиц же размер по умолчанию подстраивается под их содержимое, так что чтобы они одинаково хорошо работали на разных типах устройств необходими принимать дополнительные меры.</li> + <li><strong>Таблицы не реагируют автоматически на тип устройства</strong>: У надлежащих контейнеров (например, {{htmlelement("header")}}, {{htmlelement("section")}}, {{htmlelement("article")}}, или {{htmlelement("div")}}) ширина по умолчанию равна 100% от их родительского элемента. У таблиц же размер по умолчанию подстраивается под их содержимое, так что чтобы они одинаково хорошо работали на разных типах устройств необходимо принимать дополнительные меры.</li> </ol> -<h2 id="Упражение_Ваша_первая_таблица">Упражение: Ваша первая таблица</h2> +<h2 id="Упражнение_Ваша_первая_таблица">Упражнение: Ваша первая таблица</h2> <p>Итак, мы уже достаточно говорили о теории, теперь возьмем конкретный пример и построим таблицу.</p> @@ -290,7 +290,7 @@ translation_of: Learn/HTML/Tables/Basics <h2 id="Слияние_нескольких_строк_или_столбцов">Слияние нескольких строк или столбцов</h2> -<p>Иногда нам нужно, чтобы ячейки распротранялись на несколько строк или столбцов. Возьмем простой пример, в котором приведены имена животных. Иногда бывает нужно вывести имена людей рядом с именами животных. А иногда это не требуется, и тогда мы хотим, чтобы имя животного занимало всю ширину.</p> +<p>Иногда нам нужно, чтобы ячейки распространялись на несколько строк или столбцов. Возьмем простой пример, в котором приведены имена животных. Иногда бывает нужно вывести имена людей рядом с именами животных. А иногда это не требуется, и тогда мы хотим, чтобы имя животного занимало всю ширину.</p> <p>Исходная разметка выглядит так:</p> @@ -511,7 +511,7 @@ translation_of: Learn/HTML/Tables/Basics <p>Заново создайте таблицу, проделав указанные ниже действия.</p> <ol> - <li>Сначала создайте локальную копию файла <a href="https://github.com/mdn/learning-area/blob/master/html/tables/basic/timetable.html">timetable.html</a> в новой папке на вашем копьютере. Код HTML содержит таблицу, которую вы уже видели выше, но без информации о стиле.</li> + <li>Сначала создайте локальную копию файла <a href="https://github.com/mdn/learning-area/blob/master/html/tables/basic/timetable.html">timetable.html</a> в новой папке на вашем компьютере. Код HTML содержит таблицу, которую вы уже видели выше, но без информации о стиле.</li> <li>Добавьте элемент <code><colgroup></code> вверху таблицы, сразу же под тегом <code><table></code>, куда вы сможете вставлять элементы <code><col></code>.</li> <li>Первые два столбца надо оставить без стиля..</li> <li>Добавьте цвет фона для третьего столбца. Значением атрибута <code>style</code> будет <code>background-color:#97DB9A;</code></li> diff --git a/files/ru/learn/html/tables/structuring_planet_data/index.html b/files/ru/learn/html/tables/structuring_planet_data/index.html index ef5ff547c0..b7e8ab227d 100644 --- a/files/ru/learn/html/tables/structuring_planet_data/index.html +++ b/files/ru/learn/html/tables/structuring_planet_data/index.html @@ -31,14 +31,14 @@ translation_of: Learn/HTML/Tables/Structuring_planet_data <p>Для того, чтобы начать аттестацию, скопируйте <a href="https://github.com/mdn/learning-area/blob/master/html/tables/assessment-start/blank-template.html">blank-template.html</a>, <a href="https://github.com/mdn/learning-area/blob/master/html/tables/assessment-start/minimal-table.css">minimal-table.css</a>, и <a href="https://github.com/mdn/learning-area/blob/master/html/tables/assessment-start/planets-data.txt">planets-data.txt</a> в новую директорию на вашем компьютере.</p> <div class="note"> -<p><strong>Примечание</strong>: В качестве альтарнативы, вы можете использовать такие сайты, как <a class="external external-icon" href="https://jsbin.com/">JSBin</a> или <a href="https://glitch.com/">Glitch</a>, чтобы пройти аттестацию. Вы можете вставлять HTML, CSS и JavaScript в один из этих онлайн редакторов. Если используемый вами онлайн редактор не имеет отдельных JavaScript/CSS панелей, не стесняйтесь вставлять <code><script></code>/<code><style></code> элементы в HTML страницу.</p> +<p><strong>Примечание</strong>: В качестве альтернативы, вы можете использовать такие сайты, как <a class="external external-icon" href="https://jsbin.com/">JSBin</a> или <a href="https://glitch.com/">Glitch</a>, чтобы пройти аттестацию. Вы можете вставлять HTML, CSS и JavaScript в один из этих онлайн редакторов. Если используемый вами онлайн редактор не имеет отдельных JavaScript/CSS панелей, не стесняйтесь вставлять <code><script></code>/<code><style></code> элементы в HTML страницу.</p> </div> <h2 id="Краткое_описание_проекта">Краткое описание проекта</h2> <p>Вы работаете в школе. В настоящее время ваши ученики изучают планеты солнечной системы, и вы хотите обеспечить их наглядным пособием для поиска фактов и данных о планетах. Таблица HTML была бы идеальным вариантом — вам необходимо взять необработанные данные, которые у вас есть, и превратить их в таблицу, следуя нижеприведенным инструкциям.</p> -<p>Готовая таблица должна выглядить так:</p> +<p>Готовая таблица должна выглядеть так:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/14609/assessment-table.png" style="display: block; margin: 0 auto;"></p> @@ -49,12 +49,12 @@ translation_of: Learn/HTML/Tables/Structuring_planet_data <h2 id="Шаги_для_завершения">Шаги для завершения</h2> -<p>Следующие шаги опистывают что вам нужно сделать, чтобы завершить пример таблицы. Все данные, что вам нужны находятся в файле <code>planets-data.txt</code>. Если у вас возникли проблемы с визуализацией данных, посмотрите приведенный выше пример или попробуйте нарисовать диаграмму.</p> +<p>Следующие шаги описывают что вам нужно сделать, чтобы завершить пример таблицы. Все данные, что вам нужны находятся в файле <code>planets-data.txt</code>. Если у вас возникли проблемы с визуализацией данных, посмотрите приведенный выше пример или попробуйте нарисовать диаграмму.</p> <ol> - <li>Откройте вашу копию <code>blank-template.html</code> , и запустите таблицу, предоставив ей внешний контейнер, заголовок и тело таблицы. Вам не нужен нижний колонтинул (footer) для этого примера.</li> + <li>Откройте вашу копию <code>blank-template.html</code> , и запустите таблицу, предоставив ей внешний контейнер, заголовок и тело таблицы. Вам не нужен нижний колонтитул (footer) для этого примера.</li> <li>Добавьте предоставленную подпись к вашей таблице ("Сaption" в конце <code>planets-data.txt</code>).</li> - <li>Добавьте строку в заголовок таблицы, содержащуюю все заголовки столбцов.</li> + <li>Добавьте строку в заголовок таблицы, содержащую все заголовки столбцов.</li> <li>Создайте все строки содержимого внутри тела таблицы, помня, что все заголовки строк должны быть <em>семантически</em>.</li> <li>Убедитесь, что весь контент помещен в нужные ячейки - в исходных данных каждая строка данных о планете отображается рядом со связанной с ней планетой.</li> <li>Добавьте атрибуты, чтобы заголовки строк и столбцов были однозначно связаны со строками, столбцами или группами строк, для которых они выступают в качестве заголовков.</li> diff --git a/files/ru/learn/index.html b/files/ru/learn/index.html index b986457de7..58282e7a14 100644 --- a/files/ru/learn/index.html +++ b/files/ru/learn/index.html @@ -108,7 +108,7 @@ translation_of: Learn <p>Если вы хотите оставаться с нами на связи, то лучший способ — отправить сообщение в наши <a href="/ru/docs/MDN/Community/Conversations#Asynchronous_discussions">списки рассылки</a> или <a href="https://developer.mozilla.org/ru/docs/MDN/Community/Conversations#Chat_in_IRC">IRC-каналы</a>. Мы хотели бы услышать от вас о том, что на нашем сайте что-то отсутствует или неправильно, запросы новых тем по обучению, просьбы помощи с аспектами, которые вы не понимаете, или что-то ещё.</p> -<p>Если вам интересно создание или улучшение контента, посмотрите, <a href="/ru/Learn/How_to_contribute">как вы можете помочь</a>, и оставайтесь на связи! Мы будем очень рады поговорить с вами, будь вы обучающийся, преподаватель, опытный веб-разработчик или кто-либо другой, заитересованный в улучшении обучения.</p> +<p>Если вам интересно создание или улучшение контента, посмотрите, <a href="/ru/Learn/How_to_contribute">как вы можете помочь</a>, и оставайтесь на связи! Мы будем очень рады поговорить с вами, будь вы обучающийся, преподаватель, опытный веб-разработчик или кто-либо другой, заинтересованный в улучшении обучения.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/learn/javascript/asynchronous/async_await/index.html b/files/ru/learn/javascript/asynchronous/async_await/index.html index 9882acfa58..bef0f49847 100644 --- a/files/ru/learn/javascript/asynchronous/async_await/index.html +++ b/files/ru/learn/javascript/asynchronous/async_await/index.html @@ -86,7 +86,7 @@ hello().then(alert);</pre> <p>Конечно, на практике код выше бесполезен, но в учебных целях он иллюстрирует синтаксис асинхронных функций. Теперь давайте перейдем к реальным примерам.</p> -<h2 id="Переписываем_Promises_с_ипользованием_asyncawait">Переписываем Promises с ипользованием async/await</h2> +<h2 id="Переписываем_Promises_с_использованием_asyncawait">Переписываем Promises с использованием async/await</h2> <p>Давайте посмотрим на пример из предыдущей статьи:</p> @@ -154,15 +154,15 @@ myFetch().then((blob) => { <h3 id="Минуточку_а_как_это_все_работает">Минуточку, а как это все работает ?</h3> -<p>Вы могли заметить, что мы обернули наш код в функцию и сделали ее асинхронной с помощью acync. Это было обязательно - нам надо создать контейнер, внутри которого будет запускаться асинхронный код и будет возмоность дождаться его результата с помощью await, не блокируя остальной код нашего скрипта.</p> +<p>Вы могли заметить, что мы обернули наш код в функцию и сделали ее асинхронной с помощью acync. Это было обязательно - нам надо создать контейнер, внутри которого будет запускаться асинхронный код и будет возможность дождаться его результата с помощью await, не блокируя остальной код нашего скрипта.</p> -<p>Внутри <code>myFetch()</code> находится код, который слегка напоминает версию на Promise, но есть важные отличия. Вместо того, чтобы писать цепочку блоков <code>.then()</code> мы просто использует ключевое слово <code>await</code> перед вызовом promise-based функции и присваиваем результат в переменную. Ключеовое слово <code>await</code> говорит JavaScript runtime приостановить код в этой строке, не блокируя остальной код скприта за пределами асинхронной функции. Когда вызов promise-based функции будет готов вернуть результат, выполнение продолжится с этой строки дальше.<br> +<p>Внутри <code>myFetch()</code> находится код, который слегка напоминает версию на Promise, но есть важные отличия. Вместо того, чтобы писать цепочку блоков <code>.then()</code> мы просто использует ключевое слово <code>await</code> перед вызовом promise-based функции и присваиваем результат в переменную. Ключевое слово <code>await</code> говорит JavaScript runtime приостановить код в этой строке, не блокируя остальной код скрипта за пределами асинхронной функции. Когда вызов promise-based функции будет готов вернуть результат, выполнение продолжится с этой строки дальше.<br> <br> Пример:</p> <pre class="brush: js notranslate">let response = await fetch('coffee.jpg');</pre> -<p>Значение Promise, которое вернет <code>fetch()</code> будет присвоено переменной <code>response</code> только тогда, когда оно будет доступно - парсер делает паузу на данной строке дожидаясь этого момента. Как только значение доступно, парсер переходит к следующей строке, в которой создается объект <code><a href="/en-US/docs/Web/API/Blob">Blob</a></code> из результата Promise. В этой строке, кстати, также используется <code>await</code>, потому что метод <code>.blob()</code> также возвращет Promise. Когда результат готов, мы возвращаем его наружу из <code>myFetch()</code>.</p> +<p>Значение Promise, которое вернет <code>fetch()</code> будет присвоено переменной <code>response</code> только тогда, когда оно будет доступно - парсер делает паузу на данной строке дожидаясь этого момента. Как только значение доступно, парсер переходит к следующей строке, в которой создается объект <code><a href="/en-US/docs/Web/API/Blob">Blob</a></code> из результата Promise. В этой строке, кстати, также используется <code>await</code>, потому что метод <code>.blob()</code> также возвращает Promise. Когда результат готов, мы возвращаем его наружу из <code>myFetch()</code>.</p> <p>Обратите внимание, когда мы вызываем <code>myFetch()</code>, она возвращает Promise, поэтому мы можем вызвать <code>.then()</code> на результате, чтобы отобразить его на экране.<br> <br> @@ -229,7 +229,7 @@ myFetch().then((blob) => { <h2 id="Await_и_Promise.all">Await и Promise.all()</h2> -<p>Как вы помните, асинхронные функции построены поверх <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">promises</a>, поэтому они совместимы со всеми возможностями последних. Мы легко можем подождать выполнение <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all">Promise.all()</a></code>, присвоить результат в переменную и все это сделать используя синхронный стиль. Опять, вернемся к <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/promises/promise-all.html">примеру, рассмотреному в предыдущей статье</a>. Откройте пример в соседней вкладке, чтобы лучше понять разницу.</p> +<p>Как вы помните, асинхронные функции построены поверх <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">promises</a>, поэтому они совместимы со всеми возможностями последних. Мы легко можем подождать выполнение <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all">Promise.all()</a></code>, присвоить результат в переменную и все это сделать используя синхронный стиль. Опять, вернемся к <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/promises/promise-all.html">примеру, рассмотренному в предыдущей статье</a>. Откройте пример в соседней вкладке, чтобы лучше понять разницу.</p> <p>Версия с async/await (смотрите <a href="https://mdn.github.io/learning-area/javascript/asynchronous/async-await/promise-all-async-await.html">live demo</a> и <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/async-await/promise-all-async-await.html">source code</a>), сейчас выглядит так:</p> @@ -298,7 +298,7 @@ displayContent() <p>Асинхронные функции с async/await бывают очень удобными, но есть несколько замечаний, о которых полезно знать.</p> -<p>Async/await позволяет вам писать код в синхронном стиле. Ключевое слово <code>await</code> блокирует приостанавливает выполнение ptomise-based функции до того момента, пока promise примет статуc fulfilled. Это не блокирует код за пределами вашей асинхронной функции, тем не менее важно помнить, что внутри асинхронной функции поток выполнения блокируется.<br> +<p>Async/await позволяет вам писать код в синхронном стиле. Ключевое слово <code>await</code> блокирует приостанавливает выполнение ptomise-based функции до того момента, пока promise примет статус fulfilled. Это не блокирует код за пределами вашей асинхронной функции, тем не менее важно помнить, что внутри асинхронной функции поток выполнения блокируется.<br> <br> Ваш код может стать медленнее за счет большого количества awaited promises, которые идут один за другим. Каждый <code>await</code> должен дождаться выполнения предыдущего, тогда как на самом деле мы хотим, чтобы наши Promises выполнялись одновременно, как если бы мы не использовали async/await.<br> <br> @@ -320,7 +320,7 @@ displayContent() ... }</pre> -<p>В каждом примере функция записывает время начала исполнения и сколько времерни понадобилось на испольние <code>timeTest()</code> промисов, вычитая время в момент запуска функции из времени в момент разрешения обещаний:</p> +<p>В каждом примере функция записывает время начала исполнения и сколько времени понадобилось на исполнение <code>timeTest()</code> промисов, вычитая время в момент запуска функции из времени в момент разрешения обещаний:</p> <pre class="brush: js notranslate">let startTime = Date.now(); timeTest().then(() => { @@ -329,7 +329,7 @@ timeTest().then(() => { alert("Time taken in milliseconds: " + timeTaken); })</pre> -<p>Далее представленна асинхронная функция <code>timeTest()</code> различная для каждого из примеров.</p> +<p>Далее представлена асинхронная функция <code>timeTest()</code> различная для каждого из примеров.</p> <p>В случае с медленным примером <code>slow-async-await.html</code>, <code>timeTest()</code> выглядит:</p> @@ -339,7 +339,7 @@ timeTest().then(() => { await timeoutPromise(3000); }</pre> -<p>Здесь мы просто ждем все три <code>timeoutPromise()</code> напрямую, блокируя выполнение на данного блока на 3 секунды прии каждом вызове. Все последующие вызовы вынуждены ждать пока разрешится предыдущий. Если вы запустите первый пример (<code>slow-async-await.html</code>) вы увидите alert сообщающий время выполнения около 9 секунд. </p> +<p>Здесь мы просто ждем все три <code>timeoutPromise()</code> напрямую, блокируя выполнение на данного блока на 3 секунды при каждом вызове. Все последующие вызовы вынуждены ждать пока разрешится предыдущий. Если вы запустите первый пример (<code>slow-async-await.html</code>) вы увидите alert сообщающий время выполнения около 9 секунд. </p> <p>Во втором <code>fast-async-await.html</code> примере, функция <code>timeTest()</code> выглядит как:</p> @@ -353,9 +353,9 @@ timeTest().then(() => { await timeoutPromise3; }</pre> -<p>В данном случае мы храмим три объекта <code>Promise</code> в переменных, каждый из которых может разрешиться независимо от других.</p> +<p>В данном случае мы храним три объекта <code>Promise</code> в переменных, каждый из которых может разрешиться независимо от других.</p> -<p>Ниже мы ожидаем разрешения промисов из объекта в результат, так как они были запущенны одновременно, блокируя поток, то и разрешатся одновременно. Если вы запустите вроторой приимер вы увидите alert, сообщающий время выполнения около 3 секунд.</p> +<p>Ниже мы ожидаем разрешения промисов из объекта в результат, так как они были запущенны одновременно, блокируя поток, то и разрешатся одновременно. Если вы запустите второй пример вы увидите alert, сообщающий время выполнения около 3 секунд.</p> <p>Важно не забывать о быстродействии применяя await, проверяйте количество блокировок.</p> @@ -363,7 +363,7 @@ timeTest().then(() => { </p><h2 id="Asyncawait_class_methods">Async/await class methods</h2> -<p>В качестве последнего замечания, вы можете использовать <code>async</code> перед методами классов или объектов, вынуждая их возвращать promises. А также await внутри методов объявленных такиим образом. Посмотрите на пример <a href="/en-US/docs/Learn/JavaScript/Objects/Inheritance#ECMAScript_2015_Classes">ES class code, который мы наблюдали в статье object-oriented JavaScript</a>, и сравниете его с модифицированной (асинхронной) <code>async</code> версией ниже:</p> +<p>В качестве последнего замечания, вы можете использовать <code>async</code> перед методами классов или объектов, вынуждая их возвращать promises. А также await внутри методов объявленных таким образом. Посмотрите на пример <a href="/en-US/docs/Learn/JavaScript/Objects/Inheritance#ECMAScript_2015_Classes">ES class code, который мы наблюдали в статье object-oriented JavaScript</a>, и сравните его с модифицированной (асинхронной) <code>async</code> версией ниже:</p> <pre class="brush: js notranslate">class Person { constructor(first, last, age, gender, interests) { diff --git a/files/ru/learn/javascript/asynchronous/concepts/index.html b/files/ru/learn/javascript/asynchronous/concepts/index.html index b82d4d4a51..def7da8a78 100644 --- a/files/ru/learn/javascript/asynchronous/concepts/index.html +++ b/files/ru/learn/javascript/asynchronous/concepts/index.html @@ -35,7 +35,7 @@ translation_of: Learn/JavaScript/Asynchronous/Concepts <p><img alt="Multi-colored macOS beachball busy spinner" src="https://mdn.mozillademos.org/files/16577/beachball.jpg" style="display: block; float: left; height: 256px; margin: 0px 30px 0px 0px; width: 250px;"></p> -<p>Такое поведение удручает и говорит о неправильном использовании процессорного времени, к тому же современные компьютеры имеют процессоры с несколькими ядрами. Не нужно ничего ждать, вы можете передать следующую задачу свободному ядру процессора и когда она завершится, то сообщит вам об этом. Такой подход позволяет выполнять разные задачи одновременно, в этом и заключается задача асинхронности в программировании. Программная среда, которую вы используете (браузер в случае веб разработки), должна иметь возможность выполнять различного рода задачи ассинхронно.</p> +<p>Такое поведение удручает и говорит о неправильном использовании процессорного времени, к тому же современные компьютеры имеют процессоры с несколькими ядрами. Не нужно ничего ждать, вы можете передать следующую задачу свободному ядру процессора и когда она завершится, то сообщит вам об этом. Такой подход позволяет выполнять разные задачи одновременно, в этом и заключается задача асинхронности в программировании. Программная среда, которую вы используете (браузер в случае веб разработки), должна иметь возможность выполнять различного рода задачи асинхронно.</p> <h2 id="Блокировка_кода">Блокировка кода</h2> @@ -43,7 +43,7 @@ translation_of: Learn/JavaScript/Asynchronous/Concepts <p>Давайте рассмотрим несколько примеров, которые покажут, что именно значит <strong>блокировка</strong>.</p> -<p>В нашем <a href="https://github.com/mdn/learning-area/tree/master/javascript/asynchronous/introducing">simple-sync.html</a> примере (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/simple-sync.html">see it running live</a>), добавим кнопке событие на клик, чтобы при нажатии на нее запускалась трудоемкая операция (рассчет 10000000 дат, и вывод последнейрассчитаной даты на консоль) после чего в DOM добавляется еще один параграф:</p> +<p>В нашем <a href="https://github.com/mdn/learning-area/tree/master/javascript/asynchronous/introducing">simple-sync.html</a> примере (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/simple-sync.html">see it running live</a>), добавим кнопке событие на клик, чтобы при нажатии на нее запускалась трудоемкая операция (расчет 10000000 дат, и вывод последней рассчитанной даты на консоль) после чего в DOM добавляется еще один параграф:</p> <pre class="brush: js notranslate">const btn = document.querySelector('button'); btn.addEventListener('click', () => { @@ -106,7 +106,7 @@ alertBtn.addEventListener('click', () => <p>Каждая задача будет выполнена последовательно; только когда текущая задача завершится, следующая сможет начаться.</p> -<p>Как мы говорили выше, большинство компьютеров теперь имеют процессор с несколькими ядрами, т.е. могут выполнять несколько задач одновременно. Языки программирования, поддерживающие многопоточность, могут использовать несколько ядер, чтобы выпонять несколько задач одновременно:</p> +<p>Как мы говорили выше, большинство компьютеров теперь имеют процессор с несколькими ядрами, т.е. могут выполнять несколько задач одновременно. Языки программирования, поддерживающие многопоточность, могут использовать несколько ядер, чтобы выполнять несколько задач одновременно:</p> <pre class="notranslate">Thread 1: Task A --> Task B Thread 2: Task C --> Task D</pre> diff --git a/files/ru/learn/javascript/asynchronous/introducing/index.html b/files/ru/learn/javascript/asynchronous/introducing/index.html index 340938e010..7ba34475cf 100644 --- a/files/ru/learn/javascript/asynchronous/introducing/index.html +++ b/files/ru/learn/javascript/asynchronous/introducing/index.html @@ -85,13 +85,13 @@ btn.addEventListener('click', () => { let blob = response.blob(); // display your image blob in the UI somehow</pre> -<p>Это проиходит потому что вы не знаете сколько времени займет загрузка картинки, следовательно, когда вы начнёте выполнять вторую строку кода, сгенерируется ошибка (возможно, переодически, возможно, каждый раз), потому что <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">response</span></font> еще не доступен. Вместо этого, ваш код должен дождаться возвращения <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">response</span></font> до того, как попытается выполнить дальнешие инструкции.</p> +<p>Это происходит потому что вы не знаете сколько времени займет загрузка картинки, следовательно, когда вы начнёте выполнять вторую строку кода, сгенерируется ошибка (возможно, периодически, возможно, каждый раз), потому что <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">response</span></font> еще не доступен. Вместо этого, ваш код должен дождаться возвращения <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">response</span></font> до того, как попытается выполнить дальнейшие инструкции.</p> <p>Есть два типа стиля асинхронного кода, с которыми вы столкнетесь в коде JavaScript, старый метод — callbacks (обратные вызовы) и более новый — promise (промисы, обещания). В следующих разделах мы познакомимся с каждым из них. </p> <h2 id="Асинхронные_обратные_вызовы">Асинхронные обратные вызовы</h2> -<p>Асинхронные обратные вызовы — это функции, которые определяются как агрументы при вызове функции, которая начнет выполнение кода на заднем фоне. Когда код на заднем фоне завершает свою работу, он вызвает функцию обратного вызова, оповещающую, что работа сделана, либо оповещающую о трудностях в завершении работы. Обратные вызовы — немного устраревшая практика, но они все еще употребляются в некоторых старомодных, но часто используемых API.</p> +<p>Асинхронные обратные вызовы — это функции, которые определяются как аргументы при вызове функции, которая начнет выполнение кода на заднем фоне. Когда код на заднем фоне завершает свою работу, он вызывает функцию обратного вызова, оповещающую, что работа сделана, либо оповещающую о трудностях в завершении работы. Обратные вызовы — немного устаревшая практика, но они все еще употребляются в некоторых старомодных, но часто используемых API.</p> <p>Пример асинхронного обратного вызова вторым параметром {{domxref("EventTarget.addEventListener", "addEventListener()")}} (как мы видели выше):</p> @@ -105,7 +105,7 @@ let blob = response.blob(); <p>Первый параметр — тип прослушиваемого события, второй параметр — функция обратного вызова, вызываемая при срабатывании события.</p> -<p>При передаче функциии обратного вызова как аргумента в другую функцию, мы передаем только ссылку на функцию как аргумент, следовательно колбэк функция <strong>не</strong> выполняется мгновенно. Где-то существует "обратный вызов" (отсюда и название), выполняющийся асинхронно внутри тела, содержащего функцию. Эта функция должна выполнять функцию обратного вызова в нужный момент.</p> +<p>При передаче функции обратного вызова как аргумента в другую функцию, мы передаем только ссылку на функцию как аргумент, следовательно колбэк функция <strong>не</strong> выполняется мгновенно. Где-то существует "обратный вызов" (отсюда и название), выполняющийся асинхронно внутри тела, содержащего функцию. Эта функция должна выполнять функцию обратного вызова в нужный момент.</p> <p>Вы можете написать свою собственную функцию, содержащую функцию обратного вызова. Давайте взглянем на еще один пример, в котором происходит загрузка ресурсов через <a href="/en-US/docs/Web/API/XMLHttpRequest"><code>XMLHttpRequest</code> API</a> (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/xhr-async-callback.html">запустите пример</a>, и <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/introducing/xhr-async-callback.html">посмотрите исходный код</a>):</p> @@ -131,11 +131,11 @@ function displayImage(blob) { loadAsset('coffee.jpg', 'blob', displayImage);</pre> -<p>Мы создали функцию <code>displayImage()</code>, которая представляет blob, переданный в нее, как обьект URL, и создает картинку, в которой отображается URL, добавляя ее в элемент документа <code><body></code>. Однако, далее мы создаем функцию <code>loadAsset()</code>, которая принимает функцию обратного вызова в качестве параметра, вместе с URL для получения данных и типом контента. Для получения данных из URL используется <code>XMLHttpRequest</code> (часто сокращается до аббревиатуры "XHR") , перед тем как передать ответ в функцию обратного вызова для дальнейшей обработки. В этом случае функция обратного вызова ждет, пока XHR закончит загрузку данных (используя обрабочик события <code><a href="/en-US/docs/Web/API/XMLHttpRequestEventTarget/onload">onload</a></code>) перед отправкой данных в функцию обратного вызова.</p> +<p>Мы создали функцию <code>displayImage()</code>, которая представляет blob, переданный в нее, как объект URL, и создает картинку, в которой отображается URL, добавляя ее в элемент документа <code><body></code>. Однако, далее мы создаем функцию <code>loadAsset()</code>, которая принимает функцию обратного вызова в качестве параметра, вместе с URL для получения данных и типом контента. Для получения данных из URL используется <code>XMLHttpRequest</code> (часто сокращается до аббревиатуры "XHR") , перед тем как передать ответ в функцию обратного вызова для дальнейшей обработки. В этом случае функция обратного вызова ждет, пока XHR закончит загрузку данных (используя обработчик события <code><a href="/en-US/docs/Web/API/XMLHttpRequestEventTarget/onload">onload</a></code>) перед отправкой данных в функцию обратного вызова.</p> <p>Функции обратного вызова универсальны — они не только позволяют вам контролировать порядок, в котором запускаются функции и данные, передающиеся между ними, они также позволяют передавать данные различным функциям, в зависимости от обстоятельств. Вы можете выполнять различные действия с загруженным ответом, такие как <code>processJSON()</code>, <code>displayText()</code>, и другие.</p> -<p>Заметьте, что не все функции обратного вызова асинхронны — некторые запускаются синхронно. Например, при использовании {{jsxref("Array.prototype.forEach()")}} для перебора элементов массива (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/foreach.html">запустите пример</a>, и <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/introducing/foreach.html">посмотрите исходный код</a>):</p> +<p>Заметьте, что не все функции обратного вызова асинхронны — некоторые запускаются синхронно. Например, при использовании {{jsxref("Array.prototype.forEach()")}} для перебора элементов массива (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/foreach.html">запустите пример</a>, и <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/introducing/foreach.html">посмотрите исходный код</a>):</p> <pre class="brush: js notranslate">const gods = ['Apollo', 'Artemis', 'Ares', 'Zeus']; @@ -162,12 +162,12 @@ gods.forEach(function (eachName, index){ <p><strong>Заметка</strong>: Вы можете посмотреть законченную версию на github (<a href="https://github.com/mdn/learning-area/blob/master/javascript/apis/fetching-data/can-store-xhr/can-script.js">посмотрите исходный код</a> и <a href="https://mdn.github.io/learning-area/javascript/apis/fetching-data/can-store-xhr/">запустите пример</a>).</p> </div> -<p>В примере видно, как <code>fetch()</code> принимает один параметр — URL ресурса, который нужно получить из сети, — и возвращает <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">промис</a>. Промис или обещание — это объект, представляющий асинхронную операцию, выполенную удачно или неудачно. Он представляет собой как бы промежуточное состояние. По сути, это способ браузера сказать: "я обещаю вернуться к вам с ответом как можно скорее," отсюда и название "обещание."</p> +<p>В примере видно, как <code>fetch()</code> принимает один параметр — URL ресурса, который нужно получить из сети, — и возвращает <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">промис</a>. Промис или обещание — это объект, представляющий асинхронную операцию, выполненную удачно или неудачно. Он представляет собой как бы промежуточное состояние. По сути, это способ браузера сказать: "я обещаю вернуться к вам с ответом как можно скорее," отсюда и название "обещание."</p> -<p>Может пнадобиться много времени, чтобы привыкнуть к данной концепуии; это немного напоминает {{interwiki("wikipedia", "Кот Шрёдингера")}} в действии. Ни один из возможных результатов еще не произошел, поэтому операция fetch в настоящее время ожидает результата. Далее у нас есть три блока кода следующих сразу после <code>fetch()</code>:</p> +<p>Может понадобиться много времени, чтобы привыкнуть к данной концепции; это немного напоминает {{interwiki("wikipedia", "Кот Шрёдингера")}} в действии. Ни один из возможных результатов еще не произошел, поэтому операция fetch в настоящее время ожидает результата. Далее у нас есть три блока кода следующих сразу после <code>fetch()</code>:</p> <ul> - <li>Два <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then">then()</a></code> блока. Оба включают в себя функцию обратного, которая запустится, если предыдущая операция закончилась успешно, и каждая функция обратного вызова принимает на вход результат предыдущей успешно выполненной операции, таким образом вы можете выполнять операции последовательно. Каждый <code>.then()</code> блок возвращает новый promise, это значит что вы можете объеденять в цепочки (чейнить) блоки <code>.then()</code>, таким образом можно выполнить несколько асинхронных операций по порядку, одну за другой.</li> + <li>Два <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then">then()</a></code> блока. Оба включают в себя функцию обратного, которая запустится, если предыдущая операция закончилась успешно, и каждая функция обратного вызова принимает на вход результат предыдущей успешно выполненной операции, таким образом вы можете выполнять операции последовательно. Каждый <code>.then()</code> блок возвращает новый promise, это значит что вы можете объединять в цепочки (чейнить) блоки <code>.then()</code>, таким образом можно выполнить несколько асинхронных операций по порядку, одну за другой.</li> <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch">catch()</a></code> блок описывается в конце и будет запущен если какой-либо <code>.then()</code> блок завершится с ошибкой — это аналогично синхронному <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/try...catch">try...catch</a></code>, ошибка становится доступной внутри <code>catch()</code>, что может быть использовано для сообщения пользователю о типе возникшей ошибки. Однако синхронный <code>try...catch</code> не будет работать с promise, хотя будет работать с <a href="/en-US/docs/Learn/JavaScript/Asynchronous/Async_await">async/await</a>, с которыми вы познакомитесь позже.</li> </ul> @@ -194,7 +194,7 @@ gods.forEach(function (eachName, index){ <h2 id="Природа_асинхронного_кода">Природа асинхронного кода</h2> -<p>Давайте рассмотрим пример, который дополнительно иллюстрирует природу асинхронного кода, показывая, что может произойти, когда мы не полностью осознаем порядок выполнения кода, и проблемы, связанные с попыткой трактовать асинхронный код как синхронный. Следующий пример довольно похож на тот, что мы видели раньше (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/async-sync.html">запустите пример</a>, и <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/introducing/async-sync.html">посмотрте исходный код</a>). Одно из отличий состоит в том, что мы включили ряд операторов {{domxref("console.log()")}} чтобы проиллюстрировать порядок, в котором, как вы думаете, будет выполняться код.</p> +<p>Давайте рассмотрим пример, который дополнительно иллюстрирует природу асинхронного кода, показывая, что может произойти, когда мы не полностью осознаем порядок выполнения кода, и проблемы, связанные с попыткой трактовать асинхронный код как синхронный. Следующий пример довольно похож на тот, что мы видели раньше (<a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/async-sync.html">запустите пример</a>, и <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/introducing/async-sync.html">посмотреть исходный код</a>). Одно из отличий состоит в том, что мы включили ряд операторов {{domxref("console.log()")}} чтобы проиллюстрировать порядок, в котором, как вы думаете, будет выполняться код.</p> <pre class="brush: js notranslate">console.log ('Starting'); let image; @@ -255,7 +255,7 @@ console.log("all done");</pre> <h2 id="Активное_обучение_сделайте_все_это_асинхронно!">Активное обучение: сделайте все это асинхронно!</h2> -<p>Чтобы исправить проблемный пример с <code>fetch()</code> и заставить все три сообщения <code>console.log()</code> появиться в желаемом порядке, вы можете также запустить третье сообщение <code>console.log()</code> асинхронно. Этого можно добиться, переместив его внутрь другого блока <code>.then()</code> присоединенного к концу второго, или просто переместив его внутрь второго блока <code>then()</code>. Попробуйте иправить это сейчас..</p> +<p>Чтобы исправить проблемный пример с <code>fetch()</code> и заставить все три сообщения <code>console.log()</code> появиться в желаемом порядке, вы можете также запустить третье сообщение <code>console.log()</code> асинхронно. Этого можно добиться, переместив его внутрь другого блока <code>.then()</code> присоединенного к концу второго, или просто переместив его внутрь второго блока <code>then()</code>. Попробуйте исправить это сейчас..</p> <div class="blockIndicator note"> <p><strong>Заметка</strong>: Если вы застряли, вы можете <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/introducing/async-sync-fixed.html">найти ответ здесь</a> (также можно посмотреть <a href="https://mdn.github.io/learning-area/javascript/asynchronous/introducing/async-sync-fixed.html">запущенный пример</a>). Также вы можете найти много информации о промисах в нашем гайде <a href="/en-US/docs/Learn/JavaScript/Asynchronous/Promises">Основные понятия асинхронного программирования</a> позднее в этом модуле.</p> diff --git a/files/ru/learn/javascript/asynchronous/timeouts_and_intervals/index.html b/files/ru/learn/javascript/asynchronous/timeouts_and_intervals/index.html index 1b7207c7c2..7cd498d9a7 100644 --- a/files/ru/learn/javascript/asynchronous/timeouts_and_intervals/index.html +++ b/files/ru/learn/javascript/asynchronous/timeouts_and_intervals/index.html @@ -1,5 +1,5 @@ --- -title: 'Объединенный асинхронный JavaScript: Таймайты и интервалы' +title: 'Объединенный асинхронный JavaScript: Таймауты и интервалы' slug: Learn/JavaScript/Asynchronous/Timeouts_and_intervals translation_of: Learn/JavaScript/Asynchronous/Timeouts_and_intervals original_slug: Learn/JavaScript/Asynchronous/Таймауты_и_интервалы @@ -35,7 +35,7 @@ original_slug: Learn/JavaScript/Asynchronous/Таймауты_и_интерва <dt><code><a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval">setInterval()</a></code></dt> <dd>Выполняет указанный блок кода несколько раз с определенным интервалом между каждым вызовом.</dd> <dt><code><a href="/en-US/docs/Web/API/window/requestAnimationFrame">requestAnimationFrame()</a></code></dt> - <dd>Современная версия setInterval (). Выполняут указанный блок кода перед тем, как браузер в следующий раз перерисовывает отображение, позволяя запускать анимацию с подходящей частотой кадров независимо от среды, в которой она выполняется.</dd> + <dd>Современная версия setInterval (). Выполняют указанный блок кода перед тем, как браузер в следующий раз перерисовывает отображение, позволяя запускать анимацию с подходящей частотой кадров независимо от среды, в которой она выполняется.</dd> </dl> <p>Асинхронный код, установленный этими функциями, выполняется в основном потоке (по истечении указанного им таймера).</p> @@ -176,7 +176,7 @@ clearInterval(myInterval);</pre> <p>При работе с<code> setTimeout ()</code> и <code>setInterval ()</code> следует помнить о нескольких вещах. Давайте рассмотрим их.</p> -<h3 id="Рекурсивые_таймауты">Рекурсивые таймауты</h3> +<h3 id="Рекурсивные_таймауты">Рекурсивные таймауты</h3> <p>Есть еще один способ использования <code>setTimeout ()</code>: вы можете вызвать его рекурсивно для повторного запуска одного и того же кода вместо использования <code>setInterval ()</code>.</p> @@ -253,14 +253,14 @@ draw();</pre> <p>Идея состоит в том, чтобы определить функцию, в которой ваша анимация обновляется (например, ваши спрайты перемещаются, счет обновляется, данные обновляются или что-то еще). Затем вы вызываете его, чтобы начать процесс. В конце функционального блока вы вызываете <code>requestAnimationFrame ()</code> со ссылкой на функцию, переданной в качестве параметра, и это дает браузеру указание вызвать функцию снова при следующей перерисовке дисплея. Затем он выполняется непрерывно, поскольку код рекурсивно вызывает <code>requestAnimationFrame ().</code></p> <div class="blockIndicator note"> -<p><strong>Note</strong>: Если вы хотите выполнить простое постоянное анимирование DOM , <a href="/en-US/docs/Web/CSS/CSS_Animations">CSS Анимация</a> вероятно будет быстрее. Она высисляется непосредственно внутренним кодом браузера, а не JavaScript.</p> +<p><strong>Note</strong>: Если вы хотите выполнить простое постоянное анимирование DOM , <a href="/en-US/docs/Web/CSS/CSS_Animations">CSS Анимация</a> вероятно будет быстрее. Она вычисляется непосредственно внутренним кодом браузера, а не JavaScript.</p> <p>Однако, если вы делаете что-то более сложное, включающее объекты, которые не доступны напрямую в the DOM (такие как <a href="/en-US/docs/Web/API/Canvas_API">2D Canvas API</a> или <a href="/en-US/docs/Web/API/WebGL_API">WebGL</a> ), <code>requestAnimationFrame()</code> предпочтительный вариант в большинстве случаев.</p> </div> <h3 id="Как_быстро_работает_ваша_анимация">Как быстро работает ваша анимация?</h3> -<p>Плавность анимации напрямую зависит от частоты кадров анимации и измеряется в кадрах в секунду (fps). Чем выше это число, тем плавнее будет выглядеть ваша анимация до точки.</p> +<p>Плавность анимации напрямую зависит от частоты кадров анимации и измеряется в кадрах в секунду (fps). Чем выше это число, тем плавное будет выглядеть ваша анимация до точки.</p> <p>Поскольку большинство экранов имеют частоту обновления 60 Гц, максимальная частота кадров, к которой вы можете стремиться, составляет 60 кадров в секунду (FPS) при работе с веб-браузерами. Однако большее количество кадров означает больше обработки, которая часто может вызывать заикание и пропуски, также известные как пропадание кадров или заедание.</p> @@ -317,7 +317,7 @@ draw();</pre> <p><code>requestAnimationFrame ()</code> поддерживается в более поздних версиях браузеров, чем s<code>etInterval ()</code> / <code>setTimeout ()</code>. Интересно, что он доступен в Internet Explorer 10 и выше.</p> -<p>Итак, если вам не тербуется поддержка старых версий IE, нет особых причин не использовать <code>requestAnimationFrame()</code>.</p> +<p>Итак, если вам не требуется поддержка старых версий IE, нет особых причин не использовать <code>requestAnimationFrame()</code>.</p> <h3 id="Простой_пример">Простой пример</h3> @@ -332,7 +332,7 @@ draw();</pre> <p>Возьмите базовый HTML шаблон (<a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/getting-started/index.html">такой как этот</a>).</p> </li> <li> - <p>Поместите пустой {{htmlelement("div")}} елемент внутри элемента {{htmlelement("body")}}, затем добавьте внутрь символ ↻ . Этот символ будет действовать как spinner в нашем примере.</p> + <p>Поместите пустой {{htmlelement("div")}} элемент внутри элемента {{htmlelement("body")}}, затем добавьте внутрь символ ↻ . Этот символ будет действовать как spinner в нашем примере.</p> </li> <li> <p>Применитеpply следующий CSS к HTML шаблону (любым предпочитаемым способом). Он установ красный фон на странице, высоту <code><body></code> равную <code>100%</code> высоты {{htmlelement("html")}} , и центрирует <code><div></code> внутри <code><body></code>, по горизонтали и вертикали.</p> @@ -360,7 +360,7 @@ div { <p>Разместите {{htmlelement("script")}} элемент перед <code></body></code> .</p> </li> <li> - <p>Разместите следующий JavaScript код в <code><script></code> . Здесь вы сохраняете ссылку на <code><div></code> внутри, устанавливаете дяпеременной <code>rotateCount</code> значение <code>0</code>, устанавливаете неинициализированную переменную, которая позже будет использоваться для хранения ссылки на вызов <code>requestAnimationFrame()</code>, и устанавливаете для переменной <code>startTime</code> значение <code>null</code>, которая будет позже использоваться для хранения времени начала <code>requestAnimationFrame()</code>.</p> + <p>Разместите следующий JavaScript код в <code><script></code> . Здесь вы сохраняете ссылку на <code><div></code> внутри, устанавливаете для переменной <code>rotateCount</code> значение <code>0</code>, устанавливаете неинициализированную переменную, которая позже будет использоваться для хранения ссылки на вызов <code>requestAnimationFrame()</code>, и устанавливаете для переменной <code>startTime</code> значение <code>null</code>, которая будет позже использоваться для хранения времени начала <code>requestAnimationFrame()</code>.</p> <pre class="brush: js notranslate">const spinner = document.querySelector('div'); let rotateCount = 0; @@ -369,7 +369,7 @@ let rAF; </pre> </li> <li> - <p>Под предыдущим кодом вставьте функцию <code>draw()</code> соторая будет использоваться для хранения нашешо кода анимации, который включает параметр <code>timestamp</code> :</p> + <p>Под предыдущим кодом вставьте функцию <code>draw()</code> которая будет использоваться для хранения нашего кода анимации, который включает параметр <code>timestamp</code> :</p> <pre class="brush: js notranslate">function draw(timestamp) { @@ -411,7 +411,7 @@ let rAF; <p><strong>Note</strong>: Вы можете посмотреть <a href="https://mdn.github.io/learning-area/javascript/asynchronous/loops-and-intervals/simple-raf-spinner.html">рабочий образец на GitHub</a>. ( <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/loops-and-intervals/simple-raf-spinner.html">исходный код</a>.)</p> </div> -<h3 id="Очbстка_вызова_requestAnimationFrame">Очbстка вызова requestAnimationFrame() </h3> +<h3 id="Очистка_вызова_requestAnimationFrame">Очистка вызова requestAnimationFrame() </h3> <p>Очистить вызов <code>requestAnimationFrame ()</code> можно, вызвав соответствующий метод <code>cancelAnimationFrame ()</code>. (Обратите внимание, что имя функции начинается с «cancel», а не «clear», как у методов «set ...».)</p> @@ -436,7 +436,7 @@ let rAF; <h3 id="Регулировка_анимации_requestAnimationFrame">Регулировка анимации <code>requestAnimationFrame()</code> </h3> -<p>Одним из ограничений <code>requestAnimationFrame ()</code> является то, что вы не можете выбирать частоту кадров. В большинстве случаев это не проблема, так как обычно вы хотите, чтобы ваша анимация работала как можно плавнее. Но как насчет того, чтобы создать олдскульную 8-битную анимацию?</p> +<p>Одним из ограничений <code>requestAnimationFrame ()</code> является то, что вы не можете выбирать частоту кадров. В большинстве случаев это не проблема, так как обычно вы хотите, чтобы ваша анимация работала как можно плавное. Но как насчет того, чтобы создать олдскульную 8-битную анимацию?</p> <p>Это было проблемой, например в анимации ходьбы, вдохновленной островом обезьян, из статьи <a href="/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Drawing_graphics">Drawing Graphics</a>:</p> @@ -483,7 +483,7 @@ let rAF; <p>Прежде всего, скачайте <a href="https://github.com/mdn/learning-area/blob/master/javascript/asynchronous/loops-and-intervals/reaction-game-starter.html">стартовый файл</a>. Он содержит законченную структуру HTML и стили CSS, что дает нам игровую доску, которая показывает информацию двух игроков (как показано выше), но с счетчиком и параграфом результатов, отображаемыми друг над другом. Вам нужно просто написать JavaScript код.</p> </li> <li> - <p>Внутри пустого элемента {{htmlelement("script")}} на вашей старнице, начните с добавления следующих строк кода, котороые определяют некотороые переменные и константы, которые вам понадобятся в дальнейшем:</p> + <p>Внутри пустого элемента {{htmlelement("script")}} на вашей странице, начните с добавления следующих строк кода, которые определяют некоторые переменные и константы, которые вам понадобятся в дальнейшем:</p> <pre class="brush: js notranslate">const spinner = document.querySelector('.spinner p'); const spinnerContainer = document.querySelector('.spinner'); @@ -500,7 +500,7 @@ const result = document.querySelector('.result');</pre> <li>Ссылка на элемент {{htmlelement("div")}} содержащий спиннер, используемый для отображения и скрытия.</li> <li>Счетчик поворотов. Он определяет, на сколько вы хотите показывать вращение спиннера на каждом кадре анимации.</li> <li>Нулевое время начала. Это будет заполнено временем начала, когда счетчик начнет вращаться.</li> - <li>Неинициализировання переменная для последующего хранения вызова {{domxref("Window.requestAnimationFrame", "requestAnimationFrame()")}} который анимирует спиннер.</li> + <li>Неинициализированная переменная для последующего хранения вызова {{domxref("Window.requestAnimationFrame", "requestAnimationFrame()")}} который анимирует спиннер.</li> <li>Ссылка на кнопку Start .</li> <li>Ссылка на параграф результатов.</li> </ol> @@ -559,7 +559,7 @@ function start() { }</pre> <div class="blockIndicator note"> - <p><strong>Note</strong>: Вы увидете, что этот пример вызывает <code>setTimeout()</code> без сохранения возвращаемого значения. (не <code>let myTimeout = setTimeout(functionName, interval)</code>.) </p> + <p><strong>Note</strong>: Вы увидите, что этот пример вызывает <code>setTimeout()</code> без сохранения возвращаемого значения. (не <code>let myTimeout = setTimeout(functionName, interval)</code>.) </p> <p>Это прекрасно работает, если вам не нужно очищать интервал / тайм-аут в любой момент. Если вы это сделаете, вам нужно будет сохранить возвращенный идентификатор!</p> </div> @@ -602,11 +602,11 @@ function start() { <li>Во-первых, отмените анимацию спиннера с помощью {{domxref("window.cancelAnimationFrame", "cancelAnimationFrame()")}} (всегда полезно очистить ненужные процессы), и скройте контейнер счетчика.</li> <li>Затем, отобразите абзац с результатами и установите для его текстового содержимого значение "PLAYERS GO!!" чтобы сообщить игрокам, что теперь они могут нажать свою кнопку, чтобы победить.</li> <li>Прикрепите к документу прослушиватель событий <code><a href="/en-US/docs/Web/API/Document/keydown_event">keydown</a></code> . При нажатии любой кнопки запускается функция <code>keyHandler()</code>.</li> - <li>Внутри <code>keyHandler()</code>, код включает обьект события в качестве параметра (представленного <code>e</code>) — его свойство {{domxref("KeyboardEvent.key", "key")}} содержит только что нажатую клавишу, и вы можете использовать это для твета на определенные нажатия клавиш определенными действиями.</li> - <li>Установите для переменной <code>isOver</code> значение false, чтобы мы могли отслеживать, были ли нажаты правильные клавиши, чтобы игрок 1 или 2 выиграл. Мы не хотим, чтобы игра заканчивалась при нажатии неправильной клваиши.</li> + <li>Внутри <code>keyHandler()</code>, код включает объект события в качестве параметра (представленного <code>e</code>) — его свойство {{domxref("KeyboardEvent.key", "key")}} содержит только что нажатую клавишу, и вы можете использовать это для ответа на определенные нажатия клавиш определенными действиями.</li> + <li>Установите для переменной <code>isOver</code> значение false, чтобы мы могли отслеживать, были ли нажаты правильные клавиши, чтобы игрок 1 или 2 выиграл. Мы не хотим, чтобы игра заканчивалась при нажатии неправильной клавиши.</li> <li>Регистрация <code>e.key</code> в консоли, это полезный способ узнать значение различных клавиш, которые вы нажимаете.</li> <li>Когда <code>e.key</code> принимает значение "a", отобразить сообщение о том, что Player 1 выиграл, а когда <code>e.key</code> это "l", отобразить сообщение о том, что Player 2 выиграл. (<strong>Note:</strong> Это будет работать только со строчными буквами a и l — если переданы прописные A или L , это считается другими клавишами!) Если была нажата одна из этих клавиш, установите для <code>isOver</code> значение <code>true</code>.</li> - <li>Только еслиf <code>isOver</code> равно <code>true</code>, удалите прослушиватель событий <code>keydown</code> с помощью {{domxref("EventTarget.removeEventListener", "removeEventListener()")}} чтобы после того, как произошло выигрышное нажатие, больше не было возможности ввода с клавиатуры, чтобы испортить финальный результат игры. Вы также используете <code>setTimeout()</code> для вызова <code>reset()</code> через 5 секунд — как обьяснялось ранее, эта функция сбрасывает игру обратно в исходное состояние, чтобы можно было начать новую игру.</li> + <li>Только если <code>isOver</code> равно <code>true</code>, удалите прослушиватель событий <code>keydown</code> с помощью {{domxref("EventTarget.removeEventListener", "removeEventListener()")}} чтобы после того, как произошло выигрышное нажатие, больше не было возможности ввода с клавиатуры, чтобы испортить финальный результат игры. Вы также используете <code>setTimeout()</code> для вызова <code>reset()</code> через 5 секунд — как объяснялось ранее, эта функция сбрасывает игру обратно в исходное состояние, чтобы можно было начать новую игру.</li> </ol> </li> </ol> @@ -619,7 +619,7 @@ function start() { <h2 id="Заключение">Заключение</h2> -<p>Вот и все — все основы асинхронных циклов и интервалов рассмотрены в статье. Вы найдете эти методы полезными во многих ситуациях, но постарайтесь не злоупотреблять ими! Поскольку они по-прежнему выполняются в основном потоке, тяжелые и интенсивные обратные вызовы (особенно те, которые управляют DOM) могут действительно замедлить страницу, если вы не будете осторожныl.</p> +<p>Вот и все — все основы асинхронных циклов и интервалов рассмотрены в статье. Вы найдете эти методы полезными во многих ситуациях, но постарайтесь не злоупотреблять ими! Поскольку они по-прежнему выполняются в основном потоке, тяжелые и интенсивные обратные вызовы (особенно те, которые управляют DOM) могут действительно замедлить страницу, если вы не будете осторожны.</p> <p>{{PreviousMenuNext("Learn/JavaScript/Asynchronous/Introducing", "Learn/JavaScript/Asynchronous/Promises", "Learn/JavaScript/Asynchronous")}}</p> @@ -628,7 +628,7 @@ function start() { <ul> <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Concepts">Основные понятия асинхронного программирования</a></li> <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Introducing">Введение в асинхронный JavaScript</a></li> - <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Timeouts_and_intervals">Обьединенный асинхронный JavaScript: Таймауты и интервалы</a></li> + <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Timeouts_and_intervals">Объединенный асинхронный JavaScript: Таймауты и интервалы</a></li> <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Promises">Graceful asynchronous programming with Promises</a></li> <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Async_await">Сделайте асинхронное программирование легче с async и await</a></li> <li><a href="/en-US/docs/Learn/JavaScript/Asynchronous/Choosing_the_right_approach">Choosing the right approach</a></li> diff --git a/files/ru/learn/javascript/building_blocks/build_your_own_function/index.html b/files/ru/learn/javascript/building_blocks/build_your_own_function/index.html index fab6711d39..f982970afe 100644 --- a/files/ru/learn/javascript/building_blocks/build_your_own_function/index.html +++ b/files/ru/learn/javascript/building_blocks/build_your_own_function/index.html @@ -23,7 +23,7 @@ translation_of: Learn/JavaScript/Building_blocks/Build_your_own_function </tbody> </table> -<h2 id="Активное_обучение_пострение_функции">Активное обучение: пострение функции</h2> +<h2 id="Активное_обучение_построение_функции">Активное обучение: построение функции</h2> <p>Пользовательская функция, которую мы собираемся построить, будет называться <code>displayMessage()</code>. Она отобразит настраиваемое окно сообщения на веб-странице и будет действовать как настраиваемая замена встроенной в браузер функции <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/alert">alert()</a>. Мы видели эту функцию раньше. Введите следующую команду в консоли JavaScript браузера на любой странице:</p> @@ -127,7 +127,7 @@ panel.appendChild(closeBtn);</pre> <li> <p>Теперь откройте инструменты разработчика браузера на странице примера, перейдите в консоль JavaScript и снова введите эту строку. Вы увидите, что окно появится снова! Теперь у нас есть функция многократного использования, которую мы можем вызвать в любое время.</p> - <p>Но мы, вероятно, хотим, чтобы оно появлялось в ответ на действия пользователя и системы. В реальном приложении такое окно сообщения, вероятно, будет вызвано в ответ на доступность новых данных или, если произошла ошибка, или, например, если пользователь пытаюется удалить свой профиль («вы уверены в этом?»), или если пользователь добавляет новый контакт и операция успешно завершена и т. д.</p> + <p>Но мы, вероятно, хотим, чтобы оно появлялось в ответ на действия пользователя и системы. В реальном приложении такое окно сообщения, вероятно, будет вызвано в ответ на доступность новых данных или, если произошла ошибка, или, например, если пользователь пытается удалить свой профиль («вы уверены в этом?»), или если пользователь добавляет новый контакт и операция успешно завершена и т. д.</p> <p>В этой демонстрации мы получим окно сообщения, когда пользователь нажимает кнопку.</p> </li> diff --git a/files/ru/learn/javascript/building_blocks/conditionals/index.html b/files/ru/learn/javascript/building_blocks/conditionals/index.html index 970c31d43b..25581ae8bb 100644 --- a/files/ru/learn/javascript/building_blocks/conditionals/index.html +++ b/files/ru/learn/javascript/building_blocks/conditionals/index.html @@ -15,7 +15,7 @@ translation_of: Learn/JavaScript/Building_blocks/conditionals <div>{{NextMenu("Learn/JavaScript/Building_blocks/Looping_code", "Learn/JavaScript/Building_blocks")}}</div> -<p class="summary">Во многих языках программирования код должен иметь возможность принимать решения на основе введеных пользователем данных. Например, в игре, если у пользователя осталось 0 жизней, то игра завершается. В приложении о погоде утром отображается восход солнца, а вечером звезды и луна. В этой статье мы рассмотрим как в JavaScript работают так называемые "условия".</p> +<p class="summary">Во многих языках программирования код должен иметь возможность принимать решения на основе введенных пользователем данных. Например, в игре, если у пользователя осталось 0 жизней, то игра завершается. В приложении о погоде утром отображается восход солнца, а вечером звезды и луна. В этой статье мы рассмотрим как в JavaScript работают так называемые "условия".</p> <table class="learn-box standard-table"> <tbody> @@ -34,7 +34,7 @@ translation_of: Learn/JavaScript/Building_blocks/conditionals <p>Люди (и животные) принимают какие-либо решения всю жизнь, от малозначимых ("стоит ли мне съесть одну печеньку или две?") до жизнеопределяющих ("стоит ли мне остаться дома и работать на ферме отца или переехать в другую страну и изучать астрофизику?")</p> -<p>Операторы условия в JavaScript позволяют нам указать разного рода действия в зависимости от выбранного пользователем или системой ответа (например одна печенька или две) и связать его с действием (результатом), например, результатом "съесть одну печеньку" будет "все еще буду чуствовать себя голодным", а результатом "съесть две печеньки" будет "буду чуствовать себя сытым, но мама меня наругает за то, что я съел все сладости". </p> +<p>Операторы условия в JavaScript позволяют нам указать разного рода действия в зависимости от выбранного пользователем или системой ответа (например одна печенька или две) и связать его с действием (результатом), например, результатом "съесть одну печеньку" будет "все еще буду чувствовать себя голодным", а результатом "съесть две печеньки" будет "буду чувствовать себя сытым, но мама меня нарушает за то, что я съел все сладости". </p> <p><img alt="" src="https://mdn.mozillademos.org/files/13703/cookie-choice-small.png" style="display: block; margin: 0 auto;"></p> diff --git a/files/ru/learn/javascript/building_blocks/events/index.html b/files/ru/learn/javascript/building_blocks/events/index.html index c2ed6bbe07..3959adcb60 100644 --- a/files/ru/learn/javascript/building_blocks/events/index.html +++ b/files/ru/learn/javascript/building_blocks/events/index.html @@ -89,7 +89,7 @@ btn.onclick = function() { <p>События, как понятие, относятся не только к JavaScript — большинство языков программирования имеют модель событий, способ работы которой часто отличается от модели в JavaScript. Фактически, даже модель событий в JavaScript для веб-страниц отличается от модели событий для просто JavaScript, поскольку используются они в разных средах.</p> -<p>Например, <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs">Node.js</a> — очень популярная среда исполнения JavaScript, которая позволяет разработчикам использовать JavaScript для создания сетевых и серверных приложений. <a href="https://nodejs.org/docs/latest-v5.x/api/events.html">Модель событий Node.js</a> основана на том, что существуют прослушиватели, отслеживающие события, и эмиттеры (передатчики), которые периодически генерируют события. В общем-то, это похоже на модель событий в JavaScript для веб-страниц, но код совсем другой. В этой модели используется функция <code>on()</code> для регистрации прослушивателей событий, и функция <code>once()</code> для регистрации прослушивателя событий, который отключается после первого срабтывания. Хорошим примером использования являются протоколы событий <a href="https://nodejs.org/docs/latest-v8.x/api/http.html#http_event_connect">HTTP connect event docs</a>.</p> +<p>Например, <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs">Node.js</a> — очень популярная среда исполнения JavaScript, которая позволяет разработчикам использовать JavaScript для создания сетевых и серверных приложений. <a href="https://nodejs.org/docs/latest-v5.x/api/events.html">Модель событий Node.js</a> основана на том, что существуют прослушиватели, отслеживающие события, и эмиттеры (передатчики), которые периодически генерируют события. В общем-то, это похоже на модель событий в JavaScript для веб-страниц, но код совсем другой. В этой модели используется функция <code>on()</code> для регистрации прослушивателей событий, и функция <code>once()</code> для регистрации прослушивателя событий, который отключается после первого срабатывания. Хорошим примером использования являются протоколы событий <a href="https://nodejs.org/docs/latest-v8.x/api/http.html#http_event_connect">HTTP connect event docs</a>.</p> <p>Вы также можете использовать JavaScript для создания кросс-браузерных расширений — улучшения функциональности браузера с помощью технологии <a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions">WebExtensions</a>. В отличии от модели веб-событий здесь свойства прослушивателей событий пишутся в так называемом регистре <a href="https://ru.wikipedia.org/wiki/CamelCase">CamelCase</a> (например, <code>onMessage</code>, а не <code>onmessage</code>) и должны сочетаться с функцией <code>addListener</code>. См. <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/onMessage#Examples">runtime.onMessage page</a> для примера.</p> @@ -110,7 +110,7 @@ btn.onclick = function() { document.body.style.backgroundColor = rndCol; }</pre> -<p>В данной ситауции свойство <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onclick">onclick</a></code> — это свойство обработчика события. В принципе это обычное свойство кнопки как элемента (наравне с <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent">btn.textContent</a></code> или <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style">btn.style</a></code>), но оно относится к особому типу. Если вы установите его равным какому-нибудь коду, этот код будет запущен при возникновении события (при нажатии на кнопку).</p> +<p>В данной ситуации свойство <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onclick">onclick</a></code> — это свойство обработчика события. В принципе это обычное свойство кнопки как элемента (наравне с <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent">btn.textContent</a></code> или <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style">btn.style</a></code>), но оно относится к особому типу. Если вы установите его равным какому-нибудь коду, этот код будет запущен при возникновении события (при нажатии на кнопку).</p> <p>Для получения того же результата, Вы также можете присвоить свойству обработчика имя уже описанной функции (как мы видели в статье <a href="/ru/docs/Learn/JavaScript/Building_blocks/Build_your_own_function">Создайте свою функцию</a>):</p> @@ -247,11 +247,11 @@ etc.</pre> <h2 id="Другие_концепции_событий">Другие концепции событий</h2> -<p>Рассмотрим некоторые современные концепции, имеющие отношение к событиям. На данный момент не обязательно понимать их полностью, но предстывление о них поможет лучше понять некоторые модели кода, с которыми вы, вероятно, столкнетесь.</p> +<p>Рассмотрим некоторые современные концепции, имеющие отношение к событиям. На данный момент не обязательно понимать их полностью, но представление о них поможет лучше понять некоторые модели кода, с которыми вы, вероятно, столкнетесь.</p> <h3 id="Объекты_событий"> Объекты событий</h3> -<p>Иногда внутри функции обработчика событий вы можете увидеть параметр, заданный с таким именем, как <code>event</code>, <code>evt</code> или просто <code>e</code>. Называется он <strong>объектом события</strong> и он автоматически передается обработчикам событий для предоставления дополнительных функций и информации. Например, давайте немного перепишем наш прмер со случайным цветом:</p> +<p>Иногда внутри функции обработчика событий вы можете увидеть параметр, заданный с таким именем, как <code>event</code>, <code>evt</code> или просто <code>e</code>. Называется он <strong>объектом события</strong> и он автоматически передается обработчикам событий для предоставления дополнительных функций и информации. Например, давайте немного перепишем наш пример со случайным цветом:</p> <pre class="brush: js notranslate">function bgChange(e) { var rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')'; @@ -334,7 +334,7 @@ for (var i = 0; i < divs.length; i++) { <h3 id="Предотвращение_поведения_по_умолчанию"> Предотвращение поведения по умолчанию</h3> -<p>Иногда бывают ситуации, когда нужно остановить событие, выполняющее то, что оно делает по умолчанию. Наиболее распространенным примером является веб-форма, например, пользовательская форма регистрации. Когда вы вводите данные и нажимаете кнопку отправки, естественное поведение заключается в том, что данные должны быть отправлены на указанную страницу на сервере для обработки, а браузер перенаправлется на страницу с сообщением об успехе (или остаться на той же странице, если другое не указано).</p> +<p>Иногда бывают ситуации, когда нужно остановить событие, выполняющее то, что оно делает по умолчанию. Наиболее распространенным примером является веб-форма, например, пользовательская форма регистрации. Когда вы вводите данные и нажимаете кнопку отправки, естественное поведение заключается в том, что данные должны быть отправлены на указанную страницу на сервере для обработки, а браузер перенаправляется на страницу с сообщением об успехе (или остаться на той же странице, если другое не указано).</p> <p>Но если пользователь отправил данные не правильно, как разработчик, вы хотите остановить отправку на сервер и выдать сообщение об ошибке с информацией о том, что не так и что нужно сделать. Некоторые браузеры поддерживают функции автоматической проверки данных формы, но, поскольку многие этого не делают, вам не следует полагаться на них и выполнять свои собственные проверки валидации. Давайте посмотрим на простой пример.</p> @@ -528,7 +528,7 @@ video.onclick = function() { <p>На стадии <strong>всплытия</strong> происходит полная противоположность:</p> <ul> - <li>Браузер проверяет, имеет ли элемент, который был фактически нажат, обработчик события <code>onclick</code>, зарегистрированный на нем в фазе высплытия, и запускает его, если это так.</li> + <li>Браузер проверяет, имеет ли элемент, который был фактически нажат, обработчик события <code>onclick</code>, зарегистрированный на нем в фазе всплытия, и запускает его, если это так.</li> <li>Затем он переходит к следующему непосредственному родительскому элементу и выполняет то же самое, затем следующее и так далее, пока не достигнет элемента <code><html></code>.</li> </ul> diff --git a/files/ru/learn/javascript/building_blocks/image_gallery/index.html b/files/ru/learn/javascript/building_blocks/image_gallery/index.html index a0e1e48cd5..0c75cf24fc 100644 --- a/files/ru/learn/javascript/building_blocks/image_gallery/index.html +++ b/files/ru/learn/javascript/building_blocks/image_gallery/index.html @@ -35,7 +35,7 @@ translation_of: Learn/JavaScript/Building_blocks/Image_gallery <p>Для начала скачайте <a href="https://github.com/ConstantineZz/learning-area/raw/master/javascript/building-blocks/gallery/gallery-start-rv.zip">ZIP файл</a> для примера и распакуйте его содержимое у себя на компьютере.</p> <div class="note"> -<p><strong>Замечание</strong>: Вы также можете использовать такие сайты как <a class="external external-icon" href="http://jsbin.com/">JSBin</a> или <a class="external external-icon" href="https://thimble.mozilla.org/">Thimble</a> для выполнения задания. Вы можте скопировать HTML, CSS и JavaScript в один из этих редакторов. Если онлайн редактор, который вы выбрали, не имеет отдельных панелей для JavaScript/CSS, вы можете выставить код в теги <code><script></code>/<code><style></code> расположенные на самой HTML странице.</p> +<p><strong>Замечание</strong>: Вы также можете использовать такие сайты как <a class="external external-icon" href="http://jsbin.com/">JSBin</a> или <a class="external external-icon" href="https://thimble.mozilla.org/">Thimble</a> для выполнения задания. Вы можете скопировать HTML, CSS и JavaScript в один из этих редакторов. Если онлайн редактор, который вы выбрали, не имеет отдельных панелей для JavaScript/CSS, вы можете выставить код в теги <code><script></code>/<code><style></code> расположенные на самой HTML странице.</p> </div> <h2 id="Обзор_проекта">Обзор проекта</h2> diff --git a/files/ru/learn/javascript/building_blocks/index.html b/files/ru/learn/javascript/building_blocks/index.html index 16b54aff16..cdcc1fbb95 100644 --- a/files/ru/learn/javascript/building_blocks/index.html +++ b/files/ru/learn/javascript/building_blocks/index.html @@ -8,7 +8,7 @@ tags: - Знакомство - Модуль - Написание кода - - НаписаниеКода + - Написание Кода - Начинающий - Новичок - Оценивание diff --git a/files/ru/learn/javascript/building_blocks/looping_code/index.html b/files/ru/learn/javascript/building_blocks/looping_code/index.html index 68f82b6d7b..537a6cc04e 100644 --- a/files/ru/learn/javascript/building_blocks/looping_code/index.html +++ b/files/ru/learn/javascript/building_blocks/looping_code/index.html @@ -13,7 +13,7 @@ translation_of: Learn/JavaScript/Building_blocks/Looping_code <tbody> <tr> <th scope="row">Требования:</th> - <td>Базовые значения компьютерной системы и базовое понимаение HTML и CSS, <a href="/en-US/docs/Learn/JavaScript/First_steps">JavaScript первые шаги</a>.</td> + <td>Базовые значения компьютерной системы и базовое понимание HTML и CSS, <a href="/en-US/docs/Learn/JavaScript/First_steps">JavaScript первые шаги</a>.</td> </tr> <tr> <th scope="row">Цель:</th> @@ -35,7 +35,7 @@ translation_of: Learn/JavaScript/Building_blocks/Looping_code <ul> <li> <strong>Счетчик</strong>, который инициализируется с определенного значения — начальной точки цикла (На рисунке выше первый этап: "у меня нет еды (i have no food)")</li> - <li><strong>Условие выхода </strong>— критерией, при котором цикл останавливается, — обычно наступает, когда цикл достигает определенного значения. Это иллюстрируется выше словами "Достаточно ли у меня еды? (Do I have enough food?)". Предположим, фермеру нужно 10 порций еды, чтобы прокормить семью.</li> + <li><strong>Условие выхода </strong>— критерий, при котором цикл останавливается, — обычно наступает, когда цикл достигает определенного значения. Это иллюстрируется выше словами "Достаточно ли у меня еды? (Do I have enough food?)". Предположим, фермеру нужно 10 порций еды, чтобы прокормить семью.</li> <li><strong>Итератор </strong>постепенно увеличивает счетчик на некоторое значение на каждом шаге цикла, пока не достигнуто условия выхода. Мы явно не показали это в изображении, но если предположить что фермер собирает две порции еды в час, то после каждого часа, количество еды, которое у него имеется, увеличивается на две порции, и он проверяет достаточно ли у него еды сейчас. Если у него собралось 10 порций (условие выхода), он может остановить сбор и вернуться домой.</li> </ul> @@ -156,7 +156,7 @@ ctx.fillStyle = 'rgba(255,0,0,0.5)'; ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI); ctx.fill();</pre> -<p>Это множество лишнего кода очень усложнило бы подержку кода в будущем, т.к. если бы вам захотелось что-то изменить, в каждой итерации цикла, пришлось бы изменять все части кода по отдельности. А ещё это усложнаяет поиск ошибок, т.к. если вдруг вы совершите логическую ошибку при описании одной из итераций, придется потратить много времени на ее поиски.</p> +<p>Это множество лишнего кода очень усложнило бы поддержку кода в будущем, т.к. если бы вам захотелось что-то изменить, в каждой итерации цикла, пришлось бы изменять все части кода по отдельности. А ещё это усложняет поиск ошибок, т.к. если вдруг вы совершите логическую ошибку при описании одной из итераций, придется потратить много времени на ее поиски.</p> <h2 id="Правила_записи_цикла">Правила записи цикла</h2> @@ -170,7 +170,7 @@ ctx.fill();</pre> <ol> <li>Ключевое слово <a href="ru/docs/Web/JavaScript/Reference/Statements/for">for</a>, за которым следуют круглые скобки.</li> - <li>В круглых скобках у нас есть три части, разделенные точой с запятой: + <li>В круглых скобках у нас есть три части, разделенные точкой с запятой: <ol> <li><strong>Инициализатор</strong> — обычно это переменная численного типа, которая увеличивается каждую итерацию, чтобы посчитать количество шагов цикла. Ее также называет <strong>счетчиком</strong>.</li> <li><strong>Условие выхода</strong> — как упоминалось ранее, определяет, когда цикл должен остановиться. Обычно это выражение с оператором сравнения проверяющим, выполнено ли условие выхода.</li> @@ -242,7 +242,7 @@ para.textContent = info;</pre> <li>Цикл запускается, пока значение итератора не будет больше длины массива кошек. Это важно - условие выхода показывает когда именно цикл должен работать, а когда нужно выйти из цикла. Поэтому в случае, пока <code>i < cats.lenght</code> по-прежнему возвращает <code>true</code>, цикл будет работать.</li> <li>Внутри тела цикла мы соединяем текущий элемент цикла (<code>cats[i]</code> это <code>cats</code>[независимо от того, чем <code>i</code> является в данный момент]) с запятой и пробелом. Итак: <ol> - <li>В начале, <code>i = 0</code>, поэтому <code>cats[0] + ', '</code> соеденятся в ("Билл, ").</li> + <li>В начале, <code>i = 0</code>, поэтому <code>cats[0] + ', '</code> соединятся в ("Билл, ").</li> <li>На втором шаге, <code>i = 1</code>, поэтому <code>cats[1] + ', '</code> соединятся в ("Макс, ")</li> <li>И так далее. В конце каждого цикла <code>i</code> увеличится на 1 (<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">i++</span></font>) , и процесс будет начинаться заново.</li> </ol> @@ -279,7 +279,7 @@ para.textContent = info;</pre> </div> <div class="warning"> -<p><strong>Важно</strong>: С цкилом <strong>for</strong>, также как и сдругими циклами, вы должны убедиться что инициализатор (счетчик) и окончательное выражение построены так, что они достигнут условия выхода. Если этого не произойдет, то цикл будет продолжаться вечно. В итоге браузер или заставит его остановиться, или выдаст ошибку. Это называется <strong>бесконечным циклом</strong>.</p> +<p><strong>Важно</strong>: С циклом <strong>for</strong>, также как и с другими циклами, вы должны убедиться что инициализатор (счетчик) и окончательное выражение построены так, что они достигнут условия выхода. Если этого не произойдет, то цикл будет продолжаться вечно. В итоге браузер или заставит его остановиться, или выдаст ошибку. Это называется <strong>бесконечным циклом</strong>.</p> </div> <h2 id="Выход_из_цикла_с_помощью_break">Выход из цикла с помощью break</h2> @@ -368,14 +368,14 @@ btn.addEventListener('click', function() { <p>{{ EmbedLiveSample('Hidden_code_3', '100%', 100) }}</p> <ol> - <li>Прежде всего у нас определены некоторые переменные: у нас есть массив с контактной информацией, каждый элемент которого это строка, содержащая в себе имя и номер телефона, которые разделенны двоеточием.</li> + <li>Прежде всего у нас определены некоторые переменные: у нас есть массив с контактной информацией, каждый элемент которого это строка, содержащая в себе имя и номер телефона, которые разделены двоеточием.</li> <li>Далее мы применяем обработчик события для кнопки (<code>btn</code>), чтобы при её нажатии запускался код для поиска и отображения результатов.</li> - <li>Мы сохраняем значение, введенное в текстовое поле, в переменную <code>searchName</code>, затем очищаем введеный текст и снова фокусируемся на текстовом поле для нового поиска.</li> + <li>Мы сохраняем значение, введенное в текстовое поле, в переменную <code>searchName</code>, затем очищаем введенный текст и снова фокусируемся на текстовом поле для нового поиска.</li> <li>Теперь перейдем к интересующей нас части — к циклу <code>for</code>: <ol> - <li>Мы начали счетчик с <code>0</code>, запускаем цикл до тех пор, пока счетчик всё ещё меньше, чем contacts.length, а инкремент <code>i</code> увеличиваем на 1 после каждой иттерации цикла.</li> + <li>Мы начали счетчик с <code>0</code>, запускаем цикл до тех пор, пока счетчик всё ещё меньше, чем contacts.length, а инкремент <code>i</code> увеличиваем на 1 после каждой итерации цикла.</li> <li>Внутри цикла мы сначала разделяем текущий контакт (<code>contacts[i]</code>) на символе двоеточия, и сохраняем полученные два значения в массиве с названием <code>splitContact</code>.</li> - <li>Затем мы используем условный оператор, чтобы проверить, равно ли <code>splitContact[0]</code> (имя контакта) введеному <code>searchName</code>. Если это так, мы выводим строку в абзац, чтобы сообщить, каков номер контакта, и используем <code>break</code> для завершения цикла.</li> + <li>Затем мы используем условный оператор, чтобы проверить, равно ли <code>splitContact[0]</code> (имя контакта) введенному <code>searchName</code>. Если это так, мы выводим строку в абзац, чтобы сообщить, каков номер контакта, и используем <code>break</code> для завершения цикла.</li> </ol> </li> <li> diff --git a/files/ru/learn/javascript/building_blocks/return_values/index.html b/files/ru/learn/javascript/building_blocks/return_values/index.html index 016321c969..3e3ebcfd8e 100644 --- a/files/ru/learn/javascript/building_blocks/return_values/index.html +++ b/files/ru/learn/javascript/building_blocks/return_values/index.html @@ -1,5 +1,5 @@ --- -title: Возвращаемое значение функции +title: Возвращаемое значение ффункции slug: Learn/JavaScript/Building_blocks/Return_values translation_of: Learn/JavaScript/Building_blocks/Return_values --- @@ -7,7 +7,7 @@ translation_of: Learn/JavaScript/Building_blocks/Return_values <div>{{PreviousMenuNext("Learn/JavaScript/Building_blocks/Build_your_own_function","Learn/JavaScript/Building_blocks/События", "Learn/JavaScript/Building_blocks")}}</div> -<p class="summary">Для нас в этом курсе имеется еще один важный момент. Посмотрим внимательнее на возвращаемое значение функций. Некоторые функции не возвращают существенное значение после завершения, но некоторые возвращают, и важно понимать что это за значение и как использовать его в своем коде и как сделать так чтобы ваши собственные функции возвращали полезные значения. Мы объясним всё это ниже. </p> +<p class="summary">Для нас в этом курсе имеется еще один важный момент. Посмотрим внимательнее на возвращаемое значение функций. Некоторые ффункции не возвращают существенное значение после завершения, но некоторые возвращают, и важно понимать что это за значение и как использовать его в своем коде и как сделать так чтобы ваши собственные ффункции возвращали полезные значения. Мы объясним всё это ниже. </p> <table class="learn-box standard-table"> <tbody> @@ -19,7 +19,7 @@ translation_of: Learn/JavaScript/Building_blocks/Return_values </tr> <tr> <th scope="row">Цели:</th> - <td>Понять что такое возвращаямое значение функции и как его использовать.</td> + <td>Понять что такое возвращаемое значение ффункции и как его использовать.</td> </tr> </tbody> </table> @@ -35,17 +35,17 @@ console.log(newString); // заменяет одну подстроку другой и возвращает // новую строку со сделанными заменами</pre> -<p>Мы уже видели этот блок кода в нашей первой статье про функции. Мы вызываем функцию <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace">replace()</a> на строке <code>myText</code> и передаем ей 2 параметра — заменяемую подстроку и подстроку, которой будем заменять. Когда функция завершит выполнение, она вернет значение, которым является новая строка со сделанными в ней заменами. В коде выше мы сохраняем это возвращаемое значение как значение переменной <code>newString</code>.</p> +<p>Мы уже видели этот блок кода в нашей первой статье про ффункции. Мы вызываем функцию <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace">replace()</a> на строке <code>myText</code> и передаем ей 2 параметра — заменяемую подстроку и подстроку, которой будем заменять. Когда функция завершит выполнение, она вернет значение, которым является новая строка со сделанными в ней заменами. В коде выше мы сохраняем это возвращаемое значение как значение переменной <code>newString</code>.</p> <p>Если Вы посмотрите на функцию replace() на MDN reference page, вы увидите секцию под названием <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Return_value">Return value</a>. Очень важно знать и понимать какие значения возвращаются функциями, так что мы пытаемся включать эту информацию везде, где это возможно.</p> -<p>Некоторые функции не возвращают значения( на наших reference pages, возвращаемое значение обозначено как <code>void</code> или <code>undefined</code> в таких случаях). Например, в функции <a href="https://github.com/mdn/learning-area/blob/master/javascript/building-blocks/functions/function-stage-4.html#L50">displayMessage()</a> которую мы сделали в прошлой статье, в результате выполнения функции не возвращается никакого значения. Функция всего лишь отображает что-то где-то на экране.</p> +<p>Некоторые ффункции не возвращают значения( на наших reference pages, возвращаемое значение обозначено как <code>void</code> или <code>undefined</code> в таких случаях). Например, в ффункции <a href="https://github.com/mdn/learning-area/blob/master/javascript/building-blocks/functions/function-stage-4.html#L50">displayMessage()</a> которую мы сделали в прошлой статье, в результате выполнения ффункции не возвращается никакого значения. Функция всего лишь отображает что-то где-то на экране.</p> <p>В основном, возвращаемое значение используется там, где функция является чем-то вроде вспомогательного звена при вычислениях. Вы хотите получить результат, который включает в себя некоторые значения. Эти значения вычисляются функцией, которая возвращает результат так, что он может быть использован в следующих стадиях вычисления.</p> <h3 id="Использование_возвращаемых_значений_в_ваших_собственных_функциях">Использование возвращаемых значений в ваших собственных функциях</h3> -<p>Чтобы вернуть значение своей функции, вы должны использовать ключевое слово <a href="/en-US/docs/Web/JavaScript/Reference/Statements/return">return</a>. Мы видели это в действии недавно - в нашем примере <a href="https://github.com/mdn/learning-area/blob/master/javascript/building-blocks/loops/random-canvas-circles.html">random-canvas-circles.html</a>. Наша функция<code>draw()</code>отрисовывает где-то на экране 100 случайных кружков. </p> +<p>Чтобы вернуть значение своей ффункции, вы должны использовать ключевое слово <a href="/en-US/docs/Web/JavaScript/Reference/Statements/return">return</a>. Мы видели это в действии недавно - в нашем примере <a href="https://github.com/mdn/learning-area/blob/master/javascript/building-blocks/loops/random-canvas-circles.html">random-canvas-circles.html</a>. Наша функция<code>draw()</code>отрисовывает где-то на экране 100 случайных кружков. </p> <p>{{htmlelement("canvas")}}:</p> @@ -59,7 +59,7 @@ console.log(newString); } }</pre> -<p>Внутри каждой итерации есть 3 вызова функции <code>random()</code>. Это сделано чтобы сгенерировать случайное значение для текущей координаты x, y и для радиуса. Функция <code>random()</code> принимает 1 параметр (целое число) и возвращает случайное число в диапазоне от 0 до этого числа. Выглядит это вот так: </p> +<p>Внутри каждой итерации есть 3 вызова ффункции <code>random()</code>. Это сделано чтобы сгенерировать случайное значение для текущей координаты x, y и для радиуса. Функция <code>random()</code> принимает 1 параметр (целое число) и возвращает случайное число в диапазоне от 0 до этого числа. Выглядит это вот так: </p> <pre class="brush: js">function random(number) { return Math.floor(Math.random()*number); @@ -74,7 +74,7 @@ console.log(newString); <p>Но первую версию написать быстрее и она более компактна.</p> -<p>Мы возвращаем результат вычисления <code>Math.floor(Math.random()*number)</code> каждый раз когда функция вызывается. Это возвращаемое значение появляется в момент вызова функции и код продолжается. Так, например, если мы выполним следующую строчку:</p> +<p>Мы возвращаем результат вычисления <code>Math.floor(Math.random()*number)</code> каждый раз когда функция вызывается. Это возвращаемое значение появляется в момент вызова ффункции и код продолжается. Так, например, если мы выполним следующую строчку:</p> <pre class="brush: js">ctx.arc(random(WIDTH), random(HEIGHT), random(50), 0, 2 * Math.PI);</pre> @@ -83,7 +83,7 @@ console.log(newString); <pre class="brush: js">ctx.arc(500, 200, 35, 0, 2 * Math.PI); </pre> -<p>Сначала выполняются вызовы функции <code>random()</code>, на место которых подставляются возвращаемые ей значения, а затем выполнятся сама строка.</p> +<p>Сначала выполняются вызовы ффункции <code>random()</code>, на место которых подставляются возвращаемые ей значения, а затем выполнятся сама строка.</p> <h2 id="Активное_обучение_наша_собственная_возвращающая_значение_функция">Активное обучение: наша собственная, возвращающая значение функция</h2> @@ -108,7 +108,7 @@ function factorial(num) { } return num; }</pre> - <code>Ф</code>ункции <code>squared()</code> и <code>cubed()</code> довольно очевидны— они возвразают квадрат или куб переданного как параметр числа. Функция <code>factorial()</code> возвращает <a href="https://en.wikipedia.org/wiki/Factorial">factorial</a> переданного числа.</li> + <code>Ф</code>функции <code>squared()</code> и <code>cubed()</code> довольно очевидны— они возвращают квадрат или куб переданного как параметр числа. Функция <code>factorial()</code> возвращает <a href="https://en.wikipedia.org/wiki/Factorial">factorial</a> переданного числа.</li> <li>Далее мы добавим способ выводить нашу информацию введенным в text input числе. Добавьте обработчик событий ниже существующих функций: <pre class="brush: js">input.onchange = function() { var num = input.value; @@ -124,10 +124,10 @@ function factorial(num) { <p>Здесь мы создаем обработчик событий <code>onchange</code> который срабатывает когда меняется когда новое значение вводится в text input и подтверждается (введите значение и, например, нажмите tab). Когда анонимная функция срабатывает, введенное в input значение сохраняется в переменной <code>num</code> .</p> </li> <li> - <p>Далее мы делаем условный тест — если введенное значение не является чилом, мы выводим в параграф сообщение об ошибке . Тест смотрит возвращает ли выражение <code>isNaN(num)</code> true. Мы используем функцию <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN">isNaN()</a> чтобы проверить что значение переменной num не число — если так то функция возвращает<code>true</code>, если нет- <code>false</code>.</p> + <p>Далее мы делаем условный тест — если введенное значение не является числом, мы выводим в параграф сообщение об ошибке . Тест смотрит возвращает ли выражение <code>isNaN(num)</code> true. Мы используем функцию <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN">isNaN()</a> чтобы проверить что значение переменной num не число — если так то функция возвращает<code>true</code>, если нет- <code>false</code>.</p> </li> <li> - <p>Если тест возвращает <code>false</code>, значение переменной <code>num</code>число, и поэтому мы выводим сообщение внутри параграфа о значениях квадрата, куба и факториала числа. Предложение вызывает функции <code>squared()</code>, <code>cubed()<font face="Open Sans, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;"> и</span></font></code><code>factorial()</code> чтобы получить нужные значения. Сохраните Ваш код, загрузите его в браузере и посмотрите на то что получилось.</p> + <p>Если тест возвращает <code>false</code>, значение переменной <code>num</code>число, и поэтому мы выводим сообщение внутри параграфа о значениях квадрата, куба и факториала числа. Предложение вызывает ффункции <code>squared()</code>, <code>cubed()<font face="Open Sans, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;"> и</span></font></code><code>factorial()</code> чтобы получить нужные значения. Сохраните Ваш код, загрузите его в браузере и посмотрите на то что получилось.</p> </li> </ol> @@ -141,20 +141,20 @@ function factorial(num) { <ul> <li>Приведите другой пример написание обработчика ошибок. Это довольно хорошая идея проверять что важные параметры предоставлены в правильном типе и если они опциональны то предусматривать для них значения по умолчанию. В таком случая Ваша программа с меньшей вероятность подвержена ошибкам. </li> - <li>Поразмышляйте о идее создания библиотеки функций. Чем дальше Вы будите расти в профессиональном плане, тем больше будете сталкиваться с однотипными вещами. Это хорошая идея начать собирать свою собственную библиотеку функций, которые Вы часто используюте — в таком случае Вы сможете просто скопировать их в Ваш новый код или просто добавить их в любую HTML страничку, где это требуется.</li> + <li>Поразмышляйте о идее создания библиотеки функций. Чем дальше Вы будите расти в профессиональном плане, тем больше будете сталкиваться с однотипными вещами. Это хорошая идея начать собирать свою собственную библиотеку функций, которые Вы часто используют — в таком случае Вы сможете просто скопировать их в Ваш новый код или просто добавить их в любую HTML страничку, где это требуется.</li> </ul> <h2 id="Заключение">Заключение</h2> -<p>Функции очень полезны и не смотря на то, что об их синтаксисе и функциональности можно говорить долго, у нас есть довольно понятные статьи для дальнейшего обучения.</p> +<p>Ффункции очень полезны и не смотря на то, что об их синтаксисе и функциональности можно говорить долго, у нас есть довольно понятные статьи для дальнейшего обучения.</p> <p>Если в статье есть что-то что вы не поняли, не стесняйтесь перечитать статью еще раз или <a href="/en-US/Learn#Contact_us">свяжитесь с нами</a> для получения помощи.</p> <h2 id="Смотрите_также">Смотрите также</h2> <ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions">Функции более подробно</a> — подробное руководство, охватывающее более продвинутую информацию, связанную с функциями.</li> - <li><a href="https://www.impressivewebs.com/callback-functions-javascript/">Функции обратного вызова в JavaScript</a> — распространенный паттерн JavaScript для передачи функции в другую функцию как аргумент, который затем вызывается внутри первой функици.</li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions">Ффункции более подробно</a> — подробное руководство, охватывающее более продвинутую информацию, связанную с функциями.</li> + <li><a href="https://www.impressivewebs.com/callback-functions-javascript/">Ффункции обратного вызова в JavaScript</a> — распространенный паттерн JavaScript для передачи ффункции в другую функцию как аргумент, который затем вызывается внутри первой функции.</li> </ul> <p>{{PreviousMenuNext("Learn/JavaScript/Building_blocks/Build_your_own_function","Learn/JavaScript/Building_blocks/Events", "Learn/JavaScript/Building_blocks")}}</p> diff --git a/files/ru/learn/javascript/building_blocks/test_your_skills_colon__functions/index.html b/files/ru/learn/javascript/building_blocks/test_your_skills_colon__functions/index.html index 62e1951fdc..8bfb571bcb 100644 --- a/files/ru/learn/javascript/building_blocks/test_your_skills_colon__functions/index.html +++ b/files/ru/learn/javascript/building_blocks/test_your_skills_colon__functions/index.html @@ -4,7 +4,7 @@ slug: 'Learn/JavaScript/Building_blocks/Test_your_skills:_Functions' tags: - JavaScript - Изучение - - Новичек + - Новичок - Функции translation_of: 'Learn/JavaScript/Building_blocks/Test_your_skills:_Functions' --- diff --git a/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html b/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html index 114e7821a1..0f50a5eed4 100644 --- a/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html +++ b/files/ru/learn/javascript/client-side_web_apis/client-side_storage/index.html @@ -53,7 +53,7 @@ translation_of: Learn/JavaScript/Client-side_web_APIs/Client-side_storage <p><img alt="" src="https://mdn.mozillademos.org/files/15734/cookies-notice.png" style="display: block; margin: 0 auto;"></p> -<p>По этим причинам мы не будем учить вас, как использовать куки в этой статье. Они устарели, у них множество <a href="/en-US/docs/Web/HTTP/Cookies#Security">проблем с безопастностью</a>, и неспособны хранить сложные данные. При этом существуют лучшие, более современные, способы хранения более широкого спектра данных на компьютере пользователя.</p> +<p>По этим причинам мы не будем учить вас, как использовать куки в этой статье. Они устарели, у них множество <a href="/en-US/docs/Web/HTTP/Cookies#Security">проблем с безопасностью</a>, и неспособны хранить сложные данные. При этом существуют лучшие, более современные, способы хранения более широкого спектра данных на компьютере пользователя.</p> <p>Единственным преимуществом файлов cookie является то, что они поддерживаются очень старыми браузерами, поэтому, если ваш проект требует, чтобы вы поддерживали устаревшие браузеры (например, Internet Explorer 8 или более ранние версии), файлы cookie могут по-прежнему быть полезными, но для большинства проектов вы не нужно больше прибегать к ним.</p> diff --git a/files/ru/learn/javascript/client-side_web_apis/introduction/index.html b/files/ru/learn/javascript/client-side_web_apis/introduction/index.html index bc710c0d37..2961fbf0ec 100644 --- a/files/ru/learn/javascript/client-side_web_apis/introduction/index.html +++ b/files/ru/learn/javascript/client-side_web_apis/introduction/index.html @@ -86,7 +86,7 @@ translation_of: Learn/JavaScript/Client-side_web_APIs/Introduction <li><a href="https://dev.twitter.com/overview/documentation">Twitter API</a> для добавления такого функционала, как показ последних твитов на сайте.</li> <li><a href="https://developers.google.com/maps/">Google Maps API</a> для работы с картами на веб-странице (интересно, что Google Maps также использует этот API). Теперь это целый набор API, который может справляться с широким спектром задач, как свидетельствует <a href="https://developers.google.com/maps/documentation/api-picker">Google Maps API Picker</a>.</li> <li><a href="https://developers.facebook.com/docs/">Набор Facebook API</a> позволяет использовать различные части платформы Facebook в вашем приложении, предоставляя, например, возможность входа в систему с логином Facebook, оплаты покупок в приложении, демонстрация целевой рекламы и т.д.</li> - <li><a href="https://developers.google.com/youtube/">YouTube API</a>, предоставляющий возможность встраивать видео с YouTube на вашем сайте, производить поиск, создавать плэйлисты и т.д.</li> + <li><a href="https://developers.google.com/youtube/">YouTube API</a>, предоставляющий возможность встраивать видео с YouTube на вашем сайте, производить поиск, создавать плейлисты и т.д.</li> <li><a href="https://www.twilio.com/">Twilio API</a> - фреймворк для встраивания функционала голосовой и видео связи в вашем приложении, отправки SMS/MMS из приложения и т.д.</li> </ul> diff --git a/files/ru/learn/javascript/client-side_web_apis/manipulating_documents/index.html b/files/ru/learn/javascript/client-side_web_apis/manipulating_documents/index.html index e93334902a..a0e35bc998 100644 --- a/files/ru/learn/javascript/client-side_web_apis/manipulating_documents/index.html +++ b/files/ru/learn/javascript/client-side_web_apis/manipulating_documents/index.html @@ -6,7 +6,7 @@ tags: - DOM - Изучение - Навигатор - - Новичек + - Новичок - Окно translation_of: Learn/JavaScript/Client-side_web_APIs/Manipulating_documents --- @@ -106,7 +106,7 @@ translation_of: Learn/JavaScript/Client-side_web_APIs/Manipulating_documents </ol> <div> -<p>Обратите внимание, что, как и во многих вещах в JavaScript, существует множество способов выбора элемента и хранения ссылки на него в переменной. {{domxref("Document.querySelector()")}} - рекомендуемый современный подход, который считается удобным, потому что он позволяет вам выбирать элементы с помощью селекторов CSS. Вышеупомянутый запрос <code>querySelector()</code> будет соответствовать первому элементу {{htmlelement("a")}}, который появляется в документе. Если вы хотите совместить и делать что-то с несколькими элементами, вы можете использовать {{domxref ("Document.querySelectorAll()")}}, который соответствует каждому элементу документа, который соответствует селектору и сохраняет ссылки на них в массиве <a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Arrays">массиво</a>-подобном объекте, называемом NodeList.</p> +<p>Обратите внимание, что, как и во многих вещах в JavaScript, существует множество способов выбора элемента и хранения ссылки на него в переменной. {{domxref("Document.querySelector()")}} - рекомендуемый современный подход, который считается удобным, потому что он позволяет вам выбирать элементы с помощью селекторов CSS. Вышеупомянутый запрос <code>querySelector()</code> будет соответствовать первому элементу {{htmlelement("a")}}, который появляется в документе. Если вы хотите совместить и делать что-то с несколькими элементами, вы можете использовать {{domxref ("Document.querySelectorAll()")}}, который соответствует каждому элементу документа, который соответствует селектору и сохраняет ссылки на них в массиве <a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Arrays">массива</a>-подобном объекте, называемом NodeList.</p> <p>Существуют более старые методы для захвата ссылок на элементы, например:</p> diff --git a/files/ru/learn/javascript/first_steps/a_first_splash/index.html b/files/ru/learn/javascript/first_steps/a_first_splash/index.html index 7d04a8b3af..8c4817891c 100644 --- a/files/ru/learn/javascript/first_steps/a_first_splash/index.html +++ b/files/ru/learn/javascript/first_steps/a_first_splash/index.html @@ -278,7 +278,7 @@ var resetButton;</code></pre> <h3 id="Операторы_Operators">Операторы (Operators)</h3> -<p>Операторы JavaScript позволяют нам проводить проверки, математические рассчеты, объединять строки вместе и выполнять другие подобные действия.</p> +<p>Операторы JavaScript позволяют нам проводить проверки, математические расчеты, объединять строки вместе и выполнять другие подобные действия.</p> <p>Сохраните наш код и обновите страницу показанную в браузере. Откройте <a href="/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools">консоль JavaScript</a>, если вы еще её не открыли, чтобы попробовать ввести текст из приведенных ниже примеров — введите каждую строчку из столбца "Пример", нажимая Enter после каждого из них, и посмотрите какие результаты они возвращают. Если у вас нет доступа к инструментам разработчика в браузере, вы всегда можете использовать простую встроенную консоль, показанную ниже:</p> @@ -477,7 +477,7 @@ greeting;</pre> <h3 id="Условные_выражения_Conditionals">Условные выражения (Conditionals)</h3> -<p>Вернемся к нашей функции <code>checkGuess()</code>, я думаю, можно с уверенностью сказать, что мы не хотим, чтобы она просто выводила сообщение заполнитель. Мы хотим, чтобы она проверяла сделал игрок правильный выбор или нет, и соответсвующе реагировала.</p> +<p>Вернемся к нашей функции <code>checkGuess()</code>, я думаю, можно с уверенностью сказать, что мы не хотим, чтобы она просто выводила сообщение заполнитель. Мы хотим, чтобы она проверяла сделал игрок правильный выбор или нет, и соответствующие реагировала.</p> <p>Теперь, заменим вашу текущую функцию<code>checkGuess()</code> на эту версию:</p> @@ -515,14 +515,14 @@ greeting;</pre> <ul> <li>Первая строка (строка под номером 2 в коде выше) объявляет переменную с именем <code>userGuess</code> и устанавливает ее значение на то, что сейчас введено в текстовое поле. Мы также пропускаем это значение через встроенный метод <code>Number()</code>, чтобы убедится, что значение точно является числом.</li> - <li>Затем мы сталкиваемся с нашим первым блоком условного кода (строки 3–5 в коде выше). Блок условного кода позволяет выборочно запускать код в зависимости от того, является определенное условие истинным или нет. Он немного похож на функцию, но это не так. Простейшая форма условного блока начинается с ключевого слова <code>if</code>, за ним круглые скобки, за ними еще фигурные скобки. В круглые скобки мы добавляем проверку. Если проверка возвращает <code>true</code>, запускается код в фигурных скобках. Если нет, этот код пропускается и мы переходим к следующей части кода. В этом случае проверяется равна ли переменая <code>guessCount</code> числу <code>1</code> (то есть является ли это первой попыткой игрока или нет): + <li>Затем мы сталкиваемся с нашим первым блоком условного кода (строки 3–5 в коде выше). Блок условного кода позволяет выборочно запускать код в зависимости от того, является определенное условие истинным или нет. Он немного похож на функцию, но это не так. Простейшая форма условного блока начинается с ключевого слова <code>if</code>, за ним круглые скобки, за ними еще фигурные скобки. В круглые скобки мы добавляем проверку. Если проверка возвращает <code>true</code>, запускается код в фигурных скобках. Если нет, этот код пропускается и мы переходим к следующей части кода. В этом случае проверяется равна ли переменная <code>guessCount</code> числу <code>1</code> (то есть является ли это первой попыткой игрока или нет): <pre class="brush: js notranslate">guessCount === 1</pre> Если это так, мы выводим параграф с содержанием "Previous guesses: ". Если нет, ничего не делаем.</li> - <li>Строка 6 добавяет текущее знаение <code>userGuess</code> в конец параграфа <code>guesses</code>, плюс пустое пространство поэтому между каждыми показанными предположениями будет пробел.</li> + <li>Строка 6 добавляет текущее значение <code>userGuess</code> в конец параграфа <code>guesses</code>, плюс пустое пространство поэтому между каждыми показанными предположениями будет пробел.</li> <li>Следующий блок (строки 8–24 ) делает несколько проверок: <ul> <li><code><font face="Open Sans, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Первая конструкция </span></font>if(){ }</code> проверяет, совпадает ли предположение пользователя с <code>randomNumber</code> установленному в верхней части нашего JavaScript. Если это так, игрок правильно догадался, и игра выиграна, поэтому мы показываем игроку поздравительное сообщение с приятным зеленым цветом, очищаем содержимое окна информации о минимуме / максимуме и запускаем функцию, называемую setGameOver (), которую мы обсудим позже.</li> - <li>Теперь мы добавили еще одну проверку после пердыдущей, используя конструкцию else if () {}. Эта конструкция проверяет, является ли этот ход последним ходом пользователя. Если это так, программа выполняет то же самое, что и в предыдущем блоке, но выведет сообщение с текстом GAME OVER.</li> + <li>Теперь мы добавили еще одну проверку после предыдущей, используя конструкцию else if () {}. Эта конструкция проверяет, является ли этот ход последним ходом пользователя. Если это так, программа выполняет то же самое, что и в предыдущем блоке, но выведет сообщение с текстом GAME OVER.</li> <li>Последний блок, в конце нашего кода (else {}), содержит код, который запускается только в том случае, если ни один из двух других тестов не возвращает true (т. е. Игрок не догадался правильно, но у него еще остались догадки). В этом случае мы говорим игроку, что он ошибся, затем мы выполняем еще один условный тест, чтобы проверить, было ли предположение больше или меньше ответа, показывая дополнительное сообщение.</li> </ul> </li> diff --git a/files/ru/learn/javascript/first_steps/arrays/index.html b/files/ru/learn/javascript/first_steps/arrays/index.html index 1c575c759b..ecc2cacb19 100644 --- a/files/ru/learn/javascript/first_steps/arrays/index.html +++ b/files/ru/learn/javascript/first_steps/arrays/index.html @@ -466,7 +466,7 @@ body { <p>{{ EmbedLiveSample('Playable_code', '100%', 730, "", "", "hide-codepen-jsfiddle") }}</p> -<h2 id="Практика_Топ_5_поисовых_запросов">Практика: Топ 5 поисовых запросов</h2> +<h2 id="Практика_Топ_5_поисковых_запросов">Практика: Топ 5 поисковых запросов</h2> <p>Хорошим тоном, является использование методов массива, таких как {{jsxref ("Array.prototype.push ()", "push ()")}} и {{jsxref ("Array.prototype.pop ()", "pop ()") }} - это когда вы ведете запись активных элементов в веб-приложении. Например, в анимированной сцене может быть массив объектов, представляющих текущую отображаемую фоновую графику и вам может потребоваться только 50 одновременных отображений по причинам производительности или беспорядка. Когда новые объекты создаются и добавляются в массив, более старые могут быть удалены из массива для поддержания нужного числа.</p> diff --git a/files/ru/learn/javascript/first_steps/math/index.html b/files/ru/learn/javascript/first_steps/math/index.html index 22a6945573..893720c23e 100644 --- a/files/ru/learn/javascript/first_steps/math/index.html +++ b/files/ru/learn/javascript/first_steps/math/index.html @@ -55,12 +55,12 @@ original_slug: Learn/JavaScript/Первые_шаги/Math <li><strong>Бинарная</strong> — низкоуровневый язык компьютеров; нули и единицы (0 и 1);</li> <li><strong>Восьмеричная</strong> — 8-ми разрядная, использует 0–7 в каждом столбце;</li> <li><strong>Десятичная</strong> — 10-ти разрядная, использует 0-9 в каждом столбце;</li> - <li><strong>Шестнадцатеричная</strong> — 16-ти разрядная, используюет 0–9 и потом a–f в каждом столбце. Вы, возможно, уже встречали эти числа, когда задавали <a href="/en-US/Learn/CSS/Introduction_to_CSS/Values_and_units#Hexadecimal_values">цвет в CSS</a>.</li> + <li><strong>Шестнадцатеричная</strong> — 16-ти разрядная, используют 0–9 и потом a–f в каждом столбце. Вы, возможно, уже встречали эти числа, когда задавали <a href="/en-US/Learn/CSS/Introduction_to_CSS/Values_and_units#Hexadecimal_values">цвет в CSS</a>.</li> </ul> <p><strong>Прежде чем взорвется ваш мозг, остановитесь прямо здесь и сейчас!</strong> </p> -<p>Во-первых, мы просто будем придерживаться десятичных чисел на протяжении всего курса; вы редко когда будете сталкиваться с необходимостью думать в других числовых системах, если вообще когда-либо с ней сталкнетесь.</p> +<p>Во-первых, мы просто будем придерживаться десятичных чисел на протяжении всего курса; вы редко когда будете сталкиваться с необходимостью думать в других числовых системах, если вообще когда-либо с ней столкнетесь.</p> <p>Во-вторых, в отличие от некоторых других языков программирования, JavaScript имеет только один тип данных для чисел, как вы догадались это {{jsxref("Number")}}. Это означает, независимо от типа чисел, с которыми вы работаете в JavaScript, обрабатывать вы их будете точно так же.</p> @@ -198,7 +198,7 @@ num2 + num1 / 8 + 2;</pre> <p><strong>Замечание</strong>: инкремент и декремент часто используются в <a href="/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration">циклах</a>, о которых вы узнаете позже. Например, если вы захотите пройтись по списку цен и добавить к каждой налог с продаж, вам придется в цикле обойти каждую цену и провести необходимые вычисления для учета налога. Инкремент будет использован для перехода на новую ячейку списка при необходимости. У нас есть несложный пример реализации такого списка - попробуйте и взгляните на код чтобы посмотреть, сможете ли вы найти инкременты! Мы взглянем на циклы поближе позже по ходу курса.</p> </div> -<p>Давайте попробуем сыграть с этим в вашей консоли. Для начала заметим, что вы не можете использовать инкремент/декремент непосредсвенно к числу, что может показаться странным. Дело в том, что мы присваиваем к переменной новое обновленное число, а не просто вычисляем значение. Следующий пример приведет к ошибке:</p> +<p>Давайте попробуем сыграть с этим в вашей консоли. Для начала заметим, что вы не можете использовать инкремент/декремент непосредственно к числу, что может показаться странным. Дело в том, что мы присваиваем к переменной новое обновленное число, а не просто вычисляем значение. Следующий пример приведет к ошибке:</p> <pre class="brush: js">3++;</pre> @@ -207,7 +207,7 @@ num2 + num1 / 8 + 2;</pre> <pre class="brush: js">var num1 = 4; num1++;</pre> -<p>Так, вторая странность! Если вы сделаете это, вы получите значение 4 - бразуер возвращает текущее число, после чего применяет к нему оператор инкремента. Вы можете удостовериться в том, что инкремент был применен, узнав значение переменной еще раз:</p> +<p>Так, вторая странность! Если вы сделаете это, вы получите значение 4 - браузер возвращает текущее число, после чего применяет к нему оператор инкремента. Вы можете удостовериться в том, что инкремент был применен, узнав значение переменной еще раз:</p> <pre class="brush: js">num1;</pre> @@ -254,7 +254,7 @@ x = y; // x теперь содержит значение y (x == 4)</pre> <tr> <td><code>-=</code></td> <td>Присваивание вычитания</td> - <td>Вычитает значение справа из переменной слева и возвращает новое зачение переменной</td> + <td>Вычитает значение справа из переменной слева и возвращает новое значение переменной</td> <td><code>x = 6;<br> x -= 3;</code></td> <td><code>x = 6;<br> @@ -265,7 +265,7 @@ x = y; // x теперь содержит значение y (x == 4)</pre> <td> <p>Присваивание умножения</p> </td> - <td>Умножает переменную слева на значение справа и возвращает новое зачение переменной</td> + <td>Умножает переменную слева на значение справа и возвращает новое значение переменной</td> <td><code>x = 2;<br> x *= 3;</code></td> <td><code>x = 2;<br> @@ -274,7 +274,7 @@ x = y; // x теперь содержит значение y (x == 4)</pre> <tr> <td><code>/=</code></td> <td>Присваивание деления</td> - <td>Делит переменную слева на значение справа и возвращает новое зачение переменной</td> + <td>Делит переменную слева на значение справа и возвращает новое значение переменной</td> <td><code>x = 10;<br> x /= 5;</code></td> <td><code>x = 10;<br> @@ -285,7 +285,7 @@ x = y; // x теперь содержит значение y (x == 4)</pre> <p>Попробуйте использовать такие конструкции, что понять, как они работают. Сможете ли вы определить значение до того, как напишите вторую строку?</p> -<p>Замьтете, что значение справа может быть как числом (константой), так и переменной, например:</p> +<p>Заметьте, что значение справа может быть как числом (константой), так и переменной, например:</p> <pre class="brush: js">var x = 3; // x содержит значение 3 var y = 4; // y содержит значение 4 @@ -297,7 +297,7 @@ x *= y; // x содержит значение 12</pre> <h2 id="Активное_обучение_меняем_размеры_коробки">Активное обучение: меняем размеры коробки</h2> -<p>В этом упражнении вы будете пользоваться числами и операторами для работы с размерами коробки. Коробка рисуется с помощью API браузера, которое назывется Canvas API. Вам не следует беспокоиться о том, как это работает - просто сосредоточьтесь на математике. Ширина и высота коробки (в пикселях) определяются переменными <code>x</code> и <code>y</code>, которые изначально равны 50.</p> +<p>В этом упражнении вы будете пользоваться числами и операторами для работы с размерами коробки. Коробка рисуется с помощью API браузера, которое называется Canvas API. Вам не следует беспокоиться о том, как это работает - просто сосредоточьтесь на математике. Ширина и высота коробки (в пикселях) определяются переменными <code>x</code> и <code>y</code>, которые изначально равны 50.</p> <p>{{EmbedGHLiveSample("learning-area/javascript/introduction-to-js-1/maths/editable_canvas.html", '100%', 520)}}</p> @@ -306,15 +306,15 @@ x *= y; // x содержит значение 12</pre> <p>В коде сверху, который вы можете изменять, под комментарием есть две строчки, с помощью которых вы можете увеличивать/уменьшать размеры коробки. Мы хотим, чтобы вы выполнили несколько заданий:</p> <ul> - <li>Поменяйте строчку с размером x так, чтобы коробка была шириной 50px, причем 50 должно быть вычислено с помощью чисел 43 и 7 и арифмитического оператора.</li> + <li>Поменяйте строчку с размером x так, чтобы коробка была шириной 50px, причем 50 должно быть вычислено с помощью чисел 43 и 7 и арифметического оператора.</li> <li>Поменяйте строчку с размером y так, чтобы коробка была высотой 75px, причем 75 должно быть вычислено с помощью чисел 25 и 3 и арифметического оператора.</li> <li>Поменяйте строчку с размером y так, чтобы коробка была высотой 250, при этом 250 вычислено с помощью двух чисел и оператором взятия остатка (модуль).</li> - <li>Поменяйте строчку с размером y так, чтобы коробка была высотой 150px, причем 150 вычилено с помощью трех чисел и операторов вычитания и деления.</li> + <li>Поменяйте строчку с размером y так, чтобы коробка была высотой 150px, причем 150 вычислено с помощью трех чисел и операторов вычитания и деления.</li> <li>Поменяйте строчку с размером x так, чтобы коробка была шириной 200px, при этом 200 вычислено с помощью числа 4 и оператора присваивания.</li> <li>Поменяйте строчку с размером y так, чтобы коробка была высотой 200px, причем 200 вычислено с помощью чисел 50 и 3 и операторов умножения и присваивания сложения.</li> </ul> -<p>Не расстраивайтесть, если вы не поняли код сверху. Нажмите кнопку <em>Reset</em> для запуска программы снова. Если вы смогли ответить верно на все вопросы, попробуйте поэкспериментировать с кодом еще (или, например, предложить друзьям несколько заданий).</p> +<p>Не расстраивайтесь, если вы не поняли код сверху. Нажмите кнопку <em>Reset</em> для запуска программы снова. Если вы смогли ответить верно на все вопросы, попробуйте поэкспериментировать с кодом еще (или, например, предложить друзьям несколько заданий).</p> <h2 id="Операторы_сравнения">Операторы сравнения</h2> @@ -405,7 +405,7 @@ function updateBtn() { <p><strong><a href="https://mdn.github.io/learning-area/javascript/introduction-to-js-1/maths/conditional.html">Открыть в новом окне</a></strong></p> -<p>Мы использовали оператор равенства внутри функции <code>updateBtn()</code>. В этом случае мы не проверяем пару математических выражений на равенcтво значений — мы просто смотрим, является ли текст на кнопке определенной строкой — что по сути является тем же самым. Если кнопка при нажатии содержит "Start machine", мы меняем содержимое метки на "Stop machine" и обновляем метку. Если же текст кнопки — "Stop machine", при нажатии мы возвращем все обратно. </p> +<p>Мы использовали оператор равенства внутри функции <code>updateBtn()</code>. В этом случае мы не проверяем пару математических выражений на равенство значений — мы просто смотрим, является ли текст на кнопке определенной строкой — что по сути является тем же самым. Если кнопка при нажатии содержит "Start machine", мы меняем содержимое метки на "Stop machine" и обновляем метку. Если же текст кнопки — "Stop machine", при нажатии мы возвращаем все обратно. </p> <div class="note"> <p><strong>Заметка</strong>: Такой элемент управления, который переключается между двумя состояниями, обычно называется <strong>тумблером</strong>. Он переключается между одним состоянием и другим: свет включен, свет выключен и т. д.</p> @@ -418,7 +418,7 @@ function updateBtn() { <p>В следующей статье мы изучим текст и то, как мы работаем с ним в JavaScript.</p> <div class="note"> -<p><strong>Примечание</strong>: если вам хочется узнать подробнее о том, как математика реализуется в JavaScript, вы можете посмотерть главный раздел JavaScript MDN. Статьи <a href="/ru/docs/Web/JavaScript/Guide/Numbers_and_dates">Числа и даты</a> и <a href="/ru/docs/Web/JavaScript/Reference/Operators">Выражения и операторы</a> - хороший вариант для начала.</p> +<p><strong>Примечание</strong>: если вам хочется узнать подробнее о том, как математика реализуется в JavaScript, вы можете посмотреть главный раздел JavaScript MDN. Статьи <a href="/ru/docs/Web/JavaScript/Guide/Numbers_and_dates">Числа и даты</a> и <a href="/ru/docs/Web/JavaScript/Reference/Operators">Выражения и операторы</a> - хороший вариант для начала.</p> </div> <p>{{PreviousMenuNext("Learn/JavaScript/Первые_шаги/Variables", "Learn/JavaScript/Первые_шаги/Строки", "Learn/JavaScript/Первые_шаги")}}</p> diff --git a/files/ru/learn/javascript/first_steps/silly_story_generator/index.html b/files/ru/learn/javascript/first_steps/silly_story_generator/index.html index 62576df3be..b59058d29a 100644 --- a/files/ru/learn/javascript/first_steps/silly_story_generator/index.html +++ b/files/ru/learn/javascript/first_steps/silly_story_generator/index.html @@ -7,8 +7,8 @@ tags: - Изучение - Испытание - Массивы - - НаписаниеКода - - НачальныйУровень + - Написание Кода + - Начальный Уровень - Операторы - Переменные - Проверка @@ -79,7 +79,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Создатель_глу <p>Задайте переменные и функции:</p> <ol> - <li>В исходном текстовом документе скопируйте весь код под заголовком "1. COMPLETE VARIABLE AND FUNCTION DEFINITIONS" и вставьте в начало файла <code>main.js</code>. Это даст вам три переменные, ссылающиеся на текстовое поле "Enter custom name" (<code>customName</code>), кнопку "Generate random story" (<code>randomize</code>), и элемент снизу HTML страницы, куда будет помещена сама история {{htmlelement("p")}} (<code>story</code>), соответственно. Также у вас должна быть функция<code>randomValueFromArray()</code>, котрая принимает массив и случайным образом возвращает оттуда один из элементов.</li> + <li>В исходном текстовом документе скопируйте весь код под заголовком "1. COMPLETE VARIABLE AND FUNCTION DEFINITIONS" и вставьте в начало файла <code>main.js</code>. Это даст вам три переменные, ссылающиеся на текстовое поле "Enter custom name" (<code>customName</code>), кнопку "Generate random story" (<code>randomize</code>), и элемент снизу HTML страницы, куда будет помещена сама история {{htmlelement("p")}} (<code>story</code>), соответственно. Также у вас должна быть функция<code>randomValueFromArray()</code>, которая принимает массив и случайным образом возвращает оттуда один из элементов.</li> <li>Теперь взгляните на второй параграф исходного документа — "2. RAW TEXT STRINGS". Он содержит строки текста, которые будут использоваться как входные данные вашей программы. Вам следует поместить их внутрь переменных в файле <code>main.js</code>: <ol> <li>Сохраните первую большую строку текста в переменную <code>storyText</code>.</li> @@ -94,7 +94,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Создатель_глу <ol> <li>Теперь возвращаемся к исходному текстовому файлу.</li> - <li>Скопируйте код под заголовком "3. EVENT LISTENER AND PARTIAL FUNCTION DEFINITION" и вставте его в конец файла <code>main.js</code>. Это: + <li>Скопируйте код под заголовком "3. EVENT LISTENER AND PARTIAL FUNCTION DEFINITION" и вставьте его в конец файла <code>main.js</code>. Это: <ul> <li>Добавит обработчик события кликанья в переменную <code>randomize</code>, Так что, когда кнопка будет нажата - функция <code>result()</code> запустится.</li> <li>Добавляет в код частично завершенную функцию <code>result()</code>. В течении оставшейся части испытания вам предстоит, заполняя строчки внутри этой функции, завершить ее и заставить работать должным образом.</li> diff --git a/files/ru/learn/javascript/first_steps/strings/index.html b/files/ru/learn/javascript/first_steps/strings/index.html index 9c769ff801..3bbdedaca4 100644 --- a/files/ru/learn/javascript/first_steps/strings/index.html +++ b/files/ru/learn/javascript/first_steps/strings/index.html @@ -8,7 +8,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Строки <div>{{PreviousMenuNext("Learn/JavaScript/Первые_шаги/Math", "Learn/JavaScript/Первые_шаги/Useful_string_methods", "Learn/JavaScript/Первые_шаги")}}</div> -<p class="summary">Теперь мы обратим внимание на строки — в программировании так называют части текста. В этой статье мы рассмотрим все распростанённые вещи, которые вы должны действительно знать о строках при изучении JavaScript, например, создание строк, <span id="result_box" lang="ru"><span>экранирование кавычек в строках и объединение строк вместе.</span></span></p> +<p class="summary">Теперь мы обратим внимание на строки — в программировании так называют части текста. В этой статье мы рассмотрим все распространенные вещи, которые вы должны действительно знать о строках при изучении JavaScript, например, создание строк, <span id="result_box" lang="ru"><span>экранирование кавычек в строках и объединение строк вместе.</span></span></p> <table class="learn-box standard-table"> <tbody> diff --git a/files/ru/learn/javascript/first_steps/useful_string_methods/index.html b/files/ru/learn/javascript/first_steps/useful_string_methods/index.html index 552423bc8b..aa85c3309d 100644 --- a/files/ru/learn/javascript/first_steps/useful_string_methods/index.html +++ b/files/ru/learn/javascript/first_steps/useful_string_methods/index.html @@ -552,7 +552,7 @@ textarea.onkeyup = function(){ <pre class="notranslate">MAN: Manchester Piccadilly</pre> -<p>Мы бы рекоменовали реализовать это следующим образом:</p> +<p>Мы бы рекомендовали реализовать это следующим образом:</p> <ol> <li>Извлеките трехбуквенный код станции и сохраните его в новой переменной.</li> diff --git a/files/ru/learn/javascript/first_steps/variables/index.html b/files/ru/learn/javascript/first_steps/variables/index.html index 2e041f5e9f..0f78209b8d 100644 --- a/files/ru/learn/javascript/first_steps/variables/index.html +++ b/files/ru/learn/javascript/first_steps/variables/index.html @@ -199,7 +199,7 @@ var myAge;</pre> <p><strong>Заметка</strong>: в JavaScript все инструкции кода должны заканчиваться точкой с запятой (;) - ваш код может работать правильно для отдельных строк, но, вероятно, не будет, когда вы пишете несколько строк кода вместе. Попытайтесь превратить написание точки с запятой в привычку.</p> </div> -<p>Теперь проверим, существуют ли эти значения в среде выполненияв Для этого введем только имя переменной.</p> +<p>Теперь проверим, существуют ли эти значения в среде выполнения. Для этого введем только имя переменной.</p> <pre class="brush: js notranslate">myName; myAge;</pre> diff --git a/files/ru/learn/javascript/first_steps/what_is_javascript/index.html b/files/ru/learn/javascript/first_steps/what_is_javascript/index.html index 68c9173c1f..2e0ff5a198 100644 --- a/files/ru/learn/javascript/first_steps/what_is_javascript/index.html +++ b/files/ru/learn/javascript/first_steps/what_is_javascript/index.html @@ -126,7 +126,7 @@ function updateName() { <p>В этой главе мы рассмотрим код и увидим что же действительно происходит, когда на странице запускается JavaScript.</p> -<p>Давайте составим краткий бриф, что же происхоит когда мы загружаем страничку в браузере (первое упоминание в статье <a href="/en-US/Learn/CSS/Introduction_to_CSS/How_CSS_works#How_does_CSS_actually_work">Как работает CSS</a>). Когда вы загружаете страничку в браузере, вы запускаете ваш код (HTML, CSS и JavaScript) внутри исполняемой среды (внутри вкладки браузера). Это как будто фабрика берет сырьё (некий код) и выдает продукцию (веб-страничку).</p> +<p>Давайте составим краткий бриф, что же происходит когда мы загружаем страничку в браузере (первое упоминание в статье <a href="/en-US/Learn/CSS/Introduction_to_CSS/How_CSS_works#How_does_CSS_actually_work">Как работает CSS</a>). Когда вы загружаете страничку в браузере, вы запускаете ваш код (HTML, CSS и JavaScript) внутри исполняемой среды (внутри вкладки браузера). Это как будто фабрика берет сырьё (некий код) и выдает продукцию (веб-страничку).</p> <p><img alt="" src="https://mdn.mozillademos.org/files/13504/execution.png" style="display: block; margin: 0 auto;"></p> @@ -167,7 +167,7 @@ function updateName() { <p>В контексте программирования, вы можете услышать термины <strong>интерпретация</strong> и <strong>компиляция</strong>. JavaScript является <span id="result_box" lang="ru"><span>интерпретируемым языком</span></span> — код запускается сверху вниз и результат запуска немедленно возвращается. Вам не нужно преобразовывать код в другую форму, перед запуском в браузере.</p> -<p><span id="result_box" lang="ru"><span>С другой стороны, к</span></span><span lang="ru"><span>омпилируемые языки преобразуются (компилируются) в другую форму, прежде чем они будут запущены компьютером.</span> <span>Например, C / C ++ компилируются в язык ассемблера, который затем запускается компьютером.</span></span></p> +<p><span id="result_box" lang="ru"><span>С другой стороны, к</span></span><span lang="ru"><span>компилируемые языки преобразуются (компилируются) в другую форму, прежде чем они будут запущены компьютером.</span> <span>Например, C / C ++ компилируются в язык ассемблера, который затем запускается компьютером.</span></span></p> <p><span id="result_box" lang="ru"><span>Оба подхода имеют разные преимущества, которые на данном этапе мы обсуждать не будем.</span></span></p> @@ -179,11 +179,11 @@ function updateName() { <p>Слово <strong>динамический</strong> используется для описания и клиентского JavaScript, и серверного языка — это относится к возможности обновления отображения веб-страницы/приложения, чтобы показывать разные вещи в разных обстоятельствах, генерируя новый контент по мере необходимости. Серверный код динамически генерирует новый контент на сервере, например достает данные из базы данных, тогда как клиентский JavaScript динамически генерирует новое содержание внутри браузера на клиенте, например создает новую HTML таблицу, вставляя в нее данные полученные с сервера, затем отображает таблицу на веб-странице, которую видит пользователь. В этих двух контекстах значение немного отличается, но связано, и обычно оба подхода (серверный и клиентский) работают вместе.</p> -<p>Веб-страница без динамического обновления контента называется <strong>статической</strong> — она просто показывает один и тотже контент все время.</p> +<p>Веб-страница без динамического обновления контента называется <strong>статической</strong> — она просто показывает один и тот же контент все время.</p> <h2 id="Как_добавить_JavaScript_на_вашу_страницу">Как добавить JavaScript на вашу страницу?</h2> -<p>JavaScript применяется к вашей HTML странице точно так же, как CSS. И если CSS использует элементы {{htmlelement("link")}} для внешних стилей и {{htmlelement("style")}} для встроеных в HTML, то для JavaScript нужен только один друг в HTML мире — элемент {{htmlelement("script")}}. Давайте узнаем, как это работает.</p> +<p>JavaScript применяется к вашей HTML странице точно так же, как CSS. И если CSS использует элементы {{htmlelement("link")}} для внешних стилей и {{htmlelement("style")}} для встроенных в HTML, то для JavaScript нужен только один друг в HTML мире — элемент {{htmlelement("script")}}. Давайте узнаем, как это работает.</p> <h3 id="Внутренний_JavaScript">Внутренний JavaScript</h3> diff --git a/files/ru/learn/javascript/first_steps/what_went_wrong/index.html b/files/ru/learn/javascript/first_steps/what_went_wrong/index.html index 5e84e07e34..1e95ec1c25 100644 --- a/files/ru/learn/javascript/first_steps/what_went_wrong/index.html +++ b/files/ru/learn/javascript/first_steps/what_went_wrong/index.html @@ -149,7 +149,7 @@ original_slug: Learn/JavaScript/Первые_шаги/Что_пошло_не_т <h3 id="Работаем_через_логику">Работаем через логику</h3> -<p>Чтобы исправить это, давайте рассмотрим как работает строка. Первое, мы вызываем <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random">Math.random()</a></code>, котрый генерирует случайное десятичное число, между 0 и 1, например 0.5675493843.</p> +<p>Чтобы исправить это, давайте рассмотрим как работает строка. Первое, мы вызываем <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random">Math.random()</a></code>, который генерирует случайное десятичное число, между 0 и 1, например 0.5675493843.</p> <pre class="brush: js"><font><font>Math.random()</font></font></pre> diff --git a/files/ru/learn/javascript/howto/index.html b/files/ru/learn/javascript/howto/index.html index b3fa76b1cf..7286c9789f 100644 --- a/files/ru/learn/javascript/howto/index.html +++ b/files/ru/learn/javascript/howto/index.html @@ -85,7 +85,7 @@ translation_of: Learn/JavaScript/Howto <h4 id="Область_действия">Область действия</h4> -<p>Помнините, что <a href="/en-US/docs/Learn/JavaScript/Building_blocks/Functions#Function_scope_and_conflicts">functions have their own scope</a> —вы не можете получить доступ к значению переменной, установленному внутри функции извне функции, если вы не объявили переменную глобально (т. е. не внутри каких-либо функций), или <a href="/en-US/docs/Learn/JavaScript/Building_blocks/Return_values">return the value</a> из функции.</p> +<p>Помните, что <a href="/en-US/docs/Learn/JavaScript/Building_blocks/Functions#Function_scope_and_conflicts">functions have their own scope</a> —вы не можете получить доступ к значению переменной, установленному внутри функции извне функции, если вы не объявили переменную глобально (т. е. не внутри каких-либо функций), или <a href="/en-US/docs/Learn/JavaScript/Building_blocks/Return_values">return the value</a> из функции.</p> <h4 id="Запуск_кода_после_оператора_возврата">Запуск кода после оператора возврата</h4> diff --git a/files/ru/learn/javascript/objects/basics/index.html b/files/ru/learn/javascript/objects/basics/index.html index 41873c646b..43acd47b8d 100644 --- a/files/ru/learn/javascript/objects/basics/index.html +++ b/files/ru/learn/javascript/objects/basics/index.html @@ -139,7 +139,7 @@ person['name']['first']</pre> <h2 id="Запись_элементов_в_объект">Запись элементов в объект</h2> -<p>До сих пор мы рассмастривали только возврат (или получение) элементов объекта — Вы так же можете установить (обновить) значение элемента объекта просто объявив элемент, который Вы хотите установить (используя точечную или скобочную запись), например:</p> +<p>До сих пор мы рассматривали только возврат (или получение) элементов объекта — Вы так же можете установить (обновить) значение элемента объекта просто объявив элемент, который Вы хотите установить (используя точечную или скобочную запись), например:</p> <pre class="brush: js notranslate">person.age = 45; person['name']['last'] = 'Cratchit';</pre> @@ -190,7 +190,7 @@ person[myDataName] = myDataValue;</pre> <p>Вы, вероятно, задаетесь вопросом, что такое "this"? Ключевое слово <code>this</code>, ссылается на текущий объект, внутри которого пишется код — поэтому в нашем случае <code>this</code> равен объекту <code>person</code>. Но почему просто не написать <code>person</code>? Как Вы увидите в статье <a href="/en-US/docs/Learn/JavaScript/Objects/Object-oriented_JS">Object-oriented JavaScript for beginners</a> (Объектно-ориентированный JavaScript для начинающих), когда мы начинаем создавать конструкторы и т.д., <code>this</code> очень полезен — он всегда будет гарантировать, что используется верное значение, когда контекст элемента изменяется (например, два разных экземпляра объекта <code>person</code> могут иметь разные имена, но захотят использовать свое собственное имя при приветствии.</p> -<p>Давайте проиллюстритуем, что мы имеем в виду, с упрощенной парой объектов <code>person</code> :</p> +<p>Давайте проиллюстрируем, что мы имеем в виду, с упрощенной парой объектов <code>person</code> :</p> <pre class="brush: js notranslate">const person1 = { name: 'Chris', @@ -241,7 +241,7 @@ const myVideo = document.querySelector('video');</pre> <p>Поздравляем, Вы достигли конца нашей первой статьи о объектах JS, теперь у вас должно быть хорошее представление о том, как работать с объектами в JavaScript - в том числе создавать свои собственные простые объекты. Вы также должны понимать, что объекты очень полезны в качестве структур для хранения связанных данных и функциональности - если бы мы пытались отслеживать все свойства и методы в нашем объекте <code>person</code> как отдельные переменные и функции, это было неэффективно, и мы бы рисковали столкнуться с другими переменными и функциями с такими же именами. Объекты позволяют нам безопасно хранить информацию в своем собственном блоке, вне опасности.</p> -<p>В следующей статье мы начнем рассматривать теорию объектно-ориентированного программирования (OOП) и как эти техники могут быть использованны в JavaScript </p> +<p>В следующей статье мы начнем рассматривать теорию объектно-ориентированного программирования (OOП) и как эти техники могут быть использованы в JavaScript </p> <p>{{NextMenu("Learn/JavaScript/Objects/Object-oriented_JS", "Learn/JavaScript/Objects")}}</p> diff --git a/files/ru/learn/javascript/objects/index.html b/files/ru/learn/javascript/objects/index.html index 08d6d2dc43..d01087d4c7 100644 --- a/files/ru/learn/javascript/objects/index.html +++ b/files/ru/learn/javascript/objects/index.html @@ -33,7 +33,7 @@ original_slug: Learn/JavaScript/Объекты <dt><a href="/en-US/docs/Learn/JavaScript/Objects/Object_prototypes">Прототипы объектов</a></dt> <dd>Прототипы - это механизм, благодаря которому объекты в JavaScript наследуют функционал друг друга, но при этом они работают иначе по сравнению с механизмами наследования в классических объектно-ориентированных языках. В этой статье мы изучим эти отличия, объясним, как работает цепочка прототипов, и рассмотрим, как свойство прототипа может быть использовано для добавления методов к существующим конструкторам.</dd> <dt><a href="/en-US/docs/Learn/JavaScript/Objects/Inheritance">Наследование в JavaScript</a></dt> - <dd>После знакомства с самыми жуткими подробностями OOJS, эта статья покажет, как создавать "дочерные" классы объектов (конструкторы), которые наследуют функционал от своих "родительских" классов. В дополнении, мы дадим Вам пару советов о том, где и когда можно использовать OOJS.</dd> + <dd>После знакомства с самыми жуткими подробностями OOJS, эта статья покажет, как создавать "дочерние" классы объектов (конструкторы), которые наследуют функционал от своих "родительских" классов. В дополнении, мы дадим Вам пару советов о том, где и когда можно использовать OOJS.</dd> <dt><a href="/en-US/docs/Learn/JavaScript/Objects/JSON">Работа с JSON-данными</a></dt> <dd>Представление объектов в JavaScript (JavaScript Object Notation) (JSON) - это стандартный формат для представления структурированных данных в виде объектов JavaScript, который обычно используется для представления и передачи данных на веб-сайтах (т.е. передача некоторых данных от сервера к клиенту - таким образом они могут быть отображены на веб-странице). Вы довольно часто будете с этим сталкиваться, поэтому в данной статье мы предоставим вам все, что необходимо для работы с JSON с помощью JavaScript, в том числе доступ к элементам данных в объекте JSON и написания собственного JSON-кода.</dd> <dt><a href="/en-US/docs/Learn/JavaScript/Objects/Object_building_practice">Практика построения объектов</a></dt> diff --git a/files/ru/learn/javascript/objects/inheritance/index.html b/files/ru/learn/javascript/objects/inheritance/index.html index fe473b0ef8..35e6f4a4df 100644 --- a/files/ru/learn/javascript/objects/inheritance/index.html +++ b/files/ru/learn/javascript/objects/inheritance/index.html @@ -96,7 +96,7 @@ original_slug: Learn/JavaScript/Объекты/Inheritance <p>Это похоже на конструктор Person во многих отношениях, но здесь есть что-то странное, что мы не видели раньше - функцию <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call">call()</a></code>. Эта функция в основном позволяет вам вызывать функцию, определенную где-то в другом месте, но в текущем контексте. Первый параметр указывает значение <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this">this</a></code>, которое вы хотите использовать при выполнении функции, а остальные параметры - те, которые должны быть переданы функции при ее вызове.</p> -<p>Мы хотим, чтобы конструктор <code>Teacher()</code> принимал те же параметры, что и конструктор <code>Person()</code>, от которго он наследуется, поэтому мы указываем их как параметры в вызове <code>call()</code>.</p> +<p>Мы хотим, чтобы конструктор <code>Teacher()</code> принимал те же параметры, что и конструктор <code>Person()</code>, от которого он наследуется, поэтому мы указываем их как параметры в вызове <code>call()</code>.</p> <p>Последняя строка внутри конструктора просто определяет новое свойство <code>subject</code>, которое будут иметь учителя, и которого нет у Person().</p> @@ -190,13 +190,13 @@ teacher1.subject; teacher1.greeting(); teacher1.farewell();</pre> -<p>Все должно работать нормально. Запросы в строках 1, 2, 3 и 6 унаследованны от общего конструктора <code>Person()</code> (класса). Запрос в строке 4 обращается к <code>subject</code>, доступному только для более специализированного конструктора (класса) <code>Teacher()</code>. Запрос в строке 5 получил бы доступ к методу <code>greeting()</code>, унаследованному от <code>Person()</code>, но <code>Teacher()</code> имеет свой собственный метод <code>greeting()</code> с тем же именем, поэтому запрос обращается к этому методу.</p> +<p>Все должно работать нормально. Запросы в строках 1, 2, 3 и 6 унаследованные от общего конструктора <code>Person()</code> (класса). Запрос в строке 4 обращается к <code>subject</code>, доступному только для более специализированного конструктора (класса) <code>Teacher()</code>. Запрос в строке 5 получил бы доступ к методу <code>greeting()</code>, унаследованному от <code>Person()</code>, но <code>Teacher()</code> имеет свой собственный метод <code>greeting()</code> с тем же именем, поэтому запрос обращается к этому методу.</p> <div class="note"> <p><strong>Примечание</strong>. Если вам не удается заставить это работать, сравните свой код с нашей <a href="https://github.com/mdn/learning-area/blob/master/javascript/oojs/advanced/oojs-class-inheritance-finished.html">готовой версией</a> (см. также <a href="http://mdn.github.io/learning-area/javascript/oojs/advanced/oojs-class-inheritance-student.html">рабочее демо</a>).</p> </div> -<p>Методика, которую мы здесь рассмотрили, - это не единственный способ создания наследующих классов в JavaScript, но он работает нормально и это дает вам представление о том, как реализовать наследование в JavaScript.</p> +<p>Методика, которую мы здесь рассмотрели, - это не единственный способ создания наследующих классов в JavaScript, но он работает нормально и это дает вам представление о том, как реализовать наследование в JavaScript.</p> <p>Вам также может быть интересно узнать некоторые из новых функций {{glossary("ECMAScript")}}, которые позволяют нам делать наследование более чисто в JavaScript (см. <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">Classes</a>). Мы не рассматривали их здесь, поскольку они пока не поддерживаются очень широко в браузерах. Все остальные конструкторы кода, которые мы обсуждали в этом наборе статей, поддерживаются еще в IE9 или ранее и есть способы добиться более ранней поддержки, чем это.</p> diff --git a/files/ru/learn/javascript/objects/json/index.html b/files/ru/learn/javascript/objects/json/index.html index 89de0661a8..68cc6c7fdd 100644 --- a/files/ru/learn/javascript/objects/json/index.html +++ b/files/ru/learn/javascript/objects/json/index.html @@ -267,7 +267,7 @@ request.send();</pre> <ol> <li>Создаем несколько новых элементов: <code><article></code>, <code><h2></code>, три <code><p></code> и <code><ul></code>.</li> - <li>Установливаем <code><h2></code>, чтобы содержать <code>name</code> текущего героя.</li> + <li>Устанавливаем <code><h2></code>, чтобы содержать <code>name</code> текущего героя.</li> <li>Заполняем три абзаца своей <code>secretIdentity</code>, <code>age</code> и строкой, в которой говорится: «Суперспособности:», чтобы ввести информацию в список.</li> <li>Сохраняем свойство <code>powers</code> в другой новой переменной под названием <code>superPowers</code> - где содержится массив, в котором перечислены сверхспособности текущего героя.</li> <li>Используем другой цикл <code>for</code>, чтобы прокрутить сверхспособности текущего героя , для каждого из них мы создаем элемент <code><li></code>, помещаем в него сверхспособности, а затем помещаем <code>listItem</code> внутри элемента <code><ul></code> (<code>myList</code>) с помощью <code>appendChild()</code>.</li> diff --git a/files/ru/learn/javascript/objects/object-oriented_js/index.html b/files/ru/learn/javascript/objects/object-oriented_js/index.html index 7df73c5045..e5f44c9fb4 100644 --- a/files/ru/learn/javascript/objects/object-oriented_js/index.html +++ b/files/ru/learn/javascript/objects/object-oriented_js/index.html @@ -24,7 +24,7 @@ original_slug: Learn/JavaScript/Объекты/Object-oriented_JS <tr> <th scope="row">Необходимые знания:</th> <td> - <p class="brush: html">Базовая компьютерная грамотность, базовое понимание HTML и CSS, знакомство с основами JavaScript (см. <a href="/en-US/docs/Learn/JavaScript/First_steps">Первые шаги</a> и <a href="/en-US/docs/Learn/JavaScript/Building_blocks">C</a>труктурные элементы JavaScript) и основы OOJS (см. <a href="/en-US/docs/Learn/JavaScript/Object-oriented/Introduction">Введение в объекты</a>).</p> + <p class="brush: html">Базовая компьютерная грамотность, базовое понимание HTML и CSS, знакомство с основами JavaScript (см. <a href="/en-US/docs/Learn/JavaScript/First_steps">Первые шаги</a> и <a href="/en-US/docs/Learn/JavaScript/Building_blocks">C</a>структурные элементы JavaScript) и основы OOJS (см. <a href="/en-US/docs/Learn/JavaScript/Object-oriented/Introduction">Введение в объекты</a>).</p> </td> </tr> <tr> diff --git a/files/ru/learn/javascript/objects/object_building_practice/index.html b/files/ru/learn/javascript/objects/object_building_practice/index.html index 778e83578e..b24628ef50 100644 --- a/files/ru/learn/javascript/objects/object_building_practice/index.html +++ b/files/ru/learn/javascript/objects/object_building_practice/index.html @@ -219,7 +219,7 @@ testBall.draw()</pre> <ul> <li>Устанавливает цвет заливки на полупрозрачный черный, затем рисует прямоугольник цвета по всей ширине и высоте холста, используя <code>fillRect()</code> (четыре параметра обеспечивают начальную координату, а ширину и высоту для рисованного прямоугольника ). Это позволяет скрыть рисунок предыдущего кадра до того, как будет нарисован следующий. Если вы этого не сделаете, вы увидите, как длинные змеи пробираются вокруг холста, а не шары! Цвет заливки устанавливается на полупрозрачный, <code>rgba(0,0,0,0,25)</code>, чтобы позволить нескольким кадрам слегка просвечивать, создавая маленькие тропы за шариками по мере их перемещения. Если вы изменили 0.25 на 1, вы больше не увидите их. Попробуйте изменить это число, чтобы увидеть эффект, который он имеет.</li> - <li>Создает новый экземпляр нашего <code>Ball()</code>, используя случайные значения, сгенерированные с помощью нашей функции <code>random()</code>, затем <code>push()</code> на конец нашего массива шаров, но только в том случае, когда количество шаров в массиве меньше 25. Итак когда у нас есть 25 мячей на экране, больше не появляется шаров. Вы можете попробовать изменить число в <code>balls.length < 25</code>, чтобы получить больше или меньше шаров на экране. В зависимости от того, сколько вычислительной мощности имеет ваш компьютер / браузер, если указать несколько тысячь шаров, это может довольно существенно повлиять на производительность анимации. </li> + <li>Создает новый экземпляр нашего <code>Ball()</code>, используя случайные значения, сгенерированные с помощью нашей функции <code>random()</code>, затем <code>push()</code> на конец нашего массива шаров, но только в том случае, когда количество шаров в массиве меньше 25. Итак когда у нас есть 25 мячей на экране, больше не появляется шаров. Вы можете попробовать изменить число в <code>balls.length < 25</code>, чтобы получить больше или меньше шаров на экране. В зависимости от того, сколько вычислительной мощности имеет ваш компьютер / браузер, если указать несколько тысяч шаров, это может довольно существенно повлиять на производительность анимации. </li> <li>перебирает все шары в массиве <code>balls</code> и запускает каждую функцию <code>draw()</code> и <code>update()</code> для рисования каждого из них на экране, а затем выполняет необходимые обновления по положению и скорости во времени для следующего кадра.</li> <li>Выполняет функцию снова с помощью метода <code>requestAnimationFrame()</code> - когда этот метод постоянно запускается и передается одно и то же имя функции, он будет запускать эту функцию определенное количество раз в секунду для создания плавной анимации. Обычно это делается рекурсивно - это означает, что функция вызывает себя каждый раз, когда она запускается, поэтому она будет работать снова и снова.</li> </ul> diff --git a/files/ru/learn/javascript/objects/object_prototypes/index.html b/files/ru/learn/javascript/objects/object_prototypes/index.html index a8487bf0e6..e488f1bdbc 100644 --- a/files/ru/learn/javascript/objects/object_prototypes/index.html +++ b/files/ru/learn/javascript/objects/object_prototypes/index.html @@ -8,7 +8,7 @@ tags: - Начинающий - ООП - Обучение - - Обьект + - Объект - Статья - прототип translation_of: Learn/JavaScript/Objects/Object_prototypes @@ -57,7 +57,7 @@ original_slug: Learn/JavaScript/Объекты/Object_prototypes <p>Вернемся к примеру, когда мы закончили писать наш конструктор <code>Person()</code>- загрузите пример в свой браузер. Если у вас еще нет работы от последней статьи, используйте наш пример <a href="http://mdn.github.io/learning-area/javascript/oojs/introduction/oojs-class-further-exercises.html">oojs-class-further-exercises.html</a> (см. Также <a href="https://github.com/mdn/learning-area/blob/master/javascript/oojs/introduction/oojs-class-further-exercises.html">исходный код</a>).</p> -<p>В этом примере мы определили конструкторную функцию, например:</p> +<p>В этом примере мы определили конструктору функцию, например:</p> <pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">function</span> <span class="function token">Person</span><span class="punctuation token">(</span>first<span class="punctuation token">,</span> last<span class="punctuation token">,</span> age<span class="punctuation token">,</span> gender<span class="punctuation token">,</span> interests<span class="punctuation token">)</span> <span class="punctuation token">{</span> diff --git a/files/ru/learn/performance/business_case_for_performance/index.html b/files/ru/learn/performance/business_case_for_performance/index.html index 2d7ffc7203..15c3dd82fc 100644 --- a/files/ru/learn/performance/business_case_for_performance/index.html +++ b/files/ru/learn/performance/business_case_for_performance/index.html @@ -20,7 +20,7 @@ translation_of: Learn/Performance/business_case_for_performance <tr> <th scope="row">Задача:</th> <td> - <p>Стать уверенным при объяснении клиентам и менедженту важности оптимизации производительности.</p> + <p>Стать уверенным при объяснении клиентам и менеджменту важности оптимизации производительности.</p> </td> </tr> </tbody> @@ -28,16 +28,16 @@ translation_of: Learn/Performance/business_case_for_performance <h2 id="Делайте_производительность_приоритетом">Делайте производительность приоритетом</h2> -<p>Мы уже обсудили, как приоритезация производительности может улучшить пользовательский опыт и доход компании. Мы также знаем, что игнорирование проблем производительности может привести к потери доходности. Эта статья объясняет, какие конкретные бизнес-показатели напрямую связаны с производительностью веб-приложений и как применить сервисное проектирование для улучшения пользовательского опыта. В статье подчеркивается важность понимания, как сумма всех небольших улучшений влияет на конверсию и удержание клиентов.</p> +<p>Мы уже обсудили, как приоритизация производительности может улучшить пользовательский опыт и доход компании. Мы также знаем, что игнорирование проблем производительности может привести к потери доходности. Эта статья объясняет, какие конкретные бизнес-показатели напрямую связаны с производительностью веб-приложений и как применить сервисное проектирование для улучшения пользовательского опыта. В статье подчеркивается важность понимания, как сумма всех небольших улучшений влияет на конверсию и удержание клиентов.</p> <dl> </dl> <h3 id="Бюджеты_производительности">Бюджеты производительности</h3> -<p>Установка бюджетов веб-производительности поможет вам быть уверенным в том, что команда придерживается верного пути и содержит приложение в хорошем состоянии. Бюджет производительности - это набор ограничний, которые, например, указывают максимальное количество HTTP запросов с клиента, максимальный размер всех ресурсов, минимально допустимую частоту кадров на конкретных устройствах и т.д. Бюджет может быть применён к определенному ресурсу, типу ресурсов, всем ресурсам на странице, конкретному показателю или пороговому показателю за какой-то период времени. Бюджет отражает достижимые цели, будь то время, количество или правило.</p> +<p>Установка бюджетов веб-производительности поможет вам быть уверенным в том, что команда придерживается верного пути и содержит приложение в хорошем состоянии. Бюджет производительности - это набор ограничений, которые, например, указывают максимальное количество HTTP запросов с клиента, максимальный размер всех ресурсов, минимально допустимую частоту кадров на конкретных устройствах и т.д. Бюджет может быть применён к определенному ресурсу, типу ресурсов, всем ресурсам на странице, конкретному показателю или пороговому показателю за какой-то период времени. Бюджет отражает достижимые цели, будь то время, количество или правило.</p> -<p>Создание и продвижение бюджета помогает вам защищать интересы пользователя в борьбе с конкурирующими интересами: маркетингом, продажами или даже другими разработчиками, которые хотят добавить видео, сторонние скрипты или поиграться с новым фреймворком. Бюджеты помогают командам разраотчиков защищать оптимальную производительность для пользователей, в то время как бизнес может заниматься расширением рынков.</p> +<p>Создание и продвижение бюджета помогает вам защищать интересы пользователя в борьбе с конкурирующими интересами: маркетингом, продажами или даже другими разработчиками, которые хотят добавить видео, сторонние скрипты или поиграться с новым фреймворком. Бюджеты помогают командам разработчиков защищать оптимальную производительность для пользователей, в то время как бизнес может заниматься расширением рынков.</p> <h3 id="Ключевые_показатели"><strong>Ключевые показатели</strong></h3> @@ -45,7 +45,7 @@ translation_of: Learn/Performance/business_case_for_performance <dl> <dt><strong>Уровень конверсии </strong></dt> - <dd>Процент от общего траффика, который выполняет какое-то конкретное действие, например, покупает товар или подписывается на новости. Когда приложение работает медленно, пользователи не могут завершить эти задачи. Это приводит к низкому показателю конверсии.</dd> + <dd>Процент от общего трафика, который выполняет какое-то конкретное действие, например, покупает товар или подписывается на новости. Когда приложение работает медленно, пользователи не могут завершить эти задачи. Это приводит к низкому показателю конверсии.</dd> <dt><strong>Время на сайте</strong></dt> <dd>Среднее время, которое пользователь проводит на вашем сайте. Когда производительность низкая, высока вероятность того, что пользователи закроют сайт прежде, чем он выдаст нужные результаты.</dd> <dt><strong>Уровень лояльности клиентов</strong></dt> @@ -57,7 +57,7 @@ translation_of: Learn/Performance/business_case_for_performance <div class="hidden"> <h2 id="Ожидание_и_реальность_в_производительности">Ожидание и реальность в производительности</h2> -<p>Производительность бизнеса (в доходе, количестве транзакий и т.д.) напрямую связана с веб-производительностью.</p> +<p>Производительность бизнеса (в доходе, количестве транзакций и т.д.) напрямую связана с веб-производительностью.</p> <p>Зона конфликта - не заниматься производительностью, но ожидать хороших бизнес-показателей.</p> </div> diff --git a/files/ru/learn/server-side/apache_configuration_htaccess/index.html b/files/ru/learn/server-side/apache_configuration_htaccess/index.html index fafabc17f8..12ff630a4b 100644 --- a/files/ru/learn/server-side/apache_configuration_htaccess/index.html +++ b/files/ru/learn/server-side/apache_configuration_htaccess/index.html @@ -5,7 +5,7 @@ translation_of: Learn/Server-side/Apache_Configuration_htaccess --- <p>Название .htaccess происходит от "hypertext access". Это файл с расширением HTACCESS, который содержит различные настройки сервера apache. Он позволяет настраивать для текущей директории защиту паролем, редиректы и многое другое.</p> -<p><strong>Доступ к файлу</strong>: файл htaccess может быть открыт для редактивания любым текстовым редактором, таким как стандартный блокнот Windows, Vin, Sublime text editor или любым другим. Подсветка синтаксиса для файлов .htaccess встречается редко.</p> +<p><strong>Доступ к файлу</strong>: файл htaccess может быть открыт для редактирования любым текстовым редактором, таким как стандартный блокнот Windows, Vin, Sublime text editor или любым другим. Подсветка синтаксиса для файлов .htaccess встречается редко.</p> <h2 id="Применение">Применение</h2> @@ -15,7 +15,7 @@ translation_of: Learn/Server-side/Apache_Configuration_htaccess Redirect 302 / http://example.com/ # Временное перенаправление на example.com </pre> -<p><strong>Блокирование</strong>: htaccess также может блокировать доступ с определенного IP адреса или диапазопа IP адресов. Блокирование часто используется, чтобы запретить доступ к директории для различных ботов и поисковых пауков.</p> +<p><strong>Блокирование</strong>: htaccess также может блокировать доступ с определенного IP адреса или диапазона IP адресов. Блокирование часто используется, чтобы запретить доступ к директории для различных ботов и поисковых пауков.</p> <pre>deny from 146.0.74.205 # Блокирует все запросы с адреса 146.0.74.205</pre> @@ -33,6 +33,6 @@ ErrorDocument 500 /serverr.html # Перенаправит пользоват <p>Для дополнительной информации читайте статью <a href="http://techstream.org/Web-Development/HTACCESS/Error-Documents">Redirect your Traffic for Error Handling</a>.</p> -<p><strong>Кэширование: </strong>файл <span style="line-height: 1.572;">.htaccess может управлять кэшированием данных веб-браузером пользователя. Это ускорит загрузку страниц и сократит количество передаваемой информации меджу сервером и клиентом.</span></p> +<p><strong>Кэширование: </strong>файл <span style="line-height: 1.572;">.htaccess может управлять кэшированием данных веб-браузером пользователя. Это ускорит загрузку страниц и сократит количество передаваемой информации между сервером и клиентом.</span></p> <p><strong>MIME типы</strong>: смотрите статью <a href="/en-US/docs/Properly_Configuring_Server_MIME_Types" title="Properly_Configuring_Server_MIME_Types">correct MIME types</a> для большей информации.</p> diff --git a/files/ru/learn/server-side/django/admin_site/index.html b/files/ru/learn/server-side/django/admin_site/index.html index e8094df592..6cad300f10 100644 --- a/files/ru/learn/server-side/django/admin_site/index.html +++ b/files/ru/learn/server-side/django/admin_site/index.html @@ -74,7 +74,7 @@ admin.site.register(BookInstance) <p>Для входа в админ-панель откройте ссылку<em> /admin</em> (например <a href="http://127.0.0.1:8000/admin/">http://127.0.0.1:8000/admin</a>) и введите логин и пароль вашего нового суперпользователя (вас перенаправят на login-страницу и потом обратно на /admin после ввода всех деталей).</p> -<p>В этой части сайта отображаются все наши модели, сгрупированные по установленному приложению. Вы можете кликнуть на названии модели, чтобы получить список всех связанных записей, далее можете кликнуть на этих записях, для их редактирования . Также можно непосредственно кликнуть на ссылку <strong>Add</strong>, расположенную рядом с каждой моделью, чтобы начать создание записи этого типа. </p> +<p>В этой части сайта отображаются все наши модели, сгруппированные по установленному приложению. Вы можете кликнуть на названии модели, чтобы получить список всех связанных записей, далее можете кликнуть на этих записях, для их редактирования . Также можно непосредственно кликнуть на ссылку <strong>Add</strong>, расположенную рядом с каждой моделью, чтобы начать создание записи этого типа. </p> <p><img alt="Admin Site - Home page" src="https://mdn.mozillademos.org/files/13975/admin_home.png" style="display: block; height: 634px; margin: 0px auto; width: 998px;"></p> @@ -104,13 +104,13 @@ admin.site.register(BookInstance) <p><img alt="Admin Site - BookInstance Add" src="https://mdn.mozillademos.org/files/13981/admin_bookinstance_add.png" style="border-style: solid; border-width: 1px; display: block; height: 514px; margin: 0px auto; width: 863px;"></p> -<p>Создайте несколько экземпляров для каждой из ваших книг. Установите статус <em>Available (доступен) </em>для некоторых экземплров и <em>On loan (выдан)</em> для остальных. Если статус экземпляра <strong>not</strong> <em>Available (недоступен)</em>, то также установите дату возврата (<em>Due back)</em>.</p> +<p>Создайте несколько экземпляров для каждой из ваших книг. Установите статус <em>Available (доступен) </em>для некоторых экземпляров и <em>On loan (выдан)</em> для остальных. Если статус экземпляра <strong>not</strong> <em>Available (недоступен)</em>, то также установите дату возврата (<em>Due back)</em>.</p> <p>Вот и все! Вы изучили как запустить и использовать админ-панель. Также были созданы записи для <code>Book</code>, <code>BookInstance</code>, <code>Genre</code> и <code>Author</code>, которые можно будет использовать после создания наших собственных представлений и шаблонов.</p> <h2 id="Продвинутая_конфигурация">"Продвинутая" конфигурация</h2> -<p>Django выполняет неплохую работу по созданию базовой админ-панели используя информацию из зарегистрированых моделей:</p> +<p>Django выполняет неплохую работу по созданию базовой админ-панели используя информацию из зарегистрированных моделей:</p> <ul> <li>каждая модель имеет список записей, каждая из которых идентифицируется строкой, создаваемой методом <code>__str__()</code> модели, и связана с представлением для ее редактирования. По умолчанию, в верхней части этого представления находится меню действий, которое может быть использовано для удаления нескольких записей за раз</li> @@ -141,7 +141,7 @@ admin.site.register(BookInstance) <h3 id="Регистрация_класса_ModelAdmin">Регистрация класса ModelAdmin</h3> -<p>Для измененения отображения модели в пользовательском интерфейсе админ-панели, необходимо определить класс <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-objects">ModelAdmin</a> (он описывает расположение элементов интерфейса, где Model - наименование модели) и зарегистрировать его для использования с этой моделью.</p> +<p>Для изменения отображения модели в пользовательском интерфейсе админ-панели, необходимо определить класс <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-objects">ModelAdmin</a> (он описывает расположение элементов интерфейса, где Model - наименование модели) и зарегистрировать его для использования с этой моделью.</p> <p>Давайте начнем с модели Author. Откройте файл <strong>admin.py</strong> в каталоге приложения (<strong>/locallibrary/catalog/admin.py</strong>). Закомментируйте исходную регистрацию (используя префикс #) этой модели:</p> @@ -261,7 +261,7 @@ class BookInstanceAdmin(admin.ModelAdmin): <p><img alt="Admin Site - Improved Author Detail" src="https://mdn.mozillademos.org/files/14027/admin_improved_author_detail.png" style="border-style: solid; border-width: 1px; display: block; height: 282px; margin: 0px auto; width: 928px;"></p> <div class="note"> -<p><strong>Примечание</strong>: Так же, вы можете использовать <code>exclude</code> атрибут для объявления списка атрибутов, которые будут исключены из формы (все остальные атрибутыв модели, будут отображаться). </p> +<p><strong>Примечание</strong>: Так же, вы можете использовать <code>exclude</code> атрибут для объявления списка атрибутов, которые будут исключены из формы (все остальные атрибуты в модели, будут отображаться). </p> </div> <h4 id="Разделение_на_секцииВыделение_подробного_представления">Разделение на секции/Выделение подробного представления</h4> @@ -293,7 +293,7 @@ class BookInstanceAdmin(admin.ModelAdmin): <p>Иногда бывает полезно иметь возможность добавлять связанные записи одновременно. Например, имеет смысл иметь как информацию о книге, так и информацию о конкретных копиях, которые вы получили на той же странице подробностей. К примеру, вполне логично получить и информацию о книге, и информацию о конкретных копиях, зайдя на страницу детализации.</p> -<p>Вы можете это сделать, объявив <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.inlines">inlines</a>, и указав тип <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.TabularInline">TabularInline</a> (горизонтальное расположение) или <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.StackedInline">StackedInline</a> (вертикальное расположение, так же как и в модели по умолчанию). Вы можете добавить <code>BookInstance</code> информацию в подробное описание <code>Book</code> , добавив строки, представленные ниже и распологающиеся рядом с <code>BookAdmin</code>: </p> +<p>Вы можете это сделать, объявив <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.inlines">inlines</a>, и указав тип <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.TabularInline">TabularInline</a> (горизонтальное расположение) или <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.StackedInline">StackedInline</a> (вертикальное расположение, так же как и в модели по умолчанию). Вы можете добавить <code>BookInstance</code> информацию в подробное описание <code>Book</code> , добавив строки, представленные ниже и располагающиеся рядом с <code>BookAdmin</code>: </p> <pre class="brush: python"><strong>class BooksInstanceInline(admin.TabularInline): model = BookInstance</strong> diff --git a/files/ru/learn/server-side/django/authentication/index.html b/files/ru/learn/server-side/django/authentication/index.html index 30e5df336b..de6551a12b 100644 --- a/files/ru/learn/server-side/django/authentication/index.html +++ b/files/ru/learn/server-side/django/authentication/index.html @@ -39,7 +39,7 @@ original_slug: Learn/Server-side/Django/Аутентификация <h2 id="Обзор">Обзор</h2> -<p>Django предоставляет систему аутентификации и авторизации ("permission") пользователя, реализованную на основе фреймворка работы с сессиями, который мы рассматривали в <a href="/ru/docs/Learn/Server-side/Django/Sessions">предыдущей части</a>. Система аутентификации и авторизации позволяет вам проверять учетные данные пользователей и определять какие действия какой пользователь может выполнять. Данный фреймворк включает в себя встроенные модели для <code>Пользователей</code> и <code>Групп</code> (основной способ применения прав доступа для более чем одного пользователя), непосредственно саму систему прав доступа (permissions)/флаги, которые определяют может ли пользователь выполнить задачу, с какой формой и отображением для авторизованых пользователей, а так же получить доступ к контенту с ограниченым доступом.</p> +<p>Django предоставляет систему аутентификации и авторизации ("permission") пользователя, реализованную на основе фреймворка работы с сессиями, который мы рассматривали в <a href="/ru/docs/Learn/Server-side/Django/Sessions">предыдущей части</a>. Система аутентификации и авторизации позволяет вам проверять учетные данные пользователей и определять какие действия какой пользователь может выполнять. Данный фреймворк включает в себя встроенные модели для <code>Пользователей</code> и <code>Групп</code> (основной способ применения прав доступа для более чем одного пользователя), непосредственно саму систему прав доступа (permissions)/флаги, которые определяют может ли пользователь выполнить задачу, с какой формой и отображением для авторизованных пользователей, а так же получить доступ к контенту с ограниченным доступом.</p> <div class="note"> <p><strong>Примечание</strong>: В соответствии с идеологией Django система аутентификации является очень общей и, таким образом, не предоставляет некоторые возможности, которые присутствуют в других системах веб-аутентификации. Решениями некоторых общих задач занимаются пакеты сторонних разработчиков, например, защита от подбора пароля (через стороннюю библиотеку OAuth).</p> @@ -77,7 +77,7 @@ MIDDLEWARE = [ <h2 id="Создание_пользователей_и_групп">Создание пользователей и групп</h2> -<p>Вы уже создали своего первого пользователя когда мы рассматривали <a href="/ru/docs/Learn/Server-side/Django/Admin_site">Административная панель сайта Django</a> в части 4 (это был суперпользователь, созданный при помощи команды<code> python manage.py createsuperuser</code>). Наш суперпользователь уже авторизован и имеет все необходимые уровни доступа к данным и функциям, таким образом нам необходимо создать тестового пользователя для отработки соответствующей работы сайта. В качестве наиболее быстрого способа, мы будем использовать административную панель сайта для создания соответствующих групп и акканутов <em>locallibrary</em>.</p> +<p>Вы уже создали своего первого пользователя когда мы рассматривали <a href="/ru/docs/Learn/Server-side/Django/Admin_site">Административная панель сайта Django</a> в части 4 (это был суперпользователь, созданный при помощи команды<code> python manage.py createsuperuser</code>). Наш суперпользователь уже авторизован и имеет все необходимые уровни доступа к данным и функциям, таким образом нам необходимо создать тестового пользователя для отработки соответствующей работы сайта. В качестве наиболее быстрого способа, мы будем использовать административную панель сайта для создания соответствующих групп и аккаунтов <em>locallibrary</em>.</p> <div class="note"> <p><strong>Примечание</strong>: Вы можете создавать пользователей программно, как показано ниже. Например, вам мог бы подойти данный способ в том случае, если вы разрабатываете интерфейс, который позволяет пользователям создавать их собственные аккаунты (вы не должны предоставлять доступ пользователям к административной панели вашего сайта).</p> @@ -117,7 +117,7 @@ user.save() <br> Административная часть сайта создаст нового пользователя и немедленно перенаправит вас на страницу <em>Change user (Изменение параметров пользователя)</em> где вы можете, соответственно, изменить ваш <strong>username</strong>, а кроме того добавить информацию для дополнительных полей модели User. Эти поля включают в себя имя пользователя, фамилию, адрес электронной почты, статус пользователя, а также соответствующие параметры доступа (может быть установлен только флаг <strong>Active</strong>). Ниже вы можете определить группу для пользователя и необходимые параметры доступа, а кроме того, вы можете увидеть важные даты, относящиеся к пользователю (дату подключения к сайту и дату последнего входа).<img alt="Admin site - add user pt2" src="https://mdn.mozillademos.org/files/14097/admin_authentication_add_user_prt2.png" style="border-style: solid; border-width: 1px; display: block; height: 635px; margin: 0px auto; width: 800px;"></li> <li>В разделе <em>Groups</em>, из списка <em>Доступные группы</em> выберите группу <strong>Library Member</strong>, а затем переместите ее в блок "Выбранные группы" (нажмите <strong>стрелку-"направо"</strong>, находящуюся между блоками).<img alt="Admin site - add user to group" src="https://mdn.mozillademos.org/files/14099/admin_authentication_user_add_group.png" style="border-style: solid; border-width: 1px; display: block; height: 414px; margin: 0px auto; width: 933px;"></li> - <li>Больше нам не нужно здесь нечего делать, просто нажмите "Save"(Сохранить), и вы вернетесь к списку созданых пользователей.</li> + <li>Больше нам не нужно здесь нечего делать, просто нажмите "Save"(Сохранить), и вы вернетесь к списку созданных пользователей.</li> </ol> <p>Вот и все! Теперь у вас есть учетная запись «обычного члена библиотеки», которую вы сможете использовать для тестирования (как только добавим страницы, чтобы пользователи могли войти в систему).</p> @@ -674,7 +674,7 @@ class MyView(PermissionRequiredMixin, View): <h2 id="Подводим_итоги">Подводим итоги</h2> -<p> Отличная работа - теперь вы создали веб-сайт, на котором участники библиотеки могут входить в систему и просматривать собственный контент, и библиотекари (с правом доступа) могут просматривать все заемные книги с их читатетелями. На данный момент мы все еще просто просматриваем контент, но те же принципы и методы используются, когда вы хотите начать изменять и добавлять данные.</p> +<p> Отличная работа - теперь вы создали веб-сайт, на котором участники библиотеки могут входить в систему и просматривать собственный контент, и библиотекари (с правом доступа) могут просматривать все заемные книги с их читателями. На данный момент мы все еще просто просматриваем контент, но те же принципы и методы используются, когда вы хотите начать изменять и добавлять данные.</p> <p> В следующей статье мы рассмотрим, как вы можете использовать формы Django для сбора пользовательского ввода, а затем начнём изменять некоторые из наших сохраненных данных.</p> diff --git a/files/ru/learn/server-side/django/deployment/index.html b/files/ru/learn/server-side/django/deployment/index.html index fc62ed6ac8..84601917b8 100644 --- a/files/ru/learn/server-side/django/deployment/index.html +++ b/files/ru/learn/server-side/django/deployment/index.html @@ -13,7 +13,7 @@ original_slug: Learn/Server-side/Django/Разворачивание <div>{{PreviousMenuNext("Learn/Server-side/Django/Testing", "Learn/Server-side/Django/web_application_security", "Learn/Server-side/Django")}}</div> -<p class="summary">Теперь, когда вы создали (и протестировали) свой шикарный сайт <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website">LocalLibrary</a>, у вас скорее всего, есть желание разместить его на публичном веб-сервере, чтобы он стал доступен через интернет персоналу и посетителям библотеки. Данная статья дает общее представление о том, каким образом подойти к поиску хостинга для рамещения сайта, а также, что нужно сделать чтобы подготовить свой сайт к публикации.</p> +<p class="summary">Теперь, когда вы создали (и протестировали) свой шикарный сайт <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website">LocalLibrary</a>, у вас скорее всего, есть желание разместить его на публичном веб-сервере, чтобы он стал доступен через интернет персоналу и посетителям библиотеки. Данная статья дает общее представление о том, каким образом подойти к поиску хостинга для размещения сайта, а также, что нужно сделать чтобы подготовить свой сайт к публикации.</p> <table class="learn-box standard-table"> <tbody> @@ -50,7 +50,7 @@ original_slug: Learn/Server-side/Django/Разворачивание <ul> <li>Железо на котором будет запускаться сайт.</li> <li>Операционную систему (Linux, Windows).</li> - <li>Языки программирования времени выполнения (скриптовые) и библотеки, которые использует ваш сайт.</li> + <li>Языки программирования времени выполнения (скриптовые) и библиотеки, которые использует ваш сайт.</li> <li>Веб-сервер, используемый для обслуживания страниц и другого контента (Nginx, Apache).</li> <li>Сервер приложений, который передает "динамические" запросы между сайтом Django и веб-сервером.</li> <li>Базу данных, от которой зависит ваш сайт.</li> @@ -84,19 +84,19 @@ original_slug: Learn/Server-side/Django/Разворачивание <ul> <li>Насколько требовательным к вычислительным ресурсам является ваш сайт.</li> - <li>Уровень поддержки горизовантального (добавление большего количества машин) и вертикального масштабирования (переход на более мощное железо), а также стоимость всего этого.</li> + <li>Уровень поддержки горизонтального (добавление большего количества машин) и вертикального масштабирования (переход на более мощное железо), а также стоимость всего этого.</li> <li>Где расположены дата-центры и, следовательно, откуда будет более быстрый доступ.</li> <li>Время непрерывной работы хостинга, а также время и количество простоя.</li> - <li>Инструменты, которые предоставляются для управления сайтом — простота и безопастность их использвания (SFTP и FTP).</li> + <li>Инструменты, которые предоставляются для управления сайтом — простота и безопасность их использования (SFTP и FTP).</li> <li>Встроенные фреймворки для мониторинга вашего сервера.</li> <li>Ограничения. Некоторые хостинги могут блокировать некоторые сервисы (например, электронную почту) . Другие предлагают только определенное количество часов "живого времени" за определенную цену, или небольшое количество места для данных.</li> <li>Преимущества. Некоторые провайдеры могут предложить бесплатные доменные имена и поддержку сертификатов SSL, которые, в других случаях, должны были бы купить.</li> <li>Что будет при истечении времени использования "бесплатного" хостинга, какова "стоимость" миграции на более "дорогие" тарифы и так далее?</li> </ul> -<p>Хорошей новостью является то, что для того, чтобы начать существует достаточное количество компаний, которые предоставляют пробные "бесплатные" тарифы типа "evaluation" (для пробы), "developer" (разработка), или "hobbyist" (хобби). Всегда существуют ресурсы с ограниченым окружением, при использовании которых вам надо беспокоиться лишь о том, что они могут быть доступны лишь в течении определенного периода времени. Тем не менее, они являются отличным решением для тестирования сайтов с небольшим трафиком в реальном окружении, а также могут предоставлять простой доступ к платным ресурсам, в случае необходимости. Наиболее популярными провайдерами являются <a href="https://www.heroku.com/">Heroku</a>, <a href="https://www.pythonanywhere.com/">Python Anywhere</a>, <a href="http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-free-tier.html">Amazon Web Services</a>, <a href="https://azure.microsoft.com/en-us/pricing/details/app-service/">Microsoft Azure</a> и так далее.</p> +<p>Хорошей новостью является то, что для того, чтобы начать существует достаточное количество компаний, которые предоставляют пробные "бесплатные" тарифы типа "evaluation" (для пробы), "developer" (разработка), или "hobbyist" (хобби). Всегда существуют ресурсы с ограниченным окружением, при использовании которых вам надо беспокоиться лишь о том, что они могут быть доступны лишь в течении определенного периода времени. Тем не менее, они являются отличным решением для тестирования сайтов с небольшим трафиком в реальном окружении, а также могут предоставлять простой доступ к платным ресурсам, в случае необходимости. Наиболее популярными провайдерами являются <a href="https://www.heroku.com/">Heroku</a>, <a href="https://www.pythonanywhere.com/">Python Anywhere</a>, <a href="http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-free-tier.html">Amazon Web Services</a>, <a href="https://azure.microsoft.com/en-us/pricing/details/app-service/">Microsoft Azure</a> и так далее.</p> -<p>Многие провайдеры имеют "basic" (базовый) тариф, предоставляющий достаточный уровень вычислительной мощности с небольшим количеством ограничений. <a href="https://www.digitalocean.com/">Digital Ocean</a> и <a href="https://www.pythonanywhere.com/">Python Anywhere</a> являются примерами провайдеров, которые предлагают относительно недорой базовый тариф (от $5 до $10USD в месяц).</p> +<p>Многие провайдеры имеют "basic" (базовый) тариф, предоставляющий достаточный уровень вычислительной мощности с небольшим количеством ограничений. <a href="https://www.digitalocean.com/">Digital Ocean</a> и <a href="https://www.pythonanywhere.com/">Python Anywhere</a> являются примерами провайдеров, которые предлагают относительно недорогой базовый тариф (от $5 до $10USD в месяц).</p> <div class="note"> <p><strong>Примечание:</strong> Необходимо помнить, что цена не является единственным критерием выбора. Если ваш сайт успешен, то может так случиться, что масштабирование станет самым важным элементом вашего внимания при выборе услуг хостинга.</p> @@ -104,7 +104,7 @@ original_slug: Learn/Server-side/Django/Разворачивание <h2 id="Подготовка_веб-сайта_к_публикации">Подготовка веб-сайта к публикации</h2> -<p><a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">Скелет сайта</a> был создан при помощи инструментов <em>django-admin</em> и <em>manage.py</em>, которые настроены таким образом, чтобы сделать разработку проще. Многие настройки файла проекта (определенных в <strong>settings.py</strong>) должны быть изменены перед публикацией сайта, либо из-за вопросов безопастности, либо производительности.</p> +<p><a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">Скелет сайта</a> был создан при помощи инструментов <em>django-admin</em> и <em>manage.py</em>, которые настроены таким образом, чтобы сделать разработку проще. Многие настройки файла проекта (определенных в <strong>settings.py</strong>) должны быть изменены перед публикацией сайта, либо из-за вопросов безопасности, либо производительности.</p> <div class="note"> <p><strong>Примечание:</strong> Общепринятым решением является иметь отдельный файл <strong>settings.py</strong> для публикации, который импортирует важные настройки из внешних файлов, или из переменных окружения. Доступ к данному файлу должен быть ограничен, даже если остальная часть исходного кода доступна в публичном репозитории.</p> @@ -114,7 +114,7 @@ original_slug: Learn/Server-side/Django/Разворачивание <ul> <li><code>DEBUG</code>. При развертывании сайта должен быть установлен в <code>False</code> (<code>DEBUG = False</code>). Тем самым, прекратится вывод важной отладочной информации.</li> - <li><code>SECRET_KEY</code>. Это большое случайное число, применяемое для защиты от CRSF. Важно, чтобы ключ, используемый в продакшине, не указывался в исходном коде, и/или не запрашивался с другого сервера. Django рекомендует размещать значение ключа либо в переменной окружения, или в файле с доступом только на чтение. + <li><code>SECRET_KEY</code>. Это большое случайное число, применяемое для защиты от CRSF. Важно, чтобы ключ, используемый в продакшене, не указывался в исходном коде, и/или не запрашивался с другого сервера. Django рекомендует размещать значение ключа либо в переменной окружения, или в файле с доступом только на чтение. <pre class="notranslate"># Чтение SECRET_KEY из переменной окружения import os SECRET_KEY = os.environ['SECRET_KEY'] @@ -190,7 +190,7 @@ with open('/etc/secret_key.txt') as f: <h3 id="Как_работает_Heroku">Как работает Heroku?</h3> -<p>Heroku запускает сайты Django внутри одного, или более, изолированых друг от друга "<a href="https://devcenter.heroku.com/articles/dynos">Dynos</a>", которые являются виртуальными Unix-контейнерами, предоставляющими необходимое окружение для вашего приложения. Данные dynos полностью изолированы и имеют <em>эфемерную</em> файловую систему ("короткоживущая" файловая система, которая полностью очищается и обновляется каждый раз, когда dyno перезапускается). Единственной сущностью, которую предоставляет dynos по умолчанию, является приложение по <a href="https://devcenter.heroku.com/articles/config-vars">конфигурации переменных</a>. Heroku внутри себя применяет балансировщик загрузки для распределения веб-трафика среди всех "веб"-dynos. Поскольку dynos изолированы, Heroku может масштабировать приложение горизонтально, просто добавляя больше dynos (хотя, конечно, у вас может появиться необходимость расширить базу данных для обработки дополнительных соединений).</p> +<p>Heroku запускает сайты Django внутри одного, или более, изолированных друг от друга "<a href="https://devcenter.heroku.com/articles/dynos">Dynos</a>", которые являются виртуальными Unix-контейнерами, предоставляющими необходимое окружение для вашего приложения. Данные dynos полностью изолированы и имеют <em>эфемерную</em> файловую систему ("короткоживущая" файловая система, которая полностью очищается и обновляется каждый раз, когда dyno перезапускается). Единственной сущностью, которую предоставляет dynos по умолчанию, является приложение по <a href="https://devcenter.heroku.com/articles/config-vars">конфигурации переменных</a>. Heroku внутри себя применяет балансировщик загрузки для распределения веб-трафика среди всех "веб"-dynos. Поскольку dynos изолированы, Heroku может масштабировать приложение горизонтально, просто добавляя больше dynos (хотя, конечно, у вас может появиться необходимость расширить базу данных для обработки дополнительных соединений).</p> <p>Файловая система эфемерна, поэтому вы не можете напрямую установить необходимые для вашего приложения сервисы (то есть, базы данных, очереди, системы кэширования, хранения, сервисы электронной почты и так далее). Взамен этого, Heroku предоставляет сервисы, доступные как независимые "дополнения" ("add-ons") либо от самой Heroku, или от сторонних разработчиков. В тот момент когда ваше приложение запускается в системе, dynos получает доступ к сервисам, используя информацию, содержащуюся в переменных настройки вашего приложения.</p> @@ -239,17 +239,17 @@ with open('/etc/secret_key.txt') as f: </ul> </li> <li>Нажмите кнопку <strong>Create repository</strong>, тем самым создав ваш репозиторий.</li> - <li>Перейдите на страницу вашего репозитория. Там нажмите на зелёную кнопку "<strong>Clone or download</strong>". Скопируйте URL из текстового поляиз появившегося диалогового окна (Это будет похоже на: <strong>https://github.com/<em><your_git_user_id></em>/django_local_library.git</strong>). Здесь <strong><your_git_user_id> </strong>- это будет ваш id пользователя git.</li> + <li>Перейдите на страницу вашего репозитория. Там нажмите на зелёную кнопку "<strong>Clone or download</strong>". Скопируйте URL из текстового поля из появившегося диалогового окна (Это будет похоже на: <strong>https://github.com/<em><your_git_user_id></em>/django_local_library.git</strong>). Здесь <strong><your_git_user_id> </strong>- это будет ваш id пользователя git.</li> </ol> -<p>Когда ваш репозиторий будет создан - загрузите его себе на компьтер, следуя инструкции, описанной ниже:</p> +<p>Когда ваш репозиторий будет создан - загрузите его себе на компьютер, следуя инструкции, описанной ниже:</p> <ol> <li>Установите git себе на компьютер (Вы можете найти версию для своей платформы <a href="https://git-scm.com/downloads">здесь</a>).</li> <li>Откройте командную строку (или терминал) и выполните в нём следующую команду, используя ссылку, которую вы получили с github: <pre class="brush: bash notranslate">git clone https://github.com/<strong><em><your_git_user_id></em></strong>/django_local_library.git </pre> - Это создаст подпапку (с содержанием вашего репозитория и именем вашего репозитория) внутри папки, в котрой выполнялась команда.</li> + Это создаст подпапку (с содержанием вашего репозитория и именем вашего репозитория) внутри папки, в которой выполнялась команда.</li> <li>Перейдите в эту папку: <pre class="brush: bash notranslate">cd django_local_library.git</pre> </li> @@ -267,7 +267,7 @@ with open('/etc/secret_key.txt') as f: *.sqlite3</pre> </li> <li> - <p>Откройте командную строку или терминал и используйте <code>add</code> команду с флагом <code>-A</code>. Эта комманда сохранит изменения в репозиторий:</p> + <p>Откройте командную строку или терминал и используйте <code>add</code> команду с флагом <code>-A</code>. Эта команда сохранит изменения в репозиторий:</p> <pre class="brush: bash notranslate"><code>git add -A</code></pre> </li> @@ -315,9 +315,9 @@ Changes to be committed: <h4 id="Gunicorn">Gunicorn</h4> -<p><a href="http://gunicorn.org/">Gunicorn</a> рекомендуемый http сервер с Django на Heroku (Как указанов Procfile выше). Это чистый python http сервер для WSGI приложений которые могут запускать множество параллельных python процессов в пределах одного динамического (посмотрите <a href="https://devcenter.heroku.com/articles/python-gunicorn">Deploying Python applications with Gunicorn</a> для получения большей информации).</p> +<p><a href="http://gunicorn.org/">Gunicorn</a> рекомендуемый http сервер с Django на Heroku (Как указано в Procfile выше). Это чистый python http сервер для WSGI приложений которые могут запускать множество параллельных python процессов в пределах одного динамического (посмотрите <a href="https://devcenter.heroku.com/articles/python-gunicorn">Deploying Python applications with Gunicorn</a> для получения большей информации).</p> -<p>Также нам не понадобится <em>Gunicorn</em> для обслушивания нашей LocalLibrary приложения в течение разработки, мы установим это так, чтобы он стал частью наших требований к Heroku для настройки на удаленном сервере.</p> +<p>Также нам не понадобится <em>Gunicorn</em> для обслуживания нашей LocalLibrary приложения в течение разработки, мы установим это так, чтобы он стал частью наших требований к Heroku для настройки на удаленном сервере.</p> <p>Установка <em>Gunicorn</em> локально в командной строке используя пакетный менеджер <em>pip</em> (которые мы установили когда <a href="/en-US/docs/Learn/Server-side/Django/development_environment">настраивали среду разработки</a>):</p> @@ -504,7 +504,7 @@ git push origin master</pre> <p>Загрузите и установите клиент Heroku, следуя <a href="https://devcenter.heroku.com/articles/getting-started-with-python#set-up">инструкциям Heroku </a>здесь.</p> -<p>После установки клиента вам будут дотупны команды. Например, чтобы получить справку о клиенте:</p> +<p>После установки клиента вам будут доступны команды. Например, чтобы получить справку о клиенте:</p> <pre class="brush: bash notranslate">heroku help </pre> diff --git a/files/ru/learn/server-side/django/development_environment/index.html b/files/ru/learn/server-side/django/development_environment/index.html index 6173f67714..fa1d2f14c7 100644 --- a/files/ru/learn/server-side/django/development_environment/index.html +++ b/files/ru/learn/server-side/django/development_environment/index.html @@ -95,7 +95,7 @@ translation_of: Learn/Server-side/Django/development_environment <p><strong>Замечание</strong>: Установленные в глобальную среду приложения Python потенциально могут конфликтовать друг с другом (т.е. если они зависят от разных версий одного и того же пакета).</p> </div> -<p>Если вы устанавливаете Django в среду по умолчанию (глобальную), то будете способны сфокусироваться на одной версии Django на вашем компьютере. Это может быть проблемой в случае, если вы захотите создать новые вебсайты (при помощи новой версии Django) во время поддержки вебсайтов со старой версией.</p> +<p>Если вы устанавливаете Django в среду по умолчанию (глобальную), то будете способны сфокусироваться на одной версии Django на вашем компьютере. Это может быть проблемой в случае, если вы захотите создать новые веб-сайты (при помощи новой версии Django) во время поддержки веб-сайтов со старой версией.</p> <p>По этой причине опытные разработчики Python / Django часто предпочитают вместо этого запускать свои приложения Python в независимых <em>виртуальных средах Python</em>. Это позволяет разработчикам иметь несколько разных сред Django на одном компьютере. Команда разработчиков Django сама рекомендует использовать виртуальные среды Python!</p> @@ -118,7 +118,7 @@ translation_of: Learn/Server-side/Django/development_environment <pre class="notranslate">python3 -V Python 3.5.2</pre> -<p>Однако, инструмент Python Package Index, при помощи которого вам нужно будет установаить пакеты для Python 3 (включая Django), по умолчанию <strong>не установлен</strong>. Вы можете установить pip3 через терминал bash при помощи:</p> +<p>Однако, инструмент Python Package Index, при помощи которого вам нужно будет установить пакеты для Python 3 (включая Django), по умолчанию <strong>не установлен</strong>. Вы можете установить pip3 через терминал bash при помощи:</p> <pre class="notranslate">sudo apt-get install python3-pip </pre> @@ -240,7 +240,7 @@ source /usr/local/bin/virtualenvwrapper.sh</code> </pre> <div class="note"> -<p><strong>Замечание</strong>: Переменная <code>VIRTUALENVWRAPPER_PYTHON</code> указывает на обычное расположение Python3. Если virtualenv не работает во время тестирования, то вам следует проверить, находится ли интерпертатор Python в нужном расположении (и затем поменять его соответствующим образом в значении переменной).</p> +<p><strong>Замечание</strong>: Переменная <code>VIRTUALENVWRAPPER_PYTHON</code> указывает на обычное расположение Python3. Если virtualenv не работает во время тестирования, то вам следует проверить, находится ли интерпретатор Python в нужном расположении (и затем поменять его соответствующим образом в значении переменной).</p> </div> <p>Эти строки такие же, как в случае с Ubuntu, но файл загрузки в вашей домашней директории назван иначе - <strong>.bash_profile</strong>. </p> @@ -271,7 +271,7 @@ nano .bash_profile # Open the file in the nano text editor, within the terminal <h4 id="Установка_виртуальной_среды_для_Windows_10">Установка виртуальной среды для Windows 10</h4> -<p>Установка <a href="https://pypi.python.org/pypi/virtualenvwrapper-win">virtualenvwrapper-win</a> еще более проста, чем установка <em>virtualenvwrapper</em>, потому что вам не нужно настраивать расположения сохранения информации о виртаульной среде инструментом (эти значения заданы по умолчанию). Все, что вам нужно сделать, это запустить следующую команду в командной строке:</p> +<p>Установка <a href="https://pypi.python.org/pypi/virtualenvwrapper-win">virtualenvwrapper-win</a> еще более проста, чем установка <em>virtualenvwrapper</em>, потому что вам не нужно настраивать расположения сохранения информации о виртуальной среде инструментом (эти значения заданы по умолчанию). Все, что вам нужно сделать, это запустить следующую команду в командной строке:</p> <pre class="notranslate"><code>pip3 install virtualenvwrapper-win</code></pre> @@ -392,7 +392,7 @@ Quit the server with CONTROL-C. <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication">Руководство Django Часть 8: Авторизация пользователей и уровни доступа</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Forms">Руководство Django Часть 9: Работа с формами</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Testing">Руководство Django Часть 10: Тестирование веб-приложений Django</a></li> - <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Deployment">Руководство Django Часть 11: Разавертывание Django в производство</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Deployment">Руководство Django Часть 11: Развертывание Django в производство</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/web_application_security">Безопасность веб-приложения Django</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/django_assessment_blog">DIY Мини-блог на Django</a></li> </ul> diff --git a/files/ru/learn/server-side/django/django_assessment_blog/index.html b/files/ru/learn/server-side/django/django_assessment_blog/index.html index 59a1d9e1d2..2846523f26 100644 --- a/files/ru/learn/server-side/django/django_assessment_blog/index.html +++ b/files/ru/learn/server-side/django/django_assessment_blog/index.html @@ -3,8 +3,8 @@ title: 'Задание: DIY Джанго мини блог' slug: Learn/Server-side/Django/django_assessment_blog tags: - Аттестация - - Бэкэнд - - Бэкэнд программирование + - Бэкенд + - Бэкенд программирование - Джанго - Изучение - Начинающий @@ -101,7 +101,7 @@ translation_of: Learn/Server-side/Django/django_assessment_blog <td>List of all bloggers</td> <td><code>/blog/bloggers/</code></td> <td> - <p>Список блоггеров в системе:</p> + <p>Список блогеров в системе:</p> <ul> <li>Доступный для всех пользователей с боковой панели сайта</li> @@ -140,7 +140,7 @@ translation_of: Learn/Server-side/Django/django_assessment_blog <td>Admin site</td> <td><code>/admin/<em><standard urls></em></code></td> <td> - <p>Админ-сайт должен быть включен, чтобы разрешить создание / редактирование / удаление сообщений в блогах, авторов блога и комментариев блога (это механизм для создания блоггеров в блогах):</p> + <p>Админ-сайт должен быть включен, чтобы разрешить создание / редактирование / удаление сообщений в блогах, авторов блога и комментариев блога (это механизм для создания блогеров в блогах):</p> <ul> <li>В админ панеле должен отображаться список комментариев в строке (внизу каждого сообщения в блоге).</li> @@ -187,11 +187,11 @@ translation_of: Learn/Server-side/Django/django_assessment_blog <p><img alt="List of all blogs" src="https://mdn.mozillademos.org/files/14319/diyblog_allblogs.png" style="border-style: solid; border-width: 1px; display: block; height: 363px; margin: 0px auto; width: 986px;"></p> -<h3 id="Список_всех_блоггеров">Список всех блоггеров</h3> +<h3 id="Список_всех_блогеров">Список всех блогеров</h3> <p> </p> -<p>Это ссылки на всех блоггеров в "All bloggers" по ссылке, которая на боковой панели. В этом случае мы можем увидеть на боковой панели, что ни один пользователь не вошел в систему.</p> +<p>Это ссылки на всех блогеров в "All bloggers" по ссылке, которая на боковой панели. В этом случае мы можем увидеть на боковой панели, что ни один пользователь не вошел в систему.</p> <p><img alt="List of all bloggers" src="https://mdn.mozillademos.org/files/14321/diyblog_blog_allbloggers.png" style="border-style: solid; border-width: 1px; display: block; height: 256px; margin: 0px auto; width: 493px;"></p> @@ -213,7 +213,7 @@ translation_of: Learn/Server-side/Django/django_assessment_blog <h3 id="Об_авторе">Об авторе</h3> -<p>Здесь отображается информация о блоггере вместе со списком его блогов.</p> +<p>Здесь отображается информация о блогере вместе со списком его блогов.</p> <p><img alt="Blogger detail page" src="https://mdn.mozillademos.org/files/14327/diyblog_blogger_detail.png" style="border-style: solid; border-width: 1px; display: block; height: 379px; margin: 0px auto; width: 982px;"></p> @@ -233,8 +233,8 @@ translation_of: Learn/Server-side/Django/django_assessment_blog </li> <li>Запустите миграцию для новых моделей и создайте суперпользователя.</li> <li>Используйте админ панель, чтобы создать какой-нибудь пример блога и комментарии в блогах.</li> - <li>Создайте представления, шаблоны, и URL-конфигурации для публикации блога и списка страниц блоггера.</li> - <li>Создайте представления, шаблоны, и URL-конфигурации для публикации блога и подробных страниц блоггера.</li> + <li>Создайте представления, шаблоны, и URL-конфигурации для публикации блога и списка страниц блогера.</li> + <li>Создайте представления, шаблоны, и URL-конфигурации для публикации блога и подробных страниц блогера.</li> <li>Создайте страницу с формой для добавления новых комментариев (не забудьте сделать это доступным только для зарегистрированных пользователей!)</li> </ol> diff --git a/files/ru/learn/server-side/django/forms/index.html b/files/ru/learn/server-side/django/forms/index.html index 3b155495a9..0557c10f54 100644 --- a/files/ru/learn/server-side/django/forms/index.html +++ b/files/ru/learn/server-side/django/forms/index.html @@ -98,7 +98,7 @@ translation_of: Learn/Server-side/Django/Forms </li> <li>Очистка и валидация данных. <ul> - <li>Очистка данных - это их проверка на наличие возможных значений, или вставок в поля ввода (то есть очистка - это удаление неправильных символов, которые потенциально могут использоваться для отправки вредоносного содержимого на сервер), с последующей конвертацией очищеных данных в подходящие типы данных Python.</li> + <li>Очистка данных - это их проверка на наличие возможных значений, или вставок в поля ввода (то есть очистка - это удаление неправильных символов, которые потенциально могут использоваться для отправки вредоносного содержимого на сервер), с последующей конвертацией очищенных данных в подходящие типы данных Python.</li> <li>Валидация проверяет, значения полей (например, правильность введенных дат, их диапазон и так далее)</li> </ul> </li> @@ -107,7 +107,7 @@ translation_of: Learn/Server-side/Django/Forms <li>Когда все действия были успешно завершены, то перенаправление пользователя на другую страницу.</li> </ol> -<p>Django предоставляет несколько инстументов и приемов, которые помогают вам во время выполнения задач, описанных выше. Наиболее фундаметальным из них является класс <code>Form</code>, который упрощает генерацию HTML-формы и очистку/валидацию ее данных. В следующем разделе мы опишем процесс работы с формами при помощи практического примера по созданию страницы, которая позволит библиотекарям обновлять информацию о книгах.</p> +<p>Django предоставляет несколько инструментов и приемов, которые помогают вам во время выполнения задач, описанных выше. Наиболее фундаментальным из них является класс <code>Form</code>, который упрощает генерацию HTML-формы и очистку/валидацию ее данных. В следующем разделе мы опишем процесс работы с формами при помощи практического примера по созданию страницы, которая позволит библиотекарям обновлять информацию о книгах.</p> <div class="note"> <p><strong>Примечание:</strong> Понимание того, как используется класс <code>Form</code> поможет вам когда мы будем рассматривать классы фреймворка Django, для работы с формами более "высокого уровня".</p> @@ -115,7 +115,7 @@ translation_of: Learn/Server-side/Django/Forms <h2 id="HTML-форма_обновления_книги._Класс_Form_и_функция_отображения">HTML-форма обновления книги. Класс Form и функция отображения</h2> -<p>Данная глава будет посвещена процессу создания страницы, которая позволит библиотекарям обновлять информацию о книгах (в частности, вводить дату возврата книги). Для того, чтобы сделать это мы создадим форму, которая позволит пользователям вводить значение дат. Мы проинициализируем поле датой, равной 3 неделям, начиная с текущего дня, и, для того, чтобы библотекарь не имел возможность ввести "неправильную" дату, мы добавим валидацию введенных значений, которая будет проверять, чтобы введенная дата не относилась к прошлому, или к слишком далекому будущему. Когда будет получена "правильная" дата мы запишем ее значение в поле <code>BookInstance.due_back</code>.</p> +<p>Данная глава будет посвящена процессу создания страницы, которая позволит библиотекарям обновлять информацию о книгах (в частности, вводить дату возврата книги). Для того, чтобы сделать это мы создадим форму, которая позволит пользователям вводить значение дат. Мы проинициализируем поле датой, равной 3 неделям, начиная с текущего дня, и, для того, чтобы библиотекарь не имел возможность ввести "неправильную" дату, мы добавим валидацию введенных значений, которая будет проверять, чтобы введенная дата не относилась к прошлому, или к слишком далекому будущему. Когда будет получена "правильная" дата мы запишем ее значение в поле <code>BookInstance.due_back</code>.</p> <p>Данный пример будет использовать отображение на основе функции, а также продемонстрирует работу с классом <code>Form</code>. Следующие разделы покажут изменения, которые вам надо сделать, чтобы продемонстрировать работу форм в проекте <em>LocalLibrary</em>.</p> @@ -127,7 +127,7 @@ translation_of: Learn/Server-side/Django/Forms <p>Синтаксис объявления для класса формы <code>Form</code> очень похож на объявление класса модели <code>Model</code>, он даже использует те же типы полей (и некоторые похожие параметры). Это существенный момент, поскольку в обоих случаях нам надо убедиться, что каждое поле управляет правильным типом данных, соответствует нужному диапазону (или другому критерию) и имеет необходимое описание для показа/документации.</p> -<p>Для того, чтобы создать класс с функционалом базового класса <code>Form</code> мы должны импорировать библиотеку <code>forms</code>, наследовать наш класс от класса <code>Form</code>, а затем объявить поля формы. Таким образом, самый простой класс формы в нашем случае будет иметь вид, показанный ниже:</p> +<p>Для того, чтобы создать класс с функционалом базового класса <code>Form</code> мы должны импортировать библиотеку <code>forms</code>, наследовать наш класс от класса <code>Form</code>, а затем объявить поля формы. Таким образом, самый простой класс формы в нашем случае будет иметь вид, показанный ниже:</p> <pre class="brush: python notranslate">from django import forms @@ -145,7 +145,7 @@ class RenewBookForm(forms.Form): <ul> <li><a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#required">required</a>: Если <code>True</code>, то данное поле не может быть пустым, или иметь значение<code>None</code>. Данное значение установлено по умолчанию.</li> - <li><a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#label">label</a>: Тектовая метка, используемая для рендеринга поля в HTML-код. Если <a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#label">label</a> не определена, то Django попытается создать ее значение при помощи имени поля, переводя первый символ в верхний регистр, а также заменяя символы подчеркивания пробелами (например, для переменной с именем renewal_date, будет создан следующий текст метки: <em>Renewal date</em>).</li> + <li><a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#label">label</a>: Текстовая метка, используемая для рендеринга поля в HTML-код. Если <a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#label">label</a> не определена, то Django попытается создать ее значение при помощи имени поля, переводя первый символ в верхний регистр, а также заменяя символы подчеркивания пробелами (например, для переменной с именем renewal_date, будет создан следующий текст метки: <em>Renewal date</em>).</li> <li><a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#label-suffix">label_suffix</a>: По умолчанию показывает двоеточие после текста метки (например, Renewal date<strong>:</strong>). Данный параметр позволяет вам указать любой суффикс по вашему желанию.</li> <li><a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#initial">initial</a>: Начальное значение для поля при показе формы.</li> <li><a href="https://docs.djangoproject.com/en/1.10/ref/forms/fields/#widget">widget</a>: Применяемый виджет для поля.</li> @@ -185,7 +185,7 @@ class RenewBookForm(forms.Form): <p>Необходимо отметить два важных момента. Первый это то, что мы получаем наши данные при помощи словаря <code>self.cleaned_data['renewal_date']</code>, а затем в конце возвращаем полученное значение, для проведения необходимых проверок. Данный шаг позволяет нам, при помощи валидаторов, получить "очищенные", проверенные, а затем, приведенные к стандартным типам, данные (в нашем случае к типу Python <code>datetime.datetime</code>).</p> -<p>Второй момент касается того случая, когда наше значение "выпадает за рамки" и мы "выкидываем" исключение <code>ValidationError</code>, в котором указываем текст, который мы хотим показать на форме, для случая когда были введены неправильные данные. Пример, показанный выше, оборачивает данный текст при помощи <a href="https://docs.djangoproject.com/en/1.10/topics/i18n/translation/">функции перевода Django</a> <code>ugettext_lazy()</code> (импортирумую через <code>_()</code>), которая может вам пригодиться, если вы планируете перевести ваш сайт в будущем.</p> +<p>Второй момент касается того случая, когда наше значение "выпадает за рамки" и мы "выкидываем" исключение <code>ValidationError</code>, в котором указываем текст, который мы хотим показать на форме, для случая когда были введены неправильные данные. Пример, показанный выше, оборачивает данный текст при помощи <a href="https://docs.djangoproject.com/en/1.10/topics/i18n/translation/">функции перевода Django</a> <code>ugettext_lazy()</code> (импортируемую через <code>_()</code>), которая может вам пригодиться, если вы планируете перевести ваш сайт в будущем.</p> <div class="note"> <p><strong>Примечание:</strong> Существует множество других методов и примеров валидации различных форм, которые можно найти в <a href="https://docs.djangoproject.com/en/1.10/ref/forms/validation/">Формы и валидация поля</a> (Django docs). Например, в случае, если у вас имеется много полей, которые зависят один от другого, вы можете переопределить функцию <a href="https://docs.djangoproject.com/en/1.10/ref/forms/api/#django.forms.Form.clean">Form.clean()</a> и, при необходимости, "выкинуть" <code>ValidationError</code>.</p> @@ -350,7 +350,7 @@ def renew_book_librarian(request, pk): <h3 id="Шаблон">Шаблон</h3> -<p>Создайте шаблон, на который ссылается наше отображение (<strong>/catalog/templates/catalog/book_renew_librarian.html</strong>) и скопируйте в него код, указаный ниже:</p> +<p>Создайте шаблон, на который ссылается наше отображение (<strong>/catalog/templates/catalog/book_renew_librarian.html</strong>) и скопируйте в него код, указанный ниже:</p> <pre class="brush: html notranslate">{% extends "base_generic.html" %} {% block content %} @@ -371,7 +371,7 @@ def renew_book_librarian(request, pk): <p>Большая его часть вам знакома из предыдущих частей руководства. Мы расширяем базовый шаблон, а затем замещаем блок содержимого <code>content</code>. У нас имеется возможность ссылаться на переменную <code>\{{bookinst}}</code> (и ее поля) поскольку мы передали ее в объект контекста при вызове функции <code>render()</code>. Здесь мы используем данный объект для вывода заголовка книги, дат ее получения и возврата.</p> -<p>Код формы относительно прост. В первую очередь мы объявляем тэг<code>form</code>, затем определяем куда будут отправлены данные (<code>action</code>) и каким способом (<code>method</code>, в данном случае "HTTP POST") — если обратитесь к обзору раздела <a href="#HTML_forms">Формы HTML</a> в верхней части данной страницы, то найдете там замечение, что пустое значние атрибута <code>action</code>, означает, что данные из формы будут переданы обратно по текущему URL-адресу данной страницы (чего мы и хотим!). Внутри тэга формы мы объявляем кнопку <code>submit</code> при помощи которой мы можем отправить наши данные. Блок <code>{% csrf_token %}</code>, добавленный первой строкой внутри блока формы, является частью фреймворка Django и служит для борьбы с CSRF.</p> +<p>Код формы относительно прост. В первую очередь мы объявляем тэг<code>form</code>, затем определяем куда будут отправлены данные (<code>action</code>) и каким способом (<code>method</code>, в данном случае "HTTP POST") — если обратитесь к обзору раздела <a href="#HTML_forms">Формы HTML</a> в верхней части данной страницы, то найдете там замещение, что пустое значение атрибута <code>action</code>, означает, что данные из формы будут переданы обратно по текущему URL-адресу данной страницы (чего мы и хотим!). Внутри тэга формы мы объявляем кнопку <code>submit</code> при помощи которой мы можем отправить наши данные. Блок <code>{% csrf_token %}</code>, добавленный первой строкой внутри блока формы, является частью фреймворка Django и служит для борьбы с CSRF.</p> <div class="note"> <p><strong>Примечание:</strong> Добавляйте <code>{% csrf_token %}</code> в каждый шаблон Django, в котором вы создаете форму для отправки данных методом <code>POST</code>. Это поможет уменьшить вероятность взлома вашего сайта злоумышленниками.</p> @@ -445,7 +445,7 @@ def renew_book_librarian(request, pk): <p><img alt="" src="https://mdn.mozillademos.org/files/14211/forms_example_renew_invalid.png" style="border-style: solid; border-width: 1px; display: block; height: 290px; margin: 0px auto; width: 658px;"></p> -<p>Список всех книг с ссылками на странцу обновления данных:</p> +<p>Список всех книг с ссылками на страницу обновления данных:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/14207/forms_example_renew_allbooks.png" style="border-style: solid; border-width: 1px; display: block; height: 256px; margin: 0px auto; width: 613px;"></p> @@ -453,9 +453,9 @@ def renew_book_librarian(request, pk): <p>Создание класса формы <code>Form</code> при помощи примера, описанного выше, является довольно гибким способом, позволяющим вам создавать формы любой структуры которую вы пожелаете, в связке с любой моделью, или моделями.</p> -<p>Тем не менее, если вам просто нужна форма для отображения полей одиночной модели, тогда эта самая модель уже содержит большую часть информации, которая вам нужна для построения формы: сами поля, текстовые метки, дополнительный текст и так далее. И чтобы не воспроизводить информацию из модели для вашей формы, проще воспользоваться классом <a href="https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/">ModelForm</a>, который помогает созадавать формы непосредственно из модели. Класс <code>ModelForm</code> может применяться в ваших отображениях точно таким же образом как и "классический" класс формы <code>Form</code>.</p> +<p>Тем не менее, если вам просто нужна форма для отображения полей одиночной модели, тогда эта самая модель уже содержит большую часть информации, которая вам нужна для построения формы: сами поля, текстовые метки, дополнительный текст и так далее. И чтобы не воспроизводить информацию из модели для вашей формы, проще воспользоваться классом <a href="https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/">ModelForm</a>, который помогает создавать формы непосредственно из модели. Класс <code>ModelForm</code> может применяться в ваших отображениях точно таким же образом как и "классический" класс формы <code>Form</code>.</p> -<p>Базовая реализация <code>ModelForm</code> содержит тоже поле как и ваш предыдущий класс формы <code>RenewBookForm</code>, что и показано ниже. Все что вам необходимо сделать, - внутри вашего нового класса добавить класс <code>Meta</code> и связать его с моделью <code>model</code> (<code>BookInstance</code>), а затем перечислить поля модели в поле <code>fields</code> которые должны быть включены в форму (вы можете включить все поля при помощи <code>fields = '__all__'</code>, или можно вопользоваться полем <code>exclude</code> (вместо <code>fields</code>), чтобы определить поля модели, которые <em>не</em> нужно включать).</p> +<p>Базовая реализация <code>ModelForm</code> содержит тоже поле как и ваш предыдущий класс формы <code>RenewBookForm</code>, что и показано ниже. Все что вам необходимо сделать, - внутри вашего нового класса добавить класс <code>Meta</code> и связать его с моделью <code>model</code> (<code>BookInstance</code>), а затем перечислить поля модели в поле <code>fields</code> которые должны быть включены в форму (вы можете включить все поля при помощи <code>fields = '__all__'</code>, или можно воспользоваться полем <code>exclude</code> (вместо <code>fields</code>), чтобы определить поля модели, которые <em>не</em> нужно включать).</p> <pre class="brush: python notranslate">from django.forms import ModelForm from .models import BookInstance @@ -510,10 +510,10 @@ class RenewBookModelForm(ModelForm): <h2 id="Обобщенные_классы_отображения_для_редактирования">Обобщенные классы отображения для редактирования</h2> -<p>Алгоритм управления формой, который мы использовали в нашей функции отображения, является примером достаточно общего подхода к работе с формой. Django старается абстрагировать и упростить бульшую часть данной работы, путем широкого применения <a href="https://docs.djangoproject.com/en/1.10/ref/class-based-views/generic-editing/">обобщенных классов отображений</a>, которые служат для создания, редактирования и удаления отображений на основе моделей. Они не только управляют поведением отображения, но, кроме того, они из вашей модели автоматически создают класс формы (<code>ModelForm</code>).</p> +<p>Алгоритм управления формой, который мы использовали в нашей функции отображения, является примером достаточно общего подхода к работе с формой. Django старается абстрагировать и упростить большую часть данной работы, путем широкого применения <a href="https://docs.djangoproject.com/en/1.10/ref/class-based-views/generic-editing/">обобщенных классов отображений</a>, которые служат для создания, редактирования и удаления отображений на основе моделей. Они не только управляют поведением отображения, но, кроме того, они из вашей модели автоматически создают класс формы (<code>ModelForm</code>).</p> <div class="note"> -<p><strong>Примечание: </strong>В дополнение к отображениям для реактирования, описываемых здесь, существует также класс <a href="https://docs.djangoproject.com/en/1.10/ref/class-based-views/generic-editing/#formview">FormView</a>, который по своему предназначению находится где-то между "простой" функцией отображения и другими обобщенными отображенями, то есть в каком-то смысле, в диапазоне: "гибкость" против "усилия при программировании". Применяя <code>FormView,</code> вы все еще нуждаетесь в создании класса <code>Form</code>, но вам не нужно реализовавыть весь "стандартный" функционал работы с формой. Вместо этого, вы должны просто реализовать функцию, которая будет вызвана в тот момент, когда станет понятно, что получаемые из формы данные, "правильные" (валидны).</p> +<p><strong>Примечание: </strong>В дополнение к отображениям для редактирования, описываемых здесь, существует также класс <a href="https://docs.djangoproject.com/en/1.10/ref/class-based-views/generic-editing/#formview">FormView</a>, который по своему предназначению находится где-то между "простой" функцией отображения и другими обобщенными отображениями, то есть в каком-то смысле, в диапазоне: "гибкость" против "усилия при программировании". Применяя <code>FormView,</code> вы все еще нуждаетесь в создании класса <code>Form</code>, но вам не нужно реализовывать весь "стандартный" функционал работы с формой. Вместо этого, вы должны просто реализовать функцию, которая будет вызвана в тот момент, когда станет понятно, что получаемые из формы данные, "правильные" (валидны).</p> </div> <p>В данном разделе мы собираемся использовать обобщенные классы для редактирования, для того, чтобы создать страницы, который добавляют функционал создания, редактирования и удаления записей типа <code>Author</code> из нашей библиотеки — предоставляя базовый функционал некоторых частей административной части сайта (это может быть полезно для случаев, когда вам нужно создать административную часть сайта, которая, в отличие от стандартной, была бы более гибкой).</p> @@ -541,7 +541,7 @@ class AuthorDelete(DeleteView): <p>Как вы видите, для создания отображений вам надо наследоваться от следующих классов<code>CreateView</code>, <code>UpdateView</code> и <code>DeleteView</code> (соответственно), а затем связать их с соответствующей моделью.</p> -<p>Для случаев "создать" и "обновить" вам также понадобится определить поля для показа на форме (применяя тот же синтаксис, что и для <code>ModelForm</code>). В этом случае мы демонстриурем синтаксис и для показаза "всех" полей, и перечисление их по отдельности. Также вы можете указать начальные значения для каждого поля, применяя словарь пар <em>имя_поля</em>/<em>значение</em> (в целях демонстрации, в нашем примере мы явно указываем дату смерти — если хотите, то вы можете удалить это поле). По умолчанию отображения перенаправляют пользователя на страницу "успеха", показывая только что созданные/отредатированные данные (записи в модели). В нашем случае это, созданная в предыдущей части руководства, подробная информация об авторе. Вы можете указать альтернативное перенаправление при помощи параметра <code>success_url</code> (как в примере с классом <code>AuthorDelete</code>).</p> +<p>Для случаев "создать" и "обновить" вам также понадобится определить поля для показа на форме (применяя тот же синтаксис, что и для <code>ModelForm</code>). В этом случае мы демонстрируем синтаксис и для показа "всех" полей, и перечисление их по отдельности. Также вы можете указать начальные значения для каждого поля, применяя словарь пар <em>имя_поля</em>/<em>значение</em> (в целях демонстрации, в нашем примере мы явно указываем дату смерти — если хотите, то вы можете удалить это поле). По умолчанию отображения перенаправляют пользователя на страницу "успеха", показывая только что созданные/отредактированные данные (записи в модели). В нашем случае это, созданная в предыдущей части руководства, подробная информация об авторе. Вы можете указать альтернативное перенаправление при помощи параметра <code>success_url</code> (как в примере с классом <code>AuthorDelete</code>).</p> <p>Классу <code>AuthorDelete</code> не нужно показывать каких либо полей, таким образом их не нужно и декларировать. Тем не менее, вам нужно указать <code>success_url</code>, потому что, в данном случае, для Django не очевидно что делать после успешного выполнения операции удаления записи. Мы используем функцию <code><a href="https://docs.djangoproject.com/en/1.10/ref/urlresolvers/#reverse-lazy">reverse_lazy()</a></code> для перехода на страницу списка авторов после удаления одного из них — <code>reverse_lazy()</code> это более "ленивая" версия <code>reverse().</code></p> @@ -621,7 +621,7 @@ class AuthorDelete(DeleteView): <h2 id="Проверьте_себя">Проверьте себя</h2> -<p>Создайте несколько форм создания, редактирования и удаления записей в модели <code>Book</code>. При желании, вы можете использовать теже структуры как и в случае с моделью <code>Authors</code>. Если ваш шаблон <strong>book_form.html</strong> является просто копией шаблона <strong>author_form.html</strong>, тогда новая страница "create book" будет выглядеть как на следующем скриншоте:</p> +<p>Создайте несколько форм создания, редактирования и удаления записей в модели <code>Book</code>. При желании, вы можете использовать тоже структуры как и в случае с моделью <code>Authors</code>. Если ваш шаблон <strong>book_form.html</strong> является просто копией шаблона <strong>author_form.html</strong>, тогда новая страница "create book" будет выглядеть как на следующем скриншоте:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/14225/forms_example_create_book.png" style="border-style: solid; border-width: 1px; display: block; height: 521px; margin: 0px auto; width: 595px;"></p> diff --git a/files/ru/learn/server-side/django/generic_views/index.html b/files/ru/learn/server-side/django/generic_views/index.html index 7b1bf6f08c..8fc4223885 100644 --- a/files/ru/learn/server-side/django/generic_views/index.html +++ b/files/ru/learn/server-side/django/generic_views/index.html @@ -31,9 +31,9 @@ translation_of: Learn/Server-side/Django/Generic_views <p>В данном руководстве мы завершим первую версию сайта <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website">LocalLibrary</a>, с помощью добавления страницы перечисления и подробной информации о книгах и авторах (или, если быть более точными, мы покажем как вам реализовать соответствующие страницы для книг, а для авторов вы сможете сделать их самостоятельно!)</p> -<p>Данный процесс похож на создание главной страницы сайта, который мы показывали в предыдущей части руководства. Нам все также надо создать URL-преобразования, отображения и шаблоны страниц. Основным отличием будет то, что для страниц подробной информации перед нами встанет дополнительная задача получения информации из паттерна URL-адреса и передачи ее отображению. Для этих страниц мы собираемся продемонстрировать совершенно другой тип отображения, основанный на применении обобщеных классов отображения списка и детальной информации о записи. Это может существенно сократить количество кода, необходимого для отображения и сделает его (код) более простым для написания и поддержки.</p> +<p>Данный процесс похож на создание главной страницы сайта, который мы показывали в предыдущей части руководства. Нам все также надо создать URL-преобразования, отображения и шаблоны страниц. Основным отличием будет то, что для страниц подробной информации перед нами встанет дополнительная задача получения информации из паттерна URL-адреса и передачи ее отображению. Для этих страниц мы собираемся продемонстрировать совершенно другой тип отображения, основанный на применении обобщенных классов отображения списка и детальной информации о записи. Это может существенно сократить количество кода, необходимого для отображения и сделает его (код) более простым для написания и поддержки.</p> -<p>Завершающая часть данного руководства будет посвещена демонстрации постраничного показа ваших данных (pagination) при применении обобщенного класса отображения списка.</p> +<p>Завершающая часть данного руководства будет посвящена демонстрации постраничного показа ваших данных (pagination) при применении обобщенного класса отображения списка.</p> <h2 id="Страница_со_списком_книг">Страница со списком книг</h2> @@ -75,7 +75,7 @@ class BookListView(generic.ListView): <p><strong>Примечание</strong>: Этот, выглядящий странно, путь к файлу шаблона не является опечаткой — обобщенное отображение ищет файл шаблона <code>/<em>application_name</em>/<em>the_model_name</em>_list.html</code> (<code>catalog/book_list.html</code>, в данном случае) внутри директории приложения <code>/<em>application_name</em>/templates/</code> (у нас - <code>/catalog/templates/)</code>.</p> </div> -<p>Вы можете использовать атрибуты для того, чтобы изменить поведение по умолчанию. Например, вы могли бы указать другой файл шаблона, например, если в вашем распоряжении имеется несколько отображений, которые используют одну и ту же модель, или вам позарез захотелось бы использовать другое имя переменной шаблона, если <code>book_list</code> не является интуитивно понятным. Возможно, наиболее полезным вариантом является изменение/отфильтрование результата запроса к базе данных — таким образом, вместо перечисления всех книг вы могли бы показывать 5 наиболее популярных.</p> +<p>Вы можете использовать атрибуты для того, чтобы изменить поведение по умолчанию. Например, вы могли бы указать другой файл шаблона, например, если в вашем распоряжении имеется несколько отображений, которые используют одну и ту же модель, или вам позарез захотелось бы использовать другое имя переменной шаблона, если <code>book_list</code> не является интуитивно понятным. Возможно, наиболее полезным вариантом является изменение/отфильтрованные результата запроса к базе данных — таким образом, вместо перечисления всех книг вы могли бы показывать 5 наиболее популярных.</p> <pre class="brush: python">class BookListView(generic.ListView): model = Book @@ -163,7 +163,7 @@ class BookListView(generic.ListView): <h4 id="Цикл_For">Цикл For</h4> -<p>Шаблон использует тэги <a href="https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#for">for</a> и <code>endfor</code> для того, чтобы "пробежаться" по списку книг, как показано ниже. На каждой итерации (каждом цикле) в переменную шаблона <code>book</code> передается информация текущего эелемента списка.</p> +<p>Шаблон использует тэги <a href="https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#for">for</a> и <code>endfor</code> для того, чтобы "пробежаться" по списку книг, как показано ниже. На каждой итерации (каждом цикле) в переменную шаблона <code>book</code> передается информация текущего элемента списка.</p> <pre class="brush: html">{% for <strong>book</strong> in book_list %} <li> <!-- здесь код, который использует информацию из каждого элемента <strong>book </strong>списка--> </li> @@ -220,7 +220,7 @@ urlpatterns = [ <p>В отличие от предыдущих преобразований, в данном случае мы применяем наше регулярное выражение (РВ) для сопоставления "настоящего паттерна", а не просто строки. Данное РВ сопоставляет любой URL-адрес, который начинается с <code>book/</code>, за которым до конца строки (до маркера конца строки - $) следуют одна, или более <em>цифр</em>. В процессе выполнения данного преобразования, оно "захватывает" цифры и передает их в функцию отображения как параметр с именем <code>pk</code>.</p> <div class="note"> -<p><strong>Примечание</strong>: как было отмечено ранее, наш преоразуемый URL-адрес в реальности выглядит вот так <code>catalog/book/<digits></code> (потому что мы находимся в приложении <strong>catalog</strong>, то подразумевается каталог <code>/catalog/</code>).</p> +<p><strong>Примечание</strong>: как было отмечено ранее, наш преобразуемый URL-адрес в реальности выглядит вот так <code>catalog/book/<digits></code> (потому что мы находимся в приложении <strong>catalog</strong>, то подразумевается каталог <code>/catalog/</code>).</p> </div> <div class="warning"> @@ -229,7 +229,7 @@ urlpatterns = [ <h4 id="Отдельный_пример_с_регулярными_выражениями">Отдельный пример с регулярными выражениями</h4> -<p>Паттерны <a href="https://docs.python.org/3/library/re.html">регулярного выражения</a> является невероятно мощным инструментом преобразования. Пока что, мы не очень много говорили о них, поскольку мы сопоставляли URL-адреса с простыми строками (а не паттернами), и потому что они не интуитивны и пугающи для начинающих.</p> +<p>Паттерны <a href="https://docs.python.org/3/library/re.html">регулярного выражения</a> является невероятно мощным инструментом преобразования. Пока что, мы не очень много говорили о них, поскольку мы сопоставляли URL-адреса с простыми строками (а не паттернами), и потому что они не интуитивны и пугающий для начинающих.</p> <div class="note"> <p><strong>Примечание</strong>: Без паники! Мы будем рассматривать и использовать достаточно простые паттерны и при этом хорошо задокументированные!</p> @@ -277,7 +277,7 @@ urlpatterns = [ </tr> <tr> <td>(?P<name>...)</td> - <td>Захват части паттерна (обозначеного через ...) как именованной переменной (в данном случае <name>). Захваченные значения передаются в отображение с определенным именем. Таким образом, ваше отображение должно объявить аргумент с тем же самым именем!</td> + <td>Захват части паттерна (обозначенного через ...) как именованной переменной (в данном случае <name>). Захваченные значения передаются в отображение с определенным именем. Таким образом, ваше отображение должно объявить аргумент с тем же самым именем!</td> </tr> <tr> <td>[ ]</td> @@ -355,7 +355,7 @@ url(r'^/anotherurl/$', views.my_reused_view, {'my_template_name': 'another_path' <h4 id="Что_произойдет_если_записи_не_существует">Что произойдет, если записи не существует?</h4> -<p>Если запрашиваемой записи не существует, тогда обобщенный класс отображения подробной информации автоматически "выкинет" исключение Http404 — в продакшине это приведет к автоматическому отображению страницы с текстом "resource not found" ("ресурс не найден"), которую, конечно же, вы можете настроить по своему усмотрению.</p> +<p>Если запрашиваемой записи не существует, тогда обобщенный класс отображения подробной информации автоматически "выкинет" исключение Http404 — в продакшене это приведет к автоматическому отображению страницы с текстом "resource not found" ("ресурс не найден"), которую, конечно же, вы можете настроить по своему усмотрению.</p> <p>Просто для иллюстрации идеи как это могло бы работать, мы приведем фрагмент кода, демонстрирующего возможную реализацию отображения в виде функции, если по каким-либо причинам вы не используете отображение на основе обобщенного класса.</p> @@ -436,7 +436,7 @@ url(r'^/anotherurl/$', views.my_reused_view, {'my_template_name': 'another_path' <p>Этот метод создан, потому что вы, на стороне "многим" данной связи, объявили поле <code>ForeignKey</code> (один-ко многим). Поскольку вы ничего не объявили на другой стороне ("один") данной модели (то есть, модель <code>Book</code> "ничего не знает" про модель <code>BookInstance</code>), то она не имеет никакой возможности (по умолчанию) для получения множества соответствующих записей. Для того, чтобы обойти эту проблему, Django конструирует соответствующую функцию "обратного просмотра" ("reverse lookup"), которой вы можете воспользоваться. Имя данной функции создается в нижнем регистре и состоит из имени модели, в которой был объявлен <code>ForeignKey</code> (то есть, <code>bookinstance</code>), за которым следует <code>_set</code> (то есть функция, созданная для <code>Book</code> будет иметь вид <code>bookinstance_set()</code>).</p> <div class="note"> -<p><strong>Примечание</strong>: Здесь мы используем <code>all()</code> для получения всех записей (по умолчанию). Вы, наверное, могли бы использовать метод <code>filter()</code> для получения подмножетсва записей в коде, но, к сожалению, вы НЕ можете применить данный вызов в шаблоне, потому что вы не можете передать в нем (в шаблоне) аргументы в функцию.</p> +<p><strong>Примечание</strong>: Здесь мы используем <code>all()</code> для получения всех записей (по умолчанию). Вы, наверное, могли бы использовать метод <code>filter()</code> для получения подмножества записей в коде, но, к сожалению, вы НЕ можете применить данный вызов в шаблоне, потому что вы не можете передать в нем (в шаблоне) аргументы в функцию.</p> <p>Обратите внимание, что если вы не определяете порядок выдачи данных (в вашем отображении, или в модели), то сервер разработки "выкинет" сообщения об ошибках, похожие на следующие:</p> @@ -558,7 +558,7 @@ url(r'^/anotherurl/$', views.my_reused_view, {'my_template_name': 'another_path' <li><code>catalog/author/<em><id></em></code><em> </em>— Детальная информация об авторе со значением первичного ключа равным <em><code><id></code></em></li> </ul> -<p>Соответствующий код для URL-преобразований и оторажений должен быть идентичным коду для списка книг и детальной информаци о книге <code>Book</code>, который мы создали ранее. Шаблоны будут отличаться, но будут иметь похожее поведение.</p> +<p>Соответствующий код для URL-преобразований и отображений должен быть идентичным коду для списка книг и детальной информации о книге <code>Book</code>, который мы создали ранее. Шаблоны будут отличаться, но будут иметь похожее поведение.</p> <div class="note"> <p><strong>Примечание</strong>:</p> @@ -588,9 +588,9 @@ url(r'^/anotherurl/$', views.my_reused_view, {'my_template_name': 'another_path' <p>Поздравляем! Наш базовый функционал библиотеки готов! </p> -<p>В данной статье мы изучили как применять обобщенные классы отображения списка и детальной информации, и использовать их для создания страниц отображения наших книг и авторов. Кроме того, мы многое узнали о паттернах преобразования, построенных на основе регулярных выражений, а также то, как вы можете передавать данные из URL-адреса в ваше отображение. Мы изучили несколько приемов применения шаблонов. В самом конце мы показали как осуществлять постраничный вывод списков, так, что наши списки управляются даже тогда, когда они содерждат много записей.</p> +<p>В данной статье мы изучили как применять обобщенные классы отображения списка и детальной информации, и использовать их для создания страниц отображения наших книг и авторов. Кроме того, мы многое узнали о паттернах преобразования, построенных на основе регулярных выражений, а также то, как вы можете передавать данные из URL-адреса в ваше отображение. Мы изучили несколько приемов применения шаблонов. В самом конце мы показали как осуществлять постраничный вывод списков, так, что наши списки управляются даже тогда, когда они содержат много записей.</p> -<p>В нашей следующей статье мы расширим нашу библиотеку, путем поддержки пользовательких аккаутов, и так образом продемонстрируем аутетификацию, разграничение уровней доступа, сессии и формы.</p> +<p>В нашей следующей статье мы расширим нашу библиотеку, путем поддержки пользовательских аккаунтов, и так образом продемонстрируем аутентификацию, разграничение уровней доступа, сессии и формы.</p> <h2 id="Дополнительная_информация">Дополнительная информация</h2> diff --git a/files/ru/learn/server-side/django/home_page/index.html b/files/ru/learn/server-side/django/home_page/index.html index b573f3fdb6..df43a891ae 100644 --- a/files/ru/learn/server-side/django/home_page/index.html +++ b/files/ru/learn/server-side/django/home_page/index.html @@ -23,7 +23,7 @@ translation_of: Learn/Server-side/Django/Home_page <tbody> <tr> <th scope="row">Требования:</th> - <td>Прочитать <a href="/en-US/docs/Learn/Server-side/Django/Introduction">Введение в Django</a>. Завершить изучение предыдущех частей руководства (включая <a href="/en-US/docs/Learn/Server-side/Django/Admin_site">Руководство часть 4: Django административный раздел сайта</a>).</td> + <td>Прочитать <a href="/en-US/docs/Learn/Server-side/Django/Introduction">Введение в Django</a>. Завершить изучение предыдущих частей руководства (включая <a href="/en-US/docs/Learn/Server-side/Django/Admin_site">Руководство часть 4: Django административный раздел сайта</a>).</td> </tr> <tr> <th scope="row">Цель:</th> @@ -55,7 +55,7 @@ translation_of: Learn/Server-side/Django/Home_page <p>Перечислим URL-адреса, которые понадобятся для наших страниц:</p> <ul> - <li><code>catalog/</code> — Домашняя/индексная странца.</li> + <li><code>catalog/</code> — Домашняя/индексная страница.</li> <li><code>catalog/books/</code> — Список всех книг.</li> <li><code>catalog/authors/</code> — Список всех авторов.</li> <li><code>catalog/book/<em><id></em></code> — Детальная информация для определенной книги со значением первичного ключа равного <code><em><id></em></code>. Например, <code>/catalog/book/3</code>, для <code>id = 3</code>.</li> @@ -69,7 +69,7 @@ translation_of: Learn/Server-side/Django/Home_page <div class="note"> <p><strong>Примечание</strong>: Django позволяет вам конструировать ваши URL-адреса любым, удобным для вас, способом — вы можете закодировать информацию в теле URL-адреса, как показано выше, или использовать URL-адрес типа <code>GET</code> (например, <code>/book/?id=6</code>). Независимо от ваших предпочтений, URL-адреса должны быть понятными, логичными и читабельными (<a href="https://www.w3.org/Provider/Style/URI">посмотрите совет W3C здесь</a>).<br> <br> - Документация Django рекомендует кодировать информацию в теле URL-адреса, на практике это приводит к лучшей стркутуре сайта.</p> + Документация Django рекомендует кодировать информацию в теле URL-адреса, на практике это приводит к лучшей структуре сайта.</p> </div> <p>Как было отмечено ранее, оставшаяся часть данной статьи описывает как сделать главную страницу сайта.</p> @@ -84,7 +84,7 @@ translation_of: Learn/Server-side/Django/Home_page <h3 id="URL-преобразование">URL-преобразование</h3> -<p>Когда мы создавали <a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">скелет сайта</a> мы обновили <strong>locallibrary/urls.py </strong>так что всякий раз, когда начинается URL-адрес наш catalog/ получен и URLConf catalog.urls подлючен для обработки оставшейся части строки.</p> +<p>Когда мы создавали <a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">скелет сайта</a> мы обновили <strong>locallibrary/urls.py </strong>так что всякий раз, когда начинается URL-адрес наш catalog/ получен и URLConf catalog.urls подключен для обработки оставшейся части строки.</p> <pre><code>urlpatterns += [ path('catalog/', include('catalog.urls')), @@ -98,7 +98,7 @@ translation_of: Learn/Server-side/Django/Home_page <strong> path('', views.index, name='index'),</strong> ]</code></pre> -<p>Эта функция <code>path()</code> определяет URL-паттерн (в данном случае это пустая строка:<code>'' - </code>мы поговорим чуть более подробно о них далее в данном руководстве) и функцию отображения, которая будет вызвана, если введенный адрес будет соответствать данному паттерну (<code>views.index</code> — это функция с именем <code>index()</code> в <strong>views.py</strong>).</p> +<p>Эта функция <code>path()</code> определяет URL-паттерн (в данном случае это пустая строка:<code>'' - </code>мы поговорим чуть более подробно о них далее в данном руководстве) и функцию отображения, которая будет вызвана, если введенный адрес будет соответствует данному паттерну (<code>views.index</code> — это функция с именем <code>index()</code> в <strong>views.py</strong>).</p> <p>Данная функция <code>path()</code>, кроме того, определяет параметр <code>name</code>, который уникально определяет <em>это </em>частное URL-преобразование. Вы можете использовать данное имя для "обратного" ("reverse") преобразования — то есть, для динамического создания URL-адреса, указывающего на ресурс, на которое указывает данное преобразование. Например, теперь, когда у нас имеется данное символическое имя, мы можем ссылаться на нашу домашнюю страницу при помощи создания следующей ссылки внутри какого-либо шаблона:</p> @@ -142,7 +142,7 @@ def index(request): context={'num_books':num_books,'num_instances':num_instances,'num_instances_available':num_instances_available,'num_authors':num_authors}, )</pre> -<p>Первая часть функции отображения получает количество записей при помощи вызова функции <code>objects.all()</code> у атрибута <code>objects</code>, доступного для всех классов моделей. Похожим образом мы получаем список объектов <code>BookInstance</code>, которые имеют статус 'a' (Доступно). Вы можете найти дополнительную инофрмацию о работе с моделями в предыдущей части руководства (<a href="/en-US/docs/Learn/Server-side/Django/Models#Searching_for_records">Руководство часть 3: Применение моделей > Поиск записей</a>).</p> +<p>Первая часть функции отображения получает количество записей при помощи вызова функции <code>objects.all()</code> у атрибута <code>objects</code>, доступного для всех классов моделей. Похожим образом мы получаем список объектов <code>BookInstance</code>, которые имеют статус 'a' (Доступно). Вы можете найти дополнительную информацию о работе с моделями в предыдущей части руководства (<a href="/en-US/docs/Learn/Server-side/Django/Models#Searching_for_records">Руководство часть 3: Применение моделей > Поиск записей</a>).</p> <p>В конце функции <code>index</code> вызывается функция <code>render()</code>, которая, в качестве ответа, создает и возвращает страницу HTML (эта функция "оборачивает" вызовы нескольких функций, тем самым существенно упрощая процесс разработки). В качестве параметров ей передаются объект <code>request</code> (типа <code>HttpRequest</code>), шаблон HTML-страницы с метками (<code>placeholders</code>), которые будут замещены данными, а также переменной <code>context</code> (словарь Python, который содержит данные, которые и будут замещать метки в шаблоне). </p> @@ -163,7 +163,7 @@ def index(request): <p>Например, базовый шаблон <strong>base_generic.html</strong> может выглядеть как показано ниже. Как вы видите, этот файл содержит некоторую "общую" структуру HTML, разделы для заголовка, панель навигации и содержимое, отмеченное тэгами шаблона <code>block</code> и <code>endblock</code> (показано жирным). Данные блоки могут быть пустыми, или иметь содержимое, которое будет использоваться "по умолчанию" всеми страницами-наследниками.</p> <div class="note"> -<p><strong>Примечание</strong>: <em>Тэги</em> шаблона подобны функциям, которые могут применяться для создания циклов по спискам, выполнять условные оперции и так далее. Кроме тэгов, язык шаблона позволяет использовать переменные (которые передаются в шаблон из отображения), а также <em>шаблонные фильтры</em>, которые переформатируют переменные (например, переводят строку в нижний регистр).</p> +<p><strong>Примечание</strong>: <em>Тэги</em> шаблона подобны функциям, которые могут применяться для создания циклов по спискам, выполнять условные операции и так далее. Кроме тэгов, язык шаблона позволяет использовать переменные (которые передаются в шаблон из отображения), а также <em>шаблонные фильтры</em>, которые переформатируют переменные (например, переводят строку в нижний регистр).</p> </div> <pre class="brush: html"><!DOCTYPE html> @@ -181,7 +181,7 @@ def index(request): <p>Когда мы определяем шаблон для конкретного отображения, то в первую очередь мы объявляем базовый шаблон (при помощи тэга <code>extends</code> — смотрите код в следующем фрагменте). Если имеются блоки в базовом шаблоне, которые мы хотим заместить, тогда в нашем текущем шаблоне мы объявляем <code>block</code>/<code>endblock</code> и указываем соответствующее имя блока. </p> -<p>Например фрагмент кода, показанный ниже, демонстрирует применение тэга <code>extends</code> и переопределяет блок с именем <code>content</code>. Окончальный код HTML будет содержать все структуры базового файла шаблона (включая содержимое по умолчанию, которое мы указали в блоке <code>title</code>) и код блока <code>content</code>, который мы разместили в текущем файле шаблона.</p> +<p>Например фрагмент кода, показанный ниже, демонстрирует применение тэга <code>extends</code> и переопределяет блок с именем <code>content</code>. Окончательный код HTML будет содержать все структуры базового файла шаблона (включая содержимое по умолчанию, которое мы указали в блоке <code>title</code>) и код блока <code>content</code>, который мы разместили в текущем файле шаблона.</p> <pre class="brush: html">{% extends "base_generic.html" %} @@ -303,7 +303,7 @@ def index(request): </pre> <div class="note"> -<p><strong>Примечание</strong>: Фрагменты выше указывают пути расположения файлов, но Django не использует их по умолчанию. В процессе разработки сервер использует значения, указанные в глобальном файле URL-преобразований (<strong>/locallibrary/locallibrary/urls.py</strong>), который мы создали в части <a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">создание скелета сайта</a>. В дальнейшем, в продакшине, вам нужно будет уточнить параметры расположения статических файлов. Мы вернемся к этому позже.</p> +<p><strong>Примечание</strong>: Фрагменты выше указывают пути расположения файлов, но Django не использует их по умолчанию. В процессе разработки сервер использует значения, указанные в глобальном файле URL-преобразований (<strong>/locallibrary/locallibrary/urls.py</strong>), который мы создали в части <a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">создание скелета сайта</a>. В дальнейшем, в продакшене, вам нужно будет уточнить параметры расположения статических файлов. Мы вернемся к этому позже.</p> </div> <p>Для получения более подробной информации о работе со статическими файлами обратитесь к документации по ссылке <a href="https://docs.djangoproject.com/en/1.10/howto/static-files/">Управление статическими файлами</a> (Django docs).</p> @@ -332,7 +332,7 @@ def index(request): <p>А теперь парочка заданий, чтобы проверить, насколько вы усвоили работу с запросами к моделям базы данных, взаимодействия с отображениями и шаблонами. </p> <ol> - <li>В главном файле шаблона (<em>base_generic.html</em>) есть блок <code>title</code>. Переопределите этот блок в индексном шаблоне (<em>index.html</em>) и задейте новый заголовок для этой страницы.</li> + <li>В главном файле шаблона (<em>base_generic.html</em>) есть блок <code>title</code>. Переопределите этот блок в индексном шаблоне (<em>index.html</em>) и задайте новый заголовок для этой страницы.</li> <li>Модифицируйте функцию отображения таким образом, чтобы получать из базы данных количество жанров и количество книг, которые содержат в своих заголовках какое-либо слово (без учета регистра), а затем передайте эти значения в шаблон.</li> </ol> diff --git a/files/ru/learn/server-side/django/index.html b/files/ru/learn/server-side/django/index.html index 7e167477b1..eca3307e36 100644 --- a/files/ru/learn/server-side/django/index.html +++ b/files/ru/learn/server-side/django/index.html @@ -15,7 +15,7 @@ translation_of: Learn/Server-side/Django <h2 id="Требования">Требования</h2> -<p>Перед началом работы с этим модулем вам не обязательно уже быть знакомым с Django. Вам бы пригодилось общее понимание того, что такое серверное веб-программирование и веб-фреймворки, почерпнутое, в идеале, из топиков другого нашего модуля <a href="./First_steps">Первые шаги серверного программирования вебсайтов</a>.</p> +<p>Перед началом работы с этим модулем вам не обязательно уже быть знакомым с Django. Вам бы пригодилось общее понимание того, что такое серверное веб-программирование и веб-фреймворки, почерпнутое, в идеале, из топиков другого нашего модуля <a href="./First_steps">Первые шаги серверного программирования веб-сайтов</a>.</p> <p>Рекомендуется базовое понимание концепций программирования и языка Python, но это не обязательно для освоения основных понятий.</p> diff --git a/files/ru/learn/server-side/django/introduction/index.html b/files/ru/learn/server-side/django/introduction/index.html index f2f6b957f7..94584856c9 100644 --- a/files/ru/learn/server-side/django/introduction/index.html +++ b/files/ru/learn/server-side/django/introduction/index.html @@ -61,7 +61,7 @@ original_slug: Learn/Server-side/Django/Введение <p>Django продолжает расти и улучшаться с момента его первого релиза (1.0) в сентябре 2008 года до недавно выпущенной версии 3.1 (2020). В каждой версии добавлены новые функциональные возможности и исправлены ошибки, начиная от поддержки новых типов баз данных, шаблонизаторов и кэширования, до добавления «общих» функций просмотра и классов (уменьшающих объём кода, который разработчики должны писать для ряда программных задач).</p> <div class="note"> -<p><strong>Заметка</strong>: Ознакомтесь с <a href="https://docs.djangoproject.com/en/3.1/releases/">примечаниями к версии</a> на сайте <span style="line-height: 1.5;">Django, чтобы увидеть что изменилось в последних версиях и как много работы было проделано, чтобы улучшить Django.</span></p> +<p><strong>Заметка</strong>: Ознакомьтесь с <a href="https://docs.djangoproject.com/en/3.1/releases/">примечаниями к версии</a> на сайте <span style="line-height: 1.5;">Django, чтобы увидеть что изменилось в последних версиях и как много работы было проделано, чтобы улучшить Django.</span></p> </div> <p>Django — это процветающий совместный проект с открытым исходным кодом, в котором заняты многие тысячи пользователей и участников. Несмотря на то, что у него всё ещё есть некоторые особенности, которые отражают его происхождение, Django превратился в универсальный фреймворк, способный разрабатывать веб-сайты любого типа.</p> @@ -76,7 +76,7 @@ original_slug: Learn/Server-side/Django/Введение <h2 id="Является_ли_Django_гибким">Является ли Django гибким?</h2> -<p>Веб-фрейморки часто можно поделить на "гибкие" и "негибкие".</p> +<p>Веб-фреймворки часто можно поделить на "гибкие" и "негибкие".</p> <p>Негибкие - это те, у которых есть "правильный путь" для решения какой-либо конкретной задачи. Они часто поддерживают быстрое развёртывание в <em>определенной области</em> (решение проблем определенного типа), потому что правильный способ сделать что-либо обычно хорошо понимается и хорошо документируется. Однако они могут быть менее гибкими при решении проблем за пределами их основной сферы и, как правило, предлагают меньше вариантов того, какие компоненты и подходы они могут использовать.</p> @@ -86,7 +86,7 @@ original_slug: Learn/Server-side/Django/Введение <h2 id="Как_выглядит_код_Django">Как выглядит код Django?</h2> -<p>На традиционном информационом веб-сайте веб-приложение ожидает HTTP-запросы от веб-браузера (или другого клиента). Когда запрос получен, приложение разрабатывает то, что необходимо на основе URL-адреса и, возможно, данных в <code>POST</code> или <code>GET</code> запросах. В зависимости от того, что требуется, далее он может читать или записывать информацию из базы данных или выполнять другие задачи, необходимые для удовлетворения запроса. Затем приложение вернёт ответ веб-браузеру, часто динамически создавая HTML-страницу для отображения в браузере, вставляя полученные данные в HTML-шаблон.</p> +<p>На традиционном информационном веб-сайте веб-приложение ожидает HTTP-запросы от веб-браузера (или другого клиента). Когда запрос получен, приложение разрабатывает то, что необходимо на основе URL-адреса и, возможно, данных в <code>POST</code> или <code>GET</code> запросах. В зависимости от того, что требуется, далее он может читать или записывать информацию из базы данных или выполнять другие задачи, необходимые для удовлетворения запроса. Затем приложение вернёт ответ веб-браузеру, часто динамически создавая HTML-страницу для отображения в браузере, вставляя полученные данные в HTML-шаблон.</p> <p>Веб-приложения, написанные на Django, обычно группируют код, который обрабатывает каждый из этих шагов, в отдельные файлы:</p> @@ -110,7 +110,7 @@ original_slug: Learn/Server-side/Django/Введение <h3 id="Отправка_запроса_в_правильное_view_urls.py">Отправка запроса в правильное view (urls.py)</h3> -<p>Сопоставитель URL-адресов обычно содержится в файле <strong>urls.py</strong>. В примере ниже сопоставитель (<code>urlpatterns</code>) определяет список сопоставлений между<em>маршрутами </em>(определёнными URL-<em>шаблонами</em>) и соотвествующими функциями отображения (view). Если получен HTTP-запрос, который имеет URL-адрес, соответствующий определённому шаблону, то затем будет вызвана связанная функция отображения (view) и передана в запрос.</p> +<p>Сопоставитель URL-адресов обычно содержится в файле <strong>urls.py</strong>. В примере ниже сопоставитель (<code>urlpatterns</code>) определяет список сопоставлений между<em>маршрутами </em>(определёнными URL-<em>шаблонами</em>) и соответствующими функциями отображения (view). Если получен HTTP-запрос, который имеет URL-адрес, соответствующий определённому шаблону, то затем будет вызвана связанная функция отображения (view) и передана в запрос.</p> <pre class="notranslate">urlpatterns = [ <strong>path('admin/', admin.site.urls), @@ -158,7 +158,7 @@ def index(request): <h3 id="Определение_данных_модели_models.py">Определение данных модели (models.py)</h3> -<p>Веб-приложения Django обрабатывают и запрашивают данные через объекты Python, называемые моделями. Модели определяют структуру хранимых данных, включая типы полей и, возможно, их максимальный размер, значения по умолчанию, параметры списка выбора, текст справки для документации, текст меток для форм и т. д. Определение модели не зависит от используемой базы данных — ваши модели будут работать в любой из них. После того как вы выбрали базу данных, которую хотите использовать, вам не нужно напрямую обращатся к ней — вы просто пишете свою структуру модели и другой код, а Django выполняет всю «грязную работу» по обращению к базе данных за вас.</p> +<p>Веб-приложения Django обрабатывают и запрашивают данные через объекты Python, называемые моделями. Модели определяют структуру хранимых данных, включая типы полей и, возможно, их максимальный размер, значения по умолчанию, параметры списка выбора, текст справки для документации, текст меток для форм и т. д. Определение модели не зависит от используемой базы данных — ваши модели будут работать в любой из них. После того как вы выбрали базу данных, которую хотите использовать, вам не нужно напрямую обращаться к ней — вы просто пишете свою структуру модели и другой код, а Django выполняет всю «грязную работу» по обращению к базе данных за вас.</p> <p>В приведённом ниже фрагменте кода показана очень простая модель Django для объекта <code>Team</code>. Класс <code>Team</code> наследуется от класса <code>models.Model</code>. Он определяет имя команды и командный уровень в качестве полей символов и задаёт максимальное количество символов, которые могут быть сохранены для каждой записи. <code>Team_level</code> может быть одним из нескольких значений, поэтому мы определяем его как поле выбора и предоставляем сопоставление между отображаемыми вариантами и хранимыми данными вместе со значением по умолчанию.</p> @@ -192,7 +192,7 @@ class Team(models.Model): <p>Модель Django предоставляет простой API запросов для поиска в базе данных. Поиск может осуществляться по нескольким полям одновременно, используя различные критерии (такие как exact («точный»), case-insensitive («без учёта регистра»), greater than («больше чем») и т. д.), и может поддерживать сложные выражения (например, вы можете указать поиск в командах U11, у которых есть имя команды, начинающееся с «Fr» или заканчивается на «al»).</p> -<p>Фрагмент кода показывает функцию view (обработчик ресурсов) для отображения всех команд U09. Выделенная жирным строка показывет, как мы можем использовать модель API-запросов для того, чтобы отфильтровать все записи, где поле <code>team_level</code> в точности содержит текст 'U09' (обратите внимание, как эти критерии передаются функции <code>filter()</code> в качестве аргумента с именем поля и типом соответствия, разделённым двойным подчеркиванием: <strong>team_level__exact</strong>). </p> +<p>Фрагмент кода показывает функцию view (обработчик ресурсов) для отображения всех команд U09. Выделенная жирным строка показывает, как мы можем использовать модель API-запросов для того, чтобы отфильтровать все записи, где поле <code>team_level</code> в точности содержит текст 'U09' (обратите внимание, как эти критерии передаются функции <code>filter()</code> в качестве аргумента с именем поля и типом соответствия, разделённым двойным подчеркиванием: <strong>team_level__exact</strong>). </p> <pre class="brush: python notranslate">## filename: views.py diff --git a/files/ru/learn/server-side/django/models/index.html b/files/ru/learn/server-side/django/models/index.html index 9ed7993e0b..b35461558d 100644 --- a/files/ru/learn/server-side/django/models/index.html +++ b/files/ru/learn/server-side/django/models/index.html @@ -116,7 +116,7 @@ class MyModelName(models.Model): <ul> <li><a href="https://docs.djangoproject.com/en/2.1/ref/models/fields/#help-text">help_text</a>: Предоставляет текстовую метку для HTML-форм (например, на сайте администратора), как описано выше.</li> - <li><a href="https://docs.djangoproject.com/en/2.1/ref/models/fields/#verbose-name">verbose_name</a>: Удобо-читаемое имя для поля, используемого в поле метки. Если не указано, Django выведет по умолчанию подробное название от имени поля.</li> + <li><a href="https://docs.djangoproject.com/en/2.1/ref/models/fields/#verbose-name">verbose_name</a>: Удобочитаемое имя для поля, используемого в поле метки. Если не указано, Django выведет по умолчанию подробное название от имени поля.</li> <li><a href="https://docs.djangoproject.com/en/2.2/ref/models/fields/#default">default</a>: Значение по умолчанию для поля. Это может быть значение или вызываемый объект, и в этом случае объект будет вызываться каждый раз, когда создается новая запись.</li> <li><a href="https://docs.djangoproject.com/en/2.2/ref/models/fields/#null">null</a>: Если True, Django будет хранить пустые значения как NULL в базе данных для полей, где это уместно (CharField вместо этого сохранит пустую строку). По умолчанию используется значение False.</li> <li><a href="https://docs.djangoproject.com/en/2.2/ref/models/fields/#blank">blank</a>: Если True, поле может быть пустым в ваших формах. По умолчанию используется значение False, что означает, что проверка формы Django заставит вас ввести значение. Это часто используется с null = True, потому что если вы хотите разрешить пустые значения, вы также хотите, чтобы база данных могла представлять их соответствующим образом.</li> @@ -152,7 +152,7 @@ class MyModelName(models.Model): ordering = ["-my_field_name"] ...</pre> -<p>Одной из наиболее полезных функций этих метаданных является управление сотрировкой записей, возвращаемых при запросе типа модели. Вы можете сделать это, указав соответствия названия полей для сортировки, как показано выше. Порядок будет зависеть от типа поля (поля символов отсортированы в алфавитном порядке, а поля даты отсортированы в хронологическом порядке). Как показано выше, вы можете префикс имени поля минус-символом (-), чтобы изменить порядок сортировки.</p> +<p>Одной из наиболее полезных функций этих метаданных является управление сортировка записей, возвращаемых при запросе типа модели. Вы можете сделать это, указав соответствия названия полей для сортировки, как показано выше. Порядок будет зависеть от типа поля (поля символов отсортированы в алфавитном порядке, а поля даты отсортированы в хронологическом порядке). Как показано выше, вы можете префикс имени поля минус-символом (-), чтобы изменить порядок сортировки.</p> <p>Например, если мы решили сортировать книги по умолчанию:</p> @@ -183,7 +183,7 @@ class MyModelName(models.Model): </pre> <div class="note"> -<p>Примечание. Предполагется, что вы будете использовать URL-адреса, например / myapplication / mymodelname / 2, для отображения отдельных записей для вашей модели (где «2» - это идентификатор для определенной записи), вам нужно будет создать URL-карту, чтобы передать ответ и идентификатор «Образцовое представление модели» (которое будет выполнять работу, необходимую для отображения записи). Вышеуказанная функция reverse () может «перевернуть» ваш URL-адрес (в приведенном выше примере с именем «model-detail-view»), чтобы создать URL-адрес правильного формата.</p> +<p>Примечание. Предполагается, что вы будете использовать URL-адреса, например / myapplication / mymodelname / 2, для отображения отдельных записей для вашей модели (где «2» - это идентификатор для определенной записи), вам нужно будет создать URL-карту, чтобы передать ответ и идентификатор «Образцовое представление модели» (которое будет выполнять работу, необходимую для отображения записи). Вышеуказанная функция reverse () может «перевернуть» ваш URL-адрес (в приведенном выше примере с именем «model-detail-view»), чтобы создать URL-адрес правильного формата.</p> <p>Конечно, для выполнения этой работы вам все равно придется писать сопоставление URL-адрес, просмотр и шаблон!</p> </div> diff --git a/files/ru/learn/server-side/django/sessions/index.html b/files/ru/learn/server-side/django/sessions/index.html index 8792653f11..82f4056cf3 100644 --- a/files/ru/learn/server-side/django/sessions/index.html +++ b/files/ru/learn/server-side/django/sessions/index.html @@ -19,7 +19,7 @@ original_slug: Learn/Server-side/Django/Сессии <div>{{PreviousMenuNext("Learn/Server-side/Django/Generic_views", "Learn/Server-side/Django/authentication_and_sessions", "Learn/Server-side/Django")}}</div> -<p class="summary">Эта часть раширяет наш сайт <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website">LocalLibrary</a>, добавляя счетчик посещений домашней страницы, реализованного при помощи сессий. Это относительно простой пример, но он демонстрирует то, как при помощи сессий реализовать анализ поведения анонимных пользователей на сайте.</p> +<p class="summary">Эта часть расширяет наш сайт <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website">LocalLibrary</a>, добавляя счетчик посещений домашней страницы, реализованного при помощи сессий. Это относительно простой пример, но он демонстрирует то, как при помощи сессий реализовать анализ поведения анонимных пользователей на сайте.</p> <table class="learn-box standard-table"> <tbody> @@ -48,7 +48,7 @@ original_slug: Learn/Server-side/Django/Сессии <p>Сессии являются механизмом, который использует Django (да и весь остальной "Интернет") для отслеживания "состояния" между сайтом и каким-либо браузером. Сессии позволяют вам хранить произвольные данные браузера и получать их в тот момент, когда между данным браузером и сайтом устанавливается соединение. Данные получаются и сохраняются в сессии при помощи соответствующего "ключа".</p> -<p>Django использует куки (cookie), которые содержат специальный <em>идентификатор сессии,</em> который выделяет среди остальных, каждый браузер и соответствующую сессию. Реальные <em>данные</em> сессии, по умолчанию, хранятся в базе данных сайта (это более безопасно, чем сохранять данные в куки, где они могут быть уязвими для злоумышленников). Однако, у вас есть возможность настроить Django так, чтобы сохранять данные сессий в других местах (кэше, файлах, "безопасных" куки). Но все же хранение по умолчанию является хорошей и безопасной возможностью.</p> +<p>Django использует куки (cookie), которые содержат специальный <em>идентификатор сессии,</em> который выделяет среди остальных, каждый браузер и соответствующую сессию. Реальные <em>данные</em> сессии, по умолчанию, хранятся в базе данных сайта (это более безопасно, чем сохранять данные в куки, где они могут быть уязвимы для злоумышленников). Однако, у вас есть возможность настроить Django так, чтобы сохранять данные сессий в других местах (кэше, файлах, "безопасных" куки). Но все же хранение по умолчанию является хорошей и безопасной возможностью.</p> <h2 id="Подключение_сессий">Подключение сессий</h2> @@ -103,7 +103,7 @@ del request.session['my_car'] # и данные будут сохранены request.session['my_car'] = 'mini'</pre> -<p>Если вы обновлете информацию <em>внутри</em> данных сессии, тогда Django не распознает эти изменения и не выполнит сохранение данных (например, если вы изменили "<code>wheels</code>" внутри переменной "<code>my_car</code>", как показано ниже). В таких случаях вам надо явно указывать, что сессия была изменена.</p> +<p>Если вы обновлять информацию <em>внутри</em> данных сессии, тогда Django не распознает эти изменения и не выполнит сохранение данных (например, если вы изменили "<code>wheels</code>" внутри переменной "<code>my_car</code>", как показано ниже). В таких случаях вам надо явно указывать, что сессия была изменена.</p> <pre class="brush: python"># Объект сессии модифицируется неявно. # Изменения НЕ БУДУТ сохранены! @@ -169,7 +169,7 @@ request.session['my_car']['wheels'] = 'alloy' <h2 id="Итоги">Итоги</h2> -<p>Вы узнали как применять сессии для улучшения взаимодейстсвие с <em>анонимными</em> пользователями. </p> +<p>Вы узнали как применять сессии для улучшения взаимодействие с <em>анонимными</em> пользователями. </p> <p>В наших следующих статьях мы рассмотрим фреймворк аутентификации и авторизации (разрешение доступа, permission), и покажем вам как поддерживать пользовательские аккаунты.</p> diff --git a/files/ru/learn/server-side/django/skeleton_website/index.html b/files/ru/learn/server-side/django/skeleton_website/index.html index 48dda2c3b8..23ce6dcf85 100644 --- a/files/ru/learn/server-side/django/skeleton_website/index.html +++ b/files/ru/learn/server-side/django/skeleton_website/index.html @@ -153,7 +153,7 @@ cd locallibrary</pre> <p>На этом шаге обычно указывают базу данных для будущего проекта — имеет смысл использовать для разработки и размещённого в Сети одну и ту же базу данных, по возможности, чтобы исключить различия в поведении. Про различные варианты вы можете прочитать в документации Django в разделе <a href="https://docs.djangoproject.com/en/1.10/ref/settings/#databases">Базы данных</a>. </p> -<p>Мы будем использовать базу данных SQLite для этого проекта, потому что не предпологаем большое количество одновременных запросов на неё, а ещё потому, что для её настройки совсем не надо ничего делать! Вы можете видеть, что база данных уже настроена в <strong>settings.py</strong> (подробная информация указана ниже):</p> +<p>Мы будем использовать базу данных SQLite для этого проекта, потому что не предполагаем большое количество одновременных запросов на неё, а ещё потому, что для её настройки совсем не надо ничего делать! Вы можете видеть, что база данных уже настроена в <strong>settings.py</strong> (подробная информация указана ниже):</p> <pre class="brush: python">DATABASES = { 'default': { @@ -246,7 +246,7 @@ urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)</ </pre> <div class="note"> -<p><strong>Заметка</strong>: Существуют различные способы дополнения списка <code>urlpatterns</code> (в примере мы просто добавляли объект, испольщуя оператор <code>+=</code> чтобы чётко разделить изначальный и дописанный код). Вместо этого, мы могли бы добавить соотношения внутрь определения переменной:</p> +<p><strong>Заметка</strong>: Существуют различные способы дополнения списка <code>urlpatterns</code> (в примере мы просто добавляли объект, используя оператор <code>+=</code> чтобы чётко разделить изначальный и дописанный код). Вместо этого, мы могли бы добавить соотношения внутрь определения переменной:</p> <pre>urlpatterns = [ path('admin/', admin.site.urls), path('catalog/', include('catalog.urls')),path('', diff --git a/files/ru/learn/server-side/django/testing/index.html b/files/ru/learn/server-side/django/testing/index.html index 699f9f0d23..164f3a78fd 100644 --- a/files/ru/learn/server-side/django/testing/index.html +++ b/files/ru/learn/server-side/django/testing/index.html @@ -53,7 +53,7 @@ translation_of: Learn/Server-side/Django/Testing <dt><strong>Регрессионное тестирование</strong></dt> <dd>Тесты которые воспроизводят исторические ошибки (баги). Каждый тест вначале запускается для проверки того, что баг был исправлен, а затем перезапускается для того, чтобы убедиться, что он не был внесен снова с появлением новых изменений в коде.</dd> <dt>Интеграционные тесты</dt> - <dd>Проверка совместной работы групп компонентов. Данные тесты отвечают за совместную работу между компонентами, не обращяя внимания на внутренние процессы в компонентах. Они проводятся как для простых групп компонентов, так и для целых веб-сайтов.</dd> + <dd>Проверка совместной работы групп компонентов. Данные тесты отвечают за совместную работу между компонентами, не обращая внимания на внутренние процессы в компонентах. Они проводятся как для простых групп компонентов, так и для целых веб-сайтов.</dd> </dl> <div class="note"> @@ -64,7 +64,7 @@ translation_of: Learn/Server-side/Django/Testing <p>Тестирование сайта это сложная задача, потому что она состоит их нескольких логических слоев – от HTTP-запроса и запроса к моделям, до валидации формы и их обработки, а кроме того, рендеринга шаблонов страниц.</p> -<p>Django предоставляет фреймворк для создания тестов, построенного на основе иерархии классов, которые, в свою очередь, зависят от стандартной библиотеки Python <code><a href="https://docs.python.org/3/library/unittest.html#module-unittest" title="(in Python v3.5)">unittest</a></code>. Несмотря на название, данный фреймворк подходит и для юнит-, и для интеграционного тестирования. Фреймворк Django добавляет методы API и инструменты, которые помогают тестировать как веб так и, специфическое для Django, поведение. Это позволяет вам имитировать URL-запросы, добавление тестовых данных, а также проводить проверку выходных данных ваших приложений. Кроме того, Django предоставляет API (<a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#liveservertestcase">LiveServerTestCase</a>) и инструменты <a href="https://docs.djangoproject.com/en/1.10/topics/testing/advanced/#other-testing-frameworks">для применения различных фреймфорков тестирования</a>, например вы можете подключить популярный фреймворк <a href="/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment">Selenium</a> для имитации поведения пользователя в реальном браузере.</p> +<p>Django предоставляет фреймворк для создания тестов, построенного на основе иерархии классов, которые, в свою очередь, зависят от стандартной библиотеки Python <code><a href="https://docs.python.org/3/library/unittest.html#module-unittest" title="(in Python v3.5)">unittest</a></code>. Несмотря на название, данный фреймворк подходит и для юнит-, и для интеграционного тестирования. Фреймворк Django добавляет методы API и инструменты, которые помогают тестировать как веб так и, специфическое для Django, поведение. Это позволяет вам имитировать URL-запросы, добавление тестовых данных, а также проводить проверку выходных данных ваших приложений. Кроме того, Django предоставляет API (<a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#liveservertestcase">LiveServerTestCase</a>) и инструменты <a href="https://docs.djangoproject.com/en/1.10/topics/testing/advanced/#other-testing-frameworks">для применения различных фреймворков тестирования</a>, например вы можете подключить популярный фреймворк <a href="/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment">Selenium</a> для имитации поведения пользователя в реальном браузере.</p> <p>Для написания теста вы должны наследоваться от любого из классов тестирования Django (или <em>юниттеста</em>) (<a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#simpletestcase">SimpleTestCase</a>, <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#transactiontestcase">TransactionTestCase</a>, <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">TestCase</a>, <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#liveservertestcase">LiveServerTestCase</a>), а затем реализовать отдельные методы проверки кода (тесты это функции-"утверждения", которые проверяют, что результатом выражения являются значения <code>True</code> или <code>False</code>, или что два значения равны и так далее). Когда вы запускаете тест, фреймворк выполняет соответствующие тестовые методы в вашем классе-наследнике. Методы тестирования запускаются независимо друг от друга, начиная с метода настроек и/или завершаясь методом разрушения (tear-down), определенном в классе, как показано ниже.</p> @@ -85,10 +85,10 @@ translation_of: Learn/Server-side/Django/Testing self.assertTrue(False) </pre> -<p>Самый подходящий базовый класс для большинства тестов это <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">django.test.TestCase</a>. Этот класс создает чистую базу данных перед запуском своих методов, а также запускает каждую функцию тестирования в его собственной транзакции. У данного класса также имеется тестовый <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#django.test.Client" title="django.test.Client">Клиент</a>, который вы можете использовать для имитации взаимодействия пользователя с кодом на уровне отображения. В следующих разделах мы сконцентритуемся на юнит-тестах, которые будут созданы на основе класса <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">TestCase</a>.</p> +<p>Самый подходящий базовый класс для большинства тестов это <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">django.test.TestCase</a>. Этот класс создает чистую базу данных перед запуском своих методов, а также запускает каждую функцию тестирования в его собственной транзакции. У данного класса также имеется тестовый <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#django.test.Client" title="django.test.Client">Клиент</a>, который вы можете использовать для имитации взаимодействия пользователя с кодом на уровне отображения. В следующих разделах мы сконцентрируемся на юнит-тестах, которые будут созданы на основе класса <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">TestCase</a>.</p> <div class="note"> -<p><strong>Примечание:</strong> Класс <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">django.test.TestCase</a> очень удобен, но он может приводить к замедленной работе в некоторых случаях (не для каждого теста необходимо настраивать базу данных, или имитировать взаимодействие с отображеним). Когда вы познакомитесь с работой данного класса, то сможете заменить некоторые из ваших тестов на более простые классы тестирования.</p> +<p><strong>Примечание:</strong> Класс <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#testcase">django.test.TestCase</a> очень удобен, но он может приводить к замедленной работе в некоторых случаях (не для каждого теста необходимо настраивать базу данных, или имитировать взаимодействие с отображением). Когда вы познакомитесь с работой данного класса, то сможете заменить некоторые из ваших тестов на более простые классы тестирования.</p> </div> <h3 id="Что_вы_должны_тестировать">Что вы должны тестировать?</h3> @@ -119,7 +119,7 @@ translation_of: Learn/Server-side/Django/Testing <p>Ну что же, усвоив данную информацию, давайте перейдем к процессу определения и запуска тестов.</p> -<h2 id="Обзор_стуктуры_тестов">Обзор стуктуры тестов</h2> +<h2 id="Обзор_структуры_тестов">Обзор структуры тестов</h2> <p>Перед тем как мы перейдем к тому "что тестировать", давайте кратко взглянем на моменты <em>где</em> и <em>как</em> определяются тесты.</p> @@ -259,7 +259,7 @@ python3 manage.py test catalog.tests.test_models.YourTestClass.test_one_plus_one <h2 id="Тестирование_LocalLibrary">Тестирование LocalLibrary</h2> -<p>Теперь, когда мы знаем как запустить наши тесты и что именно мы должны тестировать, давайте рассмртрим некоторые практические примеры.</p> +<p>Теперь, когда мы знаем как запустить наши тесты и что именно мы должны тестировать, давайте рассмотрим некоторые практические примеры.</p> <div class="note"> <p><strong>Примечание: </strong>Мы не будем расписывать все тесты, а просто покажем вам пример того, как они должны работать и что еще вы можете с ними сделать.</p> @@ -408,7 +408,7 @@ AssertionError: 'Died' != 'died' # Всегда надо возвращать очищенные данные. return data</pre> -<p>Откройте файл <strong>/catalog/tests/test_forms.py</strong> и замените весь существующий в нем код, следующим кодом теста для формы <code>RenewBookForm</code>. Мы начали его с импорта нашей формы и некоторых библиотек Python и Django, которые погут нам провести тесты. Затем, тем же способом как мы делали для моделей, объявляем тестовый класс нашей формы, то есть применяя описательное имя класс наследника <code>TestCase</code>.</p> +<p>Откройте файл <strong>/catalog/tests/test_forms.py</strong> и замените весь существующий в нем код, следующим кодом теста для формы <code>RenewBookForm</code>. Мы начали его с импорта нашей формы и некоторых библиотек Python и Django, которые помогут нам провести тесты. Затем, тем же способом как мы делали для моделей, объявляем тестовый класс нашей формы, то есть применяя описательное имя класс наследника <code>TestCase</code>.</p> <pre class="brush: python">from django.test import TestCase @@ -467,7 +467,7 @@ class RenewBookFormTest(TestCase): <h3 id="Отображения">Отображения</h3> -<p>Для проверки поведения отображения мы используем тестовый клиет Django <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#django.test.Client">Client</a>. Данный класс действует как упрощенный веб-браузер который мы применяем для имитации <code>GET</code> и <code>POST</code> запросов и проверки ответов. Про ответы мы можем узнать почти все, начиная с низкоуровневого HTTP (итоговые заголовки и коды статусов) и вплоть до применяемых шаблонов, которые используются для HTML-рендера, а также контекста, который передается в соответствующий шаблон. Кроме того, мы можем отследить последовательность перенаправлений (если имеются), проверить URL-адреса и коды статусов на каждом шаге. Все это позволит нам проверить, что каждое отображение выполняет то, что ожидается.</p> +<p>Для проверки поведения отображения мы используем тестовый клиент Django <a href="https://docs.djangoproject.com/en/1.10/topics/testing/tools/#django.test.Client">Client</a>. Данный класс действует как упрощенный веб-браузер который мы применяем для имитации <code>GET</code> и <code>POST</code> запросов и проверки ответов. Про ответы мы можем узнать почти все, начиная с низкоуровневого HTTP (итоговые заголовки и коды статусов) и вплоть до применяемых шаблонов, которые используются для HTML-рендера, а также контекста, который передается в соответствующий шаблон. Кроме того, мы можем отследить последовательность перенаправлений (если имеются), проверить URL-адреса и коды статусов на каждом шаге. Все это позволит нам проверить, что каждое отображение выполняет то, что ожидается.</p> <p>Давайте начнем с одного из простейших отображений которое возвращает список всех авторов. Вы можете его увидеть по URL-адресу <strong>/catalog/authors/</strong> (данный URL-адрес можно найти в разделе приложения catalog, в файле настроек urls.py по имени 'authors').</p> @@ -537,7 +537,7 @@ resp = self.client.get(reverse('authors')) <h4 id="Отображения_и_регистрация_пользователей">Отображения и регистрация пользователей</h4> -<p>В некоторых случаях вам нужно провести тесты отображений к которым имеют доступ только зарегистрированные пользователи. Например, <code>LoanedBooksByUserListView</code> очень похоже на наше предыдущее отображение, но доступно только для залогинившихся пользователей и показывает только те записи (<code>BookInstance)</code>, которые соответствуют текущему пользователю, имеют статус 'on loan' (книга взята домой), а также забронированны.</p> +<p>В некоторых случаях вам нужно провести тесты отображений к которым имеют доступ только зарегистрированные пользователи. Например, <code>LoanedBooksByUserListView</code> очень похоже на наше предыдущее отображение, но доступно только для залогинившихся пользователей и показывает только те записи (<code>BookInstance)</code>, которые соответствуют текущему пользователю, имеют статус 'on loan' (книга взята домой), а также забронированы.</p> <pre class="brush: python">from django.contrib.auth.mixins import LoginRequiredMixin @@ -611,7 +611,7 @@ class LoanedBookInstancesByUserListViewTest(TestCase): self.assertTemplateUsed(resp, 'catalog/bookinstance_list_borrowed_user.html') </pre> -<p>Если пользователь не залогирован то, чтобы убедиться в том что отображение перейдет на страницу входа (логирования), мы используем метод <code>assertRedirects</code>, что продемонстрировано в методе <code>test_redirect_if_not_logged_in()</code>. Затем мы осуществляем вход для пользователя и проверям что полученный статус <code>status_code</code> равен 200 (успешно). </p> +<p>Если пользователь не залогирован то, чтобы убедиться в том что отображение перейдет на страницу входа (логирования), мы используем метод <code>assertRedirects</code>, что продемонстрировано в методе <code>test_redirect_if_not_logged_in()</code>. Затем мы осуществляем вход для пользователя и проверяем что полученный статус <code>status_code</code> равен 200 (успешно). </p> <p>Остальные тесты проверяют, соответственно, что наше отображение показывает только те книги которые взяты текущим пользователем. Скопируйте код, показанный ниже, в нижнюю часть предыдущего класса.</p> @@ -715,7 +715,7 @@ def renew_book_librarian(request, pk): <p>Нам надо проверить что к данному отображению имеют доступ только те пользователи, которые имеют разрешение типа <code>can_mark_returned</code>, а кроме того, что пользователи перенаправляются на страницу ошибки HTTP 404 если они пытаются обновить экземпляр книги <code>BookInstance</code>, который не существует. Мы должны проверить что начальное значение формы соответствует дате через 3 недели в будущем, а также то, что если форма прошла валидацию, то мы переходим на страницу отображения книг "all-borrowed" (забронированных). Для тестов, отвечающих за проверку "провалов", мы также должны удостовериться что они отправляют соответствующие сообщения об ошибках.</p> -<p>В нижнюю часть файла <strong>/catalog/tests/test_views.py</strong> добавьте класс тестрования (показан во фрагменте, ниже). Он создает двух пользователей и два экземпляра книги, но только один пользователь получает необходимый доступ к соответствующему отображению. Код, который "присваивает" соответствующий доступ, выделен в коде жирным:</p> +<p>В нижнюю часть файла <strong>/catalog/tests/test_views.py</strong> добавьте класс тестирования (показан во фрагменте, ниже). Он создает двух пользователей и два экземпляра книги, но только один пользователь получает необходимый доступ к соответствующему отображению. Код, который "присваивает" соответствующий доступ, выделен в коде жирным:</p> <pre class="brush: python">from django.contrib.auth.models import Permission # Required to grant the permission needed to set a book as returned. @@ -750,7 +750,7 @@ class RenewBookInstancesViewTest(TestCase): return_date= datetime.date.today() + datetime.timedelta(days=5) self.test_bookinstance2=BookInstance.objects.create(book=test_book,imprint='Unlikely Imprint, 2016', due_back=return_date, borrower=test_user2, status='o')</pre> -<p>В нижнюю часть класса тестирования добавьте следующие методы (из следующего фрагмента). Они проверяют, что только пользователь с соответствущим доступом (<em>testuser2</em>) имеет доступ к отображению. Мы проверяем все случаи: когда пользователь не залогинился, когда залогинился, но не имеет соответствующего доступа, когда имеет доступ, но не является заемщиком книги (тест должен быть успешным), а также, что произойдет если попытаться получить доступ к книге <code>BookInstance</code> которой не существует. Кроме того, мы проверям то, что используется правильный (необходимый) шаблон.</p> +<p>В нижнюю часть класса тестирования добавьте следующие методы (из следующего фрагмента). Они проверяют, что только пользователь с соответствующим доступом (<em>testuser2</em>) имеет доступ к отображению. Мы проверяем все случаи: когда пользователь не залогинился, когда залогинился, но не имеет соответствующего доступа, когда имеет доступ, но не является заемщиком книги (тест должен быть успешным), а также, что произойдет если попытаться получить доступ к книге <code>BookInstance</code> которой не существует. Кроме того, мы проверяем то, что используется правильный (необходимый) шаблон.</p> <pre class="brush: python"> def test_redirect_if_not_logged_in(self): resp = self.client.get(reverse('renew-book-librarian', kwargs={'pk':self.test_bookinstance1.pk,}) ) @@ -817,7 +817,7 @@ class RenewBookInstancesViewTest(TestCase): </pre> <div class="warning"> -<p>Вместо перехода к отображению <em>all-borrowed</em>, добавленого в качестве <em>домашнего задания</em>, вы можете перенаправить пользователя на домашнюю страницу '/'. В таком случае, исправьте две последние строки тестового кода на код, показанный ниже. Присваивание <code>follow=True</code>, в запросе, гарантирует что запрос вернет окончательный URL-адрес пункта назначения (следовательно проверяется <code>/catalog/</code>, а не <code>/</code>).</p> +<p>Вместо перехода к отображению <em>all-borrowed</em>, добавленного в качестве <em>домашнего задания</em>, вы можете перенаправить пользователя на домашнюю страницу '/'. В таком случае, исправьте две последние строки тестового кода на код, показанный ниже. Присваивание <code>follow=True</code>, в запросе, гарантирует что запрос вернет окончательный URL-адрес пункта назначения (следовательно проверяется <code>/catalog/</code>, а не <code>/</code>).</p> <pre class="brush: python"> resp = self.client.post(reverse('renew-book-librarian', kwargs={'pk':self.test_bookinstance1.pk,}), {'renewal_date':valid_date_in_future},<strong>follow=True</strong> ) <strong>self.assertRedirects(resp, '/catalog/')</strong></pre> @@ -840,7 +840,7 @@ class RenewBookInstancesViewTest(TestCase): <strong>self.assertFormError(resp, 'form', 'renewal_date', 'Invalid date - renewal more than 4 weeks ahead')</strong> </pre> -<p>Такие же способы тестрования могут применяться для проверок других отображений.</p> +<p>Такие же способы тестирования могут применяться для проверок других отображений.</p> <h3 id="Шаблоны">Шаблоны</h3> diff --git a/files/ru/learn/server-side/django/tutorial_local_library_website/index.html b/files/ru/learn/server-side/django/tutorial_local_library_website/index.html index 36ad7aa9cb..01b8cffe05 100644 --- a/files/ru/learn/server-side/django/tutorial_local_library_website/index.html +++ b/files/ru/learn/server-side/django/tutorial_local_library_website/index.html @@ -52,7 +52,7 @@ translation_of: Learn/Server-side/Django/Tutorial_local_library_website <p><em>Это </em>название сайта, который мы создадим и будем улучшать, в течение этого цикла статей. Как можно догадаться, цель этого сайта в том, чтобы представить небольшой онлайн каталог маленькой местной библиотеки, где пользователи смогут загружать доступные книги и управлять своими профилями.</p> -<p>Этот пример был выбран потому, что его можно масштабировать, чтобы рассказать настолько детально или поверхностно, насколько это требуется, о почти любой оссобенности Django. Что более важно, этот пример позволяет показать <em>последовательный</em> путь по самым важным функциям фреймворка Django:</p> +<p>Этот пример был выбран потому, что его можно масштабировать, чтобы рассказать настолько детально или поверхностно, насколько это требуется, о почти любой особенности Django. Что более важно, этот пример позволяет показать <em>последовательный</em> путь по самым важным функциям фреймворка Django:</p> <ul> <li>В самом начале, мы создадим библиотеку, в которой пользователи смогут только просматривать доступные книги. Это позволит нам исследовать операции, которые присутствуют почти на каждом сайте: чтение и отображение информации из базы данных.</li> diff --git a/files/ru/learn/server-side/django/web_application_security/index.html b/files/ru/learn/server-side/django/web_application_security/index.html index 84448f9eb3..f88147798a 100644 --- a/files/ru/learn/server-side/django/web_application_security/index.html +++ b/files/ru/learn/server-side/django/web_application_security/index.html @@ -62,7 +62,7 @@ translation_of: Learn/Server-side/Django/web_application_security <pre class="brush: html"><h1>Author: Boon&lt;script&gt;alert(&#39;Test alert&#39;);&lt;/script&gt;, David (Boonie) </h1> </pre> -<p>Использование шаблонов Django защищает вас от большинтсва XSS атак. Однако существует возможность отключения данной защиты, при котором экранирование не будет автоматически применятся ко всем полям, которые не должны будут заполнятся пользователем(к примеру, поле <code>help_text</code> обычно заполняется не пользователем, поэтому Django не будет экранировать его значение).</p> +<p>Использование шаблонов Django защищает вас от большинства XSS атак. Однако существует возможность отключения данной защиты, при котором экранирование не будет автоматически применятся ко всем полям, которые не должны будут заполнятся пользователем(к примеру, поле <code>help_text</code> обычно заполняется не пользователем, поэтому Django не будет экранировать его значение).</p> <p>Так же XSS атаки могут быть осуществлены через другие ненадежные источники данных, такие как cookies, сторонние сервисы или загруженные файлы (и прочие источники, данные которых не были специально обработаны перед отображением на странице). Если вы отображаете данные из этих источников, вы должны добавить ваш собственный обработчик для "санитаризации" данных.</p> @@ -74,7 +74,7 @@ translation_of: Learn/Server-side/Django/web_application_security <p><strong>Примечание:</strong> Очевидно, что наш хакер делает это не ради денег! Более амбициозные хакеры могут использовать описываемый подход для выполнения более опасных задач (например, переводы денег пользователей на их личные счета и т.д).</p> </div> -<p>Для того, чтобы сделать это, хакер может создать HTML файл, подобный продемонстрированному ниже, который будет содержать форму создания автора (похожую на ту, что мы разрабатывали в предыдущих частях руководства), которая будет отправлена как только данный файл будет загружен в браузер. Хакер отправит данный файл всем Библиотекарям и будет ждать пока кто-либо из них откроет файл (он содержит только безобидную информацию, честно!). Если файл будет открыт любым залогиненным пользователм, с правами Библиотекаря - тогда форма будет отправлена от его имени и создаст нового пользователя.</p> +<p>Для того, чтобы сделать это, хакер может создать HTML файл, подобный продемонстрированному ниже, который будет содержать форму создания автора (похожую на ту, что мы разрабатывали в предыдущих частях руководства), которая будет отправлена как только данный файл будет загружен в браузер. Хакер отправит данный файл всем Библиотекарям и будет ждать пока кто-либо из них откроет файл (он содержит только безобидную информацию, честно!). Если файл будет открыт любым залогиненным пользователем, с правами Библиотекаря - тогда форма будет отправлена от его имени и создаст нового пользователя.</p> <pre class="brush: html"><html> <body onload='document.EvilForm.submit()'> @@ -116,7 +116,7 @@ translation_of: Learn/Server-side/Django/web_application_security <dt><span class="ILfuVd yZ8quc">Защита от Кликджекинга</span></dt> <dd>В данном виде атак атакующий перехватывает ввод на видимом слое страницы и перенаправляет их на скрытый слой под ним. Этот метод может быть использован к примеру для отображения официального сайта банка, с перехватом данных для входа в невидимом <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe" title="The HTML Inline Frame Element (<iframe>) represents a nested browsing context, effectively embedding another HTML page into the current page. In HTML 4.01, a document may contain a head and a body or a head and a frameset, but not both a body and a frameset. However, an <iframe> can be used within a normal document body. Each browsing context has its own session history and active document. The browsing context that contains the embedded content is called the parent browsing context. The top-level browsing context (which has no parent) is typically the browser window."><code><iframe></code></a>, который контролирует атакующий. Django содержит <a href="https://docs.djangoproject.com/en/2.0/ref/clickjacking/#clickjacking-prevention">защиту от кликджекинга</a> в виде <code><a href="https://docs.djangoproject.com/en/2.0/ref/middleware/#django.middleware.clickjacking.XFrameOptionsMiddleware" title="django.middleware.clickjacking.XFrameOptionsMiddleware">промежуточного програмного обеспечения (middleware) X-Frame-Options</a>,</code> который поддерживается браузерами и может запретить отображение страницы внутри <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe" title="The HTML Inline Frame Element (<iframe>) represents a nested browsing context, effectively embedding another HTML page into the current page. In HTML 4.01, a document may contain a head and a body or a head and a frameset, but not both a body and a frameset. However, an <iframe> can be used within a normal document body. Each browsing context has its own session history and active document. The browsing context that contains the embedded content is called the parent browsing context. The top-level browsing context (which has no parent) is typically the browser window."><code><iframe></code></a>.</dd> <dt>SSL/HTTPS</dt> - <dd>SSL/HTTPS может быть использован на веб-сервере для шифрования всего трафика между сервером и пользователем, включая данные входа, которые иначе будут отправлятся как обычный текст (который сможет прочитать любой перехвативший запрос человек). Использование HTTPS высоко рекомендовано. Если используется HTTPS, Django позволяет использовать следующие методы защиты:</dd> + <dd>SSL/HTTPS может быть использован на веб-сервере для шифрования всего трафика между сервером и пользователем, включая данные входа, которые иначе будут отправляться как обычный текст (который сможет прочитать любой перехвативший запрос человек). Использование HTTPS высоко рекомендовано. Если используется HTTPS, Django позволяет использовать следующие методы защиты:</dd> </dl> <ul> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/author_list_page/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/author_list_page/index.html index 2e1edbc625..30248ab32d 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/author_list_page/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/author_list_page/index.html @@ -48,12 +48,12 @@ block content <h2 class="highlight-spanned" id="Как_это_выглядит"><span class="highlight-span">Как это выглядит?</span></h2> -<p>Запустите приложение и откройте браузер с адресом <a class="external external-icon" href="http://localhost:3000/" rel="noopener">http://localhost:3000/</a>. Выберите ссылку <em>All authors</em>. Если все было сделано правильно, страница должна выглядеть примерно нак, как на следующем скриншоте.</p> +<p>Запустите приложение и откройте браузер с адресом <a class="external external-icon" href="http://localhost:3000/" rel="noopener">http://localhost:3000/</a>. Выберите ссылку <em>All authors</em>. Если все было сделано правильно, страница должна выглядеть примерно так, как на следующем скриншоте.</p> <p><img alt="Author List Page - Express Local Library site" src="https://mdn.mozillademos.org/files/14468/LocalLibary_Express_Author_List.png" style="display: block; height: 453px; margin: 0px auto; width: 1200px;"></p> <div class="note"> -<p><strong>Заметка:</strong> Представление дат продолжительности жизни автора выгядит безобразно! Это можно исправить, если использовать <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data#date_formatting">тот же подход</a> , который применялся для списка <code>BookInstance</code> (добавить в модель <code>Author</code> виртуальное свойство продолжительности жизни). Но в этот раз, однако, некоторые даты могут отсутствовать, и ссылки на несуществующие свойства игнорируются, если не задан строгий режим. Метод <code>moment()</code> возврашает текущее время, и нежелательно, чтобы отсутствующие даты форматировались как "сегодня". Один из способов состоит в том, чтобы форматирующая функция возвращала пустую строку, если дата не существует. Например:</p> +<p><strong>Заметка:</strong> Представление дат продолжительности жизни автора выглядит безобразно! Это можно исправить, если использовать <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data#date_formatting">тот же подход</a> , который применялся для списка <code>BookInstance</code> (добавить в модель <code>Author</code> виртуальное свойство продолжительности жизни). Но в этот раз, однако, некоторые даты могут отсутствовать, и ссылки на несуществующие свойства игнорируются, если не задан строгий режим. Метод <code>moment()</code> возвращает текущее время, и нежелательно, чтобы отсутствующие даты форматировались как "сегодня". Один из способов состоит в том, чтобы форматирующая функция возвращала пустую строку, если дата не существует. Например:</p> <p><code>return this.date_of_birth ? moment(this.date_of_birth).format('YYYY-MM-DD') : '';</code></p> </div> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/bookinstance_list_page/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/bookinstance_list_page/index.html index 512e78d040..f098d493c0 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/bookinstance_list_page/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/bookinstance_list_page/index.html @@ -3,11 +3,11 @@ title: Список экземпляров книг slug: Learn/Server-side/Express_Nodejs/Displaying_data/BookInstance_list_page translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/BookInstance_list_page --- -<p>Далее мы реализуем список всех имеющихся в библиотеке копий книги (<code>BookInstance</code>) . Эта страница должна включать название книги из <code>Book</code>, с которой связаны экземпляры <code>BookInstance</code> (linked to its detail page), а такжде дополнительнцю информацию, имеющуюся в модели <code>BookInstance</code>, включая статус, издание, и уникальный идентификатор каждой копии. Уникальное значение идентификатора копии должно быть связано со страницей детальной информации <code>BookInstance</code>.</p> +<p>Далее мы реализуем список всех имеющихся в библиотеке копий книги (<code>BookInstance</code>) . Эта страница должна включать название книги из <code>Book</code>, с которой связаны экземпляры <code>BookInstance</code> (linked to its detail page), а также дополнительную информацию, имеющуюся в модели <code>BookInstance</code>, включая статус, издание, и уникальный идентификатор каждой копии. Уникальное значение идентификатора копии должно быть связано со страницей детальной информации <code>BookInstance</code>.</p> <h2 class="highlight-spanned" id="Контроллер"><span class="highlight-span">Контроллер</span></h2> -<p>Функция контроллера списка <code>BookInstance</code> требуется для получения списка всех экземпляров некоторой книги, для получения информации, связанной с книгой, и для передачиполученного списка в шаблог для отображения.</p> +<p>Функция контроллера списка <code>BookInstance</code> требуется для получения списка всех экземпляров некоторой книги, для получения информации, связанной с книгой, и для передачи полученного списка в шаблон для отображения.</p> <p>Откройте файл <strong>/controllers/bookinstanceController.js</strong>. Найдите экспортируемый метод <code>bookinstance_list()</code> контроллера и замените его следующим кодом (измененный код выделен жирным).</p> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/date_formatting_using_moment/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/date_formatting_using_moment/index.html index 58f297ce95..2180be7c4b 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/date_formatting_using_moment/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/date_formatting_using_moment/index.html @@ -3,9 +3,9 @@ title: Форматирование даты при помощи moment slug: Learn/Server-side/Express_Nodejs/Displaying_data/Date_formatting_using_moment translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/Date_formatting_using_moment --- -<p>По умолчанию отображение дат наших моделей некрасиво: <em>Tue Dec 06 2016 15:49:58 GMT+1100 (AUS Eastern Daylight Time)</em>. В этом разделе мы покажем, как можно обновить страницу списка <em>BookInstance List </em>из предыдущего раздела, чтобы представитьполе <code>due_date</code> в более удобном формате: December 6th, 2016. </p> +<p>По умолчанию отображение дат наших моделей некрасиво: <em>Tue Dec 06 2016 15:49:58 GMT+1100 (AUS Eastern Daylight Time)</em>. В этом разделе мы покажем, как можно обновить страницу списка <em>BookInstance List </em>из предыдущего раздела, чтобы представить поле <code>due_date</code> в более удобном формате: December 6th, 2016. </p> -<p>Подход, который будет использован, состоит в создании виртуального свойства в модели <code>BookInstance</code>, которое будет возращать отформатированную дату. Форматирование будет производиться с использованием <a class="external external-icon" href="https://www.npmjs.com/package/moment" rel="noopener">moment</a>, легковесной библиотеки JavaScript для разбора, проверки, изменения и форматирования дат.</p> +<p>Подход, который будет использован, состоит в создании виртуального свойства в модели <code>BookInstance</code>, которое будет возвращать отформатированную дату. Форматирование будет производиться с использованием <a class="external external-icon" href="https://www.npmjs.com/package/moment" rel="noopener">moment</a>, легковесной библиотеки JavaScript для разбора, проверки, изменения и форматирования дат.</p> <div class="note"> <p><strong>Заметка:</strong> Можно применять <em>moment</em> для форматирования непосредственно в шаблонах Pug, а можно отформатировать строку в других местах. Использование виртуального свойства позволяет получить дату, отформатированную точно так же, как при помощи <code>due_date</code>. </p> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/flow_control_using_async/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/flow_control_using_async/index.html index 32100db740..6fbd06bc3a 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/flow_control_using_async/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/flow_control_using_async/index.html @@ -9,13 +9,13 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_us <p>Код контроллера для некоторых страниц библиотеки будет зависеть от результатов многих асинхронных запросов, которые должны выполняться в определенном порядке или параллельно. Для того, чтобы управлять потоком выполнения, и выводить страницы, когда получена вся необходимая информация, будет использован <a class="external external-icon" href="https://www.npmjs.com/package/async" rel="noopener">async</a> - известный модуль node.</p> <div class="note"> -<p><strong>Note:</strong> В JavaScript существует много других способов управления аснхронным поведением и потоком выполнения, включая такой относительно новый элемент языка JacaScript как <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Techniques/Promises">Promises</a> (обещания, промисы).</p> +<p><strong>Note:</strong> В JavaScript существует много других способов управления асинхронным поведением и потоком выполнения, включая такой относительно новый элемент языка JacaScript как <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Techniques/Promises">Promises</a> (обещания, промисы).</p> </div> -<p>Модуль Async имеет массу полезных методов (см. документациюt <a class="external external-icon" href="http://caolan.github.io/async/docs.html" rel="noopener">the documentation</a>). Вот некоторые наиболее важные функции:</p> +<p>Модуль Async имеет массу полезных методов (см. документацию <a class="external external-icon" href="http://caolan.github.io/async/docs.html" rel="noopener">the documentation</a>). Вот некоторые наиболее важные функции:</p> <ul> - <li><code><a class="external external-icon" href="http://caolan.github.io/async/docs.html#parallel" rel="noopener">async.parallel()</a></code> для осуществеления любых операций, которые должны выполняться параллельно.</li> + <li><code><a class="external external-icon" href="http://caolan.github.io/async/docs.html#parallel" rel="noopener">async.parallel()</a></code> для осуществления любых операций, которые должны выполняться параллельно.</li> <li><code><a class="external external-icon" href="http://caolan.github.io/async/docs.html#series" rel="noopener">async.series()</a></code> если нужно иметь уверенность, что асинхронные операции выполняются последовательно.</li> <li><code><a class="external external-icon" href="http://caolan.github.io/async/docs.html#waterfall" rel="noopener">async.waterfall()</a></code> для операций, которые должны выполняться последовательно, причем каждая операция зависит от результатов предыдущих операций.</li> </ul> @@ -24,7 +24,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_us <p>Большинство методов, которые используются в <em>Express</em> - <span class="highlight-span">асинхронные - вы определяете выполняемую операцию, передавая </span> callback-функцию. Метод завершается немедленно, а callback-функция вызывается тогда, когда завершилась запрошенная операция. По соглашению, принятому в <em>Express</em>, callback-функция передает значение ошибки <em>error</em> как первый параметр (или <code>null</code> при успехе) и результат функции (если есть) как второй параметр.</p> -<p>Если контроллер должен выполнить только одну асинхронную операцию, чтобы получить информацию для представления страницы, то реализация проста - мы просто представляем шаблон в колбэке. Фрагмент кода (ниже) демонстрирует это для функции, которая подсчитывает количество элементов модкли <code>SomeModel</code> (применяя метод Mongoose <code><a class="external external-icon" href="http://mongoosejs.com/docs/api.html#model_Model.count" rel="noopener">count()</a></code> ):</p> +<p>Если контроллер должен выполнить только одну асинхронную операцию, чтобы получить информацию для представления страницы, то реализация проста - мы просто представляем шаблон в колбэке. Фрагмент кода (ниже) демонстрирует это для функции, которая подсчитывает количество элементов модели <code>SomeModel</code> (применяя метод Mongoose <code><a class="external external-icon" href="http://mongoosejs.com/docs/api.html#model_Model.count" rel="noopener">count()</a></code> ):</p> <pre class="brush: js"><code>exports.some_model_count = function(req, res, next) { @@ -37,7 +37,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_us <code>}</code> </pre> -<p>Однако что, если требуется сделать <strong>множественные</strong> асинхронные запросы, и результат нельзя представить, пока не завершились все операции? Наивная реализация могла бы использовать "венок" запросов, запуская последующие запросы в колбэках предыдущих, и представляя ответ в последнем колбэке. Проблема такого подхода состоит в том, что запросы должны вапольняться последовательно, хотя, вероятно, было бы более эффективно выполнять их параллельно. Это также может привести к усложненному вложенному коду, что обычно называют адом обратных вызовов ( <a class="external external-icon" href="http://callbackhell.com/" rel="noopener">callback hell</a> ).</p> +<p>Однако что, если требуется сделать <strong>множественные</strong> асинхронные запросы, и результат нельзя представить, пока не завершились все операции? Наивная реализация могла бы использовать "венок" запросов, запуская последующие запросы в колбэках предыдущих, и представляя ответ в последнем колбэке. Проблема такого подхода состоит в том, что запросы должны выполняться последовательно, хотя, вероятно, было бы более эффективно выполнять их параллельно. Это также может привести к усложненному вложенному коду, что обычно называют адом обратных вызовов ( <a class="external external-icon" href="http://callbackhell.com/" rel="noopener">callback hell</a> ).</p> <p>Намного лучше было бы выполнять все запросы параллельно, и иметь единственную callback-функцию, которая будет вызвана после того как все запросы выполнены. Именно такое выполнение операций модуль <em>Async</em> делает легким и простым!</p> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/genre_detail_page/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/genre_detail_page/index.html index be5bd57962..389ec457af 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/genre_detail_page/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/genre_detail_page/index.html @@ -3,7 +3,7 @@ title: Страница с подробностями жанров slug: Learn/Server-side/Express_Nodejs/Displaying_data/Genre_detail_page translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/Genre_detail_page --- -<p>Страница "подробности" (<em>detail)</em> для жанров должна показывать информацию для отдельного жанра по его автоматически генерируему идентификатору <code>_id</code>. Должно быть показано название жанра и список книг этого жанра, со ссылками на страницу с детальной информацией для каждой книги.</p> +<p>Страница "подробности" (<em>detail)</em> для жанров должна показывать информацию для отдельного жанра по его автоматически генерируем идентификатору <code>_id</code>. Должно быть показано название жанра и список книг этого жанра, со ссылками на страницу с детальной информацией для каждой книги.</p> <h2 id="Controller">Controller</h2> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/index.html index bb2e804d2e..bbe11606e8 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/index.html @@ -37,7 +37,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data <p>Следующие подразделы проходят процесс добавления различных функций, необходимых для отображения необходимых страниц веб-сайта. Вы должны прочитать и проработать каждый из них по очереди, прежде чем перейти к следующему.</p> <ol> - <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_using_async">Aсинхронное управление потоками с помощью async</a></li> + <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_using_async">Асинхронное управление потоками с помощью async</a></li> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/Template_primer">Пример шаблона</a></li> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/LocalLibrary_base_template">Базовые шаблоны LocalLibrary</a></li> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data/Home_page">Домашняя страница</a></li> @@ -60,7 +60,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data <h2 id="Смотрите_так_же">Смотрите так же</h2> <ul> - <li><a href="http://caolan.github.io/async/docs.html">Aссинхроный модуль</a> (Асинхронные документация)</li> + <li><a href="http://caolan.github.io/async/docs.html">Асинхронный модуль</a> (Асинхронные документация)</li> <li><a href="https://expressjs.com/en/guide/using-template-engines.html">Использование механизмов шаблонов с Express</a> (Express документация)</li> <li><a href="https://pugjs.org/api/getting-started.html">Pug</a> (Pug документация)</li> <li><a href="http://momentjs.com/docs/">Moment</a> (Moment документация)</li> diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/template_primer/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/template_primer/index.html index 3f537db354..449d197c96 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/template_primer/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/template_primer/index.html @@ -9,7 +9,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/Template_primer <p>В Express можно использовать много движков отображающих шаблонов ( <a class="external external-icon" href="https://expressjs.com/en/guide/using-template-engines.html" rel="noopener">template rendering engines</a>). В этом руководстве для шаблонов будет использован <a class="external external-icon" href="https://pugjs.org/api/getting-started.html" rel="noopener">Pug</a> (ранее известный как Jade) . Это наиболее популярный в Node язык шаблонов, который о себе заявляет так: чистый, чувствительный к пробелам синтаксис для написания HTML, на который сильно повлиял <a class="external external-icon" href="http://haml.info/" rel="noopener">Haml</a>.</p> -<p>Разные языки шаблонов используют различные подходы для определения внешнего вида и разметки позиций для данных—некоторые используют HTML для определения внешнего вида, тогда как другие применяют различные форматы разметки, которые затем должы компилироваться в HTML. Pug - второго типа; он использует <em>представление</em> (<em>representation) </em> HTML, в котором первое слово в каждой строке обычно представляет элемент HTML, а отступы в следующих строках применяются, чтобы представить вложенные элементы. Результатом является определение страницы, которое транслируется непосредственно в HTML, и которое, вероятно, более краткое и легче читается.</p> +<p>Разные языки шаблонов используют различные подходы для определения внешнего вида и разметки позиций для данных—некоторые используют HTML для определения внешнего вида, тогда как другие применяют различные форматы разметки, которые затем должны компилироваться в HTML. Pug - второго типа; он использует <em>представление</em> (<em>representation) </em> HTML, в котором первое слово в каждой строке обычно представляет элемент HTML, а отступы в следующих строках применяются, чтобы представить вложенные элементы. Результатом является определение страницы, которое транслируется непосредственно в HTML, и которое, вероятно, более краткое и легче читается.</p> <div class="note"> <p><strong>Заметка:</strong> недостаток применения <em>Pug</em> - это чувствительность к отступам и пробелам (если добавить лишний пробел в "плохом" месте, можно получить невразумительный код ошибки). Однако, если ваши шаблоны уже действуют, их очень легко читать и поддерживать.</p> @@ -83,7 +83,7 @@ html(lang="en") <p>Значения всех атрибутов <em>экранируются</em> (т.е. такие символы как "<code>></code>" заменяются эквивалентными кодами HTML как "<code>&gt;"</code>) , чтобы предотвратить JavaScript инъекции и межсайтовые атаки.</p> -<p>Если после тэга стоит знак = , следующий текст рассматривается как <em>выражение</em> JavaScript. Например, шиже в первой строке, содержимое тэга <code>h1</code> будет <em>переменной </em> <code>title</code> (которая определена в файле или передана в шаблон из Express). Во второй строке содержимое параграфа - это текстовая строка, соединенная с переменной <code>title</code> . В каждом из случаев поведение по умолчанию - экранировать строки.</p> +<p>Если после тэга стоит знак = , следующий текст рассматривается как <em>выражение</em> JavaScript. Например, ниже в первой строке, содержимое тэга <code>h1</code> будет <em>переменной </em> <code>title</code> (которая определена в файле или передана в шаблон из Express). Во второй строке содержимое параграфа - это текстовая строка, соединенная с переменной <code>title</code> . В каждом из случаев поведение по умолчанию - экранировать строки.</p> <pre class="brush: html line-numbers language-html"><code class="language-html">h1= title p= 'Evaluated and <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>em</span><span class="punctuation token">></span></span>escaped expression<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>em</span><span class="punctuation token">></span></span>:' + title</code></pre> @@ -109,7 +109,7 @@ p This line has an un-escaped string: !{'<span class="tag token"><span class="ta else p Переменной с именем "title" не существует</code></pre> -<p>Можно также выполнять циклы (итерации), применяя ситаксис <code>each-in</code> или <code>while</code> . Фрагмент кода (ниже) содержит цикл по элементам массива, чтобы показать список элементов (отметим применение 'li=' для оценки "val" как переменной). Значение итератора val может быть также передано в шаблон как переменная!</p> +<p>Можно также выполнять циклы (итерации), применяя синтаксис <code>each-in</code> или <code>while</code> . Фрагмент кода (ниже) содержит цикл по элементам массива, чтобы показать список элементов (отметим применение 'li=' для оценки "val" как переменной). Значение итератора val может быть также передано в шаблон как переменная!</p> <pre class="brush: html line-numbers language-html"><code class="language-html">ul each val in [1, 2, 3, 4, 5] @@ -119,7 +119,7 @@ else <h2 class="highlight-spanned" id="Расширение_шаблонов"><span class="highlight-span">Расширение шаблонов</span></h2> -<p>Принято иметь общую структуру для всех страниц сайта, <span class="highlight-span">включая стандартную HTML-разметку для </span>заголовка, футера, навигации и т.д. Вместо того, чтобы засталять разработчиков дублировать эти образцы на каждой странице, <em>Pug</em> позволяет объявить базовай шаблон, а затем модифицировать его, заменяя только те небольшие части, которые различны на каждой конкретной странице.</p> +<p>Принято иметь общую структуру для всех страниц сайта, <span class="highlight-span">включая стандартную HTML-разметку для </span>заголовка, футера, навигации и т.д. Вместо того, чтобы заставлять разработчиков дублировать эти образцы на каждой странице, <em>Pug</em> позволяет объявить базовой шаблон, а затем модифицировать его, заменяя только те небольшие части, которые различны на каждой конкретной странице.</p> <p>Например, базовый шаблон <strong>layout.pug,</strong> созданный в каркасе проекта, имеет такой вид:</p> @@ -131,7 +131,7 @@ html body block content</code></pre> -<p>Тэг <code>block</code> применен для отметки разделов контента, которые могут быть заменены в производных шаблона (если блок не переопределяется, будет использованиа его реализация в базовом классе).</p> +<p>Тэг <code>block</code> применен для отметки разделов контента, которые могут быть заменены в производных шаблона (если блок не переопределяется, будет использования его реализация в базовом классе).</p> <p>Умолчание для <strong>index.pug</strong> (созданный для каркаса проекта) показывает, как можно заменить базовый шаблон. Тэг <code>extends</code> идентифицирует базовый шаблон, который следует использовать, а затем мы используем <code>block <em>section_name,</em></code> чтобы отметить новый контент раздела, который мы заменяем.</p> diff --git a/files/ru/learn/server-side/express_nodejs/forms/delete_author_form/index.html b/files/ru/learn/server-side/express_nodejs/forms/delete_author_form/index.html index 0e0fa6cdf3..a92d787ec6 100644 --- a/files/ru/learn/server-side/express_nodejs/forms/delete_author_form/index.html +++ b/files/ru/learn/server-side/express_nodejs/forms/delete_author_form/index.html @@ -5,11 +5,11 @@ translation_of: Learn/Server-side/Express_Nodejs/forms/Delete_author_form --- <p>В этой статье показано, как определить страницу для удаления объектов <code>Author</code>.</p> -<p>Как описано в разделе <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/forms#form_design">form design</a>, наша стратегия будет заключаться в том, чтобы разрешить удаление только объектов, на которые не ссылаются другие объекты(в этом случае это означает, что мы не позволим <code>Author</code> быть удаленным, если на него ссылается <code>Book</code>). С точки зрения реализации это означает, что форма должна подтвердить, что нет никаких связанных книг, прежде чем автор будет удален. Если есть связанные книги, то они должны отображаться и быть удалены до того, как будеет удален объект <code>Author</code>.</p> +<p>Как описано в разделе <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/forms#form_design">form design</a>, наша стратегия будет заключаться в том, чтобы разрешить удаление только объектов, на которые не ссылаются другие объекты(в этом случае это означает, что мы не позволим <code>Author</code> быть удаленным, если на него ссылается <code>Book</code>). С точки зрения реализации это означает, что форма должна подтвердить, что нет никаких связанных книг, прежде чем автор будет удален. Если есть связанные книги, то они должны отображаться и быть удалены до того, как будет удален объект <code>Author</code>.</p> <h2 class="highlight-spanned" id="Controller—get_route">Controller—get route</h2> -<p>Откройте <strong>/controllers/authorController.js</strong>. Найдите экспротируемый метод контроллера <code>author_delete_get()</code> и замените его на слдеующий код.</p> +<p>Откройте <strong>/controllers/authorController.js</strong>. Найдите экспортируемый метод контроллера <code>author_delete_get()</code> и замените его на следующий код.</p> <pre><code class="language-js">// Отображать форму для удаления автора GET exports.author_delete_get = function(req, res, next) { @@ -32,7 +32,7 @@ exports.author_delete_get = function(req, res, next) { };</code></pre> -<p>TКонтроллер получает id экземпляра <code>Author</code> для удаления из параметра URL (<code>req.params.id</code>). Он использует метод <code>async.parallel()</code> , чтобы получить запись автра и паралельнно вс связанные книги. WКогда оба пораметра авершины, он рендерит страницу <code><strong>author_delete</strong></code><strong>.pug</strong>, передает значения для <code>title</code>, <code>author</code>, и <code>author_books</code>.</p> +<p>Контроллер получает id экземпляра <code>Author</code> для удаления из параметра URL (<code>req.params.id</code>). Он использует метод <code>async.parallel()</code> , чтобы получить запись автора и параллельно вс связанные книги. Когда оба параметра авершины, он рендерит страницу <code><strong>author_delete</strong></code><strong>.pug</strong>, передает значения для <code>title</code>, <code>author</code>, и <code>author_books</code>.</p> <div class="note"> <p><strong>Заметка:</strong> Если <code>findById()</code><strong> </strong>не возвращает результатов, то автор отсутствует в базе данных. В этом случае удалять нечего, поэтому сразу выводим список всех авторов.</p> @@ -85,7 +85,7 @@ exports.author_delete_post = function(req, res, next) { <h2 class="highlight-spanned" id="View">View</h2> -<p>Создайте <strong>/views/author_delete.pug</strong> и скопируйет текст ниже.</p> +<p>Создайте <strong>/views/author_delete.pug</strong> и скопируйте текст ниже.</p> <pre class="line-numbers language-html"><code class="language-html">extends layout @@ -143,7 +143,7 @@ p <h2 class="highlight-spanned" id="Как_это_выглядит">Как это выглядит?</h2> -<p>Запустите приложение и откройте в вашем браузере <a class="external external-icon" href="http://localhost:3000/" rel="noopener">http://localhost:3000/</a>. Затем раздел <em>All authors </em>, а затем укажите конктретного пользователя. Наконец, выберите ссылку <em>Delete author</em>.</p> +<p>Запустите приложение и откройте в вашем браузере <a class="external external-icon" href="http://localhost:3000/" rel="noopener">http://localhost:3000/</a>. Затем раздел <em>All authors </em>, а затем укажите конкретного пользователя. Наконец, выберите ссылку <em>Delete author</em>.</p> <p>Если у автора нет книг, вам будет представлена такая страница. После нажатия клавиши delete сервер удалит автора и перенаправит в список авторов</p> diff --git a/files/ru/learn/server-side/express_nodejs/forms/index.html b/files/ru/learn/server-side/express_nodejs/forms/index.html index f877a6015c..6042d57b17 100644 --- a/files/ru/learn/server-side/express_nodejs/forms/index.html +++ b/files/ru/learn/server-side/express_nodejs/forms/index.html @@ -44,7 +44,7 @@ translation_of: Learn/Server-side/Express_Nodejs/forms <p><img alt="Simple name field example in HTML form" src="https://mdn.mozillademos.org/files/14117/form_example_name_field.png" style="border-style: solid; border-width: 1px; display: block; height: 44px; margin: 0px auto; width: 399px;"></p> -<p>Определенные в HTML формы собираются внутри тэга <code><form>...</form></code>, содержащего хтя ы один элемент <code>input</code> с <code>type="submit"</code>.</p> +<p>Определенные в HTML формы собираются внутри тэга <code><form>...</form></code>, содержащего хотя ы один элемент <code>input</code> с <code>type="submit"</code>.</p> <pre class="brush: html notranslate"><form action="/team_name_url/" method="post"> <label for="team_name">Enter name: </label> @@ -52,7 +52,7 @@ translation_of: Learn/Server-side/Express_Nodejs/forms <input type="submit" value="OK"> </form></pre> -<p>Хотя здесь мы включили только одно (текстовое) поле для ввода имени команды, форма может содержать любое количество других элементов ввода и связанных с ними меток. Атрибут <code>type</code> определяет какой из <a href="/ru/docs/Learn/HTML/Forms/Стандартные_виджеты_форм">виджетов</a> будет выбран для отображения поля. Атрибуты <code>name</code> и <code>id</code> идентифицируют поле в JavaScript/CSS/HTML, а <code>value</code> определяет его первоначальное значение. Связанная с полем метка, задается с помощью тега <code style="font-style: normal; font-weight: normal;">label</code> (располгается строкой выше и содержит в себе подпись "Enter name"). Связь метки и поля ввода устанавливается при помощи атрибута <code>for</code>, в котором указывается значение идентификатора поля (<code>input</code> <code>id</code>).</p> +<p>Хотя здесь мы включили только одно (текстовое) поле для ввода имени команды, форма может содержать любое количество других элементов ввода и связанных с ними меток. Атрибут <code>type</code> определяет какой из <a href="/ru/docs/Learn/HTML/Forms/Стандартные_виджеты_форм">виджетов</a> будет выбран для отображения поля. Атрибуты <code>name</code> и <code>id</code> идентифицируют поле в JavaScript/CSS/HTML, а <code>value</code> определяет его первоначальное значение. Связанная с полем метка, задается с помощью тега <code style="font-style: normal; font-weight: normal;">label</code> (располагается строкой выше и содержит в себе подпись "Enter name"). Связь метки и поля ввода устанавливается при помощи атрибута <code>for</code>, в котором указывается значение идентификатора поля (<code>input</code> <code>id</code>).</p> <p>Input <code>submit </code>будет отображаться в виде кнопки (по умолчанию) - он может быть нажат пользователем, чтобы загрузить данные, содержащиеся в других входных элементов на сервер (в данном случае, только team_name). Атрибуты формы определяют метод HTTP, используемый для отправки данных, и назначение данных на сервере (action):</p> @@ -140,7 +140,7 @@ body('age', 'Invalid age').optional({ checkFalsy: true }).isISO8601(), </pre> <div class="note"> - <p><strong>Note:</strong> Вы также можете добавить встроенные средства очистки, такие как <code>trim()</code>, как показано выше. Однако средства очитски, применяемые здесь, применяются только к шагу проверки. Если требуется очистить конечный результат, необходимо использовать отдельный метод очистки, как показано ниже.</p> + <p><strong>Note:</strong> Вы также можете добавить встроенные средства очистки, такие как <code>trim()</code>, как показано выше. Однако средства очистки, применяемые здесь, применяются только к шагу проверки. Если требуется очистить конечный результат, необходимо использовать отдельный метод очистки, как показано ниже.</p> </div> </li> <li><code><a href="https://github.com/ctavan/express-validator#sanitizebodyfields">sanitizeBody(fields)</a></code>: Задает поле тела для очистки. затем операции очистки последовательно соединяются с этим методом. Например, операция очистки <code>escape()</code>, описанная ниже, удаляет символы HTML из переменной name, которые могут использоваться в атаках сценариев между сайтами JavaScript. @@ -206,7 +206,7 @@ router.post('/genre/create', genre_controller.genre_create_post); <ol> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms/Create_genre_form">Форма для создания Genre</a> — Определение нашей страницы для создания объектов <code>Genre</code>.</li> - <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms/Create_author_form">Форма для cоздания Author</a> — Определение страницы для создания объектов <code>Author</code>.</li> + <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms/Create_author_form">Форма для создания Author</a> — Определение страницы для создания объектов <code>Author</code>.</li> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms/Create_book_form">Форма для создания Book</a> — Определение страницы/формы для создания объектов <code>Book</code>.</li> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms/Create_BookInstance_form">Форма для создания BookInstance</a> — Определение страницы/формы для создания объектов <code>BookInstance</code>.</li> <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms/Delete_author_form">Форма для удаления Author</a> — Определение страницы для удаления объектов <code>Author</code>.</li> diff --git a/files/ru/learn/server-side/express_nodejs/forms/update_book_form/index.html b/files/ru/learn/server-side/express_nodejs/forms/update_book_form/index.html index 16172605d1..ba6d79d71d 100644 --- a/files/ru/learn/server-side/express_nodejs/forms/update_book_form/index.html +++ b/files/ru/learn/server-side/express_nodejs/forms/update_book_form/index.html @@ -44,7 +44,7 @@ exports<span class="punctuation token">.</span>book_update_get <span class="oper <span class="punctuation token">}</span><span class="punctuation token">;</span></code></pre> -<p>Контроллер получит id <code>Book</code> книги для обновления из параметра URL (<code>req.params.id</code>). Он использует метод <code>async.parallel()</code>чтобы получить указанную запись <code>Book</code> (pаполнение полей жанра и автора) и список всех объектов <code>Author</code> и <code>Genre</code>. Когда все операции завершены, он помечает выбранные жанры как отмеченные, а затем отображает их в <strong>book_form.pug</strong>, передает переменные <code>itle</code>, book, всех <code>authors</code>, и все<code>genres</code>.</p> +<p>Контроллер получит id <code>Book</code> книги для обновления из параметра URL (<code>req.params.id</code>). Он использует метод <code>async.parallel()</code>чтобы получить указанную запись <code>Book</code> (заполнение полей жанра и автора) и список всех объектов <code>Author</code> и <code>Genre</code>. Когда все операции завершены, он помечает выбранные жанры как отмеченные, а затем отображает их в <strong>book_form.pug</strong>, передает переменные <code>itle</code>, book, всех <code>authors</code>, и все<code>genres</code>.</p> <h2 class="highlight-spanned" id="Controller—post_route"><span class="highlight-span">Controller—post route</span></h2> diff --git a/files/ru/learn/server-side/express_nodejs/index.html b/files/ru/learn/server-side/express_nodejs/index.html index 9c1f44a50f..48a631f4c3 100644 --- a/files/ru/learn/server-side/express_nodejs/index.html +++ b/files/ru/learn/server-side/express_nodejs/index.html @@ -19,7 +19,7 @@ translation_of: Learn/Server-side/Express_Nodejs <p>Перед началом этого модуля вам необходимо представлять, что из себя представляет серверное программирование и веб-фреймворки, желательно из прочтения статей другого модуля <a href="/en-US/docs/Learn/Server-side/First_steps">Server-side website programming first steps</a>. Знакомство с основными концепциями программирования и языком программирования <a href="/en-US/docs/Web/JavaScript">JavaScript</a> будет очень полезным, но оно не является обязательным для понимания базовых понятий этого модуля.</p> <div class="note"> -<p><strong>Заметка</strong>: Этот веб-сайт содержит множество источников для изучения JavaScript<em> в контексте разработки на стороне клиента</em>: <a href="/en-US/docs/Web/JavaScript">JavaScript</a>, <a href="/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a>, <a href="/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics">JavaScript Basics</a>, <a href="/en-US/docs/Learn/JavaScript">JavaScript</a> (изучение). Ключевые особенности и коцепции языка JavaScript остаются сходными и для серверной разработки на Node.js и используемый материал достаточно релевантен. Node.js предоставляет <a href="https://nodejs.org/dist/latest-v6.x/docs/api/">additional APIs</a> для обеспечения функционала, который полезен для "безбраузерной" разработки, т.е. для создания HTTP-сервера и доступа к файловой системе, но не поддерживает JavaScript APIs для работы с браузером и DOM.</p> +<p><strong>Заметка</strong>: Этот веб-сайт содержит множество источников для изучения JavaScript<em> в контексте разработки на стороне клиента</em>: <a href="/en-US/docs/Web/JavaScript">JavaScript</a>, <a href="/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a>, <a href="/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics">JavaScript Basics</a>, <a href="/en-US/docs/Learn/JavaScript">JavaScript</a> (изучение). Ключевые особенности и концепции языка JavaScript остаются сходными и для серверной разработки на Node.js и используемый материал достаточно релевантен. Node.js предоставляет <a href="https://nodejs.org/dist/latest-v6.x/docs/api/">additional APIs</a> для обеспечения функционала, который полезен для "безбраузерной" разработки, т.е. для создания HTTP-сервера и доступа к файловой системе, но не поддерживает JavaScript APIs для работы с браузером и DOM.</p> <p>Это руководство обеспечит вас некоторой информацией о работе с Node.js и Express, но также существуют и другие многочисленные отличные ресурсы в Интернете и книгах — некоторые из них доступны из тем <a href="http://stackoverflow.com/a/5511507/894359">How do I get started with Node.js</a> (StackOverflow) и <a href="https://www.quora.com/What-are-the-best-resources-for-learning-Node-js?">What are the best resources for learning Node.js?</a> (Quora).</p> </div> @@ -57,7 +57,7 @@ translation_of: Learn/Server-side/Express_Nodejs <dl> <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Installing_on_PWS_Cloud_Foundry">Установка LocalLibrary на PWS/Cloud Foundry</a></dt> - <dd>В этой статье представлена практическая демонстрация того, как установить <em>LocalLibrary</em> на <a href="http://run.pivotal.io">облаке Pivotal Web Services PaaS</a> — это полнофункциональная альтернатива с открытым исходным кодом для Heroku, облачного сервиса PaaS используемого в части 7 этого учебника, представленного выше. PWS/Cloud Foundry опредленно стоит попробовать, если вы ищете альтернативу Heroku (или другому PaaS облачному сервису), или просто хотите попробовать что-то другое.</dd> + <dd>В этой статье представлена практическая демонстрация того, как установить <em>LocalLibrary</em> на <a href="http://run.pivotal.io">облаке Pivotal Web Services PaaS</a> — это полнофункциональная альтернатива с открытым исходным кодом для Heroku, облачного сервиса PaaS используемого в части 7 этого учебника, представленного выше. PWS/Cloud Foundry определенно стоит попробовать, если вы ищете альтернативу Heroku (или другому PaaS облачному сервису), или просто хотите попробовать что-то другое.</dd> </dl> <h2 id="Изучите_другие_учебники">Изучите другие учебники</h2> diff --git a/files/ru/learn/server-side/express_nodejs/introduction/index.html b/files/ru/learn/server-side/express_nodejs/introduction/index.html index bbe40c95f7..74b857f880 100644 --- a/files/ru/learn/server-side/express_nodejs/introduction/index.html +++ b/files/ru/learn/server-side/express_nodejs/introduction/index.html @@ -35,7 +35,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Introduction <li><span id="result_box" lang="ru"><span>Он имеет очень активную стороннюю экосистему и сообщество разработчиков, которые всегда готовы помочь.</span></span></li> </ul> -<p><span lang="ru"><span>Вы можете изпользовать Node.js для создания простого веб сервера используя пакет Node HTTP. </span></span></p> +<p><span lang="ru"><span>Вы можете использовать Node.js для создания простого веб сервера используя пакет Node HTTP. </span></span></p> <h3 id="Hello_Node.js">Hello Node.js</h3> @@ -112,7 +112,7 @@ server.listen(port, hostname, () => { <h2 id="Насколько_популярен_NodeExpress">Насколько популярен Node/Express?</h2> -<p>Популярность веб-фрэймворка важна, поскольку она является индикатором того, будет ли она продолжаться, и какие ресурсы, вероятно, будут доступны с точки зрения документации, дополнительных библиотек и технической поддержки.</p> +<p>Популярность веб-фреймворка важна, поскольку она является индикатором того, будет ли она продолжаться, и какие ресурсы, вероятно, будут доступны с точки зрения документации, дополнительных библиотек и технической поддержки.</p> <p>Не существует какого-либо доступного и точного измерения популярности серверных фреймворков (хотя сайты, такие как Hot Frameworks, пытаются оценить популярность, используя такие механизмы, как подсчет количества проектов на GitHub и вопросов на StackOverflow для каждой платформы). Лучший вопрос заключается в том, достаточно ли популярны Node и Express, чтобы избежать проблем с непопулярными платформами. Они продолжают развиваться? Можете ли вы получить помощь, если вам это нужно? Есть ли у вас возможность получить оплачиваемую работу, если вы изучаете Express?</p> @@ -120,19 +120,19 @@ server.listen(port, hostname, () => { <h2 id="Является_ли_Express_ограничивающим">Является ли Express ограничивающим?</h2> -<p>Web-фрэймворки часто принято делить на "ограничивающие" и "неограничивающие".</p> +<p>Web-фреймворки часто принято делить на "ограничивающие" и "не ограничивающие".</p> -<p>Ограничивающими фрэймворки считаются фрэймворки, которые следуют "должным" ограничениям при выполнении отдельных задач. Довольно часто они ориентированы на ускоренную разработку <em>в конкретной области</em> (решение задач определенного типа), поскольку должный подход к произвольно выбранной задаче бывает не прост для понимания и плохо документирован. При этом они лишаются гибкости при решении задач выходящих за сферу их обычного применения, а так же проявляют тенденцию к ограничению выбора компонентов и подходов своего применения. </p> +<p>Ограничивающими фреймворки считаются фреймворки, которые следуют "должным" ограничениям при выполнении отдельных задач. Довольно часто они ориентированы на ускоренную разработку <em>в конкретной области</em> (решение задач определенного типа), поскольку должный подход к произвольно выбранной задаче бывает не прост для понимания и плохо документирован. При этом они лишаются гибкости при решении задач выходящих за сферу их обычного применения, а так же проявляют тенденцию к ограничению выбора компонентов и подходов своего применения. </p> -<p>Напротив, неограничивающие фреймворки имеют гораздо меньше ограничений для связи компонентов, что бы достичь цели или ограничений в выборе используемых компонентов. Они облегчают разработчикам использование наиболее подходящих инструментов для выполнения конкретной задачи, но платой за это будет то, что вы самостоятельно должны найти такие компоненты.</p> +<p>Напротив, не ограничивающие фреймворки имеют гораздо меньше ограничений для связи компонентов, что бы достичь цели или ограничений в выборе используемых компонентов. Они облегчают разработчикам использование наиболее подходящих инструментов для выполнения конкретной задачи, но платой за это будет то, что вы самостоятельно должны найти такие компоненты.</p> <p>Express не ограничивающий. Вы можете вставить в цепочку обработки (middleware) запросов практически любое совместимые промежуточные компоненты, которые вам нравятся. Вы можете структурировать приложение в одном файле или в нескольких, использую любую структуру каталогов. Иногда вы можете чувствовать, что у вас слишком много вариантов!</p> <h2 id="Как_выглядит_код_Express">Как выглядит код Express?</h2> -<p>В традиционных динамических веб-сайтах, веб-приложение ожидает HTTP-запроса от веб-браузера (или другого клиента). Когда запрос получен, приложение определяет, какое действие необходимо выполнить на основе URL шаблна и, возможно, связанной информации, содержащейся в данных <code>POST</code> или <code>GET</code>. В зависимости от того, что требуется, Express может затем читать или записывать данные из/в базы данных или выполнять другие задачи, в соответствии с полученным запросом. Затем приложение возвращает ответ в веб-браузер, зачастую динамически создавая HTML страницу для отображения браузером, вставляя извлеченные данные в заполнители HTML шаблона.</p> +<p>В традиционных динамических веб-сайтах, веб-приложение ожидает HTTP-запроса от веб-браузера (или другого клиента). Когда запрос получен, приложение определяет, какое действие необходимо выполнить на основе URL шаблона и, возможно, связанной информации, содержащейся в данных <code>POST</code> или <code>GET</code>. В зависимости от того, что требуется, Express может затем читать или записывать данные из/в базы данных или выполнять другие задачи, в соответствии с полученным запросом. Затем приложение возвращает ответ в веб-браузер, зачастую динамически создавая HTML страницу для отображения браузером, вставляя извлеченные данные в заполнители HTML шаблона.</p> -<p>Express предоставляет методы позволяющие указать, какая функция вызывается для конкретного HTTP запроса (<code>GET</code>, <code>POST</code>, <code>SET</code>, etc.), и URL шаблон ("Route"), а также методы позволяющие указать, какой механизм шаблона ("view") используется, где находятся шаблоныы файлов и какой шаблон использовать для вывода ответа. Вы можете использовать Express middleware для добавления поддержки файлов cookies, сеансов, и пользователей, получения <code>POST</code>/<code>GET</code> параметров, и т.д. Вы можете использовать любой механизм базы данных, поддерживаемый Node (Express не определяет поведение, связанное с базой данных).</p> +<p>Express предоставляет методы позволяющие указать, какая функция вызывается для конкретного HTTP запроса (<code>GET</code>, <code>POST</code>, <code>SET</code>, etc.), и URL шаблон ("Route"), а также методы позволяющие указать, какой механизм шаблона ("view") используется, где находятся шаблоны файлов и какой шаблон использовать для вывода ответа. Вы можете использовать Express middleware для добавления поддержки файлов cookies, сеансов, и пользователей, получения <code>POST</code>/<code>GET</code> параметров, и т.д. Вы можете использовать любой механизм базы данных, поддерживаемый Node (Express не определяет поведение, связанное с базой данных).</p> <p>В следующих разделах объясняются некоторые общие моменты, которые вы увидите при работе с кодом <em>Express</em> and <em>Node</em>.</p> diff --git a/files/ru/learn/server-side/express_nodejs/mongoose/index.html b/files/ru/learn/server-side/express_nodejs/mongoose/index.html index 18cdb9922a..b20540d62f 100644 --- a/files/ru/learn/server-side/express_nodejs/mongoose/index.html +++ b/files/ru/learn/server-side/express_nodejs/mongoose/index.html @@ -7,7 +7,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <div>{{PreviousMenuNext("Learn/Server-side/Express_Nodejs/skeleton_website", "Learn/Server-side/Express_Nodejs/routes", "Learn/Server-side/Express_Nodejs")}}</div> -<p class="summary">В этой статье дается краткое введение в базы данных, и методика их использования в приложнениях Node/Express. Затем мы покажем, как можно использовать <a href="http://mongoosejs.com/">Mongoose</a> для доступа к базе данных веб-сайта <a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Tutorial_local_library_website">LocalLibrary</a>. Мы объясним, как объявляются схемы и модели объектов, укажем основные типы полей, и методику базовой валидации. В статье также кратко показаны основные методы доступа к данным модели.</p> +<p class="summary">В этой статье дается краткое введение в базы данных, и методика их использования в приложениях Node/Express. Затем мы покажем, как можно использовать <a href="http://mongoosejs.com/">Mongoose</a> для доступа к базе данных веб-сайта <a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Tutorial_local_library_website">LocalLibrary</a>. Мы объясним, как объявляются схемы и модели объектов, укажем основные типы полей, и методику базовой валидации. В статье также кратко показаны основные методы доступа к данным модели.</p> <table class="learn-box standard-table"> <tbody> @@ -24,7 +24,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <h2 id="Обзор">Обзор</h2> -<p>Сотрудники библиотеки будут использовать сайт Local Library для хранения информации о книгах и абонентах, а абоненты библиотеки будут использовать его для просмотра и поиска книг, для получения информации о доступных копиях, для резервирования или одалживния книг. Чтобы эффективно хранить и извлекать информацию, мы будем хранить ее в базе данных.</p> +<p>Сотрудники библиотеки будут использовать сайт Local Library для хранения информации о книгах и абонентах, а абоненты библиотеки будут использовать его для просмотра и поиска книг, для получения информации о доступных копиях, для резервирования или одалживания книг. Чтобы эффективно хранить и извлекать информацию, мы будем хранить ее в базе данных.</p> <p>Express-приложения могут использовать различные базы данных, и есть несколько подходов, которые можно использовать для выполнения операций <strong>C</strong>reate, <strong>R</strong>ead, <strong>U</strong>pdate and <strong>D</strong>elete (CRUD) (создать, прочесть, обновить, удалить). В руководстве дан краткий обзор некоторых доступных опций, и детально рассмотрены некоторые механизмы работы.</p> @@ -42,7 +42,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <ul> <li>Использование родного языка запросов баз данных (т.е. SQL)</li> - <li>Использование объектной модели данных (ODM) или объектно-реляционной модели (ORM). ODM / ORM представлют данные веб-сайта как объекты JavaScript, которые затем отображаются на поддерживающую базу данных. Некоторые ORM привязаны к определенной базе данных, тогда как другие не зависят от конкретной базы данных.</li> + <li>Использование объектной модели данных (ODM) или объектно-реляционной модели (ORM). ODM / ORM представляют данные веб-сайта как объекты JavaScript, которые затем отображаются на поддерживающую базу данных. Некоторые ORM привязаны к определенной базе данных, тогда как другие не зависят от конкретной базы данных.</li> </ul> <p>Наилучшую производительность можно получить с помощью SQL или другого языка запросов, поддерживаемого базой данных. Объектные модели (ODM) часто медленнее, потому что требуют перевода объектов в формат базы данных, при этом не обязательно будут использованы наиболее эффективные запросы к базе данных (особенно, если ODM предназначена для различных баз данных и должна идти на большие компромиссы в смысле поддержки тех или иных функций базы данных).</p> @@ -60,7 +60,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <p>Популярные решения на момент написания статьи:</p> <ul> - <li><a href="https://www.npmjs.com/package/mongoose">Mongoose</a>: -- это средство моделирование обьектов базы данных <a href="https://www.mongodb.org/">MongoDB</a>, предназначенное для асинхронной работы.</li> + <li><a href="https://www.npmjs.com/package/mongoose">Mongoose</a>: -- это средство моделирование объектов базы данных <a href="https://www.mongodb.org/">MongoDB</a>, предназначенное для асинхронной работы.</li> <li><a href="https://www.npmjs.com/package/waterline">Waterline</a>: ORM фреймворка <a href="http://sailsjs.com/">Sails</a> (основан на Express) . Она предоставляет единый API для доступа к множеству баз данных, в том числе Redis, mySQL, LDAP, MongoDB, и Postgres.</li> <li><a href="https://www.npmjs.com/package/bookshelf">Bookshelf</a>: поддерживает как promise- так и традиционные callback- интерфейсы, поддержка транзакций, eager/nested-eager relation loading, полиморфные ассоциации, и поддержка, один к одному, один ко многим, и многие ко многим. Работает с PostgreSQL, MySQL, и SQLite3.</li> <li><a href="https://www.npmjs.com/package/objection">Objection</a>: Делает настолько легким, насколько возможно, использование всей мощи SQL и движка базы данных ( поддерживает SQLite3, Postgres, и MySQL).</li> @@ -77,7 +77,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <h3 id="Применение_Mongoose_и_MongoDb_для_LocalLibrary">Применение Mongoose и MongoDb для LocalLibrary</h3> -<p><span id="result_box" lang="ru"><span class="alt-edited">В примере LocalLibrary (и до конца раздела) мы будем использовать Mongoose ODM для доступа к данным </span></span><span lang="ru"><span class="alt-edited">нашей библиотеки.</span> <span class="alt-edited">Mongoose является интерфейсом для MongoDB, NoSQL-базы данных с открытым исходным кодом, в которой использована документо-ориентированная модель данных.</span> В <span class="alt-edited">MongoDB </span><span class="alt-edited">«коллекции» и «документы» -- это аналоги «таблиц» и «строк» в реляционных БД</span></span>.</p> +<p><span id="result_box" lang="ru"><span class="alt-edited">В примере LocalLibrary (и до конца раздела) мы будем использовать Mongoose ODM для доступа к данным </span></span><span lang="ru"><span class="alt-edited">нашей библиотеки.</span> <span class="alt-edited">Mongoose является интерфейсом для MongoDB, NoSQL-базы данных с открытым исходным кодом, в которой использована документов-ориентированная модель данных.</span> В <span class="alt-edited">MongoDB </span><span class="alt-edited">«коллекции» и «документы» -- это аналоги «таблиц» и «строк» в реляционных БД</span></span>.</p> <p><span id="result_box" lang="ru"><span>Это сочетание ODM и БД весьма популярно в сообществе Node, частично потому, что система хранения документов и запросов очень похожа на JSON и поэтому знакома разработчикам JavaScript</span></span>.</p> @@ -112,7 +112,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <p><img alt="Mongoose Library Model with correct cardinality" src="https://mdn.mozillademos.org/files/15645/Library%20Website%20-%20Mongoose_Express.png" style="height: 620px; width: 737px;"></p> <div class="note"> -<p><strong>Заметка</strong>: В следующем разделе дан базовый пример, в котором объясняется, как задавать и как использовать модели. При чтении обратите внимание, как будут создаваться модели, приведенные на диагарамме.</p> +<p><strong>Заметка</strong>: В следующем разделе дан базовый пример, в котором объясняется, как задавать и как использовать модели. При чтении обратите внимание, как будут создаваться модели, приведенные на диаграмме.</p> </div> <h2 id="Mongoose_Справочник">Mongoose Справочник</h2> @@ -136,7 +136,7 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose <p><strong>Примечание:</strong> В примере для хранения базы данных мы используем облачный сервис <a href="https://mlab.com/plans/pricing/">sandbox tier</a> ("песочницу"). This is suitable for development, and makes sense for the tutorial because it makes "installation" operating system independent (database-as-a-service is also one approach you might well use for your production database).</p> </div> -<h3 id="Подключенние_к_MongoDB">Подключенние к MongoDB</h3> +<h3 id="Подключение_к_MongoDB">Подключение к MongoDB</h3> <p><em>Mongoose </em>требует подключение к MongoDB. Вы можете использовать require() и подключится к локальной БД при помощи <code>mongoose.connect(),</code> как показано ниже.</p> @@ -509,7 +509,7 @@ SomeModel.find(callback_function);</code></pre> <p>Мы уже немного понимаем, что может делать Mongoose и как следует проектировать модели. Теперь самое время начать работу над сайтом <em>LocalLibrary</em>. Самое первое, что мы должны сделать - установить базу данных MongoDb, в которой будут храниться данные нашей библиотеки.</p> -<p>В этом руководстве мы будем использовать базу данных в "песочнице" ("<a href="https://mlab.com/plans/pricing/">sandbox</a>") - бесплатный облачный сервис, предоставляемый <a href="https://mlab.com/welcome/">mLab</a>. Такая база не очень подходит для промышленных вебсайтов, поскольку не имеет избыточности, но она очень удобна для разработки и прототипирования. Мы используем ее, так как она бесплатна, ее легко установить, и потому что mLab - популярный поставщик <em>базы данных как сервиса, </em>и это может быть разумным выбором для промышленной базы данных (на данный момент другие известные возможности включают <a href="https://www.compose.com/">Compose</a>, <a href="https://scalegrid.io/pricing.html">ScaleGrid</a> и <a href="https://www.mongodb.com/cloud/atlas">MongoDB Atlas</a>).</p> +<p>В этом руководстве мы будем использовать базу данных в "песочнице" ("<a href="https://mlab.com/plans/pricing/">sandbox</a>") - бесплатный облачный сервис, предоставляемый <a href="https://mlab.com/welcome/">mLab</a>. Такая база не очень подходит для промышленных веб-сайтов, поскольку не имеет избыточности, но она очень удобна для разработки и прототипирования. Мы используем ее, так как она бесплатна, ее легко установить, и потому что mLab - популярный поставщик <em>базы данных как сервиса, </em>и это может быть разумным выбором для промышленной базы данных (на данный момент другие известные возможности включают <a href="https://www.compose.com/">Compose</a>, <a href="https://scalegrid.io/pricing.html">ScaleGrid</a> и <a href="https://www.mongodb.com/cloud/atlas">MongoDB Atlas</a>).</p> <div class="note"> <p><strong>Заметка:</strong> При желании можно установить БД MongoDb локально, загрузив и установив <a href="https://www.mongodb.com/download-center">подходящие для вашей системы двоичные файлы</a>. В этом случае приводимые ниже инструкции не изменятся, за исключением URL базы данных, который нужно будет задать для установки соединения.</p> @@ -535,7 +535,7 @@ SomeModel.find(callback_function);</code></pre> <ul> <li> - <p>Выберите ближайщий к Вам регион и щелкните кнопку <strong>Continue</strong>.</p> + <p>Выберите ближайший к Вам регион и щелкните кнопку <strong>Continue</strong>.</p> </li> </ul> </li> @@ -573,7 +573,7 @@ SomeModel.find(callback_function);</code></pre> <h2 id="Установка_Mongoose">Установка Mongoose</h2> -<p>Откройте окно команд и перейдите в каталог, в котором создан <a href="/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website">каркас вебсайта Local Library</a>. Введите команду install, чтобы установить Mongoose (и ее зависимости), а также добавьте ее в файл <strong>package.json</strong>, если вы еще не сделали этого ранее, при чтении примера <a href="#Installing_Mongoose_and_MongoDB">Mongoose Primer</a>.</p> +<p>Откройте окно команд и перейдите в каталог, в котором создан <a href="/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website">каркас веб-сайта Local Library</a>. Введите команду install, чтобы установить Mongoose (и ее зависимости), а также добавьте ее в файл <strong>package.json</strong>, если вы еще не сделали этого ранее, при чтении примера <a href="#Installing_Mongoose_and_MongoDB">Mongoose Primer</a>.</p> <pre class="brush: bash">npm install mongoose </pre> @@ -594,7 +594,7 @@ db.on('error', console.error.bind(console, 'MongoDB connection error:'));</pre> <h2 id="Определение_схемы_LocalLibrary">Определение схемы LocalLibrary</h2> -<p>Мы определим отдельный модуль для каждой модели как уже обсуждалось <a href="#One_schemamodel_per_file">выше</a>. Начнем с создания каталога для моделей в корне проекта (<strong>/models</strong>), после чего создадим отдельные файлы для кажой модели:</p> +<p>Мы определим отдельный модуль для каждой модели как уже обсуждалось <a href="#One_schemamodel_per_file">выше</a>. Начнем с создания каталога для моделей в корне проекта (<strong>/models</strong>), после чего создадим отдельные файлы для каждой модели:</p> <pre>/express-locallibrary-tutorial //the project root <strong>/models</strong> @@ -716,7 +716,7 @@ module.exports = mongoose.model('BookInstance', BookInstanceSchema);</pre> <ul> <li><code>enum</code>: Позволяет указать допустимые значения строки. В нашем случае используются, чтобы задать статус доступности книги (применение enum (перечисления) означает, что мы ходим предотвратить ошибочное написание и произвольные значения статуса)</li> - <li><code>default</code>: определяет значание статуса по умолчанию (maintenance) при создании экземпляра книги, и дату <code>due_back </code>возврата книги (<code>now,</code> сейчас). Отметьте, как используется функция Date при установке даты!</li> + <li><code>default</code>: определяет значение статуса по умолчанию (maintenance) при создании экземпляра книги, и дату <code>due_back </code>возврата книги (<code>now,</code> сейчас). Отметьте, как используется функция Date при установке даты!</li> </ul> <p>Все остальное знакомо по предыдущим схемам.</p> @@ -762,7 +762,7 @@ module.exports = mongoose.model('BookInstance', BookInstanceSchema);</pre> <h2 id="Итог">Итог</h2> -<p>В этой статье мы познакомились с БД и ОРМ (объектно-реляционными моделями) в системе Node/Express, узнали, как определяются схемы и модели Mongoose. Мы применили эти знания при проектировании и реализации моделей <code>Book</code>, <code>BookInstance</code>, <code>Author</code> и <code>Genre</code> для вебсайта <em>LocalLibrary</em>.</p> +<p>В этой статье мы познакомились с БД и ОРМ (объектно-реляционными моделями) в системе Node/Express, узнали, как определяются схемы и модели Mongoose. Мы применили эти знания при проектировании и реализации моделей <code>Book</code>, <code>BookInstance</code>, <code>Author</code> и <code>Genre</code> для веб-сайта <em>LocalLibrary</em>.</p> <p>В конце мы испытали свои модели путем создания ряда элементов (при помощи автономного скрипта). В следующей статье мы рассмотрим создание страниц, на которых будут показаны эти элементы.</p> @@ -770,7 +770,7 @@ module.exports = mongoose.model('BookInstance', BookInstanceSchema);</pre> <ul> <li><a href="https://expressjs.com/en/guide/database-integration.html">Database integration</a> Интеграция БД (документация Express)</li> - <li><a href="http://mongoosejs.com/">Mongoose website</a> Вебсайт Mongoose (документация Mongoose)</li> + <li><a href="http://mongoosejs.com/">Mongoose website</a> Веб-сайт Mongoose (документация Mongoose)</li> <li><a href="http://mongoosejs.com/docs/guide.html">Mongoose Guide</a> Справочник Mongoose (документация Mongoose)</li> <li><a href="http://mongoosejs.com/docs/validation.html">Validation</a> Валидация (документация Mongoose)</li> <li><a href="http://mongoosejs.com/docs/schematypes.html">Schema Types</a> Типы в схемах (документация Mongoose)</li> diff --git a/files/ru/learn/server-side/express_nodejs/routes/index.html b/files/ru/learn/server-side/express_nodejs/routes/index.html index c8610eba1b..32d91f3752 100644 --- a/files/ru/learn/server-side/express_nodejs/routes/index.html +++ b/files/ru/learn/server-side/express_nodejs/routes/index.html @@ -112,7 +112,7 @@ app.use('/wiki', wiki);</code></pre> функции в цепочке промежуточных элементов.</p> <div class="note"> -<p><strong>Заметка:</strong> Фукции в Router - это промежуточный слой (<a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction#Using_middleware">middleware</a>) are <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction#Using_middleware">Express </a>, что означает, что они должны или завершить (ответить на) запрос reqили вызвать следующую (<code>next)</code> функцию в цепочке. В нашем случае запрос завершается вызовом <code>send()</code>, поэтому аргумент <code>next</code> не нужен (и поэтому не указан).</p> +<p><strong>Заметка:</strong> Функции в Router - это промежуточный слой (<a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction#Using_middleware">middleware</a>) are <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction#Using_middleware">Express </a>, что означает, что они должны или завершить (ответить на) запрос reqили вызвать следующую (<code>next)</code> функцию в цепочке. В нашем случае запрос завершается вызовом <code>send()</code>, поэтому аргумент <code>next</code> не нужен (и поэтому не указан).</p> <p>Выше у функции роутера только один callback-аргумент, но можно указать столько таких аргументов, сколько хотите, или указать массив callback-функций. каждая из функций - это элемент в цепочке промежуточного слоя, и они будут вызываться в порядке их добавления в цепочку (если предыдущая функция не завершит запрос).</p> </div> @@ -177,7 +177,7 @@ app.use('/wiki', wiki);</code></pre> <h2 id="Маршруты_необходимые_для_библиотеки_LocalLibrary">Маршруты, необходимые для библиотеки LocalLibrary</h2> -<p>Те URL, котрые в итоге будут нужны для наших страниц, показаны ниже. Слово <em>object</em> должно быть заменено на имя каждой из наших моделей (book, bookinstance, genre, author), слово <em>objects</em> - множественное число для <em>object, </em>а <em>id</em> - уникальное значение для поля(<code>_id</code>), которое Mongoose создает по умолчанию для каждого экземпляра модели.</p> +<p>Те URL, которые в итоге будут нужны для наших страниц, показаны ниже. Слово <em>object</em> должно быть заменено на имя каждой из наших моделей (book, bookinstance, genre, author), слово <em>objects</em> - множественное число для <em>object, </em>а <em>id</em> - уникальное значение для поля(<code>_id</code>), которое Mongoose создает по умолчанию для каждого экземпляра модели.</p> <ul> <li><code>catalog/</code> — Домашняя страница home/index.</li> @@ -260,7 +260,7 @@ exports.author_update_post = function(req, res) { <p>В модуле сначала подключается (requires) модель, которая далее будет использована для получения данных и их обновления. Далее экспортируются функции для каждого URL, который мы хотим обрабатывать (операции create-создать, update-обновить и delete-удалить используют формы, следовательно, должны быть дополнительные методы для обработки post-запросов от форм - эти методы обсуждаются далее, в статье "forms article" ("формы")).</p> -<p>Все функции имеют стандартную форму функций среднего слоя <em>Express </em>, с арнументами для запроса, ответа и следующей <code>(next)</code> функции, которая должна быть вызвана, если метод не завершил цикл запроса (во всех приведенных в коде случаях - завершает!). Методы просто возвращают строку, информирующую о том, что соответствующая страница еще не создана. Если функция контроллера должна получить параметры маршрута, эти параметры будут выведены в строке сообщения (смотри выше <code>req.params.id</code> ).</p> +<p>Все функции имеют стандартную форму функций среднего слоя <em>Express </em>, с аргументами для запроса, ответа и следующей <code>(next)</code> функции, которая должна быть вызвана, если метод не завершил цикл запроса (во всех приведенных в коде случаях - завершает!). Методы просто возвращают строку, информирующую о том, что соответствующая страница еще не создана. Если функция контроллера должна получить параметры маршрута, эти параметры будут выведены в строке сообщения (смотри выше <code>req.params.id</code> ).</p> <h4 id="BookInstance_controller">BookInstance controller</h4> @@ -544,7 +544,7 @@ router.get('/bookinstances', book_instance_controller.bookinstance_list); <strong>module.exports = router;</strong> </pre> -<p>Модуль загружает Express и использует его для создания объекта <code>Router</code> . В маршутизаторе задаются маршруты и производится их экспорт.</p> +<p>Модуль загружает Express и использует его для создания объекта <code>Router</code> . В маршрутизаторе задаются маршруты и производится их экспорт.</p> <p>Маршруты определяют в объекте маршрутизатора или <code>.get()</code> или <code>.post()</code> методы. Все пути заданы как строки (образцы строк и регулярные выражения не использовались). Маршруты, которые взаимодействуют с конкретным ресурсом (скажем, с книгой), для получения из URL идентификатора объекта используют параметры путей.</p> @@ -554,7 +554,7 @@ router.get('/bookinstances', book_instance_controller.bookinstance_list); <p>Все новые маршруты заданы, а маршрут на начальную страницу остался без изменения. Давайте перенаправим его на новую страницу "index", которая создана в каталоге '/catalog'.</p> -<p>Откройте <strong>/routes/index.js</strong> и замените существущий маршрут нприведенную ниже.</p> +<p>Откройте <strong>/routes/index.js</strong> и замените существующий маршрут приведенную ниже.</p> <pre class="brush: js">// GET home page. router.get('/', function(req, res) { @@ -575,7 +575,7 @@ router.get('/', function(req, res) { var usersRouter = require('./routes/users'); <strong>var catalogRouter = require('./routes/catalog'); //Import routes for "catalog" area of site</strong></pre> -<p>Далее, добавьте маршрут каталога в стек промежуточного слоя после других маршрутов (добавтьте третью строку после имеющихся двух):</p> +<p>Далее, добавьте маршрут каталога в стек промежуточного слоя после других маршрутов (добавить третью строку после имеющихся двух):</p> <pre class="brush: js">app.use('/', indexRouter); app.use('/users', usersRouter); diff --git a/files/ru/learn/server-side/express_nodejs/skeleton_website/index.html b/files/ru/learn/server-side/express_nodejs/skeleton_website/index.html index 51af5515d4..a9c608d264 100644 --- a/files/ru/learn/server-side/express_nodejs/skeleton_website/index.html +++ b/files/ru/learn/server-side/express_nodejs/skeleton_website/index.html @@ -34,7 +34,7 @@ translation_of: Learn/Server-side/Express_Nodejs/skeleton_website <h2 id="Применение_генератора_приложений">Применение генератора приложений</h2> -<p>Вы уже должны были устанавить <code>express-generator</code>, читая статью <a>установка среды разработки Node</a>. Напомним, что генератор установлен с помощью менеджера пакетов NPM, при выполнении команды:</p> +<p>Вы уже должны были установить <code>express-generator</code>, читая статью <a>установка среды разработки Node</a>. Напомним, что генератор установлен с помощью менеджера пакетов NPM, при выполнении команды:</p> <pre class="brush: bash notranslate"><code>npm install express-generator -g</code> </pre> @@ -82,8 +82,8 @@ translation_of: Learn/Server-side/Express_Nodejs/skeleton_website <p>Как правило, следует выбрать шаблонизатор, который имеет весь необходимый вам функционал и обеспечивает вам высокую производительность - так же, как вы выбираете любой другой компонент! Некоторые критерии для сравнения шаблонизаторов:</p> <ul> - <li>Время до получения результата — если ваша команда уже имела дело с шаблонизатором, то, скоре всего, продуктивнее будет использовать этот шаблонизатор. Если нет, тогда следует учесть все относительные сложности изучения кандидатов в шаблонизаторы.</li> - <li>Популярность и активность — проверьте популярность движка, возможно, у него есть активное сообщество. Очень важно иметь поддержку для движка, если у вас возникнут проблемы в течении жизни вебсайта.</li> + <li>Время до получения результата — если ваша команда уже имела дело с шаблонизатором, то, скорее всего, продуктивнее будет использовать этот шаблонизатор. Если нет, тогда следует учесть все относительные сложности изучения кандидатов в шаблонизаторы.</li> + <li>Популярность и активность — проверьте популярность движка, возможно, у него есть активное сообщество. Очень важно иметь поддержку для движка, если у вас возникнут проблемы в течении жизни веб-сайта.</li> <li>Стиль — некоторые шаблонизаторы используют особую разметку для отображения вставленного контента внутри "обычного" HTML, а другие строят HTML, используя специальный синтаксис (например, используя отступы или блочные имена).</li> <li>Производительность и время интерпретации.</li> <li>Особенности — следует выбирать движок с учетом таких особенностей: @@ -191,7 +191,7 @@ npm install</pre> <p>У нас получилось веб-приложение на базе Express, работающее по адресу <em>localhost:3000</em>.</p> <div class="note"> -<p><strong>Заметка:</strong> Можно также запустить приложение командой <code>npm start</code>. Переменная DEBUG, указанная в примере, включает логгирование в консоль для дальнейшей отладки. Так, при посещении страницы веб-приложения, вы увидите похожий вывод в консоль:</p> +<p><strong>Заметка:</strong> Можно также запустить приложение командой <code>npm start</code>. Переменная DEBUG, указанная в примере, включает логирование в консоль для дальнейшей отладки. Так, при посещении страницы веб-приложения, вы увидите похожий вывод в консоль:</p> <pre class="brush: bash notranslate">>SET DEBUG=express-locallibrary-tutorial:* & npm start @@ -210,7 +210,7 @@ GET /favicon.ico 404 34.134 ms - 1335</pre> <p>Любые изменения, внесенные на веб-сайт Express, не будут отображаться до перезапуска сервера. Остановка (Ctrl-C) и перезапуск сервера каждый раз после внесения изменений быстро становится раздражающей, поэтому стоит автоматизировать перезапуск.</p> <p>Одно из самых простых средств для этого --<br> - <a href="https://github.com/remy/nodemon">nodemon</a>. Его обычно устанавливают глобально (так как это "инструмент"), но сейчас мы устанавим его и будем применять локально как зависимость разработки, так что любые разработчики проекта получат его автоматически при установке приложения. Выполним следующую команду (предполагаем, что мы находимся в корневом каталоге):</p> + <a href="https://github.com/remy/nodemon">nodemon</a>. Его обычно устанавливают глобально (так как это "инструмент"), но сейчас мы установим его и будем применять локально как зависимость разработки, так что любые разработчики проекта получат его автоматически при установке приложения. Выполним следующую команду (предполагаем, что мы находимся в корневом каталоге):</p> <pre class="brush: bash notranslate">npm install --save-dev nodemon</pre> @@ -224,7 +224,7 @@ GET /favicon.ico 404 34.134 ms - 1335</pre> -<p>В файле <strong>package.json </strong>проекта появится новый раздел с этой зависимостью (на вашей машине номер версии nodemon может бытьдругим) :</p> +<p>В файле <strong>package.json </strong>проекта появится новый раздел с этой зависимостью (на вашей машине номер версии nodemon может быть другим) :</p> <pre class="brush: json notranslate"> "devDependencies": { "nodemon": "^1.11.0" @@ -323,7 +323,7 @@ GET /favicon.ico 404 34.134 ms - 1335</pre> <li><a href="https://www.npmjs.com/package/body-parser">body-parser</a>: -- анализирует часть тела входящего запроса HTTP и облегчает извлечение из него различных частей. Например, мы можно читать <code>POST-</code>параметры.</li> <li><a href="https://www.npmjs.com/package/cookie-parser">cookie-parser</a>: разбирает заголовок и заполняет <code>req.cookies</code> (по сути, дает удобный метод для доступа к информации cookie).</li> <li><a href="https://www.npmjs.com/package/debug">debug</a>: небольшой отладчик, работающий по образцу методики отладки ядра node.</li> - <li><a href="https://www.npmjs.com/package/morgan">morgan</a>: средство логгирования запросов HTTP для node.</li> + <li><a href="https://www.npmjs.com/package/morgan">morgan</a>: средство логирования запросов HTTP для node.</li> <li><a href="https://www.npmjs.com/package/serve-favicon">serve-favicon</a>: средство обработки <a href="https://en.wikipedia.org/wiki/Favicon">favicon</a> (значка, используемого для представления сайта на вкладках браузера, закладках и т. д).</li> </ul> @@ -436,7 +436,7 @@ app.use(function(err, req, res, next) { }); </pre> -<p>Объект app приложения Express теперь полностью настроен. Остался последний шаг - добавить его к экпортируемым элементам модуля (это позволит импортировать его в файле <strong>/bin/www</strong>).</p> +<p>Объект app приложения Express теперь полностью настроен. Остался последний шаг - добавить его к экспортируемым элементам модуля (это позволит импортировать его в файле <strong>/bin/www</strong>).</p> <pre class="brush: js notranslate">module.exports = app;</pre> @@ -495,7 +495,7 @@ block content <p>Сейчас создан каркас проекта <a>Local Library</a>. Мы проверили, что он запускается с использованием Node. Но главное, что вы поняли структуру проекта, и знаете, где и как добавить пути и представления для нашей локальной библиотеки.</p> -<p lang="ru-RU">Далее мы изменим каркас, чтобы он работал как библиотечный вебсайт</p> +<p lang="ru-RU">Далее мы изменим каркас, чтобы он работал как библиотечный веб-сайт</p> <h2 id="Смотри_также">Смотри также</h2> diff --git a/files/ru/learn/server-side/express_nodejs/tutorial_local_library_website/index.html b/files/ru/learn/server-side/express_nodejs/tutorial_local_library_website/index.html index 66954ba287..6a816405e4 100644 --- a/files/ru/learn/server-side/express_nodejs/tutorial_local_library_website/index.html +++ b/files/ru/learn/server-side/express_nodejs/tutorial_local_library_website/index.html @@ -65,7 +65,7 @@ original_slug: Learn/Server-side/Express_Nodejs/Учебник_сайт_local_li <p><span class="s3gt_translate_tooltip_variant" id="s3gt_translate_tooltip_variant_to_id_0">По мере того, как вы работаете над учебником, мы предоставим вам соответствующие фрагменты кода для копирования и вставки в каждой точке, а также будет другой код, который, мы надеемся, вы расширите самостоятельно (с некоторыми рекомендациями).</span></p> -<p>Если вы застряли, вы можете найти полностью разработанную версию вебсайта <a href="https://github.com/mdn/express-locallibrary-tutorial">на Github</a>.</p> +<p>Если вы застряли, вы можете найти полностью разработанную версию веб-сайта <a href="https://github.com/mdn/express-locallibrary-tutorial">на Github</a>.</p> <h2 id="Резюме">Резюме</h2> diff --git a/files/ru/learn/server-side/first_steps/client-server_overview/index.html b/files/ru/learn/server-side/first_steps/client-server_overview/index.html index 7961d46a24..3d45e8b536 100644 --- a/files/ru/learn/server-side/first_steps/client-server_overview/index.html +++ b/files/ru/learn/server-side/first_steps/client-server_overview/index.html @@ -102,7 +102,7 @@ Cookie: sessionid=6ynxs23n521lu21b1t136rhbv7ezngie; csrftoken=zIPUJsAZv6pcgCBJSC <li>Тип запроса (<code>GET</code>).</li> <li>URL целевого ресурса (<code>/en-US/search</code>).</li> <li>URL-параметры (<code>q=client%2Bserver%2Boverview&topic=apps&topic=html&topic=css&topic=js&topic=api&topic=webdev</code>).</li> - <li>Целевой/хост-вебсайт (developer.mozilla.org).</li> + <li>Целевой/хост-веб-сайт (developer.mozilla.org).</li> <li>Конец первой строки также содержит короткую строку, идентифицирующую версию протокола (<code>HTTP/1.1</code>).</li> </ul> diff --git a/files/ru/learn/server-side/first_steps/index.html b/files/ru/learn/server-side/first_steps/index.html index 91512b5957..4f6b0b78f6 100644 --- a/files/ru/learn/server-side/first_steps/index.html +++ b/files/ru/learn/server-side/first_steps/index.html @@ -35,7 +35,7 @@ translation_of: Learn/Server-side/First_steps <dl> <dt><a href="/ru/docs/Learn/Server-side/First_steps/Introduction">Введение в серверную часть</a></dt> - <dd>Добро пожаловать на курс программирования серверной части MDN для начинающих! В этой первой статье мы посмотрим на программирование серверной части на высоком уровне, отвечая на вопросы такие как: "что это такое?", "чем оно отличается от программирования клиентской части?" и "почему это настолько востребовано?". После прочтения этой статьи вы будуте понимать всю дополнительную мощь, доступную веб-сайтам посредством программирования на стороне сервера.</dd> + <dd>Добро пожаловать на курс программирования серверной части MDN для начинающих! В этой первой статье мы посмотрим на программирование серверной части на высоком уровне, отвечая на вопросы такие как: "что это такое?", "чем оно отличается от программирования клиентской части?" и "почему это настолько востребовано?". После прочтения этой статьи вы будете понимать всю дополнительную мощь, доступную веб-сайтам посредством программирования на стороне сервера.</dd> <dt><a href="/ru/docs/Learn/Server-side/First_steps/Client-Server_overview">Обзор Клиент-Сервера</a></dt> <dd>Теперь, когда вы познакомились с целью и потенциальными преимуществами программирования серверной части, мы собираемся узнать в подробностях, что случится, когда сервер получит "динамический запрос" от браузера. Так как большинство программ серверной части обрабатывает запросы и ответы практически одинаково, это поможет вам понять, что нужно делать при написании собственного кода.</dd> <dt><a href="/ru/docs/Learn/Server-side/First_steps/Web_frameworks">Фреймворки серверной части</a></dt> diff --git a/files/ru/learn/server-side/first_steps/introduction/index.html b/files/ru/learn/server-side/first_steps/introduction/index.html index 967d1157a7..fce539ec4a 100644 --- a/files/ru/learn/server-side/first_steps/introduction/index.html +++ b/files/ru/learn/server-side/first_steps/introduction/index.html @@ -106,10 +106,10 @@ translation_of: Learn/Server-side/First_steps/Introduction <p>Программирование серверной части очень полезно поскольку позволяет <em>эффективно</em> доставлять информацию, составленную для индивидуальных пользователей и, таким образом, создавать намного лучший опыт использования.</p> -<p>Компании, такие как Amazon, используют программирование серверной части для построения исследовательских результатов для товаров, формирования целевого предложения, основанного на предпочтениях клиента и предыдущих покупках, упрощения заказов и т. д. Банки используют программирование серверной части, чтобы хранить учётную информацию и позволять только авторизованным пользователям просматривать и совершать транзакции. Другие сервисы, такие как Facebook, Twitter, Instagram и Wikipedia используют бэкэнд, чтобы выделять, распространять и контролировать доступ к интересному контенту.</p> +<p>Компании, такие как Amazon, используют программирование серверной части для построения исследовательских результатов для товаров, формирования целевого предложения, основанного на предпочтениях клиента и предыдущих покупках, упрощения заказов и т. д. Банки используют программирование серверной части, чтобы хранить учётную информацию и позволять только авторизованным пользователям просматривать и совершать транзакции. Другие сервисы, такие как Facebook, Twitter, Instagram и Wikipedia используют бэкенд, чтобы выделять, распространять и контролировать доступ к интересному контенту.</p> </div> -<p>Некоторые типичные применения и выгоды бэкэнда перечислены ниже. Вы заметите, что есть некоторое пересечение!</p> +<p>Некоторые типичные применения и выгоды бэкенда перечислены ниже. Вы заметите, что есть некоторое пересечение!</p> <h3 id="Эффективное_хранение_и_доставка_информации">Эффективное хранение и доставка информации</h3> @@ -142,7 +142,7 @@ translation_of: Learn/Server-side/First_steps/Introduction <div class="note"> <p><strong>На заметку:</strong> <a href="https://maps.google.com/">Google Maps</a> сохраняет вашу историю поиска и посещений. Часто посещаемые или часто вводимые в поиск локации выделяются больше, чем остальные.</p> -<p>Результаты поиска Google оптимизируются на основе прыдыдущего поиска.</p> +<p>Результаты поиска Google оптимизируются на основе предыдущего поиска.</p> <ol> <li> Перейдите в <a href="https://google.com/">поиск Google</a>.</li> diff --git a/files/ru/learn/server-side/first_steps/web_frameworks/index.html b/files/ru/learn/server-side/first_steps/web_frameworks/index.html index 9be015a4a6..29f5d6330c 100644 --- a/files/ru/learn/server-side/first_steps/web_frameworks/index.html +++ b/files/ru/learn/server-side/first_steps/web_frameworks/index.html @@ -3,7 +3,6 @@ title: Выполняемые на сервере веб-фреймворки slug: Learn/Server-side/First_steps/Web_frameworks tags: - '-фреймворк' - - Ве - Программирование серверной части - Сервер - начальный уровень diff --git a/files/ru/learn/server-side/first_steps/website_security/index.html b/files/ru/learn/server-side/first_steps/website_security/index.html index 95fa361668..514d7490a5 100644 --- a/files/ru/learn/server-side/first_steps/website_security/index.html +++ b/files/ru/learn/server-side/first_steps/website_security/index.html @@ -37,7 +37,7 @@ original_slug: Learn/Server-side/First_steps/Веб_Безопасность <p><strong>Примечание: </strong>Это вводная статья, призванная помочь вам задуматься о безопасности веб-сайта, но она не является исчерпывающей.</p> </div> -<h2 id="Угрозы_бесопасности_сайта">Угрозы бесопасности сайта</h2> +<h2 id="Угрозы_безопасности_сайта">Угрозы безопасности сайта</h2> <p>В этом разделе перечислены лишь некоторые из наиболее распространенных угроз веб-сайта и способы их устранения. Читая, обратите внимание на то, насколько успешны угрозы, когда веб-приложение доверяет, либо <em>недостаточно параноидально</em> относится к данным, поступающим из браузера.</p> @@ -52,7 +52,7 @@ original_slug: Learn/Server-side/First_steps/Веб_Безопасность <p>Уязвимости XSS делятся на <em>отраженные</em> и <em>хранимые</em>, в зависимости от того, как сайт возвращает внедренный код в браузер.</p> <ul> - <li><em>Отраженная </em>XSS-уязвимость возникает, когда пользовательский контент, который передается на сервер, <em>немедленно</em> и <em>без изменений</em> возвращается для отображения в браузере. Любой скрипт в исходном пользовательском контенте запустится при загрузке новой страницы. Например, рассмотрим строку поиска по сайту, в которой поисковые слова закодированы как параметры URL, и эти слова отображаются вместе с результатами. Злоумышленник может создать поисковую ссылку, которая будет содержать вредоносный скрипт в качестве параметра (например: <code>http://mysite.com?q=beer<script%20src="http://evilsite.com/tricky.js"></script></code>) и перслать его другому пользователю по электронной почте. Если целевой пользователь кликнет по этой «интересной ссылке», то скрипт выполнится при отображении результатов поиска. Как мы уже говорили, злоумышленник таким образом получает всю информацию, необходимую ему для входа на сайт в качестве целевого пользователя, потенциального совершения покупок от имени пользователя или получения его контактной информации.</li> + <li><em>Отраженная </em>XSS-уязвимость возникает, когда пользовательский контент, который передается на сервер, <em>немедленно</em> и <em>без изменений</em> возвращается для отображения в браузере. Любой скрипт в исходном пользовательском контенте запустится при загрузке новой страницы. Например, рассмотрим строку поиска по сайту, в которой поисковые слова закодированы как параметры URL, и эти слова отображаются вместе с результатами. Злоумышленник может создать поисковую ссылку, которая будет содержать вредоносный скрипт в качестве параметра (например: <code>http://mysite.com?q=beer<script%20src="http://evilsite.com/tricky.js"></script></code>) и переслать его другому пользователю по электронной почте. Если целевой пользователь кликнет по этой «интересной ссылке», то скрипт выполнится при отображении результатов поиска. Как мы уже говорили, злоумышленник таким образом получает всю информацию, необходимую ему для входа на сайт в качестве целевого пользователя, потенциального совершения покупок от имени пользователя или получения его контактной информации.</li> <li> <p><span class="tlid-translation translation" lang="ru">Постоянная уязвимость XSS возникает, когда вредоносный скрипт хранится на веб-сайте, а затем снова отображается без изменений, чтобы другие пользователи могли выполнять его невольно.<br> Например, доска обсуждений, которая принимает комментарии, содержащие неизмененный HTML, может хранить вредоносный скрипт от злоумышленника. Когда комментарии отображаются, скрипт выполняется и может отправить злоумышленнику информацию, необходимую для доступа к учетной записи пользователя. Атака такого рода чрезвычайно популярна и мощна, потому что злоумышленник может даже не иметь прямого отношения к жертвам.<br> @@ -94,7 +94,7 @@ original_slug: Learn/Server-side/First_steps/Веб_Безопасность </pre> -<p>Веб-фремворки будут часто заботиться о зарезервированных символах для вас. Django, например, гарантирует, что любые пользовательские данные, передаваемые в наборы запросов (модельные запросы), будут экранируются.</p> +<p>Веб-фреймворки будут часто заботиться о зарезервированных символах для вас. Django, например, гарантирует, что любые пользовательские данные, передаваемые в наборы запросов (модельные запросы), будут экранируются.</p> <div class="note"> <p><strong>Примечание: </strong>этот раздел в значительной степени основан на информации из <a href="https://en.wikipedia.org/wiki/SQL_injection">Wikipedia</a>.</p> diff --git a/files/ru/learn/server-side/index.html b/files/ru/learn/server-side/index.html index 306d52ad79..66645f65dd 100644 --- a/files/ru/learn/server-side/index.html +++ b/files/ru/learn/server-side/index.html @@ -18,15 +18,15 @@ translation_of: Learn/Server-side <p class="summary"><strong>Тема<em> Динамические веб-сайты </em></strong>– <em><strong>серверное программирование</strong></em> состоит из ряда модулей, рассматривающих создание динамических веб-сайтов; сайтов, которые доставляют персонализированную информацию в ответ на HTTP запрос. Этот модуль предоставляет общее введение в серверное программирование, наряду со специальными руководствами начального уровня о том, как использовать Django (Python) и Express (Node.js/JavaScript) веб-фреймворки для создания простых приложений.</p> -<p>Подавляющее большинство вебсайтов используют какую-либо из серверных технологий для динамического отображения различных требуемых данных. К примеру, вообразите себе сколь много товаров доступны на Amazon, и представьте как много постов расположено на Facebook? Отображение всех их посредством отдельных статических страниц было бы крайне неэффективно, вместо этого подобные сайты используют шаблоны (созданные из <a href="/ru/docs/Learn/HTML">HTML</a>, <a href="/ru/docs/Learn/CSS">CSS</a>, и <a href="/ru/docs/Learn/JavaScript">JavaScript</a>), и затем динамически обновляют данные, отображаемые внутри этих шаблонов, когда это необходимо , т.е. когда вы хотите увидеть другой товар на Amazon.</p> +<p>Подавляющее большинство веб-сайтов используют какую-либо из серверных технологий для динамического отображения различных требуемых данных. К примеру, вообразите себе сколь много товаров доступны на Amazon, и представьте как много постов расположено на Facebook? Отображение всех их посредством отдельных статических страниц было бы крайне неэффективно, вместо этого подобные сайты используют шаблоны (созданные из <a href="/ru/docs/Learn/HTML">HTML</a>, <a href="/ru/docs/Learn/CSS">CSS</a>, и <a href="/ru/docs/Learn/JavaScript">JavaScript</a>), и затем динамически обновляют данные, отображаемые внутри этих шаблонов, когда это необходимо , т.е. когда вы хотите увидеть другой товар на Amazon.</p> <p>В современном мире веб-разработки крайне рекомендуется изучить разработку на стороне сервера.</p> <h2 id="Программа_обучения">Программа обучения</h2> -<p>Начинать с серверного программировния обычно легче, чем с разработки на стороне клиента, поскольку динамические веб-сайты склонны производить множество однообразных операций (извлекать данные из базы данных и помещать их на странице, подтверждать пользовательский ввод и сохранять его в базе данных, проверять пользовательские права и выполнение входа, и.т.д.) и сконструированы с использованием веб-фреймворков, которые выполняют эти и другие привычные веб-серверу операции с легкостью.</p> +<p>Начинать с серверного программирования обычно легче, чем с разработки на стороне клиента, поскольку динамические веб-сайты склонны производить множество однообразных операций (извлекать данные из базы данных и помещать их на странице, подтверждать пользовательский ввод и сохранять его в базе данных, проверять пользовательские права и выполнение входа, и.т.д.) и сконструированы с использованием веб-фреймворков, которые выполняют эти и другие привычные веб-серверу операции с легкостью.</p> -<p>Общее понимание концепций программирования (или определенного программного языка) будет полезным, но не обязательным. Сходным образом, опыт программирования на клиентской стороне не требуется, но базовое знание поможет вам успешнее взаимодействовать с разработчиками клиентской стороны веб-приложения - "фронтэнда".</p> +<p>Общее понимание концепций программирования (или определенного программного языка) будет полезным, но не обязательным. Сходным образом, опыт программирования на клиентской стороне не требуется, но базовое знание поможет вам успешнее взаимодействовать с разработчиками клиентской стороны веб-приложения - "фронтенда".</p> <p>Вам потребуется понимать "как работает веб". Мы рекомендуем вам сначала ознакомиться с темами:</p> diff --git a/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/index.html b/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/index.html index f85eb11569..411829b839 100644 --- a/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/index.html +++ b/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/index.html @@ -2,19 +2,19 @@ title: Понимание JavaScript-фреймворков для фронтенда slug: Learn/Tools_and_testing/Client-side_JavaScript_frameworks translation_of: Learn/Tools_and_testing/Client-side_JavaScript_frameworks -original_slug: Learn/Tools_and_testing/Фронтенд_JavaScript_фреймворки +original_slug: Learn/Tools_and_testing/Фронтенд_JavaScript_ффреймворки --- <div>{{LearnSidebar}}<br> -JavaScript-ф<span>реймворки </span>являются неотъемлемой частью современной веб-разработки,</div> +JavaScript-ф<span>фреймворки </span>являются неотъемлемой частью современной веб-разработки,</div> <div>предоставляя разработчикам проверенные и протестированные</div> <div>инструменты для создания масштабируемых и интерактивных веб-приложений. Многие</div> -<div>современные компании используют фреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.<br> +<div>современные компании используют ффреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.<br> </div> -<p class="summary">Начинающему разработчику веб-интерфесов, может быть трудно понять, с чего начать изучение фреймворков - их выбор разнообразен, а новые появляются постоянно. В основном же они работают аналогичным образом, но делают некоторые вещи по-разному, также есть некоторые специфичные вещи, которые следует соблюдать при использовании фреймворков.</p> +<p class="summary">Начинающему разработчику веб-интерфейсов, может быть трудно понять, с чего начать изучение фреймворков - их выбор разнообразен, а новые появляются постоянно. В основном же они работают аналогичным образом, но делают некоторые вещи по-разному, также есть некоторые специфичные вещи, которые следует соблюдать при использовании фреймворков.</p> <p class="summary">Этим набором статей мы постараемся дать вам удобную отправную точку, чтобы помочь вам начать изучать основы. Мы не стремимся научить вас всему, что вам нужно знать о React / ReactDOM, или Vue, или какой-то другой конкретной среде; Документация этих фреймворков отлично выполняют эту работу. Вместо этого мы хотим сделать шаг назад и сначала ответить на более фундаментальные вопросы, такие как:</p> @@ -22,13 +22,13 @@ JavaScript-ф<span>реймворки </span>являются неотъемл <li class="summary">Почему я должен использовать фреймворк? Какие проблемы он решит?</li> <li class="summary">Какие вопросы я должен задать себе при выборе определённого фреймворка?<br> Нужен ли мне какой-либо из них вовсе?</li> - <li class="summary">Какими возможностями обладают фреймворки? Как они работают в целом и в чём отличия их имплементаций этих возможностей?</li> + <li class="summary">Какими возможностями обладают ффреймворки? Как они работают в целом и в чём отличия их имплементаций этих возможностей?</li> <li class="summary">Как они связаны с "ванильным" JavaScript, или HTML?</li> </ul> -<p class="summary">После этого мы предоставим некоторые учебные пособия, охватывающие основы некоторых фреймворков, чтобы предоставить вам достаточно контекста, чтобы вы могли начать углубляться в этой теме. Мы хотим, чтобы вы изучали фреймворки прагматично, не забывая о фундаментальных практиках веб-разработки, таких как, например, доступность.</p> +<p class="summary">После этого мы предоставим некоторые учебные пособия, охватывающие основы некоторых фреймворков, чтобы предоставить вам достаточно контекста, чтобы вы могли начать углубляться в этой теме. Мы хотим, чтобы вы изучали ффреймворки прагматично, не забывая о фундаментальных практиках веб-разработки, таких как, например, доступность.</p> -<p class="summary"><strong><a href="/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Introduction">Начните прямо сейчас с "Введение в фронтенд фрейворки"</a></strong></p> +<p class="summary"><strong><a href="/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Introduction">Начните прямо сейчас с "Введение в фронтенд фреймворки"</a></strong></p> <h2 id="Prerequisites">Prerequisites</h2> diff --git a/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/react_getting_started/index.html b/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/react_getting_started/index.html index 710fe7511f..96a5d924ea 100644 --- a/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/react_getting_started/index.html +++ b/files/ru/learn/tools_and_testing/client-side_javascript_frameworks/react_getting_started/index.html @@ -17,7 +17,7 @@ original_slug: Learn/Tools_and_testing/Фронтенд_JavaScript_фреймв <tr> <th scope="row">Что нужно знать:</th> <td> - <p><a href="/en-US/docs/Learn/HTML">HTML</a>, <a href="/en-US/docs/Learn/CSS">CSS</a>, и <a href="/en-US/docs/Learn/JavaScript">JavaScript</a>, быть знакомым с <a href="/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line">терминалом/коммандной строкой</a>.</p> + <p><a href="/en-US/docs/Learn/HTML">HTML</a>, <a href="/en-US/docs/Learn/CSS">CSS</a>, и <a href="/en-US/docs/Learn/JavaScript">JavaScript</a>, быть знакомым с <a href="/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line">терминалом/командной строкой</a>.</p> <p>React использует синтаксис HTML-in-JavaScript под названием JSX (JavaScript и XML). Знание HTML и JavaScript поможет вам изучить JSX и лучше определить, связаны ли ошибки в вашем приложении с JavaScript или с более специфической областью React.</p> </td> diff --git a/files/ru/learn/tools_and_testing/cross_browser_testing/feature_detection/index.html b/files/ru/learn/tools_and_testing/cross_browser_testing/feature_detection/index.html index 8ddb3ea207..54632e2233 100644 --- a/files/ru/learn/tools_and_testing/cross_browser_testing/feature_detection/index.html +++ b/files/ru/learn/tools_and_testing/cross_browser_testing/feature_detection/index.html @@ -26,7 +26,7 @@ translation_of: Learn/Tools_and_testing/Cross_browser_testing/Feature_detection <p>Идея обнаружения функции заключается в том, что вы можете запустить тест, чтобы определить, поддерживается ли функция в текущем браузере, а затем условно запустить код, чтобы обеспечить приемлемый опыт как в браузерах, которые поддерживают функцию, так и в браузере, который не поддерживает. Если вы этого не сделаете, браузеры, которые не поддерживают функции, которые вы используете в своем коде, не будут отображать ваши сайты должным образом и просто не сработают, создавая плохой опыт пользователя.</p> -<p>Давайте подведем итоги и посмотрим на пример, который мы затронули в нашем документе <a href="/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript#Feature_detection">Решение самых распространненых проблем JavaScript</a>— <a href="/en-US/docs/Web/API/Geolocation/Using_geolocation">Использование геолокации</a> (который предоставляет доступные данные о местоположении для устройства, на котором работает веб-браузер) есть основная точка входа для его использования, свойство <code>geolocation,</code> доступное на глобальном объекте <a href="/en-US/docs/Web/API/Navigator">Navigator</a>. Следовательно, вы можете определить, поддерживает ли браузер геолокацию или нет, используя что-то вроде следующего:</p> +<p>Давайте подведем итоги и посмотрим на пример, который мы затронули в нашем документе <a href="/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript#Feature_detection">Решение самых распространенных проблем JavaScript</a>— <a href="/en-US/docs/Web/API/Geolocation/Using_geolocation">Использование геолокации</a> (который предоставляет доступные данные о местоположении для устройства, на котором работает веб-браузер) есть основная точка входа для его использования, свойство <code>geolocation,</code> доступное на глобальном объекте <a href="/en-US/docs/Web/API/Navigator">Navigator</a>. Следовательно, вы можете определить, поддерживает ли браузер геолокацию или нет, используя что-то вроде следующего:</p> <pre class="language-js"><span class="keyword token">if </span><span class="punctuation token">(</span><span class="string token">"geolocation"</span> <span class="keyword token">in</span> navigator<span class="punctuation token">)</span> <span class="punctuation token">{</span> navigator<span class="punctuation token">.</span>geolocation<span class="punctuation token">.</span><span class="function token">getCurrentPosition</span><span class="punctuation token">(</span><span class="keyword token">function</span><span class="punctuation token">(</span>position<span class="punctuation token">)</span> <span class="punctuation token">{</span> diff --git a/files/ru/learn/tools_and_testing/cross_browser_testing/introduction/index.html b/files/ru/learn/tools_and_testing/cross_browser_testing/introduction/index.html index 96d31f156c..6057b46650 100644 --- a/files/ru/learn/tools_and_testing/cross_browser_testing/introduction/index.html +++ b/files/ru/learn/tools_and_testing/cross_browser_testing/introduction/index.html @@ -40,11 +40,11 @@ translation_of: Learn/Tools_and_testing/Cross_browser_testing/Introduction <p><strong>Примечание</strong>: Статья <a href="https://hacks.mozilla.org/2016/07/make-the-web-work-for-everyone/">сделаем веб доступным для всех</a> предоставляет более полезную информацию о различных браузерах, которые используют люди, их доле рынка и связанных с этим проблемах совместимости браузеров.</p> </div> -<p>Мы должны поговорить немного о терминологии. Для начала, когда мы говорим о сайтах, "работающих кросс-браузерно", на самом деле мы говорим о том, что они должны обеспечивать приемлимое удобство использования в разных браузерах. Это нормально, если сайт выглядит немного по-разному в разных браузерах, главное он должен обеспечивать полную функциональность.В современных браузерах вы можете сделать что-то анимированным или использовать 3D, тогда как в старых браузерах вы можете лишь показать плоскую картинку, предоставляющую ту же информацию. Если владелец сайта доволен, вы сделали свое дело.</p> +<p>Мы должны поговорить немного о терминологии. Для начала, когда мы говорим о сайтах, "работающих кросс-браузерной", на самом деле мы говорим о том, что они должны обеспечивать приемлемое удобство использования в разных браузерах. Это нормально, если сайт выглядит немного по-разному в разных браузерах, главное он должен обеспечивать полную функциональность.В современных браузерах вы можете сделать что-то анимированным или использовать 3D, тогда как в старых браузерах вы можете лишь показать плоскую картинку, предоставляющую ту же информацию. Если владелец сайта доволен, вы сделали свое дело.</p> <p>С другой стороны, плохо, когда сайт полноценно работает для обычных людей, но может быть совершенно недоступен для людей, имеющих проблемы со зрением, т.к. их приложения для чтения экрана не могут распознать информацию на сайте.</p> -<p>Когда мы говорим "приемлимое количество браузеров", мы не говорим, что это должно быть 100% всех браузеров в мире — это почти невозможно. Вы можете собрать информацию о том, какими браузеры и устройства используют ваши пользователи (это мы обсудим во второй статье — см. <a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Testing_strategies#Gotta_test_%27em_all">Gotta test 'em all?</a>), но это ничего не гарантирует. Как веб-разработчик, вы должны определить для себя несколько браузеров и устройств, на которых код должен работать полностью, но кроме этого, вы должны писать код так, чтобы и другие браузеры были способны максимально использовать ваш сайт (defensive coding). Это одна из самых больших проблем веб-разработки.</p> +<p>Когда мы говорим "приемлемое количество браузеров", мы не говорим, что это должно быть 100% всех браузеров в мире — это почти невозможно. Вы можете собрать информацию о том, какими браузеры и устройства используют ваши пользователи (это мы обсудим во второй статье — см. <a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Testing_strategies#Gotta_test_%27em_all">Gotta test 'em all?</a>), но это ничего не гарантирует. Как веб-разработчик, вы должны определить для себя несколько браузеров и устройств, на которых код должен работать полностью, но кроме этого, вы должны писать код так, чтобы и другие браузеры были способны максимально использовать ваш сайт (defensive coding). Это одна из самых больших проблем веб-разработки.</p> <div class="note"> <p><strong>Примечание</strong>: Мы разберем defensive coding позже в этом модуле.</p> @@ -52,7 +52,7 @@ translation_of: Learn/Tools_and_testing/Cross_browser_testing/Introduction <h2 id="Почему_возникают_кросс-браузерные_проблемы">Почему возникают кросс-браузерные проблемы?</h2> -<p>Есть множество причин, почему возникают кросс-браузерные проблемы, и, заметьте, что сейчас мы говорим о проблемах, при которых некоторые вещи ведут себя по-разномув разных браузерах / устройствах / настройках просмотра. Прежде чем вы столкнетесь с проблемами браузера, вы должны исправить все ошибки в коде (см. <a href="/ru/docs/Learn/HTML/Введение_в_HTML/Debugging_HTML">Отладка HTML</a>, <a href="/ru/docs/Learn/CSS/Introduction_to_CSS/Отладка_CSS">Отладка CSS</a>, and <a href="/ru/docs/Learn/JavaScript/Первые_шаги/Что_пошло_не_так">Что пошло не так? Устранение ошибок JavaScript</a> из предыдущего раздела).</p> +<p>Есть множество причин, почему возникают кросс-браузерные проблемы, и, заметьте, что сейчас мы говорим о проблемах, при которых некоторые вещи ведут себя по-разному в разных браузерах / устройствах / настройках просмотра. Прежде чем вы столкнетесь с проблемами браузера, вы должны исправить все ошибки в коде (см. <a href="/ru/docs/Learn/HTML/Введение_в_HTML/Debugging_HTML">Отладка HTML</a>, <a href="/ru/docs/Learn/CSS/Introduction_to_CSS/Отладка_CSS">Отладка CSS</a>, and <a href="/ru/docs/Learn/JavaScript/Первые_шаги/Что_пошло_не_так">Что пошло не так? Устранение ошибок JavaScript</a> из предыдущего раздела).</p> <p>Кросс-браузерные проблемы возникают потому-что:</p> diff --git a/files/ru/learn/tools_and_testing/github/index.html b/files/ru/learn/tools_and_testing/github/index.html index addc19507d..acd5dc38c3 100644 --- a/files/ru/learn/tools_and_testing/github/index.html +++ b/files/ru/learn/tools_and_testing/github/index.html @@ -12,7 +12,7 @@ original_slug: Learn/Tools_and_testing/ГитХаб <p class="summary">Все разработчики используют ту или иную <strong>систему контроля версий (СКВ, VCS)</strong>, инструмент, позволяющий им взаимодействовать с другими разработчиками на проекте без угрозы того, что кто-то перезапишет чужую работу, а также вернуться к предыдущим версиям кода при обнаружении проблем позднее.</p> -<p class="summary">Самая популярная СКВ (по крайней мере, среди веб-разработчиков) являюся <strong>Гит (Git)</strong>, а также <strong>ГитХаб (GItHub) </strong>- сайт, обеспечивающий размещение ваших репозиториев и включащий инструменты для работы с ними. Цели этого модуля - дать вам необходимые знания о каждой из упомянутых СКВ.</p> +<p class="summary">Самая популярная СКВ (по крайней мере, среди веб-разработчиков) являются <strong>Гит (Git)</strong>, а также <strong>ГитХаб (GItHub) </strong>- сайт, обеспечивающий размещение ваших репозиториев и включающий инструменты для работы с ними. Цели этого модуля - дать вам необходимые знания о каждой из упомянутых СКВ.</p> <h2 id="Обзор">Обзор</h2> @@ -20,15 +20,15 @@ original_slug: Learn/Tools_and_testing/ГитХаб <ul> <li>Редко, когда вы работаете с проектом полностью самостоятельно. Как только вы начинаете работать с другими людьми, возникает риск конфликта. Речь идет о ситуации, когда несколько человек пытается в одно и то же время обновить одну и ту же часть кода. Нужен определенный механизм, позволяющий управлять событиями и тем самым избежать потери результатов общей работы.</li> - <li>Работая с проектому в одиночку или с другими, вы захотите иметь возможность иметь резервную копию кода на случай поломки вашего компьютера.</li> + <li>Работая с проектом в одиночку или с другими, вы захотите иметь возможность иметь резервную копию кода на случай поломки вашего компьютера.</li> <li>Также у вас может возникнуть необходимость откатить изменения к более ранним версиям, если проблема обнаружена позднее. Конечно, это начать делать самостоятельно, сохраняя различные версии одного и того же файла, например <code>myCode.js</code>, <code>myCode_v2.js</code>, <code>myCode_v3.js</code>, <code>myCode_final.js</code>, <code>myCode_really_really_final.js</code>, и так далее, но это на самом деле ненадежный и порождающий ошибки способ.</li> - <li>Различные члены команды могут захотеть создать собственные версии кода (в Гит такие версии именуются <strong>ветками</strong>), работать над новой фичей в этой версии, а затем контролируемо объединить эту версию (в ГитХабе используются <strong>пул реквесты</strong> - запросы на принятие изменений) с главной версией.</li> + <li>Различные члены команды могут захотеть создать собственные версии кода (в Гит такие версии именуются <strong>ветками</strong>), работать над новой фичей в этой версии, а затем контролируемо объединить эту версию (в ГитХабе используются <strong>пул реквизиты</strong> - запросы на принятие изменений) с главной версией.</li> </ul> <p>СКВ обеспечивают инструменты для решения всех вышеуказанных задач. <a href="https://git-scm.com/">Гит</a> является примером СКВ, а <a href="https://github.com/">ГитХаб</a> - это сайт, обеспечивающий веб-интерфейс для работы с гит, а также множество полезных инструментов для работы с гит-репозиториями лично или в командах, такие как фиксация проблем с кодом, инструменты для проверки кода, инструменты для управления созданием продукта, например назначение задач и их статусов, и т.д.</p> <div class="blockIndicator note"> -<p><strong>Важно</strong>: ГИТ на самом деле - распределенная система контроля версий, это значит что полная копия репозитория, содержащая всю кодовую базу сохраняется на твой компьютер (и кого-либо еще). Ты вносишь изменения в свою копию и затем отправляешь эти изменения обратно на сервер, на котором администратор решит соединять ли твои измеения с оригиналом. </p> +<p><strong>Важно</strong>: ГИТ на самом деле - распределенная система контроля версий, это значит что полная копия репозитория, содержащая всю кодовую базу сохраняется на твой компьютер (и кого-либо еще). Ты вносишь изменения в свою копию и затем отправляешь эти изменения обратно на сервер, на котором администратор решит соединять ли твои изменения с оригиналом. </p> </div> <h2 id="Подготовка">Подготовка</h2> @@ -37,16 +37,16 @@ original_slug: Learn/Tools_and_testing/ГитХаб <ul> <li>Компьютер с установленной версией Git (посмотри <a href="https://git-scm.com/downloads">страницу загрузки Git</a>).</li> - <li>Приложения для работы с Git. В зависимости от того как ты предпочитаешь работать, можешь использовать <a href="https://git-scm.com/downloads/guis/">Git-кленты с графическим интерфейсом</a> (мы рекомендуем GitHub Desktop, SourceTree или Git Kraken) или просто продолжай использовать окно терминала. Если честно, будет весьма полезно для тебя узнать основы использования git-команд в терминале, даже если ты собираешься работать через графический интерфейс.</li> + <li>Приложения для работы с Git. В зависимости от того как ты предпочитаешь работать, можешь использовать <a href="https://git-scm.com/downloads/guis/">Git-клиенты с графическим интерфейсом</a> (мы рекомендуем GitHub Desktop, SourceTree или Git Kraken) или просто продолжай использовать окно терминала. Если честно, будет весьма полезно для тебя узнать основы использования git-команд в терминале, даже если ты собираешься работать через графический интерфейс.</li> <li><a href="https://github.com/join">Аккаунт на GitHub</a>. Если у тебя еще его нет, зарегистрируйся сейчас по указанной ссылке.</li> </ul> -<p>Что касается предварительных знаний, вам не нужно разбираться в веб-разработке, Git / GitHub или VCS, чтобы приступить к этому модулю. Тем не менее, рекомендуется, чтобы вы разбирались в состоавлении кода, могли его писать и читать, а также сохранили пару строчек кода в своих репозиториях!</p> +<p>Что касается предварительных знаний, вам не нужно разбираться в веб-разработке, Git / GitHub или VCS, чтобы приступить к этому модулю. Тем не менее, рекомендуется, чтобы вы разбирались в составлении кода, могли его писать и читать, а также сохранили пару строчек кода в своих репозиториях!</p> <p>Также желательно, чтобы у вас были некоторые базовые знания о терминале, например, перемещение между каталогами, создание файлов и изменение системного <code>PATH</code>.</p> <div class="blockIndicator note"> -<p><strong>Важно</strong>: Github не единственный сайт / инструментарий который ты можешь использовать с Git. Есть и альтернативы, такие как <a href="https://about.gitlab.com/">GitLab</a>, которые ты можешь попробовать, а также ты моежшь попробовать настроить свой собственный сервер Git и использовать вместо GitHub. Мы в этом курсе останвились на GitHub, чтобы показать один из рабочих способов.</p> +<p><strong>Важно</strong>: Github не единственный сайт / инструментарий который ты можешь использовать с Git. Есть и альтернативы, такие как <a href="https://about.gitlab.com/">GitLab</a>, которые ты можешь попробовать, а также ты можешь попробовать настроить свой собственный сервер Git и использовать вместо GitHub. Мы в этом курсе остановились на GitHub, чтобы показать один из рабочих способов.</p> </div> <h2 id="Guides">Guides</h2> diff --git a/files/ru/mdn/at_ten/index.html b/files/ru/mdn/at_ten/index.html index afa83467a3..613db46ab5 100644 --- a/files/ru/mdn/at_ten/index.html +++ b/files/ru/mdn/at_ten/index.html @@ -17,7 +17,7 @@ original_slug: MDN_at_ten <p><a class="learnmore" href="/en-US/docs/MDN_at_ten/History_of_MDN">Узнать больше<span class="offscreen">about the history</span></a></p> -<h2 id="Участвие_в_MDN">Участвие в MDN</h2> +<h2 id="Участие_в_MDN">Участие в MDN</h2> <p>В течение десяти лет сообщество MDN создавала документацию для открытого Web'а. От исправления простых опечаток до написания целых сайтов и совершенно новых API. Каждому есть что предложить, и этот вклад не является слишком большим или слишком маленьким. У нас есть более 90 000 страниц контента, которые были написаны или переведены членами нашего выдающегося сообщества Mozillians. Вы можете стать одним из них.</p> diff --git a/files/ru/mdn/contribute/getting_started/index.html b/files/ru/mdn/contribute/getting_started/index.html index 7cb1c116de..24ee690e17 100644 --- a/files/ru/mdn/contribute/getting_started/index.html +++ b/files/ru/mdn/contribute/getting_started/index.html @@ -91,7 +91,7 @@ translation_of: MDN/Contribute/Getting_started <h3 id="Вариант_5_Я_нашел_ошибки_но_не_знаю_как_их_исправить">Вариант 5: Я нашел ошибки, но не знаю, как их исправить</h3> -<p>Вы можете сообщить <a class="external" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla%20Developer%20Network">нам о найденых ошибках</a>. (5 минут)</p> +<p>Вы можете сообщить <a class="external" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla%20Developer%20Network">нам о найденных ошибках</a>. (5 минут)</p> <p>Используйте следующие данные при отправке:</p> diff --git a/files/ru/mdn/contribute/howto/create_an_interactive_exercise_to_help_learning_the_web/index.html b/files/ru/mdn/contribute/howto/create_an_interactive_exercise_to_help_learning_the_web/index.html index 2ae7444791..356f1f7af0 100644 --- a/files/ru/mdn/contribute/howto/create_an_interactive_exercise_to_help_learning_the_web/index.html +++ b/files/ru/mdn/contribute/howto/create_an_interactive_exercise_to_help_learning_the_web/index.html @@ -13,7 +13,7 @@ original_slug: >- <p>Нет прямого способа для создания такого контента. Например существует много сторонних инструментов которые помогут в создании живых примеров (см: <a href="https://jsfiddle.net/" rel="external">JSFiddle</a>, <a href="https://codepen.io/">CodePen</a>, <a href="http://dabblet.com/">Dabblet</a>, и т.д.) которые вы можете ссылаться из MDN статей. Если вы хотите создать более продвинутые упражнения, то можете воспользоваться <a href="https://thimble.mozilla.org" rel="external">Thimble</a> из проекта WebMaker.</p> -<p>На данный момент MDN не имеет лёгкого инструмента для пометки автора такого контента. Однако, если вы являетесь программистом, то можете возпользоваться текущими MDN функциями для создания своего активного обучающего контента. Читайте далее для того чтобы узнать как это сделать.</p> +<p>На данный момент MDN не имеет лёгкого инструмента для пометки автора такого контента. Однако, если вы являетесь программистом, то можете воспользоваться текущими MDN функциями для создания своего активного обучающего контента. Читайте далее для того чтобы узнать как это сделать.</p> <h2 id="MDN_live_samples">MDN live samples</h2> diff --git a/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html b/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html index eb06e1c506..e2e0d88104 100644 --- a/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html +++ b/files/ru/mdn/contribute/howto/create_and_edit_pages/index.html @@ -21,7 +21,7 @@ original_slug: MDN/Contribute/Creating_and_editing_pages <ol> <li>Кликните на кнопку <strong>Редактировать</strong> в правом верхнем углу страницы.</li> <li>Затем страница перезагрузится, и вы увидите редактор, в котором можно добавлять или удалять информацию напрямую.</li> - <li>Добавляйте параграфы, удаляйте текст, вставляйте заголовки и используйте другие основные фунцкии, которые нужны для написания и редактирования.</li> + <li>Добавляйте параграфы, удаляйте текст, вставляйте заголовки и используйте другие основные функции, которые нужны для написания и редактирования.</li> </ol> <p>Смотрите руководства <a href="/ru/docs/MDN/Contribute/Editor/Basics">Редактор UI элементов</a> в <a href="/ru/docs/MDN/Contribute/Editor">Руководстве по MDN редактору</a>, чтобы получить больше информации об использовании встроенных <strong>MDN </strong>редакторах.</p> @@ -102,8 +102,8 @@ original_slug: MDN/Contribute/Creating_and_editing_pages <p>Чтобы создать отсутствующую страницу:</p> <ol> - <li>Войдите в MDN аккаунт с правами на создание страниц. Если вы не зайдёте, тогда при переходе на ссылку на отсутсвующую страницу будет выводиться ошибка 404 (страница не найдена).</li> - <li>Кликните на ссылку на отсутсвующую страницу. Если у вас есть соответсвующие права, тогда перед вами откроется <a href="/ru/docs/MDN/Contribute/Editor">MDN Редактор (Editor) UI</a> для создания страницы.</li> + <li>Войдите в MDN аккаунт с правами на создание страниц. Если вы не зайдёте, тогда при переходе на ссылку на отсутствующую страницу будет выводиться ошибка 404 (страница не найдена).</li> + <li>Кликните на ссылку на отсутствующую страницу. Если у вас есть соответствующие права, тогда перед вами откроется <a href="/ru/docs/MDN/Contribute/Editor">MDN Редактор (Editor) UI</a> для создания страницы.</li> <li>Напишите содержание страницы и сохраните её.</li> </ol> @@ -172,7 +172,7 @@ original_slug: MDN/Contribute/Creating_and_editing_pages <ul> <li>Чтобы вручную обновить страницу перезагрузите свой браузер. MDN заметит эту перестройку страницы и обновит выходные данные макроса и интегрированный контент на странице.</li> - <li>Вы также можете настроить страницы на автоматическое переодическое обновление. Это не стоит делать, если вы собираетесь обновлять страницу часто. Смотрите <a href="en-US/docs/MDN/Contribute/Tools/Page_regeneration">Регенерация страниц</a> для более детальной информации.</li> + <li>Вы также можете настроить страницы на автоматическое периодическое обновление. Это не стоит делать, если вы собираетесь обновлять страницу часто. Смотрите <a href="en-US/docs/MDN/Contribute/Tools/Page_regeneration">Регенерация страниц</a> для более детальной информации.</li> </ul> <h2 id="См._также">См. также</h2> diff --git a/files/ru/mdn/contribute/howto/write_a_new_entry_in_the_glossary/index.html b/files/ru/mdn/contribute/howto/write_a_new_entry_in_the_glossary/index.html index a695bb3e97..90cd9d2f3c 100644 --- a/files/ru/mdn/contribute/howto/write_a_new_entry_in_the_glossary/index.html +++ b/files/ru/mdn/contribute/howto/write_a_new_entry_in_the_glossary/index.html @@ -137,7 +137,7 @@ translation_of: MDN/Contribute/Howto/Write_a_new_entry_in_the_Glossary <h3 id="Рекомендации_по_использованию_макроса">Рекомендации по использованию макроса</h3> -<p>Во многих случаях совершенно безопасно использовать макрос на MDN. Однако, есть несколько случаев, когда нужно использовать его с острожностью:</p> +<p>Во многих случаях совершенно безопасно использовать макрос на MDN. Однако, есть несколько случаев, когда нужно использовать его с осторожностью:</p> <ul> <li>Если видите уже существующую (правильную, уместную) ссылку на какую-либо статью MDN, <strong>не редактируйте её с помощью макроса. </strong>Иными словами, не меняйте уже существующую ссылку на глоссарий-ссылку.</li> diff --git a/files/ru/mdn/index.html b/files/ru/mdn/index.html index b158493596..e7b9af6315 100644 --- a/files/ru/mdn/index.html +++ b/files/ru/mdn/index.html @@ -8,7 +8,7 @@ translation_of: MDN --- <div>{{MDNSidebar}}</div> -<p><strong>Сеть Разработчиков Mozilla</strong> (Mozilla Developer Network или MDN) — это вики, в которой мы описываем Открытый Интернет, технологии Mozilla, Firefox OS и другие темы, посвящённые веб-разработке. Любой желающий может добавить или отредактировать содержимое вики. Совсем не обязательно быть програмистом или знать в совершенстве описываемые технологии; есть множество разных задач, не требующих особых знаний или умений, от простых (чтение с подтверждением о соотвествии материала и исправление опечаток) до сложных (написание документации к API).</p> +<p><strong>Сеть Разработчиков Mozilla</strong> (Mozilla Developer Network или MDN) — это вики, в которой мы описываем Открытый Интернет, технологии Mozilla, Firefox OS и другие темы, посвящённые веб-разработке. Любой желающий может добавить или отредактировать содержимое вики. Совсем не обязательно быть программистом или знать в совершенстве описываемые технологии; есть множество разных задач, не требующих особых знаний или умений, от простых (чтение с подтверждением о соответствии материала и исправление опечаток) до сложных (написание документации к API).</p> <div class="summary"> <p>Цель проекта MDN — задокументировать Открытый Интернет, технологии и проекты Mozilla. Мы приглашаем вас помочь нам!</p> diff --git a/files/ru/mdn/tools/kumascript/troubleshooting/index.html b/files/ru/mdn/tools/kumascript/troubleshooting/index.html index 0e0b91324b..a540adf81a 100644 --- a/files/ru/mdn/tools/kumascript/troubleshooting/index.html +++ b/files/ru/mdn/tools/kumascript/troubleshooting/index.html @@ -14,7 +14,7 @@ original_slug: MDN/Kuma/Troubleshooting_KumaScript_errors --- <div>{{MDNSidebar}}</div> -<p>Oшибки <a href="/ru/docs/MDN/Kuma/Introduction_to_KumaScript">KumaScript</a>, появляющиеся на странице, могут быть очень неудобными для читателей, из-за больших страшных красных ящиков, но, к счастью, любой человек с учетной записью MDN может отредактировать документ, чтобы исправить эту ошибку. При возникновении ошибки страница добавляется в список <a href="/ru/docs/with-errors">документов с ошибками</a>. Редакторы сайта регулярно просматривают этот список, чтобы находить и исправлять ошибки. В этой статье подробно описываются четыре типа ошибок KumaScript и некоторые шаги, которые можно предпринять для их исправления.</p> +<p>Ошибки <a href="/ru/docs/MDN/Kuma/Introduction_to_KumaScript">KumaScript</a>, появляющиеся на странице, могут быть очень неудобными для читателей, из-за больших страшных красных ящиков, но, к счастью, любой человек с учетной записью MDN может отредактировать документ, чтобы исправить эту ошибку. При возникновении ошибки страница добавляется в список <a href="/ru/docs/with-errors">документов с ошибками</a>. Редакторы сайта регулярно просматривают этот список, чтобы находить и исправлять ошибки. В этой статье подробно описываются четыре типа ошибок KumaScript и некоторые шаги, которые можно предпринять для их исправления.</p> <h2 id="DocumentParsingError">DocumentParsingError</h2> diff --git a/files/ru/mdn/tools/unsupported_get_api/index.html b/files/ru/mdn/tools/unsupported_get_api/index.html index 7aab6b7657..e76c34712b 100644 --- a/files/ru/mdn/tools/unsupported_get_api/index.html +++ b/files/ru/mdn/tools/unsupported_get_api/index.html @@ -58,7 +58,7 @@ original_slug: MDN/Tools/URL-suffix </dd> <dt><code>expand</code></dt> <dd> - <p><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>В сочетании с представлением <code>$children</code> расширяет ответ JSON с подробной информацией для каждой подстраницы.</span></span> <span class="ChMk0b JLqJ4b"><span>Он работает как комбинация <code>$children</code> и <code>$json</code> на каждой подстранице.</span></span> <span class="ChMk0b JLqJ4b"><span>Таким образом, можно узнать о тегах для подстраницы.</span></span></span></p> + <p><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>В сочетании с представлением <code>$children</code> расширяет ответ JSON с подробной информацией для каждой подстраницы.</span></span> <span class="ChMk0b JLqJ4b"><span>Он работает как комбинация <code>$children</code> и <code>$json</code> на каждой подстранице.</span></span> <span class="ChMk0b JLqJ4b"><span>Таким образом, мможно узнать о тегах для подстраницы.</span></span></span></p> <p><strong>Пример:</strong> <a href="/ru/docs/MDN/About$children?expand">https://wiki.developer.mozilla.org/ru/docs/MDN/About$children?expand</a></p> </dd> @@ -81,7 +81,7 @@ original_slug: MDN/Tools/URL-suffix <dd><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Говорит Kuma перечислить дочерние темы страницы в JSON.</span></span> <span class="ChMk0b JLqJ4b"><span>Этот объект по сути тот же, что и при использовании подпрограммы KumaScript</span></span></span> <code>pages.subpages()</code>.</dd> <dd><strong>Пример:</strong> <a href="/ru/docs/MDN/Contribute$children">https://wiki.developer.mozilla.org/ru/docs/MDN/Contribute$children</a></dd> <dd> - <div class="J0lOec"><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>(<code>М</code>ожно использовать с параметром <code>?expand</code> для получения более подробного ответа.)</span></span></span></div> + <div class="J0lOec"><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>(<code>М</code>можно использовать с параметром <code>?expand</code> для получения более подробного ответа.)</span></span></span></div> </dd> <dt><code>$compare</code></dt> <dd> @@ -92,7 +92,7 @@ original_slug: MDN/Tools/URL-suffix <dd><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Редактирует текущую ревизию данного документа вместо его отображения.</span></span></span></dd> <dd><strong>Пример:</strong> <a href="/ru/docs/MDN/Tools/URL-suffix$edit">https://wiki.developer.mozilla.org/ru/docs/MDN/Tools/URL-suffix$edit</a></dd> <dt><code>$history</code></dt> - <dd><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Показывает историю последних десяти ревизий данного документа вместо его содержимого.</span></span> <span class="ChMk0b JLqJ4b"><span>Полную историю можно запросить с помощью значения параметра запроса <code>?limit=all</code>.</span></span></span></dd> + <dd><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Показывает историю последних десяти ревизий данного документа вместо его содержимого.</span></span> <span class="ChMk0b JLqJ4b"><span>Полную историю мможно запросить с помощью значения параметра запроса <code>?limit=all</code>.</span></span></span></dd> <dd><strong>Пример:</strong> <a href="/ru/docs/MDN/Tools/URL-suffix$history?limit=all">https://wiki.developer.mozilla.org/ru/docs/MDN/Tools/URL-suffix$history?limit=all</a></dd> <dt><code>$revision</code></dt> <dd><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Отображает номер ревизии документа, который необходимо указать после разделителя «/».</span></span></span></dd> diff --git a/files/ru/mozilla/add-ons/index.html b/files/ru/mozilla/add-ons/index.html index 067c5699bd..817ed815ee 100644 --- a/files/ru/mozilla/add-ons/index.html +++ b/files/ru/mozilla/add-ons/index.html @@ -19,7 +19,7 @@ translation_of: Mozilla/Add-ons <hr> <h2 id="Расширения"><a name="Extensions">Расширения</a></h2> -<p>Расширения добавляют новые функции к приложениям Mozilla, например таким как Firefox и Thunderbird. С их помощью можно изменить стандарное поведение браузера, например реализовать другой способ организации и управления вкладками. Можно даже изменять содержимое отображаемого веб приложения, чтобы улучшить удобство использования или например повысить безопасность определенных сайтов.</p> +<p>Расширения добавляют новые функции к приложениям Mozilla, например таким как Firefox и Thunderbird. С их помощью можно изменить стандартное поведение браузера, например реализовать другой способ организации и управления вкладками. Можно даже изменять содержимое отображаемого веб приложения, чтобы улучшить удобство использования или например повысить безопасность определенных сайтов.</p> <p>Существует 3 различных способа сборки расширений: restartless-расширения на основе Add-on SDK, restartless-расширения с реализацией этого механизма вручную (manually bootstrapped restartless extensions), и расширения с использованием технологии Overlay.</p> diff --git a/files/ru/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.html b/files/ru/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.html index 3ca9e8bae6..cad5651a81 100644 --- a/files/ru/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.html +++ b/files/ru/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.html @@ -49,7 +49,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension <p><span class="notranslate">Вы можете указать несколько фоновых сценариев: если вы это сделаете, они выполняются в том же контексте, как и несколько сценариев, загруженных на одной веб-странице.</span></p> -<p>Вместо указания <span class="notranslate">несколько фоновых сценариев</span> выможете указать фоновую страницу, которая так же преимущества поддержки ES6 модулей:</p> +<p>Вместо указания <span class="notranslate">несколько фоновых сценариев</span> вы можете указать фоновую страницу, которая так же преимущества поддержки ES6 модулей:</p> <p style="margin-bottom: 0em;"><strong>manifest.json</strong></p> @@ -87,7 +87,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension <p>Фоновые скрипты не получают прямого доступа к веб-страницам. Однако они могут загружать <a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">скрипты содержимого</a> на веб-страницы и <a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communicating_with_background_scripts">взаимодействовать с этими скриптами с помощью API передачи сообщений</a>.</p> -<h4 id="Политика_безопастности_содержимого">Политика безопастности содержимого</h4> +<h4 id="Политика_безопасности_содержимого">Политика безопасности содержимого</h4> <p>Фоновые скрипты ограничены в выполнении потенциально опасных операций, таких как <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval">eval()</a></code>, через политику безопасности содержимого. Подробнее см. <a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy">Content Security Policy</a>.</p> @@ -96,7 +96,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension <p>Ваше расширение может иметь разнообразные компоненты интерфейса, определённые в HTML документах:</p> <ul> - <li><font color="#0b0116"><a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/user_interface/Sidebars">Боковая панель (sidebar</a></font>) - это панель, отображаемая в окне браузера с левой строны, рядом с веб-страницей</li> + <li><font color="#0b0116"><a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/user_interface/Sidebars">Боковая панель (sidebar</a></font>) - это панель, отображаемая в окне браузера с левой стороны, рядом с веб-страницей</li> <li><a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/user_interface/Popups">Всплывающие окна (popup</a>) - диалоговое окно, отображаемое по клику на <a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_action">кнопке</a> на <a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_action">панели инструментов</a> или в адресной строке</li> <li><a href="https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/user_interface/Options_pages">Страница настроек</a> открывается, когда пользователь обращается к настройкам расширения на странице менеджера расширений.</li> </ul> diff --git a/files/ru/mozilla/add-ons/webextensions/api/index.html b/files/ru/mozilla/add-ons/webextensions/api/index.html index 6fcf34ce28..d4f312ea2e 100644 --- a/files/ru/mozilla/add-ons/webextensions/api/index.html +++ b/files/ru/mozilla/add-ons/webextensions/api/index.html @@ -43,7 +43,7 @@ setCookie.then(logCookie, logError);</pre> <p>Для поддержки портирования, реализация Firefox WebExtensions API так же поддерживает пространство имён <code>chrome</code> и использование колбэков. Это позволяет в большинстве случаев не изменять код, изначально написанный для Chrome.</p> -<p>Mozilla так же предоставляет полифилл, который позволяет коду, использующему <code>browser</code> и промисы, работать без изменений в Chrome: <a class="external external-icon" href="https://github.com/mozilla/webextension-polyfill">https://github.com/mozilla/webextension-polyfill</a>.</p> +<p>Mozilla так же предоставляет полифил, который позволяет коду, использующему <code>browser</code> и промисы, работать без изменений в Chrome: <a class="external external-icon" href="https://github.com/mozilla/webextension-polyfill">https://github.com/mozilla/webextension-polyfill</a>.</p> <p>Microsoft Edge использует пространство имен <code>browser</code>, но ещё не поддерживает, основанный на промисах асинхронный API. В Edge на данный момент асинхронные вызовы API должны использовать колбэки.</p> diff --git a/files/ru/mozilla/add-ons/webextensions/api/webrequest/index.html b/files/ru/mozilla/add-ons/webextensions/api/webrequest/index.html index 3f0da7eada..ebae6f21c5 100644 --- a/files/ru/mozilla/add-ons/webextensions/api/webrequest/index.html +++ b/files/ru/mozilla/add-ons/webextensions/api/webrequest/index.html @@ -1,11 +1,11 @@ --- -title: ВебЗапрос +title: Веб Запрос slug: Mozilla/Add-ons/WebExtensions/API/webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest --- <div>{{AddonSidebar}}</div> -<p>Добавляет обработчики событий на различных стадиях HTTP запроса. Обработчик получет детальную информацию о запросе и способен изменить или отменить запрос.</p> +<p>Добавляет обработчики событий на различных стадиях HTTP запроса. Обработчик получить детальную информацию о запросе и способен изменить или отменить запрос.</p> <p>Каждое событие запущено на определённой стадии запроса. Типичный порядок событий такой:<img alt="" src="https://mdn.mozillademos.org/files/13376/webRequest-flow.png" style="display: block; height: 680px; margin-left: auto; margin-right: auto; width: 624px;"></p> @@ -15,11 +15,11 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest <ul> <li>сам обработчик</li> - <li>обьект {{WebExtAPIRef("webRequest.RequestFilter", "filter")}} , который позволяет получать оповещения о запросах, сделанных к определённым URL или определённым типам ресурсов.</li> - <li>необязательный обьект <code>extraInfoSpec</code> . Может быть использован для передачи дополнительных срецифических для события инструкций.</li> + <li>объект {{WebExtAPIRef("webRequest.RequestFilter", "filter")}} , который позволяет получать оповещения о запросах, сделанных к определённым URL или определённым типам ресурсов.</li> + <li>необязательный объект <code>extraInfoSpec</code> . Может быть использован для передачи дополнительных специфических для события инструкций.</li> </ul> -<p>Функции - обработчику передается обьект <code>details</code> который содержит информацию о запросе. Она содержит ID запроса, который обеспечен для включения надстройки, которая позволяет соотносить события, ассоциируемые с одним запросом. Это уникально в пределах сессии и контекста надстройки. Информация остается одинаковой везде на протяжении запроса, даже при перенаправлениях и обменах аутентификации.</p> +<p>Функции - обработчику передается объект <code>details</code> который содержит информацию о запросе. Она содержит ID запроса, который обеспечен для включения надстройки, которая позволяет соотносить события, ассоциируемые с одним запросом. Это уникально в пределах сессии и контекста надстройки. Информация остается одинаковой везде на протяжении запроса, даже при перенаправлениях и обменах аутентификации.</p> <p>Для использования webRequest API для определённого хоста, расширение должно иметь "webRequest" <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> и <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">host permission </a>для этого хоста. Для использования возможности "блокирования" расширение должно также иметь "webRequestBlocking" API разрешение.</p> @@ -63,19 +63,19 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest </li> </ul> -<p>Чтобы сделать это, вам необходимо передать оцпию со значением "blocking" в аргументе <code>extraInfoSpec</code> к <code>addListener()</code>. Это делает обработчик синхронным. В обработчике, вы можете тогда возвратить обьект {{WebExtAPIRef("webRequest.BlockingResponse", "BlockingResponse")}} который индикует модификацию, какую вам нужно сделать: например, модифицированный заголовок запроса который вы хотите отправить.</p> +<p>Чтобы сделать это, вам необходимо передать опцию со значением "blocking" в аргументе <code>extraInfoSpec</code> к <code>addListener()</code>. Это делает обработчик синхронным. В обработчике, вы можете тогда возвратить объект {{WebExtAPIRef("webRequest.BlockingResponse", "BlockingResponse")}} который индикует модификацию, какую вам нужно сделать: например, модифицированный заголовок запроса который вы хотите отправить.</p> <h2 id="Доступ_к_информации_о_безопасности">Доступ к информации о безопасности</h2> -<p>В обработчике {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}} вы имеете доступ к <a href="/en-US/docs/Glossary/TLS">TLS</a> свойствам запроса через вызов {{WebExtAPIRef("webRequest.getSecurityInfo()", "getSecurityInfo()")}}. Чтоды сделать это, вы должны также передать "blocking" в <code>extraInfoSpec</code> аргументе к <code>addListener()</code> события.</p> +<p>В обработчике {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}} вы имеете доступ к <a href="/en-US/docs/Glossary/TLS">TLS</a> свойствам запроса через вызов {{WebExtAPIRef("webRequest.getSecurityInfo()", "getSecurityInfo()")}}. Чтобы сделать это, вы должны также передать "blocking" в <code>extraInfoSpec</code> аргументе к <code>addListener()</code> события.</p> <p>Вы можете прочитать детали TLS хэндшейка, но не можете модифицировать их или перезаписать решения доверы браузера.</p> <h2 id="Modifying_responses">Modifying responses</h2> -<p>Для того, чтобы модифицировать тело HTTP ответа на запрос, вызовите {{WebExtAPIRef("webRequest.filterResponseData")}}, и передайте ID запроса. Это возвратит обьект {{WebExtAPIRef("webRequest.StreamFilter")}} который вы сможете использовать чтобы исследовать и изменять данные когда они получены браузером.</p> +<p>Для того, чтобы модифицировать тело HTTP ответа на запрос, вызовите {{WebExtAPIRef("webRequest.filterResponseData")}}, и передайте ID запроса. Это возвратит объект {{WebExtAPIRef("webRequest.StreamFilter")}} который вы сможете использовать чтобы исследовать и изменять данные когда они получены браузером.</p> -<p>Чтобы сделать это, у вас дожно быть "webRequestBlocking" API разрешение, а также "webRequest" <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> и <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">host permission </a>от соответствующего хоста.</p> +<p>Чтобы сделать это, у вас должно быть "webRequestBlocking" API разрешение, а также "webRequest" <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> и <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">host permission </a>от соответствующего хоста.</p> <h2 id="Types">Types</h2> diff --git a/files/ru/mozilla/add-ons/webextensions/chrome_incompatibilities/index.html b/files/ru/mozilla/add-ons/webextensions/chrome_incompatibilities/index.html index 70e5f2e7e1..f980ab3541 100644 --- a/files/ru/mozilla/add-ons/webextensions/chrome_incompatibilities/index.html +++ b/files/ru/mozilla/add-ons/webextensions/chrome_incompatibilities/index.html @@ -45,7 +45,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities <ul> <li>Media keys как сокращение</li> <li><code>global</code></li> - <li>специальную комманду <code>_execute_browser_action</code></li> + <li>специальную команду <code>_execute_browser_action</code></li> </ul> <h4 id="content_scripts">content_scripts</h4> diff --git a/files/ru/mozilla/add-ons/webextensions/content_scripts/index.html b/files/ru/mozilla/add-ons/webextensions/content_scripts/index.html index 2451aabce6..894300c853 100644 --- a/files/ru/mozilla/add-ons/webextensions/content_scripts/index.html +++ b/files/ru/mozilla/add-ons/webextensions/content_scripts/index.html @@ -320,7 +320,7 @@ document.body.addEventListener("click", function() { <li>Когда он получает эту попытку соединения: <ul> <li>сохраняет свой порт в переменную <code>portFromCS</code></li> - <li>отправляет сообщение встраемому скрипту, используя этот порт</li> + <li>отправляет сообщение встроенному скрипту, используя этот порт</li> <li>начинает ожидать сообщений, приходящих на порт, и записывать их</li> </ul> </li> @@ -349,7 +349,7 @@ browser.browserAction.onClicked.addListener(function() { <h4 id="Несколько_встраиваемых_скриптов">Несколько встраиваемых скриптов</h4> -<p>Если вы имеете несколько встраиваемых скриптов, с которыми вы общающаетесь в одно и то же время, вы бы могли сохранять каждое соединение в массиве.</p> +<p>Если вы имеете несколько встраиваемых скриптов, с которыми вы обращаетесь в одно и то же время, вы бы могли сохранять каждое соединение в массиве.</p> <ul> </ul> @@ -377,7 +377,7 @@ browser.browserAction.onClicked.addListener(function() { <h2 id="Взаимодействие_с_веб-страницей">Взаимодействие с веб-страницей</h2> -<p>Хотя по умолчанию встраиваемые скрипты не имеют доступ к объектам, которые созданны страничными скриптами, они могут взаимодействовать со страничными скриптами, используя <code><a href="/ru/docs/Web/API/Window/postMessage">window.postMessage</a></code> и <code><a href="/ru/docs/Web/API/EventTarget/addEventListener">window.addEventListener</a></code> API.</p> +<p>Хотя по умолчанию встраиваемые скрипты не имеют доступ к объектам, которые созданы страничными скриптами, они могут взаимодействовать со страничными скриптами, используя <code><a href="/ru/docs/Web/API/Window/postMessage">window.postMessage</a></code> и <code><a href="/ru/docs/Web/API/EventTarget/addEventListener">window.addEventListener</a></code> API.</p> <p>Например:</p> diff --git a/files/ru/mozilla/add-ons/webextensions/internationalization/index.html b/files/ru/mozilla/add-ons/webextensions/internationalization/index.html index 86ca109207..e5367909ad 100644 --- a/files/ru/mozilla/add-ons/webextensions/internationalization/index.html +++ b/files/ru/mozilla/add-ons/webextensions/internationalization/index.html @@ -14,7 +14,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац <h2 id="Структура_интернализированного_расширения">Структура интернализированного расширения</h2> -<p>Интернационализированное расширение может содержать такие же элементы, как и любое другое расширение — <a href="/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">фоновые скрипты</a>, <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">встраиваемые скрипты</a>, и т. д. — а также дополнительные инструмены, позволяющие переключаться между разными локализациями. Их можно представить следующим деревом директорий:</p> +<p>Интернационализированное расширение может содержать такие же элементы, как и любое другое расширение — <a href="/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">фоновые скрипты</a>, <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">встраиваемые скрипты</a>, и т. д. — а также дополнительные инструменты, позволяющие переключаться между разными локализациями. Их можно представить следующим деревом директорий:</p> <ul class="directory-tree"> <li>корневая-директория-расширения/ @@ -66,7 +66,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац <h2 id="Добавление_локализованных_строк_в__locales">Добавление локализованных строк в _locales</h2> <div class="pull-aside"> -<div class="moreinfo">Вы можете определить тэг языка при помощи инструмента <em>Find</em> на <a href="https://r12a.github.io/app-subtags/">странице определения языковых тегов</a>. Обратите внимание на то, что при поиске еужно использовать английское название языка</div> +<div class="moreinfo">Вы можете определить тэг языка при помощи инструмента <em>Find</em> на <a href="https://r12a.github.io/app-subtags/">странице определения языковых тегов</a>. Обратите внимание на то, что при поиске нужно использовать английское название языка</div> </div> <p>Каждая система i18n требует предоставить строки во всех локализациях, которые Вы хотите поддерживать. В расширениях они хранятся в директории <code>_locales</code>, размещенной внутри корневой директории. Строки каждой локализации (также называемые сообщениями) хранятся в файле <code>messages.json</code>, находящемся в поддиректории <code>_locales</code>, название которой - тег языка локализации.</p> @@ -140,7 +140,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац <h3 id="Локализация_по_умолчанию">Локализация по умолчанию</h3> -<p>Еше одно поле. которое нужно указать в manifest.json — это <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/default_locale">default_locale</a>:</p> +<p>Еще одно поле. которое нужно указать в manifest.json — это <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/default_locale">default_locale</a>:</p> <pre class="brush: json notranslate">"default_locale": "en"</pre> @@ -161,7 +161,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац <p>Допустим, Вы добавили сообщения в Ваш manifest.json. Чтобы Ваше расширение начало использовать правильные языки, соответствующие сообщения следует вызывать при помощи JavaScript. <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/i18n">API i18n</a> достаточно прост и содержит всего 4 основных метода:</p> <ul> - <li>Скорее всего, наиболее часто Вы будете использовать {{WebExtAPIRef("i18n.getMessage()")}} — этот сетод используется для получения конкретного сообщения. Примеры его использования можно увидеть ниже.</li> + <li>Скорее всего, наиболее часто Вы будете использовать {{WebExtAPIRef("i18n.getMessage()")}} — этот метод используется для получения конкретного сообщения. Примеры его использования можно увидеть ниже.</li> <li>Методы {{WebExtAPIRef("i18n.getAcceptLanguages()")}} и {{WebExtAPIRef("i18n.getUILanguage()")}} используются, если UI надо менять в зависимости от локализации — например, если Вы хотите, чтобы предпочтения, свойственные носителям какого-либо языка, находились выше в списке, или чтобы формат дат соответствовал локализации браузера.</li> <li>Метод {{WebExtAPIRef("i18n.detectLanguage()")}} используется для получения языка информации, введенной пользователем, и ее форматирования.</li> </ul> @@ -185,7 +185,7 @@ var content = browser.i18n.getMessage("notificationContent", message.url);</pre> } </pre> -<p>Объект <code>"placeholders"</code> определяет все заполнители и то, откуда их нужно получать. Заполнитель <code>"url"</code> указывает, что информация о нем должна содержаться в $1 — первое значение, заданное внутри второго параметра <code>getMessage()</code>. Поскольку заролнитель называется <code>"url"</code>, <code>$URL$</code> используется для его вызова внутри сообщения (то есть для заполнителя <code>"name"</code> нужно использовать <code>$NAME$</code>, и т. д.). Если Вы хотите задать значения нескольких заполнителей, их можно передавать во второй аргумент {{WebExtAPIRef("i18n.getMessage()")}} в виде массива — массив <code>[a, b, c]</code> передает значения <code>$1</code>, <code>$2</code> и <code>$3</code>, и т. д. внутрь <code>messages.json</code>.</p> +<p>Объект <code>"placeholders"</code> определяет все заполнители и то, откуда их нужно получать. Заполнитель <code>"url"</code> указывает, что информация о нем должна содержаться в $1 — первое значение, заданное внутри второго параметра <code>getMessage()</code>. Поскольку заполнитель называется <code>"url"</code>, <code>$URL$</code> используется для его вызова внутри сообщения (то есть для заполнителя <code>"name"</code> нужно использовать <code>$NAME$</code>, и т. д.). Если Вы хотите задать значения нескольких заполнителей, их можно передавать во второй аргумент {{WebExtAPIRef("i18n.getMessage()")}} в виде массива — массив <code>[a, b, c]</code> передает значения <code>$1</code>, <code>$2</code> и <code>$3</code>, и т. д. внутрь <code>messages.json</code>.</p> <p>Давайте посмотрим на пример: изначально сообщение <code>notificationContent</code> в файле <code>en/messages.json</code> такое:</p> @@ -396,7 +396,7 @@ padding-left: 1.5em;</pre> <p><strong>Примечание:</strong> Чтобы изменить результат <code>getUILanguage</code> требуется языковой пакет, поскольку он отражает язык UI браузера, а не язык сообщений расширения.</p> </div> -<p>Еше раз загрузите расширение с диска и протестируйте локализацию:</p> +<p>Еще раз загрузите расширение с диска и протестируйте локализацию:</p> <ul> <li>Еще раз откройте "about:addons" — теперь Вы должны увидеть Ваше расширение, его иконку, имя и описание на выбранном языке.</li> diff --git a/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html b/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html index 17ac749843..853321206f 100644 --- a/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html +++ b/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html @@ -231,7 +231,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/Match_patterns <td> <p><code>https://*/path</code></p> - <p>Совпадение со всеми HTTPS URL на любом хосте, чей путь точно соответсвует "path".</p> + <p>Совпадение со всеми HTTPS URL на любом хосте, чей путь точно соответствует "path".</p> </td> <td> <p><code>https://mozilla.org/path</code></p> @@ -261,7 +261,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/Match_patterns <td> <p><code>https://*/path/</code></p> - <p>Совпадение со всеми HTTPS URL на любом хосте, чей путь точно соответсвует "path/" и не имеет строки параметров.</p> + <p>Совпадение со всеми HTTPS URL на любом хосте, чей путь точно соответствует "path/" и не имеет строки параметров.</p> </td> <td> <p><code>https://mozilla.org/path/</code></p> diff --git a/files/ru/mozilla/add-ons/webextensions/modify_a_web_page/index.html b/files/ru/mozilla/add-ons/webextensions/modify_a_web_page/index.html index 1419267790..a221a2a415 100644 --- a/files/ru/mozilla/add-ons/webextensions/modify_a_web_page/index.html +++ b/files/ru/mozilla/add-ons/webextensions/modify_a_web_page/index.html @@ -46,7 +46,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/модификация_веб_ст }</pre> -<p>Ключ <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> - это как мы загружаем скрипты на страницы, соответстующие URL-шаблону. В нашем случае, <code>content_scripts</code> говорит браузеру загрузить скрипт "page-eater.js" на все страницы, начинающиеся с <a href="https://developer.mozilla.org/">https://developer.mozilla.org/</a>.</p> +<p>Ключ <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> - это как мы загружаем скрипты на страницы, соответствующие URL-шаблону. В нашем случае, <code>content_scripts</code> говорит браузеру загрузить скрипт "page-eater.js" на все страницы, начинающиеся с <a href="https://developer.mozilla.org/">https://developer.mozilla.org/</a>.</p> <div class="note"> <p>Поскольку свойство <code>"js"</code> ключа <code>content_scripts</code> это массив, вы можете использовать его, для внедрения более одного скрипта. Если вы сделаете это, страницы получат набор, как если бы эти скрипты были загружены самой страницей, они будут загружены в той же очерёдности, в которой они расположены в массиве.</p> @@ -98,7 +98,7 @@ document.body.appendChild(header);</pre> <p>Мы удалили ключ <code>content_scripts</code> и добавили два новых:</p> <ul> - <li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions (разрешения)</a></code>: для внедрения скрипта, нам нужны разрешения для страниц, которые мы модифицируем. <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">Разрешение <code>activeTab</code></a> это способ получить доступ к текущей вкладки. Нам также нужно разрешение <code>contextMenus</code>, чтобы добавлять в контектсное меню новые элементы.</li> + <li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions (разрешения)</a></code>: для внедрения скрипта, нам нужны разрешения для страниц, которые мы модифицируем. <a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">Разрешение <code>activeTab</code></a> это способ получить доступ к текущей вкладки. Нам также нужно разрешение <code>contextMenus</code>, чтобы добавлять в контекстное меню новые элементы.</li> <li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background">background (фоновый)</a></code>: мы используем этот ключ, для загрузки постоянного <a href="/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">"фонового скрипта"</a>, с именем "background.js", в котором мы настроим контекстное меню и внедрим контентный скрипт.</li> </ul> diff --git a/files/ru/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.html b/files/ru/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.html index 229d378a2f..3a16dabe52 100644 --- a/files/ru/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.html +++ b/files/ru/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.html @@ -42,7 +42,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Context_menu_items <h2 id="Иконки">Иконки</h2> -<p>Чтобы добавить элементам меню икноки, смотрите документацию <a href="https://design.firefox.com/photon/visuals/iconography.html">Iconography</a> в <a class="grey-90 no-underline hover-no-underline" href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p> +<p>Чтобы добавить элементам меню иконки, смотрите документацию <a href="https://design.firefox.com/photon/visuals/iconography.html">Iconography</a> в <a class="grey-90 no-underline hover-no-underline" href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/mozilla/add-ons/webextensions/user_interface/index.html b/files/ru/mozilla/add-ons/webextensions/user_interface/index.html index c35b6146c6..142b9deb98 100644 --- a/files/ru/mozilla/add-ons/webextensions/user_interface/index.html +++ b/files/ru/mozilla/add-ons/webextensions/user_interface/index.html @@ -81,7 +81,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/user_interface <td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/user_interface/Notifications">Уведомления</a></td> <td> <p>Пользователю можно сообщить что-либо средствами уведомления, предусмотренными в ОС.<br> - Расширение отреагирует когда уведомление будет либо прочитано пользователем, либо скрыто (явным решением человека или логикой программы) так и оставшись непрочтённым.</p> + Расширение отреагирует когда уведомление будет либо прочитано пользователем, либо скрыто (явным решением человека или логикой программы) так и оставшись непрочитанным.</p> </td> <td><img alt="Example notification from a WebExtension" src="https://mdn.mozillademos.org/files/14043/notify-shadowed.png" style="height: 95px; width: 350px;"></td> </tr> diff --git a/files/ru/mozilla/add-ons/webextensions/user_interface/sidebars/index.html b/files/ru/mozilla/add-ons/webextensions/user_interface/sidebars/index.html index 5a4f1e82f1..8393c7b8f2 100644 --- a/files/ru/mozilla/add-ons/webextensions/user_interface/sidebars/index.html +++ b/files/ru/mozilla/add-ons/webextensions/user_interface/sidebars/index.html @@ -26,7 +26,7 @@ browser.windows.getCurrent({populate: true}).then((windowInfo) => { <p>Это полезно, если боковая панель хочет отображать различный контент для разных окон. Использование такого подхода см. в примере <a href="https://github.com/mdn/webextensions-examples/tree/master/annotate-page">"annotate-page" example</a>.</p> -<p>HTML документ боковай панели получает доступ к тому же набору привилегированных JavaScript API, что и background и popup сценарии этого расширения. Они могут получить прямой доступ к фоновой странице с помощью {{WebExtAPIRef("runtime.getBackgroundPage()")}}, и могут взаимодействовать с сценариями контента или нативными приложениями, используя API интерфейса обмена сообщениями, такие как {{WebExtAPIRef("tabs.sendMessage()")}} и {{WebExtAPIRef("runtime.sendNativeMessage()")}}.</p> +<p>HTML документ боковой панели получает доступ к тому же набору привилегированных JavaScript API, что и background и popup сценарии этого расширения. Они могут получить прямой доступ к фоновой странице с помощью {{WebExtAPIRef("runtime.getBackgroundPage()")}}, и могут взаимодействовать с сценариями контента или нативными приложениями, используя API интерфейса обмена сообщениями, такие как {{WebExtAPIRef("tabs.sendMessage()")}} и {{WebExtAPIRef("runtime.sendNativeMessage()")}}.</p> <p>Документы боковой панели выгружаются, когда окно браузера закрывается или пользователь закрывает боковую панель. Это означает, что в отличие от background страниц документы боковой панели не остаются загруженными все время, но в отличие от popup окон они остаются загруженными, пока пользователь взаимодействует с веб-страницами.</p> diff --git a/files/ru/mozilla/add-ons/webextensions/what_are_webextensions/index.html b/files/ru/mozilla/add-ons/webextensions/what_are_webextensions/index.html index ff947610ee..f35a11fdb7 100644 --- a/files/ru/mozilla/add-ons/webextensions/what_are_webextensions/index.html +++ b/files/ru/mozilla/add-ons/webextensions/what_are_webextensions/index.html @@ -35,7 +35,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/What_are_WebExtensions </div> <div> -<p><strong>Добавьте или скройте содержимое веб-страниц</strong>: Возможно, вы захотите помочь пользователям заблокировать назойливую рекламу, дать доступ к туристическоим путеводителям, когда на странице упоминается страна или город, или отформатировать содержимое страницы так, чтобы дать незабываемый опыт прочтения. С доступом к HTML и CSS дополнения могут помогать пользователям смотреть на Интернет так, как они хотят.</p> +<p><strong>Добавьте или скройте содержимое веб-страниц</strong>: Возможно, вы захотите помочь пользователям заблокировать назойливую рекламу, дать доступ к туристическим путеводителям, когда на странице упоминается страна или город, или отформатировать содержимое страницы так, чтобы дать незабываемый опыт прочтения. С доступом к HTML и CSS дополнения могут помогать пользователям смотреть на Интернет так, как они хотят.</p> </div> <div><img alt="Как работает uBlock Origin, популярный блокировщик рекламы" src="https://media.prod.mdn.mozit.cloud/attachments/2018/02/13/15807/4e85eb0560fc8d5945e64cf75a1a8e50/ublock_origin_add_on.png" style="height: 480px; width: 640px;"></div> diff --git a/files/ru/mozilla/developer_guide/index.html b/files/ru/mozilla/developer_guide/index.html index a48331fcff..f670a1e0de 100644 --- a/files/ru/mozilla/developer_guide/index.html +++ b/files/ru/mozilla/developer_guide/index.html @@ -28,15 +28,15 @@ translation_of: Mozilla/Developer_guide <dt><a class="internal" href="/en-US/docs/Developer_Guide/How_to_Submit_a_Patch" title="en-US/docs/Getting your patch in the tree">Как внести исправления/дополнения в исходный код</a></dt> <dd>После написания патча, Вам нужно внести его в дерево исходных кодов в репозитории. Эта статья объясняет как происходит процесс проверки присланного кода патча и как добиться чтобы Ваш патч приняли.</dd> <dt><a href="/en-US/docs/Developer_Guide/Getting_documentation_updated" title="en-US/docs/Developer_Guide/Getting documentation updated">Обновление документации</a></dt> - <dd>Как убедиться что документация не устарела и соотвествует тому что она описывает.</dd> + <dd>Как убедиться что документация не устарела и соответствует тому что она описывает.</dd> <dt><a class="internal" href="/en-US/docs/Mozilla_Modules_and_Module_Ownership" title="en-US/docs/Mozilla Modules and Module Ownership">Модули Mozilla и владение модулями</a></dt> <dd>Эта статья содержит информацию о модулях Mozilla, какова роль владельца модуля, и как избирается владелец модуля.</dd> <dt><a class="internal" href="/en-US/docs/Code_snippets" title="en-US/docs/Code_snippets">Примеры кода</a></dt> - <dd>Полезные примеры кода, которые могут прояснить как сделать что-то, или могут стать основой для дальшейшего развития кода.</dd> + <dd>Полезные примеры кода, которые могут прояснить как сделать что-то, или могут стать основой для дальнейшего развития кода.</dd> <dt><a class="internal" href="/en-US/docs/Mozilla_Development_Strategies" title="en-US/docs/Mozilla Development Strategies">Стратегии разработки Mozilla</a></dt> <dd>Подсказки как максимальной пользой использовать время проведенное над проектом Mozilla.</dd> <dt><a class="internal" href="/en-US/docs/Debugging" title="en-US/docs/Debugging">Отладка</a></dt> - <dd>Полезные подсказки и руковадства по отладке исходного кода Mozilla.</dd> + <dd>Полезные подсказки и руководства по отладке исходного кода Mozilla.</dd> <dt><a href="/en-US/docs/Performance" title="en-US/docs/Performance">Производительность</a></dt> <dd>Руководство по производительности и описание утилит которые помогут Вам сделать Ваш код более быстрым.</dd> <dt><a class="internal" href="/en-US/docs/The_Mozilla_platform" title="en-US/docs/The Mozilla platform">Платформа Mozilla</a></dt> diff --git a/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html b/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html index 6dc586594f..4e02cc082f 100644 --- a/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html +++ b/files/ru/mozilla/developer_guide/inner_and_outer_windows/index.html @@ -15,7 +15,7 @@ translation_of: Mozilla/Developer_guide/Inner_and_outer_windows <p><strong>Внешнее окно</strong> <strong>(outer window) </strong>- это <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browsing-context">контекст просмотра</a>, т.е. фактическое окружение, в котором пользователю представляется {{ domxref("Document") }}. Это может быть окно или вкладка, или это может быть {{ HTMLElement("iframe") }}, содержащаяся в другом документе. HTML5 ссылается на внешнее окно как на <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#the-windowproxy-object" title="http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#the-windowproxy-object"><code>WindowProxy</code></a>.</p> -<p><strong>Внутреннее окно (inner window) </strong>редставляет реальное отображаемое содержимое; это текущий вид того, что пользователь видит.</p> +<p><strong>Внутреннее окно (inner window) </strong>представляет реальное отображаемое содержимое; это текущий вид того, что пользователь видит.</p> <p>Рассмотрим этот вид окна и историю браузера:</p> diff --git a/files/ru/mozilla/developer_guide/introduction/index.html b/files/ru/mozilla/developer_guide/introduction/index.html index e3bb8c23b4..622309fce9 100644 --- a/files/ru/mozilla/developer_guide/introduction/index.html +++ b/files/ru/mozilla/developer_guide/introduction/index.html @@ -12,7 +12,7 @@ original_slug: Introduction_(alternate) <li>Front-end<span id="result_box" lang="ru"> <span class="hps">и много функционала</span> <span class="hps">написаны на</span> <span class="hps">HTML, CSS и</span> <span class="hps">JavaScript</span></span>.</li> <li>Сборочные скрипты пишутся в Make, shell, а также на Perl и Python.</li> <li>Некоторые компоненты и сторонние библиотеки (например jemalloc), написаны на С, а не на С++.</li> - <li>Многие инструменты (например, фрэймворки для тестирования), которые мы используем, написаны на Python и других высокоуровневых языках. Есть много вещей в этом плане, которые нам очень хотелось бы реализовать, несмотря на то, что они имеют более низкий приоритет, чем функционал.</li> + <li>Многие инструменты (например, фреймворки для тестирования), которые мы используем, написаны на Python и других высокоуровневых языках. Есть много вещей в этом плане, которые нам очень хотелось бы реализовать, несмотря на то, что они имеют более низкий приоритет, чем функционал.</li> </ul> <p>Для начала ознакомьтесь с <a href="/ru/Introduction" title="En/Introduction">основным руководством</a> - почти всё написанное в нём можно применить и к вышеупомянутым проблемам, в том числе поиск багов, с фикса которых можно начать, а также описание системы наставников.</p> <h2 id="Веб_сайты">Веб сайты</h2> diff --git a/files/ru/mozilla/firefox/index.html b/files/ru/mozilla/firefox/index.html index f232624c43..59c7b007d6 100644 --- a/files/ru/mozilla/firefox/index.html +++ b/files/ru/mozilla/firefox/index.html @@ -36,13 +36,13 @@ translation_of: Mozilla/Firefox <h3 id="Firefox_Nightly">Firefox Nightly</h3> -<p>Каждую ночь мы собираем Firefox из самых свежих исходных кодов в репозитарии <a href="/ru/docs/Developer_Guide/mozilla-central">mozilla-central</a>. Эти сборки для разработчиков Firefox или тех, кто хочет попробовать самые последние разработанные возможности, которые еще находятся в процессе активной разработки.</p> +<p>Каждую ночь мы собираем Firefox из самых свежих исходных кодов в репозитории <a href="/ru/docs/Developer_Guide/mozilla-central">mozilla-central</a>. Эти сборки для разработчиков Firefox или тех, кто хочет попробовать самые последние разработанные возможности, которые еще находятся в процессе активной разработки.</p> <p><a class="external external-icon" href="https://nightly.mozilla.org/" style="width: 250px; display: block; margin-left: auto; margin-right: auto; padding: 10px; text-align: center; border-radius: 4px; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">Загрузить Firefox Nightly</a></p> <h3 id="Firefox_Developer_Edition_Firefox_Аврора">Firefox Developer Edition (Firefox Аврора)</h3> -<p>Эта версия предназначена для разработчиков. Каждые шесть недель, мы берем из Firefox Nightly всю функциальность, которая уже опробована и считается более или менее стабильной и создаем новую версию Firefox Developer Edition. Помимо этого она включает в себя некоторые дополнительные возможности, которые доступны только на этом канале.</p> +<p>Эта версия предназначена для разработчиков. Каждые шесть недель, мы берем из Firefox Nightly всю функциональность, которая уже опробована и считается более или менее стабильной и создаем новую версию Firefox Developer Edition. Помимо этого она включает в себя некоторые дополнительные возможности, которые доступны только на этом канале.</p> <p><a href="/ru/docs/Firefox/Developer_Edition">Узнать больше о Firefox Developer Edition</a>.</p> diff --git a/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html b/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html index 74ce692f87..96b3a329ba 100644 --- a/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html +++ b/files/ru/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html @@ -25,14 +25,14 @@ original_slug: Using_Firefox_1.5_caching <li>страница не полностью загрузилась, когда пользователь ушёл с неё, или имеет прерванные сетевые запросы по другим причинам (например, <code>XMLHttpRequest</code>));</li> <li>страница имеет работающие IndexedDB-транзакции;</li> <li>страница верхнего уровня содержит фреймы (например, {{ HTMLElement("iframe") }}), которые не кэшируются по одной из перечисленных здесь причин;</li> - <li>страница находится в фрейме и пользователь загружает новую страницу в этот фрейм (в этом случае, когда пользователь уходит со с этой страницы, последнее загруженное в фреймы содержимое есть то, что закэшировано).</li> + <li>страница находится в фрейме и пользователь загружает новую страницу в этот фрейм (в этом случае, когда пользователь уходит со с этой страницы, последнее загруженное в фреймы содержимое есть то, что закешировано).</li> </ul> <p>Эта новая функция кэширования меняет поведение загрузки страницы, так что Web-авторы могут захотеть:</p> <ul> <li>узнать, когда на страницу происходит переход (когда она загружается из пользовательского кэша);</li> - <li>определить поведение страницы, когда пользователь уходит со страницы (позволяя всё же странице быть закэшированной).</li> + <li>определить поведение страницы, когда пользователь уходит со страницы (позволяя всё же странице быть закешированной).</li> </ul> <p>Это позволяют сделать два новых события браузера.</p> @@ -114,7 +114,7 @@ function UnloadHandler() { <p>В этом примере:</p> <ul> - <li>Страница вычисляет и обображает текущие дату и время каждый раз при загрузке. Это вычисление включает секунды и миллисекунды, так что вы легко можете протестировать функциональность.</li> + <li>Страница вычисляет и отображает текущие дату и время каждый раз при загрузке. Это вычисление включает секунды и миллисекунды, так что вы легко можете протестировать функциональность.</li> <li>Курсор помещается в поле Name при первой загрузке страницы. В Firefox 1.5 при возвращении на страницу курсор остаётся в том поле, где он был, когда пользователь ушёл со страницы. В других браузерах курсор опять помещается в поле Name.</li> </ul> diff --git a/files/ru/mozilla/firefox/releases/29/index.html b/files/ru/mozilla/firefox/releases/29/index.html index 653951a694..8c47941d1e 100644 --- a/files/ru/mozilla/firefox/releases/29/index.html +++ b/files/ru/mozilla/firefox/releases/29/index.html @@ -32,7 +32,7 @@ translation_of: Mozilla/Firefox/Releases/29 <ul> <li><a href="/en-US/docs/Web/CSS/Using_CSS_variables">CSS variables</a> have been implemented ({{bug("773296")}}). Mozilla Hacks article can be found <a href="https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/">here</a>. They are enabled by default only for non-release builds (on release builds flip the pref <code>layout.css.variables.enabled</code> to <code>true</code> if you want to play with them).</li> - <li>Добавленна подержка {{cssxref("visibility")}}<code>: collapse</code> в<br> + <li>Добавлена поддержка {{cssxref("visibility")}}<code>: collapse</code> в<br> Flexboxes ({{bug(783470)}}).</li> <li>Свойство {{cssxref("box-sizing")}} больше не нуждается в префиксе ({{bug(243412)}}).</li> <li>The {{cssxref("will-change")}} property, a hint to that something will animate has been added. The preference <code>layout.css.will-change.enabled</code> must be switched to <code>true</code> to enable it. ({{bug(940842)}})</li> diff --git a/files/ru/mozilla/firefox/releases/3/index.html b/files/ru/mozilla/firefox/releases/3/index.html index c72f2672df..12001257d1 100644 --- a/files/ru/mozilla/firefox/releases/3/index.html +++ b/files/ru/mozilla/firefox/releases/3/index.html @@ -29,7 +29,7 @@ original_slug: Firefox_3_for_developers <dt> <a href="/ru/%D0%A0%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0_%D1%81_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC_canvas" title="ru/Рисование_текста_с_использованием_canvas">Рисование текста с использованием canvas</a></dt> <dd> - Теперь вы можете рисовать текст с ипользованием нестандартизированного API canvas поддерживаемого Firefox 3.</dd> + Теперь вы можете рисовать текст с использованием нестандартизированного API canvas поддерживаемого Firefox 3.</dd> </dl> <dl> <dt> diff --git a/files/ru/mozilla/firefox/releases/31/index.html b/files/ru/mozilla/firefox/releases/31/index.html index fbbcbfee2f..0e33ab43da 100644 --- a/files/ru/mozilla/firefox/releases/31/index.html +++ b/files/ru/mozilla/firefox/releases/31/index.html @@ -68,7 +68,7 @@ translation_of: Mozilla/Firefox/Releases/31 <h3 id="MathML">MathML</h3> <ul> - <li>Частичная реализация <a href="http://mpeg.chiariglione.org/standards/mpeg-4/open-font-format/text-isoiec-cd-14496-22-3rd-edition">OpenType MATH table</a>, раздел 6.3.6 ({{Bug(407059)}}). Подробнее см. <a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts">шрифты для Mozilla-вского движка MathML</a> и <a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/MathML_Torture_Test">MathML torture test</a> .</li> + <li>Частичная реализация <a href="http://mpeg.chiariglione.org/standards/mpeg-4/open-font-format/text-isoiec-cd-14496-22-3rd-edition">OpenType MATH table</a>, раздел 6.3.6 ({{Bug(407059)}}). Подробнее см. <a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts">шрифты для Mozilla-всякого движка MathML</a> и <a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/MathML_Torture_Test">MathML torture test</a> .</li> <li>Псевдоэлемент <code>:</code><span id="summary_alias_container"><span id="short_desc_nonedit_display"><code>:-moz-math-stretchy</code> удалён</span></span> ({{Bug(1000879)}}).</li> <li><span id="summary_alias_container"><span id="short_desc_nonedit_display">Если они доступны, юникодовские математические буквенно-цифровые символы используются для полужирных, курсивных и полужирно-курсивных mathvariants</span></span> ({{Bug(930504)}}).</li> </ul> diff --git a/files/ru/mozilla/firefox/releases/32/index.html b/files/ru/mozilla/firefox/releases/32/index.html index b34f0292af..cda18f1f56 100644 --- a/files/ru/mozilla/firefox/releases/32/index.html +++ b/files/ru/mozilla/firefox/releases/32/index.html @@ -3,7 +3,7 @@ title: Firefox 32 для разработчиков slug: Mozilla/Firefox/Releases/32 translation_of: Mozilla/Firefox/Releases/32 --- -<div>{{FirefoxSidebar}}</div><p>Хотите помочь с документированием Firefox 32? Взгяните на <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&version=32.0">список ошибок, о которых нужно написать</a> и приступайте!</p> +<div>{{FirefoxSidebar}}</div><p>Хотите помочь с документированием Firefox 32? Взгляните на <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&version=32.0">список ошибок, о которых нужно написать</a> и приступайте!</p> <h2 id="Изменения_для_Web_Разработчиков">Изменения для Web Разработчиков</h2> @@ -16,10 +16,10 @@ translation_of: Mozilla/Firefox/Releases/32 <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Scratchpad#Code_completion_and_inline_documentation">Автоподстановка и подсказки в Блокноте</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector#Rules_view">Стили User agent в представлении Inspector Rules</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector#Firefox_32_onwards_2">Кнопка выбора элемента со страницы перемещена</a></li> - <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector#Firefox_32_onwards">Добавлено отображение размеров узла в информацонную панель Инспектора</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector#Firefox_32_onwards">Добавлено отображение размеров узла в информационную панель Инспектора</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Tools_Toolbox#Extra_tools">Добавлена кнопка снятия снимка всей страницы</a></li> <li>Добавлены HiDPI изображения в инструменты</li> - <li>Узлы, содержщие <code>display:none</code> в Инспекторе отображаются иначе</li> + <li>Узлы, содержащие <code>display:none</code> в Инспекторе отображаются иначе</li> </ul> <p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2014-06-09&chfield=resolution&query_format=advanced&chfieldfrom=2014-04-28&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20App%20Manager&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&product=Firefox">Все ошибки исправленные между версиями Firefox 31 и Firefox 32</a>.</p> diff --git a/files/ru/mozilla/firefox/releases/33/index.html b/files/ru/mozilla/firefox/releases/33/index.html index cd1ce8c28c..71106729df 100644 --- a/files/ru/mozilla/firefox/releases/33/index.html +++ b/files/ru/mozilla/firefox/releases/33/index.html @@ -28,14 +28,14 @@ translation_of: Mozilla/Firefox/Releases/33 <h3 id="HTML">HTML</h3> -<p><em>Нет измененеий.</em></p> +<p><em>Нет изменений.</em></p> <h3 id="JavaScript">JavaScript</h3> <ul> <li>Удален нестандартный метод {{jsxref("Number.toInteger()")}} ({{bug(1022396)}}).</li> <li>Методы {{jsxref("Map.prototype.set()")}}, {{jsxref("WeakMap.prototype.set()")}} and {{jsxref("Set.prototype.add()")}} можно использовать последовательно, больше не возвращают <code>undefined</code> в место этого возвращают объект. ({{bug(1031632)}}).</li> - <li>Добавленна поддержка типа данных "Symbol" из стандарта ECMAScript 6 ({{bug(645416)}}): + <li>Добавлена поддержка типа данных "Symbol" из стандарта ECMAScript 6 ({{bug(645416)}}): <ul> <li>{{jsxref("Symbol")}}</li> <li>{{jsxref("Symbol.for()")}}</li> @@ -43,7 +43,7 @@ translation_of: Mozilla/Firefox/Releases/33 <li>{{jsxref("Object.getOwnPropertySymbols()")}}</li> </ul> </li> - <li>Параметры по умолчанию инициализированные до инициализации функции или в теле функции не могут быть использованны в качестве параметров по умолчанию ({{bug(1022962)}}).</li> + <li>Параметры по умолчанию инициализированные до инициализации функции или в теле функции не могут быть использованы в качестве параметров по умолчанию ({{bug(1022962)}}).</li> </ul> <h3 id="InterfacesAPIsDOM">Interfaces/APIs/DOM</h3> diff --git a/files/ru/mozilla/firefox/releases/43/index.html b/files/ru/mozilla/firefox/releases/43/index.html index 9b1ee10652..d992d8924b 100644 --- a/files/ru/mozilla/firefox/releases/43/index.html +++ b/files/ru/mozilla/firefox/releases/43/index.html @@ -18,11 +18,11 @@ translation_of: Mozilla/Firefox/Releases/43 <ul> <li><a href="/en-US/docs/Tools/Web_Console/Console_messages#Server">Просмотр логов сервера в Консоли Веб </a></li> - <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Overridden_declarations">Быстрый поиск правила переопределяющиего объявление CSS</a></li> + <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Overridden_declarations">Быстрый поиск правила переопределяющего объявление CSS</a></li> <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">Новый пункт в контекстном меню Инспектора : "Use in Console"</a></li> <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Strict_search">"Strict" опция для фильтрации в Rules view</a></li> <li><a href="/en-US/docs/Tools/Web_Console/Console_messages#Network">Сообщения в панели Сеть, в Консоли теперь ссылаются на Сетевой Монитор</a></li> - <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Setting_hover_active_focus">В Инспекторе при обзоре разметки можно увидеть индикатор указывающий псевдо-классы у соотвествующих элементов </a></li> + <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Setting_hover_active_focus">В Инспекторе при обзоре разметки можно увидеть индикатор указывающий псевдо-классы у соответствующих элементов </a></li> <li><span class="author-g-1scq3ywqbljc5puc">Новая боковая панель в WebIDE</span></li> </ul> @@ -55,7 +55,7 @@ translation_of: Mozilla/Firefox/Releases/43 <h4 id="Изменения_связанные_с_объектом_arguments">Изменения связанные с объектом <code>arguments</code></h4> <ul> - <li>Более полное соотвествие спецификации ES2015, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">стрелочные функции </a>больше не содержат свой собственный встроенный объект<code> <a href="/ru/docs/Web/JavaScript/Reference/Functions/arguments">arguments</a></code>. Объект <code>arguments</code> теперь прикреплен лексически (наследуется от внешней функции). В большинстве случаев, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">остаточные параметры </a>лучшая альтернатива<code> (...args) => args[i]</code>, смотри {{bug(889158)}}.</li> + <li>Более полное соответствие спецификации ES2015, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">стрелочные функции </a>больше не содержат свой собственный встроенный объект<code> <a href="/ru/docs/Web/JavaScript/Reference/Functions/arguments">arguments</a></code>. Объект <code>arguments</code> теперь прикреплен лексически (наследуется от внешней функции). В большинстве случаев, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">остаточные параметры </a>лучшая альтернатива<code> (...args) => args[i]</code>, смотри {{bug(889158)}}.</li> <li>Объект <a href="/ru/docs/Web/JavaScript/Reference/Functions/arguments">arguments</a> теперь разрешается использовать вместе с <a href="/ru/docs/Web/JavaScript/Reference/Functions/Rest_parameters">остаточными параметрами </a>({{bug(1133298)}}).</li> <li>Теперь, объект map <code><a href="/ru/docs/Web/JavaScript/Reference/Functions/arguments">arguments</a></code> в нестрогих функциях доступен только если функция не содержит другие <a href="/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters">остаточные параметры</a>, или <a href="/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters">дефолтовые параметры или </a><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">destructured parameters</a> ({{bug(1175394)}}).</li> </ul> @@ -90,15 +90,15 @@ translation_of: Mozilla/Firefox/Releases/43 <ul> <li><a href="/en-US/docs/Web/API/Battery_Status_API">Battery Status API</a> теперь использует новый синтаксис промисов для {{domxref("Navigator.getBattery()")}}, так как это описано в последней версии спецификации ({{bug(1050749)}}).</li> <li>Заголовок <code>User-Agent</code> более не в списке {{Glossary("Forbidden_header_name", "forbidden header names", 1)}} и теперь может быть установлен в объект <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> {{domxref("Headers")}}, через XHR {{domxref("XMLHttpRequest.setRequestHeader()")}},… ({{bug(1188932)}}).</li> - <li>Конструктор {{domxref("MediaRecorder.MediaRecorder()")}} теперь принимает дополнительно необязательный параметр типа словарь (dictionary), который позволяет Вам устанавливать произвольный бирейт для записываемого аудио/видео ({{bug("1161276")}}).</li> + <li>Конструктор {{domxref("MediaRecorder.MediaRecorder()")}} теперь принимает дополнительно необязательный параметр типа словарь (dictionary), который позволяет Вам устанавливать произвольный битрейт для записываемого аудио/видео ({{bug("1161276")}}).</li> <li>Реализован интерфейс {{domxref("PerformanceObserver")}}, из <a href="/en-US/docs/Web/API/Performance_Timeline_API">Performance Timeline API</a> ({{bug(1165796)}}).</li> <li>Добавлены дополнительно два интерфейса в <a href="/en-US/docs/Web/API/Frame Timing API">Frame Timing API, </a>{{domxref("PerformanceRenderTiming")}} и {{domxref("PerformanceCompositeTiming")}} ({{bug(1191178)}}).</li> - <li>Реализована современная версия <a href="/en-US/docs/Web/API/Screen_Orientation_API">Screen Orientation API</a>: доступны безпрефиксные интерфейсы {{domxref("Screen.orientation")}} и {{domxref("ScreenOrientation")}} ({{bug("1131470")}}). Не стандартные {{domxref("Screen.mozOrientation")}}, {{domxref("Screen.onmozorientationchange")}}, {{domxref("Screen.mozLockOrientation()")}}, и {{domxref("Screen.mozUnlockOrientation()")}} будут удалены в будущем.</li> + <li>Реализована современная версия <a href="/en-US/docs/Web/API/Screen_Orientation_API">Screen Orientation API</a>: доступны беспрефиксные интерфейсы {{domxref("Screen.orientation")}} и {{domxref("ScreenOrientation")}} ({{bug("1131470")}}). Не стандартные {{domxref("Screen.mozOrientation")}}, {{domxref("Screen.onmozorientationchange")}}, {{domxref("Screen.mozLockOrientation()")}}, и {{domxref("Screen.mozUnlockOrientation()")}} будут удалены в будущем.</li> <li>В Линукс, как и в Windows, {{domxref("Event.timeStamp")}} теперь возвращает {domxref("DOMHighResTimeStamp")}} ({{bug(1026803)}}).</li> <li>Экспериментальная поддержка {{domxref("Selection")}} событий {{event("selectionchange")}} и {{event("selectstart")}}, а также добавлены {{domxref("Document.onselectionchange")}} и {{domxref("GlobalEventHandlers.onselectstart")}} свойства для обработчиков событий ({{bug(571294)}}). Событие<code> selectionchange</code> теперь возникает на {{domxref("Document")}} если связано с объектом <code>Selection</code>, или в особом случае {{domxref("HTMLInputElement")}} или {{domxref("HTMLTextAreaElement")}} ({{bug(1196479)}}). Это свойство контролируется с помощью настройки <code>dom.select_events.enabled</code>, которое по умолчанию имеет значение <code>false</code>, за исключением Firefox Nightly.</li> <li>Поддержка {{domxref("MouseEvent.offsetX")}} и {{domxref("MouseEvent.offsetY")}} доступна по умолчанию в Android версии Firefox и Firefox OS ({{bug(1204841)}}).</li> <li>Удален метод {{domxref("HTMLCanvasElement.mozFetchAsStream()")}} ({{bug(1206030)}}).</li> - <li>Конструктор {{domxref("Request.Request", "Request()")}} а также {{domxref("Window.fetch", "fetch()")}} теперь выбросит исключение {{exception("TypeError")}} если будет использовано в URL которое содержит параменты с именами username и password ({{bug(1195820)}}).</li> + <li>Конструктор {{domxref("Request.Request", "Request()")}} а также {{domxref("Window.fetch", "fetch()")}} теперь выбросит исключение {{exception("TypeError")}} если будет использовано в URL которое содержит параметры с именами username и password ({{bug(1195820)}}).</li> </ul> <h3 id="MathML">MathML</h3> @@ -124,7 +124,7 @@ translation_of: Mozilla/Firefox/Releases/43 <h2 id="Безопасность">Безопасность</h2> <ul> - <li>Доступ к Web Storage (i.e. <code>localStorage</code> и <code>sessionStorage</code>) из других IFrame-jов запрещен если у пользователя <a href="https://support.mozilla.org/en-US/kb/disable-third-party-cookies">заблокированы куки из сторонних сервисов (других вебсайтов) </a>({{bug("536509")}}).</li> + <li>Доступ к Web Storage (i.e. <code>localStorage</code> и <code>sessionStorage</code>) из других IFrame-jов запрещен если у пользователя <a href="https://support.mozilla.org/en-US/kb/disable-third-party-cookies">заблокированы куки из сторонних сервисов (других веб-сайтов) </a>({{bug("536509")}}).</li> <li>Белый список удален из Nightly и Aurora/Dev Edition браузеров ({{bug(1201023)}}). Также запланировано удаление из Beta и Release версий в следующей версии (Firefox 44).</li> <li>Реализована целостность ресурсов для {{htmlelement("script")}} и {{htmlelement("link")}} которые ведут к файлам стилей ({{bug("992096")}}).</li> </ul> diff --git a/files/ru/mozilla/firefox/releases/50/index.html b/files/ru/mozilla/firefox/releases/50/index.html index cac9da9b13..6b9122dff1 100644 --- a/files/ru/mozilla/firefox/releases/50/index.html +++ b/files/ru/mozilla/firefox/releases/50/index.html @@ -17,8 +17,8 @@ translation_of: Mozilla/Firefox/Releases/50 <ul> <li>Стиль элемента по умолчанию {{HTMLElement("bdo")}} теперь определен как {{cssxref("unicode-bidi")}} имеющий значение <code>isolate-override</code> ({{bug(1249497)}}).</li> - <li>Установка аттрибута {{htmlattrxref("src", "track")}} элемента {{HTMLElement("track")}} теперь работает корректно ({{bug(1281418)}}).</li> - <li>Аттрибут <code>referrerpolicy</code> у элементов {{HTMLElement("area")}}, {{HTMLElement("a")}}, {{HTMLElement("img")}}, {{HTMLElement("iframe")}} and {{HTMLElement("link")}} теперь доступен по умолчанию ({{bug(1223838)}}, {{bug(1264165)}}).</li> + <li>Установка атрибута {{htmlattrxref("src", "track")}} элемента {{HTMLElement("track")}} теперь работает корректно ({{bug(1281418)}}).</li> + <li>Атрибут <code>referrerpolicy</code> у элементов {{HTMLElement("area")}}, {{HTMLElement("a")}}, {{HTMLElement("img")}}, {{HTMLElement("iframe")}} and {{HTMLElement("link")}} теперь доступен по умолчанию ({{bug(1223838)}}, {{bug(1264165)}}).</li> </ul> <h3 id="CSS">CSS</h3> diff --git a/files/ru/mozilla/firefox/releases/53/index.html b/files/ru/mozilla/firefox/releases/53/index.html index a242d26218..fc479aa30a 100644 --- a/files/ru/mozilla/firefox/releases/53/index.html +++ b/files/ru/mozilla/firefox/releases/53/index.html @@ -12,7 +12,7 @@ translation_of: Mozilla/Firefox/Releases/53 <h3 id="Инструменты_разработчика"><font><font>Инструменты разработчика</font></font></h3> <ul> - <li><font><font>Избегание задержки в прокрутке на подстветке заданных АПЗ ({{bug (1312103)}}).</font></font></li> + <li><font><font>Избегание задержки в прокрутке на подсветке заданных АПЗ ({{bug (1312103)}}).</font></font></li> <li><font><font>Добавлена возможность </font></font><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Copy CSS Path"><font><font>копировать полный путь CSS</font></font></a><font><font> элемента ({{bug(1323700)}}).</font></font></li> <li><font><font>Devtools добавлена поддержка CSS-цвета-4 ({{bug (1310681)}}).</font></font></li> <li><font><font>Разметка вид: добавить визуальную подсказку между открывающим и закрывающим тегами сложенного узла ({{bug(1323193)}}).</font></font></li> diff --git a/files/ru/mozilla/firefox/releases/58/index.html b/files/ru/mozilla/firefox/releases/58/index.html index 70439e828f..e6e71aba3a 100644 --- a/files/ru/mozilla/firefox/releases/58/index.html +++ b/files/ru/mozilla/firefox/releases/58/index.html @@ -13,8 +13,8 @@ translation_of: Mozilla/Firefox/Releases/58 <ul> <li>Код старой версии режима Отзывчивый дизайн (Responsive Design) (включен по умолчанию в pre-Firefox 52) удален из Devtools ({{bug(1305777)}}). Подробнее о новой версии в статье <a href="/en-US/docs/Tools/Responsive_Design_Mode">Responsive Design Mode</a>.</li> - <li>Возможность просмотривать документацию MDN docs на вкладке CSS на страницах инспектора удалена ({{bug(1382171)}}).</li> - <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Edit_CSS_shapes">Маркер CSS фигур </a> включен по умолчанию для фигур (геометрических примтивов), сгенерированных как {{cssxref("clip-path")}} ({{bug(1405339)}}).</li> + <li>Возможность просматривать документацию MDN docs на вкладке CSS на страницах инспектора удалена ({{bug(1382171)}}).</li> + <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Edit_CSS_shapes">Маркер CSS фигур </a> включен по умолчанию для фигур (геометрических примитивов), сгенерированных как {{cssxref("clip-path")}} ({{bug(1405339)}}).</li> <li> <a href="/en-US/docs/Tools/Network_Monitor">Network Monitor</a> теперь содержит кнопку для <a href="/en-US/docs/Tools/Network_Monitor#Pausing_and_resume_network_traffic_recording">останова/записи и просмотра сетевого трафика</a> согласно ({{bug(1005755)}}).</li> <li>В <a href="/en-US/docs/Tools/Network_Monitor">Network Monitor</a> фильтр "Flash" недоступен и все запросы Flash включаются в фильтр "Другое" согласно ({{bug(1413540)}}).</li> </ul> diff --git a/files/ru/mozilla/firefox/releases/63/index.html b/files/ru/mozilla/firefox/releases/63/index.html index a3d27db843..9bf6b600cc 100644 --- a/files/ru/mozilla/firefox/releases/63/index.html +++ b/files/ru/mozilla/firefox/releases/63/index.html @@ -22,7 +22,7 @@ translation_of: Mozilla/Firefox/Releases/63 <li>При наведении курсора на объект в <a href="/ru/docs/Tools/Accessibility_inspector">инспекторе поддержки доступности</a>, <a href="/ru/docs/Tools/Accessibility_inspector#Highlighting_of_UI_items">элемент будет подсвечен</a>, а его роль и имя показаны в информационной панели на странице ({{bug(1473030)}}).</li> <li>Командная строка <a href="/ru/docs/Tools/Web_Console">веб-консоли</a> теперь находится не внизу окна, а прямо после вывода консоли ({{bug(1136299)}}).</li> <li>Если адрес принадлежит домену, о котором известно, что он отслеживает пользователей, <a href="/ru/docs/Tools/Network_Monitor">сетевой монитор</a> покажет специальный значок перед этой ссылкой — см. {{SectionOnPage("/ru/docs/Tools/Network_Monitor", "Значки безопасности")}} ({{bug(1333994)}}).</li> - <li>Настройка <code>devtools.aboutdebugging.showSystemAddons</code> отныне по умолчанию имеет значение <code>false</code>, что означет — системные дополнения не будут показаны на странице <code>about:debugging</code>. Значение этой настройки можно изменить на странице <code>about:config</code> ({{bug(1425347)}}).</li> + <li>Настройка <code>devtools.aboutdebugging.showSystemAddons</code> отныне по умолчанию имеет значение <code>false</code>, что означает — системные дополнения не будут показаны на странице <code>about:debugging</code>. Значение этой настройки можно изменить на странице <code>about:config</code> ({{bug(1425347)}}).</li> <li>Упрощена панель инструментов <a href="/ru/docs/Tools/Responsive_Design_Mode">режима адаптивного дизайна</a>, кроме того, добавлена возможность выровнять область просмотра по левому краю.</li> <li>Для пользовательских элементов инспектор теперь показывает <a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Custom_element_definition">ссылку на определение класса</a> ({{bug(1443923)}}).</li> </ul> diff --git a/files/ru/mozilla/firefox/releases/64/index.html b/files/ru/mozilla/firefox/releases/64/index.html index 303b7d9ac5..bd14e4d975 100644 --- a/files/ru/mozilla/firefox/releases/64/index.html +++ b/files/ru/mozilla/firefox/releases/64/index.html @@ -144,12 +144,12 @@ translation_of: Mozilla/Firefox/Releases/64 <li>Удалены устаревшие конечные точки без префикса <code>Marionette:</code>, <code>L10n:</code> или <code>Addon:</code> (включая <code>singeTap</code>) ({{bug(1504478)}}, {{bug(1504940)}}).</li> </ul> -<h4 id="Исправленные_ошибеи">Исправленные ошибеи</h4> +<h4 id="Исправленные_ошибки">Исправленные ошибки</h4> <ul> <li>Синтезированные события <code>Shift</code> с использованием <code>WebDriver:PerformActions</code> не создавали заглавные буквы ({{bug(1405370)}}).</li> <li><code>WebDriver:Navigate</code> мог вызвать бесконечное зависание, если низлежащий процесс контента вкладки менялся много раз во время навигации ({{bug(1504807)}}).</li> - <li>Для улучшения производительности и сокращения количества потребляемой памяти странца, в новой вкладке или окне будет загружаться не <code>about:newtab</code>, а <code>about:blank</code> ({{bug(1506643)}}).</li> + <li>Для улучшения производительности и сокращения количества потребляемой памяти страница, в новой вкладке или окне будет загружаться не <code>about:newtab</code>, а <code>about:blank</code> ({{bug(1506643)}}).</li> <li>Отключено по умолчанию предложение использовать панель блокировки контента, показ которого препятствует взаимодействию с элементами интерфейса ({{bug(1488826)}}).</li> </ul> diff --git a/files/ru/mozilla/firefox/releases/65/index.html b/files/ru/mozilla/firefox/releases/65/index.html index aaf8846c61..f6f3114add 100644 --- a/files/ru/mozilla/firefox/releases/65/index.html +++ b/files/ru/mozilla/firefox/releases/65/index.html @@ -71,7 +71,7 @@ translation_of: Mozilla/Firefox/Releases/65 <ul> <li>Удалена настройка <code>layout.css.shape-outside.enabled</code>; поддержку {{cssxref("shape-outside")}}, {{cssxref("shape-margin")}} и {{cssxref("shape-image-threshold")}} больше нельзя отключить через <code>about:config</code> ({{bug(1504387)}}).</li> - <li>Удалены некоторые специфичные дляl Firefox значения {{cssxref("user-select")}} — <code>-moz-all</code>, <code>-moz-text</code>, <code>tri-state</code>, <code>element</code>, <code>elements</code> и <code>toggle</code>. См. {{bug(1492958)}} и {{bug(1506547)}}.</li> + <li>Удалены некоторые специфичные для Firefox значения {{cssxref("user-select")}} — <code>-moz-all</code>, <code>-moz-text</code>, <code>tri-state</code>, <code>element</code>, <code>elements</code> и <code>toggle</code>. См. {{bug(1492958)}} и {{bug(1506547)}}.</li> <li>Как упоминалось выше, удалена временная функция <code>frames()</code> ({{bug(1496619)}}).</li> </ul> @@ -212,7 +212,7 @@ translation_of: Mozilla/Firefox/Releases/65 <li>Обратный вызов слушателя событий {{WebExtAPIRef("tabs.onActivated")}} получил новый параметр, <code>previousTabId</code>, содержащий ID предыдущей активированной вкладки, если она всё ещё открыта.</li> <li>Объект <code>updateProperties</code> функции {{WebExtAPIRef("tabs.update()")}} обзавёлся новым свойством <code>successorTabId</code>, которое служит для его обновления.</li> <li><code>successorTabId</code> также возвращается функциями наподобие {{WebExtAPIRef("tabs.get()")}} и {{WebExtAPIRef("tabs.query()")}}.</li> - <li>Новая функция <code>tabs.moveInSuccession()</code> ипозволяет массово манипулировать наследниками вкладок.</li> + <li>Новая функция <code>tabs.moveInSuccession()</code> позволяет массово манипулировать наследниками вкладок.</li> </ul> </li> </ul> diff --git a/files/ru/mozilla/firefox/releases/68/index.html b/files/ru/mozilla/firefox/releases/68/index.html index c9a6d5fc97..ed3740fde3 100644 --- a/files/ru/mozilla/firefox/releases/68/index.html +++ b/files/ru/mozilla/firefox/releases/68/index.html @@ -35,7 +35,7 @@ translation_of: Mozilla/Firefox/Releases/68 <ul> <li>В списке<a href="/ru-RU/docs/Tools/Network_Monitor/request_list#Filtering_requests"> запросов</a> Сетевой монитора теперь можно блокировать определённые URL ({{bug(1151368)}}).</li> <li>Теперь вы можете повторно отправить запрос без редактирования метода, URL, параметров и заголовков, используя команду <a href="/ru-RU/docs/Tools/Network_Monitor/request_list#Context_menu">Переотправить</a> в контекстном меню ({{bug(1422014)}}).</li> - <li>Контектное меню Сетевого монитора, вкладка <a href="/ru-RU/docs/Tools/Network_Monitor/request_details#Headers">Заголовки</a>, теперь позволяет вам скопировать всю или же некоторую информацию о заголовках в формате JSON ({{bug(1442249)}}).</li> + <li>Контекстное меню Сетевого монитора, вкладка <a href="/ru-RU/docs/Tools/Network_Monitor/request_details#Headers">Заголовки</a>, теперь позволяет вам скопировать всю или же некоторую информацию о заголовках в формате JSON ({{bug(1442249)}}).</li> </ul> <h4 id="Инспектор_страниц">Инспектор страниц</h4> @@ -139,30 +139,30 @@ translation_of: Mozilla/Firefox/Releases/68 <li>{{domxref("XMLHttpRequest")}} был обновлён и больше не принимает нестандартное значение <code>moz-chunked-arraybuffer</code> для {{domxref("XMLHttpRequest.responseType", "responseType")}}. Код, использующий это, должен быть обновлён, чтобы <a href="/ru-RU/docs/Web/API/Streams_API/Using_readable_streams#Consuming_a_fetch_as_a_stream">использовать Fetch API как поток</a> ({{bug(1120171)}}).</li> <li><code>XMLHttpRequest</code> теперь выводит предупреждения в консоль, если выполняется синхронный запрос во время обработки {{domxref("Window.unload_event", "unload")}}, {{domxref("Window.beforeunload_event", "beforeunload")}}, {{domxref("Window.pagehide_event", "pagehide")}} ({{bug(980902)}}).</li> <li>Свойство {{domxref("Document.cookie", "cookie")}} было перенесено из интерфейса {{domxref("HTMLDocument")}} в {{domxref("Document")}}, позволяя документам отличным от {{Glossary("HTML")}} использовать куки ({{bug(144795)}}).</li> - <li>Методы {{domxref("HTMLElement.focus()")}} и {{domxref("SVGElement.focus()")}} теперь принимают необязательный объект, который может содержать булеву опцию <code>preventScroll</code>, определяющую: должна или не дожна происходить блокировка браузером прокрутки элемента с фокусом в поле зрения ({{bug(1374045)}}).</li> + <li>Методы {{domxref("HTMLElement.focus()")}} и {{domxref("SVGElement.focus()")}} теперь принимают необязательный объект, который может содержать булеву опцию <code>preventScroll</code>, определяющую: должна или не должна происходить блокировка браузером прокрутки элемента с фокусом в поле зрения ({{bug(1374045)}}).</li> </ul> <h4 id="События_DOM">События DOM</h4> <ul> <li><a href="/ru-RU/docs/Mozilla/Firefox_for_Android">Firefox для Android</a> больше не отправляет неправильное событие {{domxref("Window.resize_event", "resize")}}, пока не будет отрисован первый фрейм; это улучшит совместимость с сайтами, которые не ожидают, что это событие произойдёт ({{bug(1528052)}}).</li> - <li>Рассылка событий для неосновных кнопок мыши было измненено ближе к спецификации; Событие {{domxref("Element.click_event", "click")}} больше не вызывается, когда неосновные кнопки мыши были нажат, в отличие от события {{domxref("Element.auxclick_event", "auxclick")}}. В дополнение, {{domxref("Element.dblclick_event", "dblclick")}} больше на срабатывает для неосновных кнопок мыши ({{bug(1379466)}}).</li> + <li>Рассылка событий для неосновных кнопок мыши было изменено ближе к спецификации; Событие {{domxref("Element.click_event", "click")}} больше не вызывается, когда неосновные кнопки мыши были нажат, в отличие от события {{domxref("Element.auxclick_event", "auxclick")}}. В дополнение, {{domxref("Element.dblclick_event", "dblclick")}} больше на срабатывает для неосновных кнопок мыши ({{bug(1379466)}}).</li> <li>Собственное свойство {{domxref("MouseEvent.mozPressure")}} объявлено устаревшим и теперь при вызове сопровождается предупреждением в консоли ({{bug(1165211)}}).</li> </ul> <h4 id="Медиа_Веб-аудио_и_WebRTC">Медиа, Веб-аудио и WebRTC</h4> <ul> - <li>WebRTC был обновлён и распознаёт <code>null</code>, отправленное в обработчик события {{domxref("RTCPeerConnection.icecandidate", "icecandidate")}}, сообщая о получении, вместо того, чтобы никак не реагировать на это; когда это происходит, ICE соостояние ({{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}) становится <code>complete</code> ({{bug(1318167)}}).</li> + <li>WebRTC был обновлён и распознаёт <code>null</code>, отправленное в обработчик события {{domxref("RTCPeerConnection.icecandidate", "icecandidate")}}, сообщая о получении, вместо того, чтобы никак не реагировать на это; когда это происходит, ICE состояние ({{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}) становится <code>complete</code> ({{bug(1318167)}}).</li> <li>Методы {{domxref("RTCRtpReceiver")}},{{domxref("RTCRtpReceiver.getContributingSources", "getContributingSources()")}} и {{domxref("RTCRtpReceiver.getSynchronizationSources", "getSynchronizationSources()")}} теперь поддерживают видеодорожки; ранее они работали только с audio ({{bug(1534466)}}).</li> <li>Web Audio API интерфейс {{domxref("MediaStreamTrackAudioSourceNode")}} теперь поддерживается, как метод {{domxref("AudioContext.createMediaStreamTrackSource()")}} ({{bug(1324548)}}).</li> <li>{{domxref("RTCDataChannel.negotiated")}} теперь реализован ({{bug(1529695)}}).</li> - <li>Конструктор {{domxref("MediaStreamAudioSourceNode.MediaStreamAudioSourceNode", "MediaStreamAudioSourceNode()")}} был обновлён в соотвествии со спецификацией, где "first audio track" в потоке дорожка, идентификаторой которой приходит первым в лексикографическом порядке ({{bug(1324548)}}).</li> + <li>Конструктор {{domxref("MediaStreamAudioSourceNode.MediaStreamAudioSourceNode", "MediaStreamAudioSourceNode()")}} был обновлён в соответствии со спецификацией, где "first audio track" в потоке дорожка, идентификатора которой приходит первым в лексикографическом порядке ({{bug(1324548)}}).</li> <li> - <p>{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} больше не может быть использован из небезопаного контекста; попытки сделать это будут сопровождаться исключением <code>NotAllowedError</code>. Безопасными контекстами считаются те, которые загруженные через HTTPS, либо которые использую схему <code>file:///</code>, либо загружены из <code>localhost</code>. Сейчас, если необходимо, вы можете включить возможность совершать небезопасные вызовы <code>getUserMedia()</code>, установив надстройку <code>media.getusermedia.insecure.enabled</code> в состояние <code>true</code> ({{bug(1335740)}}).</p> + <p>{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} больше не может быть использован из небезопасного контекста; попытки сделать это будут сопровождаться исключением <code>NotAllowedError</code>. Безопасными контекстами считаются те, которые загруженные через HTTPS, либо которые использую схему <code>file:///</code>, либо загружены из <code>localhost</code>. Сейчас, если необходимо, вы можете включить возможность совершать небезопасные вызовы <code>getUserMedia()</code>, установив надстройку <code>media.getusermedia.insecure.enabled</code> в состояние <code>true</code> ({{bug(1335740)}}).</p> <div class="blockIndicator note"> - <p><strong>Заметка:</strong> В будущем, Firefox также удалит свойство {{domxref("navigator.mediaDevices")}} на незащищённых контекстах, предотратив доступ к {{domxref("MediaDevices")}} API. <strong>Это уже так в Nightly сборках.</strong></p> + <p><strong>Заметка:</strong> В будущем, Firefox также удалит свойство {{domxref("navigator.mediaDevices")}} на незащищённых контекстах, предотвратив доступ к {{domxref("MediaDevices")}} API. <strong>Это уже так в Nightly сборках.</strong></p> </div> </li> </ul> @@ -205,7 +205,7 @@ translation_of: Mozilla/Firefox/Releases/68 <h4 id="Прочее_2">Прочее</h4> <ul> - <li>Отключена функция принудительной выгрузки вкладок при нехватки памяти, для предоствращения магических исчезновений top-level контекстов браузера ({{bug(1553748)}}).</li> + <li>Отключена функция принудительной выгрузки вкладок при нехватки памяти, для предотвращения магических исчезновений top-level контекстов браузера ({{bug(1553748)}}).</li> <li>Disabled priviledged content processes that caused HTTP authentication dialogs not to appear when navigating to a website after opening a new tab ({{bug(1558763)}}).</li> </ul> @@ -213,15 +213,15 @@ translation_of: Mozilla/Firefox/Releases/68 <p><em>Без изменений.</em></p> -<h2 id="Изменения_для_разработчкиов_дополнений">Изменения для разработчкиов дополнений</h2> +<h2 id="Изменения_для_разработчиков_дополнений">Изменения для разработчиков дополнений</h2> <h3 id="Изменения_API">Изменения API</h3> <ul> <li>Функции <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/register">proxy.register()</a> и <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/unregister">proxy.unregister()</a> объявлены устаревшими и будут удалены в Firefox 71 ({{bug(1545811)}}).</li> <li>Сообщения об ошибке, когда дополнение пытается добавить папку с закладками в основную папку, теперь более интуитивно понятное ({{bug(1512171)}}).</li> - <li>Promise, возвращённый <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/duplicate">browser.tabs.duplicate()</a></code>, выполняется сразу, пока вкладки не загружены полность, для повышения производительности ({{bug(1394376)}}).</li> - <li>Была добавлена поддержка chrome.storage.managed, позволяющая настройкам быть реализованым через корпоративную политику ({{bug(1230802)}}).</li> + <li>Promise, возвращённый <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/duplicate">browser.tabs.duplicate()</a></code>, выполняется сразу, пока вкладки не загружены полностью, для повышения производительности ({{bug(1394376)}}).</li> + <li>Была добавлена поддержка chrome.storage.managed, позволяющая настройкам быть реализованным через корпоративную политику ({{bug(1230802)}}).</li> <li>Появилась опция Групповой Политики, позволяющая добавить все расширения в черный список, за исключением тех, что внесены в белый, ({{bug(1522823)}}).</li> </ul> diff --git a/files/ru/orphaned/learn/how_to_contribute/index.html b/files/ru/orphaned/learn/how_to_contribute/index.html index 16440b4327..d28b40f5f3 100644 --- a/files/ru/orphaned/learn/how_to_contribute/index.html +++ b/files/ru/orphaned/learn/how_to_contribute/index.html @@ -73,7 +73,7 @@ original_slug: Learn/Как_сделать_вклад <dd>Просмотрите словарную статью и не стесняйтесь вносить любые необходимые, на ваш взгляд, изменения. Если вы хотели бы обсудить контент перед тем, как редактировать, напишите нам в наш <a href="/en-US/docs/MDN/Community#Join_our_mailing_lists">список рассылки</a> или <a href="/en-US/docs/MDN/Community#Get_into_IRC">IRC канал</a>.</dd> <dt><a href="/docs/MDN/Contribute/Howto/Write_a_new_entry_in_the_Glossary">Напишите новую статью для словаря</a> (<em>1 час</em>)</dt> <dd>Новички очень нуждаются в ясных, простых определениях терминов и базовом обзоре понятий в словаре. Ваш педагогический опыт может помочь нам создать превосходные словарные статьи; у нас есть <a href="/en-US/docs/Glossary#Contribute">множество терминов без определений</a>, которые нуждаются в вашем внимании. Выбирайте один из них и приступайте.</dd> - <dt><a href="/en-US/docs/tag/needsSchema">Добавьте илллюстрации и/или схемы в статью</a> (<em>1 час</em>)</dt> + <dt><a href="/en-US/docs/tag/needsSchema">Добавьте иллюстрации и/или схемы в статью</a> (<em>1 час</em>)</dt> <dd>Как вам, наверное, известно, иллюстрации - бесценная часть любого обучающего материала. Зачастую именно их нам не хватает на MDN, и ваши навыки могут улучшить ситуацию в данной области. Посмотрите список статей, у которых <a href="/en-US/docs/tag/needsSchema">отсутствует иллюстративный материал</a>, и выберите одну, к которой вам бы хотелось создать графику.</dd> <dt><a href="/en-US/Learn/Index">Прочитайте и проверьте обучающую статью</a> (<em>2 часа</em>)</dt> <dd>Это тоже самое, что и проверка статьи в словаре (см.выше), но занимает больше времени, поскольку обычно такие статьи значительно длиннее.</dd> diff --git a/files/ru/orphaned/mdn/about/linking_to_mdn/index.html b/files/ru/orphaned/mdn/about/linking_to_mdn/index.html index daefa73c53..bcbe94dca6 100644 --- a/files/ru/orphaned/mdn/about/linking_to_mdn/index.html +++ b/files/ru/orphaned/mdn/about/linking_to_mdn/index.html @@ -30,7 +30,7 @@ original_slug: MDN/User_guide/Linking_to_MDN </li> <li>Если вы пишете о конкретной странице, элементе, методе и так далее, вы можете ссылаться на конкретную страницу. Например: <ul> - <li>Если вы пишете об элементах HTML, вы можете захотеть сослатся на наш индекс всех элементов HTML (<a href="/ru/docs/Web/HTML/Element">https://developer.mozilla.org/ru/docs/Web/HTML/Element</a>), либо на конкрентый элемент, например {{HTMLElement("colgroup")}}.</li> + <li>Если вы пишете об элементах HTML, вы можете захотеть сослаться на наш индекс всех элементов HTML (<a href="/ru/docs/Web/HTML/Element">https://developer.mozilla.org/ru/docs/Web/HTML/Element</a>), либо на конкретный элемент, например {{HTMLElement("colgroup")}}.</li> <li>Аналогично, если вы пишете о CSS, вы можете сослаться как на наш справочник по CSS (большой индекс: <a href="/ru/docs/Web/CSS/Reference">https://developer.mozilla.org/ru/docs/Web/CSS/Reference</a>), так и на конкретное свойство, о котором вы пишете, например {{cssxref("list-style-type")}}.</li> </ul> </li> @@ -52,7 +52,7 @@ original_slug: MDN/User_guide/Linking_to_MDN <ul> <li><strong>Не ставьте слишком много ссылок.</strong> <a href="/ru/docs/Web/CSS/:not" title=":not()">Не</a> <a href="/ru/docs/Web/JavaScript/Reference/Statements/do...while" title="do...while">ставьте</a> <a href="/ru/docs/Web/CSS/:link" title=":link">ссылки</a> на каждое слово или почти каждое слово. Это раздражает. Тщательно выбирайте и ставьте ссылку только на основные понятия в вашем тексте, либо специально выбирайте ссылки на страницы о понятиях, о которых читатель ещё, вероятно, не знает.</li> <li><strong>Не ссылайтесь на один и тот же термин снова и снова.</strong> Если вы пишете об анимациях на CSS, не нужно ставить ссылку на каждое вхождение слова «анимация» на <a href="/ru/docs/Web/CSS/animation">свойство CSS <code>animation</code></a>. Если читатели не знают понятие, они скорее щёлкнут на первое вхождение для получения релевантной информации. Далее по тексту вы можете безопасно предполагать, что читатель уже знает о понятии, либо ещё до чтения страницы, либо сходив по предыдущей ссылке. Время от времени вы можете вставлять ссылку на термин (максимум одну на несколько абзацев), так что если читателю позже нужно будет перейти по ссылке, ему не надо будет долго прокручивать страницу.</li> - <li><strong>Будьте внимательны, проставляя ссылки на форумах и в комментариях к блогам.</strong> Предоставление релевантных ссылок на постоянные ресурсы по конкретному вопросу или проблеме — это здорово и всячески приветствуется. Блуждание по сети и заваливание ссылками на MDN наоборот, не ценится: и владельцы сайтов, и читатели быстро признают в вас спамера и репутация MDN будет подмочена. Мы прилагаем гиганские усилия для построения ценного ресурса и у нас нет никакого желания, чтобы они разрушались таким поведением, поэтому, пожалуйста, размещайте только релевантные ссылки в соответствующее время.</li> + <li><strong>Будьте внимательны, проставляя ссылки на форумах и в комментариях к блогам.</strong> Предоставление релевантных ссылок на постоянные ресурсы по конкретному вопросу или проблеме — это здорово и всячески приветствуется. Блуждание по сети и заваливание ссылками на MDN наоборот, не ценится: и владельцы сайтов, и читатели быстро признают в вас спамера и репутация MDN будет подмочена. Мы прилагаем гигантские усилия для построения ценного ресурса и у нас нет никакого желания, чтобы они разрушались таким поведением, поэтому, пожалуйста, размещайте только релевантные ссылки в соответствующее время.</li> </ul> <h3 id="Adding_a_banner_or_an_image_to_your_site" name="Adding_a_banner_or_an_image_to_your_site">Добавление баннера или изображения на ваш сайт</h3> @@ -60,5 +60,5 @@ original_slug: MDN/User_guide/Linking_to_MDN <p>Не стесняйтесь показывать нам вашу поддержку: посетите страницу <a href="/ru/docs/MDN/Promote">продвижения MDN</a> и создайте кнопку специально для вашего сайта. Конечно, вы вольны разместить ссылку на другую страницу, например, на одну из целевых страниц.</p> <h3 id="Automatically_linking_to_MDN_from_WordPress" name="Automatically_linking_to_MDN_from_WordPress">Автоматическое проставление ссылок на MDN из WordPress</h3> -<p>Мы создали <a href="/ru/docs/MDN/Promote#WordPress_plugin">плагин WordPress</a>, который автоматически проставляет ссылки на выбранные термины в записях вашего блога на соответствующие страницы MDN. Делает он это разумно, в соответствии с рекомендациями, изложенными выше и может быть большим подспорьем для блоггеров, пишущих о концепциях веба. Взгляните на него, и попробуйте установить, если вы думаете, что он может быть полезен.</p> +<p>Мы создали <a href="/ru/docs/MDN/Promote#WordPress_plugin">плагин WordPress</a>, который автоматически проставляет ссылки на выбранные термины в записях вашего блога на соответствующие страницы MDN. Делает он это разумно, в соответствии с рекомендациями, изложенными выше и может быть большим подспорьем для блогеров, пишущих о концепциях веба. Взгляните на него, и попробуйте установить, если вы думаете, что он может быть полезен.</p> <p>Большое спасибо вам за вашу поддержку!</p> diff --git a/files/ru/orphaned/mdn/community/conversations/index.html b/files/ru/orphaned/mdn/community/conversations/index.html index 0c82918926..c0c6683b69 100644 --- a/files/ru/orphaned/mdn/community/conversations/index.html +++ b/files/ru/orphaned/mdn/community/conversations/index.html @@ -14,11 +14,11 @@ original_slug: MDN/Сообщество/Conversations <h2 id="Дискуссии_и_обмен_информацией.">Дискуссии и обмен информацией.</h2> -<p>Для того, чтобы делиться информацией и вести дискусиию, <a href="https://discourse.mozilla.org/c/mdn">MDN имеет раздел ("MDN") на форуме Mozilla</a>. Используйте данный раздел для всех тем, связанных с MDN, включая создание, перевод и обслуживание документации; Разработка платформы MDN; и планирование, постановка целей и отслеживание прогресса.</p> +<p>Для того, чтобы делиться информацией и вести дискуссию, <a href="https://discourse.mozilla.org/c/mdn">MDN имеет раздел ("MDN") на форуме Mozilla</a>. Используйте данный раздел для всех тем, связанных с MDN, включая создание, перевод и обслуживание документации; Разработка платформы MDN; и планирование, постановка целей и отслеживание прогресса.</p> <ul> <li>Чтобы войти на форум Mozilla, используй <a href="https://discourse.mozilla-community.org/t/signing-up-and-logging-in/16017">Регистрацию или Авторизацию</a>; Если у вас есть Mozilla LDAP аккаунт, вы можете воспользоваться "Авторизацией через Почту".</li> - <li>Чтобы подписаться на категории свзянные с MDN, see <a href="https://discourse.mozilla-community.org/t/subscribing-to-categories-and-topics/16024">Subscribing to categories and topics</a>.</li> + <li>Чтобы подписаться на категории связанные с MDN, see <a href="https://discourse.mozilla-community.org/t/subscribing-to-categories-and-topics/16024">Subscribing to categories and topics</a>.</li> <li>(Необязательно) Если вы предпочитаете взаимодействовать с Discourse в основном по электронной почте, см. <a href="https://discourse.mozilla-community.org/t/mailman-mode/15279">Set up a mailing list experience for yourself</a>. Вы можете начать обсуждение в Discourse, отправив электронное сообщение по адресу: <a href="mailto://mdn@mozilla-community.org">mdn@mozilla-community.org</a>. If you use Discourse via email, you can reply to a message by replying to the notification email that you receive. If you want to intersperse comments inline within a reply, please put two carriage-returns before and after your inline chunks, so that Discourse parses them correctly.</li> </ul> @@ -30,7 +30,7 @@ original_slug: MDN/Сообщество/Conversations <dt><a href="https://groups.google.com/forum/#!forum/mozilla.dev.mdc">mozilla.dev.mdc</a> a.k.a. <strong>dev-mdc</strong></dt> <dd>Данный список предназначался для обсуждения документации.</dd> <dt><a href="https://groups.google.com/forum/#!forum/mozilla.dev.mdn">mozilla.dev.mdn </a>a.k.a. <strong>dev-mdn</strong></dt> - <dd>Этот список посвещался базовой разработке платформы MDN <a href="/en-US/docs/Project:MDN/Kuma">Kuma</a>.</dd> + <dd>Этот список посвящался базовой разработке платформы MDN <a href="/en-US/docs/Project:MDN/Kuma">Kuma</a>.</dd> <dt><a href="https://groups.google.com/forum/#!forum/mozilla.mdn">mozilla.mdn </a>a.k.a. <strong>mdn@</strong></dt> <dd>Этот форум был предназначен для обсуждения на высоком уровне планирования и определения приоритетов, для веб-сайта MDN и других связанных инициатив.</dd> </dl> @@ -47,7 +47,7 @@ original_slug: MDN/Сообщество/Conversations <p>В течение многих лет Mozilla использовала Internet Relay Chat (IRC) для обсуждения в реальном времени. С начала 2020 года IRC устарел и заменен Matrix. Вы можете встретить ссылки на IRC-каналы во многих местах, в том числе на MDN. Вы можете помочь, обновив ссылки на IRC-каналы, которые вы найдете на MDN, чтобы они указывали на соответствующие комнаты Matrix. Если вы не уверены, что представляет собой комната Matrix по теме, спросите в общей комнате. У проектов или тем, которые больше не активны, может не быть комнаты Matrix; в таких случаях просто удалите ссылку.</p> -<h2 id="Присоеденяйся_к_нашим_встречам_и_другим_событиям">Присоеденяйся к нашим встречам (и другим событиям)</h2> +<h2 id="Присоединяйся_к_нашим_встречам_и_другим_событиям">Присоединяйся к нашим встречам (и другим событиям)</h2> <p>The MDN team holds a number of regular meetings that are open to the MDN community. See the <a href="https://wiki.mozilla.org/MDN/Meetings">MDN Meetings</a> page on the Mozilla wiki for details on the schedule, agendas and notes, and info on how to join.</p> diff --git a/files/ru/orphaned/mdn/editor/basics/index.html b/files/ru/orphaned/mdn/editor/basics/index.html index 9bfaeb7307..cd27a591b8 100644 --- a/files/ru/orphaned/mdn/editor/basics/index.html +++ b/files/ru/orphaned/mdn/editor/basics/index.html @@ -54,7 +54,7 @@ original_slug: MDN/Editor/Basics <p>Для запроса проверки статьи, над которой вы работали, переключите флажок возле нужного пункта. Техническую проверку следует запрашивать каждый раз, когда вы вносите изменения в технические детали работы чего-либо. Редакционная же проверка хороший выбор когда вы хотите посторонней оценки стиля или качества вашего текста.</p> -<p>Несмотря на то что эти опции добавляют вашу работу в соответсвующие списки (<a href="/en-US/docs/needs-review/technical">needing technical review</a> или <a href="/en-US/docs/needs-review/editorial">needing editorial review</a>), это не означает что она будет проверена немедленно. Для технической проверки хорошей идеей будет прямо обратиться к специалистам в этой области (см. <a href="https://developer.mozilla.org/en-US/docs/MDN/Community/Roles/Subject-matter_experts">subject-matter expert</a>). Для редакционной проверки вы можете написать на форуме MDN (см. <a href="https://discourse.mozilla.org/c/mdn">MDN discussion forum</a>) с просьбой проверить вашу работу.</p> +<p>Несмотря на то что эти опции добавляют вашу работу в соответствующие списки (<a href="/en-US/docs/needs-review/technical">needing technical review</a> или <a href="/en-US/docs/needs-review/editorial">needing editorial review</a>), это не означает что она будет проверена немедленно. Для технической проверки хорошей идеей будет прямо обратиться к специалистам в этой области (см. <a href="https://developer.mozilla.org/en-US/docs/MDN/Community/Roles/Subject-matter_experts">subject-matter expert</a>). Для редакционной проверки вы можете написать на форуме MDN (см. <a href="https://discourse.mozilla.org/c/mdn">MDN discussion forum</a>) с просьбой проверить вашу работу.</p> <p>Будьте внимательны, убедитесь что установили нужные флажки перед нажатием кнопки <strong>Сохранить</strong>/<strong>Опубликовать</strong>.</p> diff --git a/files/ru/orphaned/mdn/editor/basics/page_controls/index.html b/files/ru/orphaned/mdn/editor/basics/page_controls/index.html index 1ba42276a2..e8fbdf1e6f 100644 --- a/files/ru/orphaned/mdn/editor/basics/page_controls/index.html +++ b/files/ru/orphaned/mdn/editor/basics/page_controls/index.html @@ -22,10 +22,10 @@ original_slug: MDN/Editor/Basics/Page_controls <dt>Опубликовать</dt> <dd>Эта кнопка сохраняет и публикует изменения, а также закрывает редактор и возвращает вас на страницу в обычном режиме.</dd> <dt>Предварительный просмотр</dt> - <dd>Эта кнопка открывает новую вкладку или окно, в котором показано как будут выглядить ваши изменения после публикации. Это подразумевает, что все ваши <a href="/ru/docs/MDN/Contribute/Content/Macros">макросы</a> и <a href="/ru/docs/MDN/Kuma/Introduction_to_KumaScript#Template_Syntax">шаблоны</a> будут показаны как уже обработанные. Обратите внимание, что ваша работа не будет сохранена при использовании этой опции. Эта возомжность позволяет вам проверить, до того как вы сделали свои изменения публичными, не допустили ли вы ошибок в своих шаблонах, макросах, или при оформлении текста. Если вы столкнулись с ошибками выполнения скриптов, смотрите <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Troubleshooting#Scripting_error_while_previewing_a_page">Troubleshooting scripting error while previewing a page</a>.</dd> + <dd>Эта кнопка открывает новую вкладку или окно, в котором показано как будут выглядеть ваши изменения после публикации. Это подразумевает, что все ваши <a href="/ru/docs/MDN/Contribute/Content/Macros">макросы</a> и <a href="/ru/docs/MDN/Kuma/Introduction_to_KumaScript#Template_Syntax">шаблоны</a> будут показаны как уже обработанные. Обратите внимание, что ваша работа не будет сохранена при использовании этой опции. Эта возможность позволяет вам проверить, до того как вы сделали свои изменения публичными, не допустили ли вы ошибок в своих шаблонах, макросах, или при оформлении текста. Если вы столкнулись с ошибками выполнения скриптов, смотрите <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Troubleshooting#Scripting_error_while_previewing_a_page">Troubleshooting scripting error while previewing a page</a>.</dd> <dd> <div class="warning" style="font-size: 14px;"> - <p><strong>Внимание:</strong> В настоящее время некоторые шамблоны и макросы не выполняются корректно при предварительном просмотре, оставляя страницу без части контента (таких как боковые меню), и, следовательно, частично искажая страницу. Кроме того, если <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Editor/Basics#scayt"><abbr title="Spell-Check As You Type">SCAYT</abbr> включен</a> (и если страница содержит определенные рабочие макросы или шаблоны), режим предварительного просмотра может выдавать ошибку выполнения скриптов.</p> + <p><strong>Внимание:</strong> В настоящее время некоторые шаблоны и макросы не выполняются корректно при предварительном просмотре, оставляя страницу без части контента (таких как боковые меню), и, следовательно, частично искажая страницу. Кроме того, если <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Editor/Basics#scayt"><abbr title="Spell-Check As You Type">SCAYT</abbr> включен</a> (и если страница содержит определенные рабочие макросы или шаблоны), режим предварительного просмотра может выдавать ошибку выполнения скриптов.</p> </div> </dd> <dt>Отменить</dt> diff --git a/files/ru/orphaned/mdn/editor/basics/toolbar/index.html b/files/ru/orphaned/mdn/editor/basics/toolbar/index.html index 6dc04bdd35..29262d112b 100644 --- a/files/ru/orphaned/mdn/editor/basics/toolbar/index.html +++ b/files/ru/orphaned/mdn/editor/basics/toolbar/index.html @@ -220,7 +220,7 @@ original_slug: MDN/Editor/Basics/Toolbar <dl> <dt>Insert/remove numbered list</dt> - <dd>Создает или удаляет нумерованный список. Когда вы работаете над списком, при каждом нажатии <kbd>Enter</kbd> будет создаваться новый элемент списка. Клавиша <kbd>Tab</kbd> может быть использована для увеличения вложенности, а <kbd>Shift</kbd> + <kbd>Tab</kbd>, соответсвенно, для уменьшения. При нажатии на <kbd>Enter</kbd> в пустом элементе список будет закончен. Нажатие ПКМ на списке открывает контекстное меню с опцией Numbered list properties, в которой можно выбрать стиль маркера.</dd> + <dd>Создает или удаляет нумерованный список. Когда вы работаете над списком, при каждом нажатии <kbd>Enter</kbd> будет создаваться новый элемент списка. Клавиша <kbd>Tab</kbd> может быть использована для увеличения вложенности, а <kbd>Shift</kbd> + <kbd>Tab</kbd>, соответственно, для уменьшения. При нажатии на <kbd>Enter</kbd> в пустом элементе список будет закончен. Нажатие ПКМ на списке открывает контекстное меню с опцией Numbered list properties, в которой можно выбрать стиль маркера.</dd> <dt>Insert/remove bulleted list</dt> <dd>Создает или удаляет маркированный список. Когда вы работаете над списком, при каждом нажатии <kbd>Enter</kbd> будет создаваться новый элемент списка. Клавиша <kbd>Tab</kbd> используется для увеличения вложенности, а <kbd>Shift</kbd> + <kbd>Tab</kbd> для уменьшения. При нажатии на <kbd>Enter</kbd> в пустом элементе список будет закончен. Нажатие ПКМ на списке открывает контекстное меню с опцией Bulleted list properties, в которой можно выбрать стиль нумерации (числа, буквы, римские цифры и пр., а также с какой цифры начинать).</dd> <dt>Definition List</dt> diff --git a/files/ru/orphaned/mdn/editor/images/index.html b/files/ru/orphaned/mdn/editor/images/index.html index 21bd1eec8b..dce16f15c8 100644 --- a/files/ru/orphaned/mdn/editor/images/index.html +++ b/files/ru/orphaned/mdn/editor/images/index.html @@ -33,13 +33,13 @@ original_slug: MDN/Editor/Картинки <dt>Альтернативный текст (Alternative text)</dt> <dd>Текст, который будет показываться вместо изображения, если оно не отображается (например, если пользователь выключил отображение картинок в браузере). Этот текст также используется программами чтения с экрана, поэтому, пожалуйста, поместите соответствующую заметку здесь для удобства доступа.</dd> <dt>Ширина / Высота (Width / Height)</dt> - <dd>Вы можете настраивать ширину и высоту изображения, как указано в этой статье. По умолчанию эти поля заблокированы для сохранения пропорций изображения, но блокировку можно отключить нажатием на значёк <img alt="">.</dd> + <dd>Вы можете настраивать ширину и высоту изображения, как указано в этой статье. По умолчанию эти поля заблокированы для сохранения пропорций изображения, но блокировку можно отключить нажатием на значок <img alt="">.</dd> <dt>Граница (Border)</dt> - <dd>Дополнительно можно установить толщину границы вокруг изображения. Рекоммендуется указывать 0 (ноль или оставить пустым) или 1. Используйте эту опцию только в том случае, если фон изображения светлый и его нужно дополнительно выделить на фоне веб-страницы.</dd> - <dt>Горизонтальный отступ / Вертикальгый отступ (HSpace / VSpace)</dt> + <dd>Дополнительно можно установить толщину границы вокруг изображения. Рекомендуется указывать 0 (ноль или оставить пустым) или 1. Используйте эту опцию только в том случае, если фон изображения светлый и его нужно дополнительно выделить на фоне веб-страницы.</dd> + <dt>Горизонтальный отступ / Вертикальный отступ (HSpace / VSpace)</dt> <dd>Указывается число пикселей, которое нужно отступить от изображения по горизонтали или вертикали, например, чтобы отодвинуть текст. Обычно эта настройка используется вместе с выравниванием, описанным ниже.</dd> <dt>Выравнивание (Alignment)</dt> - <dd>По умолчанию изображения отображаются по отдельности от текста или других изображений (текст и новые изображения обычно переносятся на новую строку). Но этой опцией можно указать, какой стороны листа (левой или правой) должно придерживаться изображение и с какой стороны (правой или левой соответстсвенно) текст будет его обтекать. Так приходится оформлять статьи, если изображение маленькое (или, например, узкое и длинное), и тем самым можно сэкономить свободное пространство и повысить удобство чтения. Если используется эта опция, то, вероятно, нужно будет использовать опции горизонтального и вертикального отступа, чтобы немного отодвинуть текст от изображения. Например, для отступа может использоваться значение 6 или 8.</dd> + <dd>По умолчанию изображения отображаются по отдельности от текста или других изображений (текст и новые изображения обычно переносятся на новую строку). Но этой опцией можно указать, какой стороны листа (левой или правой) должно придерживаться изображение и с какой стороны (правой или левой соответственно) текст будет его обтекать. Так приходится оформлять статьи, если изображение маленькое (или, например, узкое и длинное), и тем самым можно сэкономить свободное пространство и повысить удобство чтения. Если используется эта опция, то, вероятно, нужно будет использовать опции горизонтального и вертикального отступа, чтобы немного отодвинуть текст от изображения. Например, для отступа может использоваться значение 6 или 8.</dd> </dl> <p>Область "Предпросмотр" показывает пример изображения, которое изменится, исходя из введённых параметров.</p> @@ -54,7 +54,7 @@ original_slug: MDN/Editor/Картинки <dt>Ссылка (URL)</dt> <dd>Ссылка для перехода при клике на изображение.</dd> <dt>Цель (Target)</dt> - <dd>Вариант открытия страницы перехода. Значения аналогичные атрибуту {{htmlattrxref("target", "a")}} HTML-тега {{HTMLElement("a")}}. <strong>Не рекоммендуется использовать это поле </strong>на MDN. На MDN отдаётся предпочтение открытию ссылок на текущей вкладке браузера.</dd> + <dd>Вариант открытия страницы перехода. Значения аналогичные атрибуту {{htmlattrxref("target", "a")}} HTML-тега {{HTMLElement("a")}}. <strong>Не рекомендуется использовать это поле </strong>на MDN. На MDN отдаётся предпочтение открытию ссылок на текущей вкладке браузера.</dd> </dl> <h2 id="Поддерживаемые_типы_изображений">Поддерживаемые типы изображений</h2> diff --git a/files/ru/orphaned/mdn/editor/keyboard_shortcuts/index.html b/files/ru/orphaned/mdn/editor/keyboard_shortcuts/index.html index 18456347b5..851dc023d4 100644 --- a/files/ru/orphaned/mdn/editor/keyboard_shortcuts/index.html +++ b/files/ru/orphaned/mdn/editor/keyboard_shortcuts/index.html @@ -140,7 +140,7 @@ original_slug: MDN/Editor/Горячие_клавиши <ul> <li><a href="https://wiki.developer.mozilla.org/ru/docs/MDN/Contribute/Editor/Basics">Редактор UI элементов</a></li> - <li><a href="https://developer.mozilla.org/ru/docs/MDN/Contribute">Cотрудничество с MDN</a></li> + <li><a href="https://developer.mozilla.org/ru/docs/MDN/Contribute">Сотрудничество с MDN</a></li> <li><a href="https://wiki.developer.mozilla.org/ru/docs/MDN/Getting_started">Mozilla - быстрый старт!</a></li> </ul> diff --git a/files/ru/orphaned/mdn/editor/links/index.html b/files/ru/orphaned/mdn/editor/links/index.html index 7ddf996bb4..5ac9ea93e2 100644 --- a/files/ru/orphaned/mdn/editor/links/index.html +++ b/files/ru/orphaned/mdn/editor/links/index.html @@ -21,19 +21,19 @@ original_slug: MDN/Editor/Ссылки <h2 id="Использование_панели_инструментов">Использование панели инструментов</h2> -<p>Самый очевидный способ создать ссылку — нажать на кнопку <kbd>Вставить/Редактировать ссылку</kbd> на панели инструментов или нажать сочетание <kbd>Ctl</kbd>+<kbd>K</kbd> (<kbd>Command</kbd>-<kbd>K</kbd> для Mac). Кнопка ссылки вглядит так: <img alt="The link button (as of 2015-12-04)" src="https://mdn.mozillademos.org/files/12003/link-button.png" style="height: 16px; width: 16px;">. Вы можете добавлять текст к выделенному тексту.</p> +<p>Самый очевидный способ создать ссылку — нажать на кнопку <kbd>Вставить/Редактировать ссылку</kbd> на панели инструментов или нажать сочетание <kbd>Ctl</kbd>+<kbd>K</kbd> (<kbd>Command</kbd>-<kbd>K</kbd> для Mac). Кнопка ссылки выглядит так: <img alt="The link button (as of 2015-12-04)" src="https://mdn.mozillademos.org/files/12003/link-button.png" style="height: 16px; width: 16px;">. Вы можете добавлять текст к выделенному тексту.</p> <h3 id="Создание_ссылки">Создание ссылки</h3> -<p>После нажатия на кнопку ссылки появится диалоговое окно для работы с ссылками:</p> +<p>После нажатия на кнопку ссылки появится диалоговое окно для работы с сссылками:</p> -<p><img alt="Окно для работы с ссылками" src="https://mdn.mozillademos.org/files/15289/link-info.png" style="height: 320px; width: 335px;"></p> +<p><img alt="Окно для работы с сссылками" src="https://mdn.mozillademos.org/files/15289/link-info.png" style="height: 320px; width: 335px;"></p> <p>Здесь вы можете создать новую ссылку. Параметры окна:</p> <dl> <dt>Ссылка (Link Type)</dt> - <dd>Это тип создаваемой вами ссылки. Тип по умолчанию, URL, используется в сети — или в MDN, или вне его. Вы также можете выбрать "Link to anchor in the text" или "Email". Ссылка-якорь позволяет вам привязать её к якорю, созданному вами ранее с помощью кнопки <kbd>Вставить / редактировать якорь</kbd> на панели инструментов. Опция email позволяет вам настрить: URL-адрес получателя, получателя и сообщение. Чаще всего вы будете использовать тип URL.</dd> + <dd>Это тип создаваемой вами ссылки. Тип по умолчанию, URL, используется в сети — или в MDN, или вне его. Вы также можете выбрать "Link to anchor in the text" или "Email". Ссылка-якорь позволяет вам привязать её к якорю, созданному вами ранее с помощью кнопки <kbd>Вставить / редактировать якорь</kbd> на панели инструментов. Опция email позволяет вам настроить: URL-адрес получателя, получателя и сообщение. Чаще всего вы будете использовать тип URL.</dd> <dt>Поиск ссылки по заголовку / Текст ссылки (Article Title Lookup / Link Text)</dt> <dd>У этого поля есть две цели: во-первых, вы обозначаете текст, который будет использован как указатель ссылки (или, если вы выделили текст до открытия окна, он будет отображён как указатель ссылки), во-вторых, текст, введённый в это поле, используется для поиска статей на MDN, чтобы найти возможное направление ссылки. К примеру, если вы введёте "Array" в поле, вы увидите что-то наподобие этого:<br> <img alt='Screenshot of the Link dialog box, showing a lookup menu for the text "Array"' src="https://mdn.mozillademos.org/files/15291/link%20dialog%20with%20lookup%20menu.png" style="border-style: solid; border-width: 1px; height: 388px; width: 496px;"></dd> @@ -42,7 +42,7 @@ original_slug: MDN/Editor/Ссылки <dl> <dd>На картинке вы можете видеть все страницы MDN, чьи заголовки содержат текст, напечатанный вами. Вы можете прокрутить список и выбрать одну из страниц или продолжить набирать текст, сужая список. Заметьте, у названий страниц отображается их язык (в нашем примере это "[en-US]"). Это не отображается в указателе ссылки; так сделано для того, чтобы вы убедились, что вы ссылаетесь на статью того же языка, на котором пишете вы.</dd> <dt>Прикрепление ссылки (Attachments)</dt> - <dd>В качестве альтернативы вы можете сделать так, чтобы ссылка была привязана к одному из файлов, прикрпеплённому к этой странице. Это отличный способ предоставить ссылку для скачивания примера кода и тому подобное.</dd> + <dd>В качестве альтернативы вы можете сделать так, чтобы ссылка была привязана к одному из файлов, прикрепленному к этой странице. Это отличный способ предоставить ссылку для скачивания примера кода и тому подобное.</dd> <dt>URL</dt> <dd>Наконец, поле для URL-адреса позволяет вам ввести URL; в поле также выводятся URL выбранных вами элементов из меню <strong>Article Title Lookup</strong> или <strong>Attachments</strong>, если вы их использовали. Нередко используют URL-адреса страниц MDN, поэтому, если вы ссылаетесь на другую страницу MDN, удалите доменное имя ("https://developer.mozilla.org") из начала URL.</dd> </dl> @@ -55,13 +55,13 @@ original_slug: MDN/Editor/Ссылки <h3 id="Ссылки">Ссылки</h3> -<p>Если у вас есть текст, который вы хотели бы превратить в ссылку, вы можете слегка упростить процесс. Выделите нужный вам текст, затем откройте окно для работы с сылками; поле <strong>Article Title / Lookup Text </strong>будет заполнено выделенным текстом. К примеру, есть у нас, скажем, следующий текст:</p> +<p>Если у вас есть текст, который вы хотели бы превратить в ссылку, вы можете слегка упростить процесс. Выделите нужный вам текст, затем откройте окно для работы с ссылками; поле <strong>Article Title / Lookup Text </strong>будет заполнено выделенным текстом. К примеру, есть у нас, скажем, следующий текст:</p> <blockquote> <p>You may find it useful to use JavaScript arrays when working on this project.</p> </blockquote> -<p>Нам хотелось бы преобразовать <em>arrays</em> в ссылку на файл с соответствующим содержанием. Просто выделите слово и включите окно для работы с ссылками; у вас появится заполненное окно, похожее на изображение выше. Наводя мышь на поле-подсказку, вы можете видеть её относительный путь (его URL относится к <code>developer.mozilla.org</code>), благодаря чему вы можете лучше узнать, где находится статья и о чём она.</p> +<p>Нам хотелось бы преобразовать <em>arrays</em> в ссылку на файл с соответствующим содержанием. Просто выделите слово и включите окно для работы с сссылками; у вас появится заполненное окно, похожее на изображение выше. Наводя мышь на поле-подсказку, вы можете видеть её относительный путь (его URL относится к <code>developer.mozilla.org</code>), благодаря чему вы можете лучше узнать, где находится статья и о чём она.</p> <p><img alt="Screenshot of the Link dialog box, showing a lookup menu and a URL tooltip" src="https://mdn.mozillademos.org/files/15293/Rollover%20of%20lookup%20menu.png" style="border-style: solid; border-width: 1px; height: 387px; width: 493px;"></p> @@ -73,7 +73,7 @@ original_slug: MDN/Editor/Ссылки <h2 id="Использование_макросов">Использование макросов</h2> -<p>MDN часто использует <a href="/en-US/docs/Project:MDN/Contributing/Editor_guide#Using_macros">макросы</a>, чтобы автоматически создавать термины-ссылки с соответствующим содержанием, стилизуя их как ссылки в сответствии с нашими <a href="https://wiki.developer.mozilla.org/ru/docs/Project:Writer's_guide">правилами оформления элементов</a>. Учтите: наше <a href="https://wiki.developer.mozilla.org/ru/docs/Project:Writer's_guide">руководство</a> отмечает, что API-термины, элементы и атрибуты HTML, свойства, имена функций CSS и тому подобное,— должны быть стилизованы с помощью элемента {{HTMLElement("code")}}. Также должны быть ссылки на другие страницы MDN.</p> +<p>MDN часто использует <a href="/en-US/docs/Project:MDN/Contributing/Editor_guide#Using_macros">макросы</a>, чтобы автоматически создавать термины-ссылки с соответствующим содержанием, стилизуя их как ссылки в соответствии с нашими <a href="https://wiki.developer.mozilla.org/ru/docs/Project:Writer's_guide">правилами оформления элементов</a>. Учтите: наше <a href="https://wiki.developer.mozilla.org/ru/docs/Project:Writer's_guide">руководство</a> отмечает, что API-термины, элементы и атрибуты HTML, свойства, имена функций CSS и тому подобное,— должны быть стилизованы с помощью элемента {{HTMLElement("code")}}. Также должны быть ссылки на другие страницы MDN.</p> <p>К использованию макросов для создания ссылок легко привыкнуть, и это предоставляет множество плюсов:</p> @@ -83,7 +83,7 @@ original_slug: MDN/Editor/Ссылки <li>Соответствующие подсказки также созданы для вас.</li> </ul> -<p>Есть очень много таких макросов, и мы не будем останавливаться на них подробно здесь. Вместо этого мы разберём несколько самых часто употребляемых. Если интересно, ознакомьтесь с разделом "<a href="https://wiki.developer.mozilla.org/en-US/docs/MDN/Contribute/Structures/Macros/Commonly-used_macros#Linking">Создание гиперссылок</a>" в нашей статье <a href="/en-US/docs/Project:MDN/Contributing/Custom_macros">Пользовательский макрос для MDN</a>.</p> +<p>Есть очень много таких макросов, и мы не будем останавливаться на них подробно здесь. Вместо этого мы разберём ннесколько самых часто употребляемых. Если интересно, ознакомьтесь с разделом "<a href="https://wiki.developer.mozilla.org/en-US/docs/MDN/Contribute/Structures/Macros/Commonly-used_macros#Linking">Создание гиперссылок</a>" в нашей статье <a href="/en-US/docs/Project:MDN/Contributing/Custom_macros">Пользовательский макрос для MDN</a>.</p> <div class="blockIndicator note"> <p>Ещё проще посетить <a href="/en-US/docs/Project:Introduction_to_KumaScript">KumaScript</a>, где есть любой из этих макросов; ко многим макросам есть комментарии вверху, объясняющие, как макрос работает и какие у него переменные.</p> @@ -91,22 +91,22 @@ original_slug: MDN/Editor/Ссылки <h3 id="Ссылка_на_документацию_для_API">Ссылка на документацию для API</h3> -<p>У нас есть есколько невероятно полезных макросов для создания стилизованных ссылок для API. В этом подразделе перечислены самые удобные; в каждый блок могут быть добавлены доступные параметры, чтобы предоставить больший контроль над выводом. На название каждого макроса можно кликнуть, чтобы увидеть сам код макроса; у каждого макроса есть комментарии вверху, объясняющие, как макрос работает и какие у него переменные.</p> +<p>У нас есть несколько невероятно полезных макросов для создания стилизованных ссылок для API. В этом подразделе перечислены самые удобные; в каждый блок могут быть добавлены доступные параметры, чтобы предоставить больший контроль над выводом. На название каждого макроса можно кликнуть, чтобы увидеть сам код макроса; у каждого макроса есть комментарии вверху, объясняющие, как макрос работает и какие у него переменные.</p> <dl> <dt>{{TemplateLink("HTMLElement")}}</dt> - <dd>Вставляет в HTML-код название элемента с необходимыми стилизацией и ссылками. К примеру: <code>\{{HTMLElement("table")}}</code> даёт {{HTMLElement("table")}}.</dd> + <dd>Вставляет в HTML-код название элемента с необходимыми стилизацией и сссылками. К примеру: <code>\{{HTMLElement("table")}}</code> даёт {{HTMLElement("table")}}.</dd> <dt>{{TemplateLink("cssxref")}}</dt> <dd>Вставляет в CSS-код документацию свойства, правила или селектора. Например: <code>\{{cssxref("background-color")}}</code> в результате выводит {{cssxref("background-color")}}.</dd> <dt>{{TemplateLink("domxref")}}</dt> <dd>Вставляет данный термин API. Пример: <code>\{{domxref("window")}}</code> даёт в результате {{domxref("window")}}, и <code>\{{domxref("window.scrollBy()")}}</code> вставляет {{domxref("window.scrollBy()")}}. Вы также можете вставить дополнительный параметр, чтобы заменить текст: <code>\{{domxref("window.scrollBy", "scrollBy()")}}</code> заменяет <code>{{domxref("window.scrollBy")}}</code> на {{domxref("window.scrollBy", "scrollBy()")}}.</dd> <dt>{{TemplateLink("SVGElement")}}</dt> - <dd>Вставляет название SVG-элемента с необходимыми стилизацией и ссылками. К примеру: <code>\{{SVGElement("circle")}}</code> даёт {{SVGElement("circle")}}.</dd> + <dd>Вставляет название SVG-элемента с необходимыми стилизацией и сссылками. К примеру: <code>\{{SVGElement("circle")}}</code> даёт {{SVGElement("circle")}}.</dd> </dl> <h3 id="Добавление_якорей">Добавление якорей</h3> -<p>Чтобы применить ссылку к области с таким же названием, следует использовать макрос {{TemplateLink("anch")}}. Синтаксис — проще некуда: <code>\{{anch("Name of destination section")}}</code>. По умолчанию текст ссылки — это название области, но вы можете добавить второй, необязательный, параметр, обозначающий альтернативный текст. Несколько примеров:</p> +<p>Чтобы применить ссылку к области с таким же названием, следует использовать макрос {{TemplateLink("anch")}}. Синтаксис — проще некуда: <code>\{{anch("Name of destination section")}}</code>. По умолчанию текст ссылки — это название области, но вы можете добавить второй, необязательный, параметр, обозначающий альтернативный текст. Ннесколько примеров:</p> <ul> <li><code>\{{anch("Использование панели инструментов</code><code>")}}</code> будет выглядеть так: {{anch("Использование панели инструментов")}}</li> @@ -117,7 +117,7 @@ original_slug: MDN/Editor/Ссылки <p>Вы можете создать ссылку на базу данных Mozilla's Bugzilla с макросом {{TemplateLink("bug")}}. У этого макроса всего один параметр: номер бага, на который ссылаются. К примеру, <code>\{{bug(765642)}}</code> покажет: {{bug(765642)}}.</p> -<p>Таким же образом вы можете создавать ссылки к багам на других брузерах и брузерных движках:</p> +<p>Таким же образом вы можете создавать ссылки к багам на других браузерах и браузерных движках:</p> <dl> <dt>WebKit (Safari и т.д.)</dt> @@ -134,7 +134,7 @@ original_slug: MDN/Editor/Ссылки <p>MDN больше не поддерживает XPCOM-документацию, но внесение вклада приветствуется!</p> </div> -<p>Если вы документируете свойства Mozilla, способность быстро создать ссылку к документации XPCOM очень полезна. Здесь несколько макросов для этого.</p> +<p>Если вы документируете свойства Mozilla, способность быстро создать ссылку к документации XPCOM очень полезна. Здесь ннесколько макросов для этого.</p> <p>Синтаксис: <code>\{{interface("interfacename")}}</code>. К примеру, вы написали:</p> @@ -158,7 +158,7 @@ original_slug: MDN/Editor/Ссылки <p>Вы можете ссылаться на дерево ресурсов Mozilla's (хотя не стоит делать это часто), используя макрос {{TemplateLink("source")}}. Вместо указания абсолютного пути вам достаточно указать путь относительно директории <code>/source/</code>. Для примера: \{{source("browser/Makefile.in")}} создаёт эту ссылку: {{source("browser/Makefile.in")}}.</p> -<p>Вы можете при желании снабдить ссылку альтернативным тектсом. Например, как видите, \{{source("browser/Makefile.in", "the browser's makefile")}} преобразуется в: {{source("browser/Makefile.in", "the browser's makefile")}}.</p> +<p>Вы можете при желании снабдить ссылку альтернативным текстом. Например, как видите, \{{source("browser/Makefile.in", "the browser's makefile")}} преобразуется в: {{source("browser/Makefile.in", "the browser's makefile")}}.</p> <div class="note"> <p>Обратите внимание на документацию {{anch("Использование макросов")}}, если вы заинтересованы в более подробном изучении макросов и посетите <a href="/en-US/docs/Project:MDN/Kuma/KumaScript_guide">KumaScript</a>, чтобы больше узнать о системе макросов.</p> @@ -166,7 +166,7 @@ original_slug: MDN/Editor/Ссылки <h2 id="Ссылки_на_рекомендованные_статьи">Ссылки на рекомендованные статьи</h2> -<p>Если вы хотите создать список связанных страниц или другого рекомендованного материала к прочтению, вам следует делать это с помощью создания контейнера быстрых ссылок в боковой панели. Такой подход заменяет наши старые <em>Смотрите также</em> в конце статей. О том, как создавать контейнер с быстрыми ссылками, читайте в статье <a href="/en-US/docs/MDN/Contribute/Structures/Quicklinks">Быстрые ссылки</a>.</p> +<p>Если вы хотите создать список связанных страниц или другого рекомендованного материала к прочтению, вам следует делать это с помощью создания контейнера быстрых ссылок в боковой панели. Такой подход заменяет наши старые <em>Смотрите также</em> в конце статей. О том, как создавать контейнер с быстрыми сссылками, читайте в статье <a href="/en-US/docs/MDN/Contribute/Structures/Quicklinks">Быстрые ссылки</a>.</p> <h2 id="Схемы_URL-адресов">Схемы URL-адресов</h2> @@ -179,7 +179,7 @@ original_slug: MDN/Editor/Ссылки <li><code>mailto:</code></li> </ul> -<p>Дргуие схемы просто-напросто будут удалены.</p> +<p>Другие схемы просто-напросто будут удалены.</p> <div class="note"> <p>Особые URL-схемы, такие как <code>about:</code> и <code>chrome:</code> используются Firefox, Google Chrome и некоторыми другими браузерами, чтобы предоставить доступ к особым опциям, таким как привилегерованные элементы, отладочная информация и так далее. Эти ссылки не работают в содержимом статьи, поэтому не создавайте ссылки, используя эти схемы в MDN. То же относится и к схемам <code>javascript:</code> и <code>jar:</code>, которые блокируются большинством браузеров в целях безопасности.</p> diff --git a/files/ru/orphaned/mdn/editor/redirects/index.html b/files/ru/orphaned/mdn/editor/redirects/index.html index eec64eb864..c7e01a27f6 100644 --- a/files/ru/orphaned/mdn/editor/redirects/index.html +++ b/files/ru/orphaned/mdn/editor/redirects/index.html @@ -17,16 +17,16 @@ original_slug: MDN/Editor/Перенаправление <p>Перенаправление необходимо, к примеру, когда страница слилась с другой. Чтобы создать перенаправление, просто нажмите эту кнопку в панели инструментов: <img alt="" src="https://mdn.mozillademos.org/files/5131/redirect.png" style="height: 17px; width: 17px;">.</p> -<p>Она откроет диалоговое окно, в котором запрашивается имя документа и его URL-адрес. Вообще, имя не так важно; оно больше нужно, если вы сами ищете страницу, и вам нужно знать, куда вы перенаправляете. В поле <em>URL</em> должен быть указан абсолютный (полный) путь, например, "/en-US/docs/foo". Относительные ссылки не сработают. Вы можете перенаправить на раздел страницы, используя хэштэг ("#"), например: "/destination/url/here#название_раздела". Таким образом вы перенапривите пользователя прямиком в раздел страницы.</p> +<p>Она откроет диалоговое окно, в котором запрашивается имя документа и его URL-адрес. Вообще, имя не так важно; оно больше нужно, если вы сами ищете страницу, и вам нужно знать, куда вы перенаправляете. В поле <em>URL</em> должен быть указан абсолютный (полный) путь, например, "/en-US/docs/foo". Относительные ссылки не сработают. Вы можете перенаправить на раздел страницы, используя хэштэг ("#"), например: "/destination/url/here#название_раздела". Таким образом вы перенаправить пользователя прямиком в раздел страницы.</p> <p>На странице должно быть только перенаправление; перед его созданием переместите всё содержимое в его новый "дом". Удалите также ревизионные флаги с этой страницы.</p> <div class="note"> -<p><strong>Замечание:</strong> Обязательно удалите все теги со страницы: если вы это не сделаете, страница с перенаправлением будет рядом со страницей, на которую перенаправили (теги-то одинаковые), смущая людей и занимая свободное место на странице результатоыв поиска. Ещё это плохо скажется на поисковой оптимизации.</p> +<p><strong>Замечание:</strong> Обязательно удалите все теги со страницы: если вы это не сделаете, страница с перенаправлением будет рядом со страницей, на которую перенаправили (теги-то одинаковые), смущая людей и занимая свободное место на странице результатов поиска. Ещё это плохо скажется на поисковой оптимизации.</p> </div> <h2 id="При_удалении_страницы">При удалении страницы</h2> -<p>Перед удалением страницы подумайте: а не будет ли лучше перенаправить посетителя на другую страницу MDN? Ведь, если он попадёт на страницу по старой ссылке, лучше отправить его на правильную страницу, чем если бы ему выдали ошибку 404 ("страница не найдена"). Удалять страницу стоит только в крйнем случае: если она забита спамом и прочим неуместным контентом.</p> +<p>Перед удалением страницы подумайте: а не будет ли лучше перенаправить посетителя на другую страницу MDN? Ведь, если он попадёт на страницу по старой ссылке, лучше отправить его на правильную страницу, чем если бы ему выдали ошибку 404 ("страница не найдена"). Удалять страницу стоит только в крайнем случае: если она забита спамом и прочим неуместным контентом.</p> <p>{{EditorGuideQuicklinks}}</p> diff --git a/files/ru/orphaned/mdn/editor/syntax_highlighting/index.html b/files/ru/orphaned/mdn/editor/syntax_highlighting/index.html index 1d70a0448e..62f149e52a 100644 --- a/files/ru/orphaned/mdn/editor/syntax_highlighting/index.html +++ b/files/ru/orphaned/mdn/editor/syntax_highlighting/index.html @@ -14,11 +14,11 @@ original_slug: MDN/Editor/Синтаксические_выделения --- <div>{{MDNSidebar}}</div> -<p class="summary"><span class="seoSummary">Синтаксическое выделение кода крайне полезно в статьях. Режим синтаксичесого выделения также используется в нашей системе шаблонов, чтобы определять, как использовать каждый отрывок кода при сборке в готовый экземпляр.</span></p> +<p class="summary"><span class="seoSummary">Синтаксическое выделение кода крайне полезно в статьях. Режим синтаксического выделения также используется в нашей системе шаблонов, чтобы определять, как использовать каждый отрывок кода при сборке в готовый экземпляр.</span></p> <h2 id="Поддержка_синтаксических_выделений">Поддержка синтаксических выделений</h2> -<p>MDN поддерживает все переодически используемые нами на MDN языки (так же, как и те, что используются лишь иногда):</p> +<p>MDN поддерживает все периодически используемые нами на MDN языки (так же, как и те, что используются лишь иногда):</p> <div class="threecolumns"> <ul> @@ -81,7 +81,7 @@ printf("Hello world\n"); </pre> </li> <li> - <p class="brush: cpp">Нажмите кнопку <strong>Syntax Highlighter</strong> и выберите название соответстующего коду языка программирования. В нашем примере это C/C++:</p> + <p class="brush: cpp">Нажмите кнопку <strong>Syntax Highlighter</strong> и выберите название соответствующего коду языка программирования. В нашем примере это C/C++:</p> <pre class="brush: cpp; notranslate">void main(int argc, char **argv) { diff --git a/files/ru/orphaned/mdn/editor/tables/index.html b/files/ru/orphaned/mdn/editor/tables/index.html index 50f6c4b373..23de7cacb8 100644 --- a/files/ru/orphaned/mdn/editor/tables/index.html +++ b/files/ru/orphaned/mdn/editor/tables/index.html @@ -40,7 +40,7 @@ original_slug: MDN/Editor/Tables <dt>Заголовки</dt> <dd>Позволяет вам обозначить заголовки, если это необходимо. По умолчанию в таблице нет заголовков; однако мы предпочитаем использовать заголовки, поэтому советуем вам использовать их в большинстве случаев. Возможные значения: <strong>Без заголовков</strong>, <strong>Первая строка</strong>, <strong>Левая колонка</strong> и <strong>Сверху и слева</strong>.</dd> <dt>Выравнивание</dt> - <dd>Позволяет выравнивать таблицу в левой, правой или центральной части страницы. <strong>Пожалуйста, не используйте эту опцию.</strong> В нашем руководстве по оформлению указано, что таблицы всегда должны нахадиться слева. (Из этого правила есть исключения.)</dd> + <dd>Позволяет выравнивать таблицу в левой, правой или центральной части страницы. <strong>Пожалуйста, не используйте эту опцию.</strong> В нашем руководстве по оформлению указано, что таблицы всегда должны находиться слева. (Из этого правила есть исключения.)</dd> <dt>Заголовок</dt> <dd>Вы можете выбрать заголовок к таблице; однако мы редко делаем это в MDN, поэтому лучше не использовать эту опцию.</dd> <dt>Итоги</dt> @@ -63,7 +63,7 @@ original_slug: MDN/Editor/Tables <dt>Стиль</dt> <dd>В этом поле вы можете применить собственный стиль CSS к таблице. <strong>Вообще не используйте это поле! В таком случае мы просто удалим вашу таблицу. </strong>Мы стараемся избавляться от пользовательских стилей там, где применяются наши.</dd> <dt>CSS классы</dt> - <dd>Добавляет класс к стилю таблицы. Значение всегда должно быть <em>standard-table</em>, явдяющееся нашим стандартным классом для таблиц.</dd> + <dd>Добавляет класс к стилю таблицы. Значение всегда должно быть <em>standard-table</em>, являющееся нашим стандартным классом для таблиц.</dd> </dl> <p>Как только вы завершите настройку, нажмите кнопку <strong>OK</strong> для создания таблицы.</p> @@ -72,7 +72,7 @@ original_slug: MDN/Editor/Tables <p>Работа с таблицей очень похожа на работу в любом редакторе таблиц — надо просто заполнить ячейки. Клавиша <kbd>Tab</kbd> переместит вас на следующую ячейку таблицы или создаст новую строку, если следующей клетки нет.</p> -<p><span style="">Кликните правой кнопкой мыши по таблице, чтобы появился ряд опций для регулировки самих ячеек, строчек и колонок таблицы, а ткаже самой таблицы:</span></p> +<p><span style="">Кликните правой кнопкой мыши по таблице, чтобы появился ряд опций для регулировки самих ячеек, строчек и колонок таблицы, а также самой таблицы:</span></p> <p><img alt="Скриншот контекстного меню" src="https://mdn.mozillademos.org/files/17049/Table_context_menu_-_ru.jpg" style="border-style: solid; border-width: 1px; height: 199px; width: 166px;"></p> @@ -127,9 +127,9 @@ original_slug: MDN/Editor/Tables <dt>Объединяет колонок</dt> <dd>Определяет, сколько колонок необходимо объединить.</dd> <dt>Цвет фона</dt> - <dd>Определяет цвет фона ячейки. Старайтесь не использовать эту фунцию; редкие случаи, когда смена цвета ячейки приемлема, прописаны в классах CSS.</dd> + <dd>Определяет цвет фона ячейки. Старайтесь не использовать эту функцию; редкие случаи, когда смена цвета ячейки приемлема, прописаны в классах CSS.</dd> <dt>Цвет границ</dt> - <dd>Определяет цвет границы ячейки. Старайтесь не использовать эту фунцию; редкие случаи, когда смена цвета границы ячейки приемлема, прописаны в классах CSS.</dd> + <dd>Определяет цвет границы ячейки. Старайтесь не использовать эту функцию; редкие случаи, когда смена цвета границы ячейки приемлема, прописаны в классах CSS.</dd> </dl> <h3 id="Подменю_Строка">Подменю <strong>Строка</strong></h3> diff --git a/files/ru/orphaned/mdn/tools/search/index.html b/files/ru/orphaned/mdn/tools/search/index.html index ab4eb3b792..239ba0dcc9 100644 --- a/files/ru/orphaned/mdn/tools/search/index.html +++ b/files/ru/orphaned/mdn/tools/search/index.html @@ -26,9 +26,9 @@ original_slug: MDN/Tools/Search <dt><code>locale=</code></dt> <dd>Рассматриваемая локаль. По умолчанию рассматриваются все локали. Также вы можете явно указать «все локали» при помощи шаблона <code>"*"</code>. Например, вы можете определить <code>locale=en-US</code> для ограничения поиска только по англоязычным страницам.</dd> <dt><code>css_classnames=</code></dt> - <dd>Классы CSS для сопоставления. Этот параметр ограничивает результат поиска страницами, чей HTML-код включает в сеся как минимум одно использование указанных классов.</dd> + <dd>Классы CSS для сопоставления. Этот параметр ограничивает результат поиска страницами, чей HTML-код включает в себя как минимум одно использование указанных классов.</dd> <dt><code>html_attributes=</code></dt> - <dd>Текст атрибутов HTML для сопоставления. Поиск ведётся по началу текста; то есть, если указаный текст появляется в начале строки атрибута HTML, он будет считаться совпавшим. Подробности смотрите ниже.</dd> + <dd>Текст атрибутов HTML для сопоставления. Поиск ведётся по началу текста; то есть, если указанный текст появляется в начале строки атрибута HTML, он будет считаться совпавшим. Подробности смотрите ниже.</dd> <dt><code>kumascript_macros=</code></dt> <dd>Список искомых макросов KumaScript. Этот параметр позволяет вам находить статьи, использующие определённый макрос; это может быть полезно в тех случаях, если, к примеру, макрос устарел или его параметры поменялись и вам нужно обновить существующие варианты его использования.</dd> </dl> @@ -76,7 +76,7 @@ original_slug: MDN/Tools/Search <dt><code>end</code></dt> <dd>Номер последнего элемента на этой странице с результатами.</dd> <dt><code>filters</code></dt> - <dd>Массив конфигураций расличных поисковых фильтров. Эти фильтры доступны в стандартном поиске.</dd> + <dd>Массив конфигураций различных поисковых фильтров. Эти фильтры доступны в стандартном поиске.</dd> <dt><code>documents</code></dt> <dd>Массив {{anch("Page_objects", "объектов страницы")}}, описывающих каждую совпавшую страницу.</dd> </dl> diff --git a/files/ru/orphaned/toolkit_api/index.html b/files/ru/orphaned/toolkit_api/index.html index bde21206ac..2bc0f24cf6 100644 --- a/files/ru/orphaned/toolkit_api/index.html +++ b/files/ru/orphaned/toolkit_api/index.html @@ -5,11 +5,11 @@ tags: - Toolkit API original_slug: Toolkit_API --- -<p><strong>Mozilla Toolkit</strong> это набор программных интерфейсов (APIs) собранных на базе Gecko которые обеспечивают продвинутые службы на базе XUL приложенияй. Эти службы включают:</p> +<p><strong>Mozilla Toolkit</strong> это набор программных интерфейсов (APIs) собранных на базе Gecko которые обеспечивают продвинутые службы на базе XUL приложения. Эти службы включают:</p> <ul> <li>Менеджер профиля</li> <li>Chrome регистрация</li> <li>История просмотра</li> <li>Расширения и Управление темами</li> <li>Служба обновления приложения</li> <li>Безопасный режим</li> </ul> <h3 id="Официальное_руководство">Официальное руководство</h3> -<ul> <li><a href="../../../../en/Bundles">Стуктура однои из инсталлируемых пачек</a>: описывает основную структуру инсталируемой пачки, включает расширения, темы, и XULRunner приложения</li> <li><a href="../../../../en/Extension_Packaging">Упаковка расширений</a>: конкретная информация о том, как упаковать расширение</li> <li><a href="../../../../en/Theme_Packaging">Упаковка темы</a>: конкретная информация о том, как упаковать тему</li> <li><a href="../../../../en/Multiple_Item_Packaging">Упаковка многозначного расширения</a>: конкретная информация о множественных-значениях расширения XPIs</li> <li><a href="../../../../en/XUL_Application_Packaging">Упаковка </a><a href="../../../../en/XUL_Application_Packaging">XUL приложения</a>: конкретная информация о том, как упаковать XULRunner приложение</li> <li><a href="../../../../en/Chrome_Registration">Регистрация </a><a href="../../../../en/Chrome_Registration">Chrome<br> </a></li> +<ul> <li><a href="../../../../en/Bundles">Структура одной из инсталлируемых пачек</a>: описывает основную структуру инсталлируемой пачки, включает расширения, темы, и XULRunner приложения</li> <li><a href="../../../../en/Extension_Packaging">Упаковка расширений</a>: конкретная информация о том, как упаковать расширение</li> <li><a href="../../../../en/Theme_Packaging">Упаковка темы</a>: конкретная информация о том, как упаковать тему</li> <li><a href="../../../../en/Multiple_Item_Packaging">Упаковка многозначного расширения</a>: конкретная информация о множественных-значениях расширения XPIs</li> <li><a href="../../../../en/XUL_Application_Packaging">Упаковка </a><a href="../../../../en/XUL_Application_Packaging">XUL приложения</a>: конкретная информация о том, как упаковать XULRunner приложение</li> <li><a href="../../../../en/Chrome_Registration">Регистрация </a><a href="../../../../en/Chrome_Registration">Chrome<br> </a></li> </ul> <h3 id="Дополнительная_информация">Дополнительная информация</h3> <p>Следующие страницы разработчика содержат примеры и обсуждение конкретных тем</p> diff --git a/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html b/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html index 1d113bd79b..0e81e9847e 100644 --- a/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html +++ b/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html @@ -11,7 +11,7 @@ original_slug: Web/API/Web_Crypto_API/Checking_authenticity_with_password <p>Проверка подлинности данных может быть выполнена с помощью Web Crypto API. В этой статье мы покажем как создавать и управлять подписями, используя хэш-функцию и пароль.</p> -<p>HMAC алгоритм генерирует хэш на основе передаваемых ключа и данных, которые нужно подписать. Позже, идентичный хэш может быть вычислен заного любым пользователем, у которого имеется ключ. Необходимость ключа позволяет хранить данные и хэш вместе: злоумышленник не сможет создать хэш для измененных данных, не имея ключа.</p> +<p>HMAC алгоритм генерирует хэш на основе передаваемых ключа и данных, которые нужно подписать. Позже, идентичный хэш может быть вычислен заново любым пользователем, у которого имеется ключ. Необходимость ключа позволяет хранить данные и хэш вместе: злоумышленник не сможет создать хэш для измененных данных, не имея ключа.</p> <p>Стоит заметить, что алгоритм никак не связан с какой-либо другой информацией о владельце: знание ключа – необходимое и достаточное условие для изменения данных.</p> diff --git a/files/ru/orphaned/web/html/element/element/index.html b/files/ru/orphaned/web/html/element/element/index.html index 801d4ec7a9..cdb961e381 100644 --- a/files/ru/orphaned/web/html/element/element/index.html +++ b/files/ru/orphaned/web/html/element/element/index.html @@ -52,7 +52,7 @@ original_slug: Web/HTML/Element/element <h2 id="Specifications" name="Specifications">Характеристики</h2> -<p><code>Элемент <element></code> <span id="result_box" lang="ru"><span>ранее был в черновике спецификации</span></span> <a href="http://w3c.github.io/webcomponents/spec/custom/">Настраеваемых Элементов</a>, но был удален.</p> +<p><code>Элемент <element></code> <span id="result_box" lang="ru"><span>ранее был в черновике спецификации</span></span> <a href="http://w3c.github.io/webcomponents/spec/custom/">Настраиваемых Элементов</a>, но был удален.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузером</h2> diff --git a/files/ru/orphaned/web/html/global_attributes/dropzone/index.html b/files/ru/orphaned/web/html/global_attributes/dropzone/index.html index 89e91d7a2c..5ea0689fce 100644 --- a/files/ru/orphaned/web/html/global_attributes/dropzone/index.html +++ b/files/ru/orphaned/web/html/global_attributes/dropzone/index.html @@ -6,12 +6,12 @@ original_slug: Web/HTML/Global_attributes/dropzone --- <p>{{HTMLSidebar("Global_attributes")}}{{SeeCompatTable}}</p> -<p><a href="/en-US/docs/Web/HTML/Global_attributes">Глобальный атрибут</a> <code>dropzone</code> является перечисляемым атрбутом, указывающем, какие типы содержимого могут быть опущены в элементе, используя {{domxref("HTML_Drag_and_Drop_API","HTML Drag and Drop API")}}. Может иметь следующие значения:</p> +<p><a href="/en-US/docs/Web/HTML/Global_attributes">Глобальный атрибут</a> <code>dropzone</code> является перечисляемым атрибутом, указывающем, какие типы содержимого могут быть опущены в элементе, используя {{domxref("HTML_Drag_and_Drop_API","HTML Drag and Drop API")}}. Может иметь следующие значения:</p> <ul> <li><code>copy</code>, которая указывает что сброс создает копию перетаскиваемого элемента.</li> <li><code>move</code>, которое указывает, что перетаскиваемы элемент будет перемещен в новое местоположение.</li> - <li><code>link</code>, которая создает ссылку на перетаскивамые данные.</li> + <li><code>link</code>, которая создает ссылку на перетаскиваемые данные.</li> </ul> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/orphaned/web/mathml/element/mglyph/index.html b/files/ru/orphaned/web/mathml/element/mglyph/index.html index 37bc0ad8b7..1ebf808bba 100644 --- a/files/ru/orphaned/web/mathml/element/mglyph/index.html +++ b/files/ru/orphaned/web/mathml/element/mglyph/index.html @@ -11,13 +11,13 @@ original_slug: Web/MathML/Element/mglyph --- <div>{{MathMLRef}}</div> -<p class="summary">Элемент <code><mglyph></code> разметки MathML используется для отображения нестандартных символов там, где существующиt символы Unicode недоступны. Его можно использовать в <a href="/en-US/docs/tag/MathML:Token%20Elements">элементах-токенах</a>.</p> +<p class="summary">Элемент <code><mglyph></code> разметки MathML используется для отображения нестандартных символов там, где существующих символы Unicode недоступны. Его можно использовать в <a href="/en-US/docs/tag/MathML:Token%20Elements">элементах-токенах</a>.</p> <h2 id="Атрибуты">Атрибуты</h2> <dl> <dt id="attr-alt">alt</dt> - <dd>Этот атрибут определяет альернативный текст, описывающий изображение. Пользователи увидят этот текст, если URL адрес изображения неправильный, изображение не в одном из <a href="/ru/docs/Web/HTML/Element/img#Поддерживаемые_форматы_изображений">поддерживаемых форматов</a> или пока изображение не будет загружено.</dd> + <dd>Этот атрибут определяет альтернативный текст, описывающий изображение. Пользователи увидят этот текст, если URL адрес изображения неправильный, изображение не в одном из <a href="/ru/docs/Web/HTML/Element/img#Поддерживаемые_форматы_изображений">поддерживаемых форматов</a> или пока изображение не будет загружено.</dd> <dt id="attr-class-id-style">class, id, style</dt> <dd>Предусмотрено для использования с <a href="/ru/docs/Web/CSS">таблицами стилей</a>.</dd> <dt id="attr-height">height</dt> diff --git a/files/ru/orphaned/xml_in_mozilla/index.html b/files/ru/orphaned/xml_in_mozilla/index.html index b1fa4c61a6..513994d558 100644 --- a/files/ru/orphaned/xml_in_mozilla/index.html +++ b/files/ru/orphaned/xml_in_mozilla/index.html @@ -54,4 +54,4 @@ original_slug: XML_in_Mozilla <br> <p></root></p> <p> </p> -<p>Казалось, при определении количества дочерних элементов у элемента <root> должны получить - 2, а получаем вместо этого количество вложений элемнтов в XML файле - 5, причём в IE данный метод (length) ведёт себя корректно. Ищу пути решения образовавшегося вопроса, если у кого-то есть предложения, буду рад узнать. Заранее спасибо.</p> +<p>Казалось, при определении количества дочерних элементов у элемента <root> должны получить - 2, а получаем вместо этого количество вложений элементов в XML файле - 5, причём в IE данный метод (length) ведёт себя корректно. Ищу пути решения образовавшегося вопроса, если у кого-то есть предложения, буду рад узнать. Заранее спасибо.</p> diff --git a/files/ru/orphaned/динамически_изменяемый_пользовательский_интерфейс_на_xul/index.html b/files/ru/orphaned/динамически_изменяемый_пользовательский_интерфейс_на_xul/index.html index 4c53fd3669..918879e278 100644 --- a/files/ru/orphaned/динамически_изменяемый_пользовательский_интерфейс_на_xul/index.html +++ b/files/ru/orphaned/динамически_изменяемый_пользовательский_интерфейс_на_xul/index.html @@ -8,7 +8,7 @@ tags: original_slug: Динамически_изменяемый_пользовательский_интерфейс_на_XUL --- <p>В этой статье обсуждается управление <a href="/ru/XUL" title="ru/XUL">XUL</a> интерфейсами с использованием <a href="/ru/DOM" title="ru/DOM">DOM</a> и других API. Здесь объясняется принцип <em>документов</em> DOM, приводится несколько простых примеров использования вызовов DOM для выполнения простейших манипуляций с документом, после чего приводится пример, демонстрирующий работу с <em>анонимным <a href="/ru/XBL" title="ru/XBL">XBL</a> содержимым</em> с использованием методов, специфичных для Mozilla.</p> -<p>Эта статья написана как для начинающих, так и для разработчиков среднего уровня подготовки. Предполагается, что у читателя есть базовые знания по XUL и JavaScript. Возможно вы захотие прочитать некоторые вводные документы по DOM, такие как статья <a href="/ru/Об_объектной_модели_документа" title="ru/Об_объектной_модели_документа">Об объектной модели документа</a> или <a href="/ru/Gecko_DOM_Reference/Introduction" title="ru/Gecko_DOM_Reference/Introduction">вводная страница</a> <a href="/ru/Gecko_DOM_Reference" title="ru/Gecko_DOM_Reference">Gecko DOM Reference</a>.</p> +<p>Эта статья написана как для начинающих, так и для разработчиков среднего уровня подготовки. Предполагается, что у читателя есть базовые знания по XUL и JavaScript. Возможно вы захотите прочитать некоторые вводные документы по DOM, такие как статья <a href="/ru/Об_объектной_модели_документа" title="ru/Об_объектной_модели_документа">Об объектной модели документа</a> или <a href="/ru/Gecko_DOM_Reference/Introduction" title="ru/Gecko_DOM_Reference/Introduction">вводная страница</a> <a href="/ru/Gecko_DOM_Reference" title="ru/Gecko_DOM_Reference">Gecko DOM Reference</a>.</p> <h3 id=".D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5" name=".D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5">Введение</h3> <p>Как вы знаете, <a href="/ru/XUL" title="ru/XUL">XUL</a> — это язык, основанный на <a href="/ru/XML" title="ru/XML">XML</a>, который использовался в различных приложениях, основанных на Mozilla, таких как Firefox и Thunderbird, для описания пользовательского интерфейса. В XUL приложениях <a href="/ru/JavaScript" title="ru/JavaScript">JavaScript</a> объявляет поведение, используя <a href="/ru/Gecko_DOM_Reference" title="ru/Gecko_DOM_Reference">DOM APIs</a> для доступа к XUL документу.</p> <p>Так что же такое <strong>D</strong>ocument <strong>O</strong>bject <strong>M</strong>odel APIs?</p> diff --git a/files/ru/orphaned/доступность/index.html b/files/ru/orphaned/доступность/index.html index b63553d6ea..23e0e8af0c 100644 --- a/files/ru/orphaned/доступность/index.html +++ b/files/ru/orphaned/доступность/index.html @@ -7,7 +7,7 @@ original_slug: Доступность --- <p> </p> <div> -<p>"Доступность чаще всего используется, чтобы описать средства обслуживания или удобства, чтобы помочь людям с неполными способностями (инвалидам). Это может быть Шрифт Брайля (обозначения для слепых), скаты для инвалидного кресла, звуковые сигналы в пешеходных переходах, контурах прохода, дизайн вебсайта, и так далее..." {{ Ref(1) }}</p> +<p>"Доступность чаще всего используется, чтобы описать средства обслуживания или удобства, чтобы помочь людям с неполными способностями (инвалидам). Это может быть Шрифт Брайля (обозначения для слепых), скаты для инвалидного кресла, звуковые сигналы в пешеходных переходах, контурах прохода, дизайн веб-сайта, и так далее..." {{ Ref(1) }}</p> </div> <table class="topicpage-table"> <tbody> <tr> <td> <h4 id=".D0.94.D0.BE.D0.BA.D1.83.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.86.D0.B8.D1.8F" name=".D0.94.D0.BE.D0.BA.D1.83.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.86.D0.B8.D1.8F"><a href="/Special:Tags?tag=%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D1%8C&language=ru" title="Special:Tags?tag=Доступность&language=ru">Документация</a></h4> <h5 id=".D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5" name=".D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5">Введение</h5> <dl><dt> <a class="external" href="http://www.mozilla.org/access/today">Software Accessibility Today</a> </dt><dd> <small>Доступность программного обеспечения прошла значительные усовершенствования за прошлые два десятилетия. Эта статья рассматривает продвижение и технологию, как оно развивалось.</small> </dd></dl> <dl><dt> <a class="external" href="http://diveintoaccessibility.org/">Dive into Accessibility</a> </dt><dd> <small>Эта книга отвечает на два вопроса. Первый - "Почему я должен делать мой сайт более доступным?" Второй - "Как я могу сделать мой сайт более доступным?"</small> </dd></dl> <dl><dt> <a class="external" href="http://www-306.ibm.com/able/guidelines/web/accessweb.html">Accessible Web Page Authoring</a> </dt><dd> <small>Хорошая статья о "Доступности для веб-сайта", от IBM.</small> </dd></dl> <h5 id="Guidelines" name="Guidelines">Guidelines</h5> <dl><dt> <a href="/ru/Accessibility/Architecture" title="ru/Accessibility/Architecture">Accessibility:Architecture</a> </dt><dd> <small>Как иерархия доступности выполнена в Mozilla</small> </dd></dl> <dl><dt> <a href="/ru/Building_accessible_custom_components_in_XUL" title="ru/Building_accessible_custom_components_in_XUL">Building accessible custom components in XUL</a> </dt><dd> <small>Как использовать Технику доступности DHTML чтобы сделать ваши XUL компоненты доступными.</small> </dd></dl> <dl><dt> <a href="/ru/Accessible_XUL_Authoring_Guidelines" title="ru/Accessible_XUL_Authoring_Guidelines">Accessible XUL Authoring Guidelines</a> </dt><dd> <small>When authored according to these guidelines, XUL is capable of generating accessible user interfaces. Coders, reviewers, designers and QA engineers should be familiar with these guidelines.</small> </dd></dl> <dl><dt> <a class="external" href="http://www.mozilla.org/access/keyboard/tabindex.html">Key-navigable custom DHTML widgets, in Mozilla and IE</a> </dt><dd> <small>Until now, web developers who want to make their styled <code><div></code> and <code><span></code> based widgets keyboard accessible have lacked the proper techniques. Keyboard accessibility is part of the minimum accessibility requirements of which any web developer should be aware.</small> </dd></dl> <dl><dt> <a href="/ru/Building_XULRunner_with_Python" title="ru/Building_XULRunner_with_Python">Building XULRunner with Python</a> </dt><dd> <small>How to build XULRunner with Python on Windows. Then comtypes gives access to MSAA and IAccessible2</small> </dd></dl> <h5 id="References" name="References">References</h5> <dl><dt> <a href="/ru/Accessibility/AT-APIs" title="ru/Accessibility/AT-APIs">AT APIs Implementation by Gecko</a> </dt><dd> <small>Shows how Gecko handles ATK, IAccessible2, MSAA and Universal Access API</small> </dd></dl> <dl><dt> <a href="/ru/ARIA/Accessible_Rich_Internet_Applications" title="ru/ARIA/Accessible_Rich_Internet_Applications">ARIA: Accessible Rich Internet Applications</a> </dt><dd> <small>ARIA, formerly known as DHTML accessibility, allows desktop-style widgets such as tree views, menu bars and spreadsheets which are accessible both with the keyboard and assistive technologies such as screen readers, screen magnifiers and alternative input devices. It also allows authors describe live changes on a web page, to help screen readers know when to announce those changes. See also the report on upcoming support for <a href="/ru/AJAX/WAI_ARIA_Live_Regions" title="ru/AJAX/WAI_ARIA_Live_Regions">AJAX:WAI ARIA Live Regions</a>.</small> </dd></dl> <dl><dt> <a href="/ru/Accessibility/XForms" title="ru/Accessibility/XForms">Accessibility XForms References</a> </dt><dd> <small>Shows how XForms controls are mapped to accessible tree</small> </dd></dl> <p><span class="alllinks"><a href="/Special:Tags?tag=Accessibility&language=ru" title="Special:Tags?tag=Accessibility&language=ru">View All...</a></span></p> </td> <td> <h4 id="Community" name="Community">Community</h4> <ul> <li>View Mozilla forums...</li> </ul> <p>{{ DiscussionList("support-accessibility", "mozilla.support.accessibility") }}</p> <ul> <li><a class="external" href="http://www.w3.org/WAI/IG/">WAI Interest Group</a></li> <li><a href="/ru/Accessibility/Community" title="ru/Accessibility/Community">Other community links...</a></li> </ul> <h4 id="Tools" name="Tools">Tools</h4> <ul> <li><a class="external" href="http://www.mozilla.org/quality/embed/plans/accessibility/nsIAccessibleTestPlan.html">Automated Accessibility Tests</a></li> <li><a class="external" href="http://www.standards-schmandards.com/index.php?show/fangs">Fangs Screen Reader Emulator</a></li> </ul> <p><span class="alllinks"><a href="/Special:Tags?tag=Accessibility:Tools&language=ru" title="Special:Tags?tag=Accessibility:Tools&language=ru">View All...</a></span></p> <h4 id="Related_Topics" name="Related_Topics">Related Topics</h4> <dl><dd> <a href="/ru/Web_Development" title="ru/Web_Development">Web Development</a>, <a href="/ru/Web_Standards" title="ru/Web_Standards">Web Standards</a>, <a href="/ru/XUL" title="ru/XUL">XUL</a> </dd></dl></td> </tr> </tbody> </table> diff --git a/files/ru/orphaned/заголовок_ссылки/index.html b/files/ru/orphaned/заголовок_ссылки/index.html index 1865fd39fe..47fa75317b 100644 --- a/files/ru/orphaned/заголовок_ссылки/index.html +++ b/files/ru/orphaned/заголовок_ссылки/index.html @@ -4,7 +4,7 @@ slug: orphaned/Заголовок_ссылки original_slug: Заголовок_ссылки --- <p><a href="ru/%d0%ad%d1%82%d0%be_%d0%bc%d0%be%d1%8f_%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%87%d0%ba%d0%b0_%d0%b4%d0%bb%d1%8f_%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b">Это моя страничка для работы</a> -Кроме того мне нужно разместить здесь фотьографии +Кроме того мне нужно разместить здесь фотографии <a class="external" href="http://NovayaZemlia.boxmail.biz"> </a></p><a class="external" href="http://NovayaZemlia.boxmail.biz"> <h3 id=".D0.9D.D0.9E.D0.92.D0.90.D0.AF_.D0.97.D0.95.D0.9C.D0.9B.D0.AF" name=".D0.9D.D0.9E.D0.92.D0.90.D0.AF_.D0.97.D0.95.D0.9C.D0.9B.D0.AF"> НОВАЯ ЗЕМЛЯ </h3> diff --git a/files/ru/orphaned/переход_с_internet_explorer_на_mozilla/index.html b/files/ru/orphaned/переход_с_internet_explorer_на_mozilla/index.html index 4815631f3c..f7c8b5d32c 100644 --- a/files/ru/orphaned/переход_с_internet_explorer_на_mozilla/index.html +++ b/files/ru/orphaned/переход_с_internet_explorer_на_mozilla/index.html @@ -5,7 +5,7 @@ original_slug: Переход_с_Internet_Explorer_на_Mozilla --- <h3 id=".D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5">Введение</h3> <p>Когда Netscape запустила броузер Mozilla, было решено поддерживать стандарт W3C. В результате, Mozilla не полностью совместима с Netscape Navigator 4.x и Microsoft Internet Explorer; например, Mozilla не поддерживает <code><layer></code>, я расскажу об этом позже. Броузеры, такие как Internet Explorer 4, были разработаны до утверждения стандарта W3C, и имеют много индивидуальных особенностей. В этом ключе, я опишу особенности Mozilla, с поддержкой строгого стиля HTML в сочетании с Internet Explorer и другими используемыми броузерами.</p> -<p>Впрочем я опишу как нестандартизованные технологии, такие как XMLHttpRequest, так и богатые возможности представления текста, которые Mozilla поддерживает согласно стандарту W3C. Они включают:</p> +<p>Впрочем я опишу как нестандартизированные технологии, такие как XMLHttpRequest, так и богатые возможности представления текста, которые Mozilla поддерживает согласно стандарту W3C. Они включают:</p> <ul> <li>HTML 4.01, XHTML 1.0 и XHTML 1.1</li> <li>Каскадные таблицы стилей (CSS): CSS 1, CSS 2.1 и частично CSS 3</li> <li>Объектная модель документа (DOM): DOM 1, DOM 2 и частично DOM 3</li> <li>Математический язык разметки: MathML 2.0</li> <li>Расширяемый язык разметки (XML): XML 1.0, Пространство имен в XML, Associating Style Sheets with XML Documents 1.0, Fragment Identifier for XML</li> <li>XSL Традиционно: XSLT 1.0</li> <li>XML Часть языка: XPath 1.0</li> <li>Resource Description Framework: RDF</li> <li>Simple Object Access Protocol: SOAP 1.1</li> <li>ECMA-262, revision 3 (JavaScript 1.5): ECMA-262</li> </ul> <p> </p> diff --git a/files/ru/orphaned/создание_расширения/index.html b/files/ru/orphaned/создание_расширения/index.html index 02595959ca..c32438b8e4 100644 --- a/files/ru/orphaned/создание_расширения/index.html +++ b/files/ru/orphaned/создание_расширения/index.html @@ -105,7 +105,7 @@ original_slug: Создание_расширения <p>Интерфейс Firefox написан на XUL и JavaScript. <a href="/ru/XUL" title="ru/XUL">XUL</a> - это язык, основанный на XML. Он отвечает за визуальную часть интерфейса. JavaScript реализует функциональность через привязку к действиям пользователя.</p> -<p>Так как визуально браузер строится на XUL, то, следовательно, он весь представляется в виде XML-файла. Вы можете посмотреть на него (это будет полезно для четкого понимания своих дальнейших действий). Зайдите в папку установки Firefox, откройте там папку chrome. В ней будет <code>browser.jar</code>. Несмотря на расширение, этот файл - обычный zip-архив. Внутри него вы найдете файл <code>content/browser/browser.xul</code>. Открыв его, можно полюбоваться на общую структуру визуальной части браузера. Пусть вас не смущает большое количество непонятных пока строк - во всем разберетесь позже. Собственно, корневым узлом этого XML-файла являетcя элемент <code>window</code>, содержащиеся в нем узлы - это отдельные элементы интерфейса. Например, вы можете найти кнопку обновления страницы (поищите узел с <code>id="reload-button"</code>) или пункт меню "Правка" (<code>id="edit-menu"</code>).</p> +<p>Так как визуально браузер строится на XUL, то, следовательно, он весь представляется в виде XML-файла. Вы можете посмотреть на него (это будет полезно для четкого понимания своих дальнейших действий). Зайдите в папку установки Firefox, откройте там папку chrome. В ней будет <code>browser.jar</code>. Несмотря на расширение, этот файл - обычный zip-архив. Внутри него вы найдете файл <code>content/browser/browser.xul</code>. Открыв его, можно полюбоваться на общую структуру визуальной части браузера. Пусть вас не смущает большое количество непонятных пока строк - во всем разберетесь позже. Собственно, корневым узлом этого XML-файла является элемент <code>window</code>, содержащиеся в нем узлы - это отдельные элементы интерфейса. Например, вы можете найти кнопку обновления страницы (поищите узел с <code>id="reload-button"</code>) или пункт меню "Правка" (<code>id="edit-menu"</code>).</p> <p>Так вот, суть расширения интерфейса браузера состоит в том, что мы берем некий узел из браузера, описываем его в своем файле с необходимыми нам изменениями, например, добавляя к нему новые дочерние узлы. Таким образом можно добавить новые кнопки в панель инструментов (или создать новую панель и поместить ее в нужное место), добавить новый пункт меню (как рядом со "Справкой" так и в подменю, скажем, "Инструменты" (Tools)). Это технология называется <a href="/en/XUL_Overlays">en:XUL Overlays</a>.</p> @@ -131,7 +131,7 @@ original_slug: Создание_расширения <p>URI хрома состоит из нескольких частей:</p> <ul> - <li>протокол <code>chrome</code> говорит, что необходимо классифицировать и обработать содежимое файла как хром.</li> + <li>протокол <code>chrome</code> говорит, что необходимо классифицировать и обработать содержимое файла как хром.</li> <li>название пакета (в данном случае, это <code>browser</code>), указывающий на "сверток" (bundle) компонентов интерфейса. Это название уникально для каждого приложения/расширения.</li> <li>тип запрашиваемых данных. Есть три типа: <code>content</code> (XUL, JavaScript, XBL Bindings и др., т.е. компоненты, формирующие вид и поведение интерфейса), <code>locale</code> (DTD, файлы propeties и т.п., производящие локализацию интерфейса) и <code>skin</code> (CSS и изображения для формирования темы интерфейса).</li> <li>файл для загрузки.</li> @@ -195,7 +195,7 @@ original_slug: Создание_расширения <h3 id=".D0.A3.D0.BF.D0.B0.D0.BA.D0.BE.D0.B2.D0.BA.D0.B0_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F" name=".D0.A3.D0.BF.D0.B0.D0.BA.D0.BE.D0.B2.D0.BA.D0.B0_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F">Упаковка расширения</h3> -<p>Теперь можно упаковать расширение для его дальнейшего распространиения и установки.</p> +<p>Теперь можно упаковать расширение для его дальнейшего распространения и установки.</p> <p>Создайте zip-архив из содержания корневой папки вашего расширения (но не архивируйте саму папку). Переименуйте файл, чтобы он имел расширение <code>".xpi"</code>. Вот и все. Для установки достаточно перетащить файл на окно браузера.</p> @@ -209,7 +209,7 @@ original_slug: Создание_расширения <h4 id=".D0.A0.D0.B5.D0.B3.D0.B8.D1.81.D1.82.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B2_.D1.80.D0.B5.D0.B5.D1.81.D1.82.D1.80.D0.B5_Windows" name=".D0.A0.D0.B5.D0.B3.D0.B8.D1.81.D1.82.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B2_.D1.80.D0.B5.D0.B5.D1.81.D1.82.D1.80.D0.B5_Windows">Регистрирование расширения в реестре Windows</h4> -<p>В Windows информация о расширении может быть добавлена в реестр. Это дает дополнительный возможности при установке расширений. Поробнее об этом читайте здесь.</p> +<p>В Windows информация о расширении может быть добавлена в реестр. Это дает дополнительный возможности при установке расширений. Подробнее об этом читайте здесь.</p> <h3 id=".D0.A3.D0.B7.D0.BD.D0.B0.D0.B9.D1.82.D0.B5_.D0.B1.D0.BE.D0.BB.D1.8C.D1.88.D0.B5_.D0.BE.D0.B1_.D0.BE.D0.B2.D0.B5.D1.80.D0.BB.D0.B5.D1.8F.D1.85_XUL" name=".D0.A3.D0.B7.D0.BD.D0.B0.D0.B9.D1.82.D0.B5_.D0.B1.D0.BE.D0.BB.D1.8C.D1.88.D0.B5_.D0.BE.D0.B1_.D0.BE.D0.B2.D0.B5.D1.80.D0.BB.D0.B5.D1.8F.D1.85_XUL">Узнайте больше об оверлеях XUL</h3> @@ -219,7 +219,7 @@ original_slug: Создание_расширения <p>Для поддержки более чем одного языка необходимо отделить локализуемые строки от основного содержания с помощью сущностей (entities) и "свертков строк" (string bundles). Гораздо проще делать это в течение разработки расширения, чем после.</p> -<p>Информация о локализации хранится в подпапке <code>locale</code> папки chrome (т.е. рядос с папкой <code>content</code>). В этой папке необходимо разместить столько папок, сколько локализаций вы намерены сделать. Обычной практикой является называть папки стандартными названиями локалей: скажем, папку с английской локализацией - <code>en-US</code>, русской - <code>ru-RU</code> и т.п., что, впрочем, не является обязательным. Теперь создайте в каждой из папок файл <code>somename.ent</code> (или <code>anothername.dtd</code>) (<em>имя одинаково во всех папках локализаций</em>) и заполните его соответствующим образом (показано ниже).</p> +<p>Информация о локализации хранится в подпапке <code>locale</code> папки chrome (т.е. рядом с папкой <code>content</code>). В этой папке необходимо разместить столько папок, сколько локализаций вы намерены сделать. Обычной практикой является называть папки стандартными названиями локалей: скажем, папку с английской локализацией - <code>en-US</code>, русской - <code>ru-RU</code> и т.п., что, впрочем, не является обязательным. Теперь создайте в каждой из папок файл <code>somename.ent</code> (или <code>anothername.dtd</code>) (<em>имя одинаково во всех папках локализаций</em>) и заполните его соответствующим образом (показано ниже).</p> <p>Локализуем наше расширение на русский и английский языки. После создания 2 папок (назовем их <code>ru-RU</code> и <code>en-US</code>), создаем в каждой из них файл (пусть <code>myStatusBar.ent</code>) Поместите в тот файл, который в папке с английской локализацией, следующую строку:</p> diff --git a/files/ru/orphaned/создание_расширения/настройка_firefox_для_разработки/index.html b/files/ru/orphaned/создание_расширения/настройка_firefox_для_разработки/index.html index 540eec6800..ce98a85e64 100644 --- a/files/ru/orphaned/создание_расширения/настройка_firefox_для_разработки/index.html +++ b/files/ru/orphaned/создание_расширения/настройка_firefox_для_разработки/index.html @@ -18,7 +18,7 @@ original_slug: Создание_расширения/Настройка_Firefox_ <p style="text-align: justify;">В открывшемся окне менеджера профилей нажмите кнопку "Создать". Далее следуйте инструкциям в менеджере. Он Вам предложит ввести для нового профиля название, для нашего пусть будет "Develop" (это уже на Ваше усмотрение), а так же предложит выбрать папку, где будет наш профиль храниться. Для папки экспериментального профиля подойдет открытое и, главное, доступное место, потому что может потребоваться в нем что-нибудь изменить руками или добавить какой-нибудь файл.</p> <p style="text-align: justify;">После того, как профиль создан, нажимаем на "Запуск Firefox". После запуска браузера вводим в адресную строку "about:config" и нажимаем Enter. На это браузер нам выдаст окно с предупреждением о возможности испортить программу, мы пообещаем ему быть осторожными.</p> <p style="text-align: justify;">В открывшемся меню Вы увидите множество строк с настройками браузера. Но в настройках "по умолчанию" вписаны не все нужные нам строки - ведь в повседневной жизни они не нужны. Для полноценной настройки экспериментального профиля Firefox следует добавить в настройки некоторые параметры. Для этого достаточно нажать правую кнопку мыши в любом месте списка и выбрать из контекстного меню пункт "Создать" --> "Логичкеское".</p> -<ul> <li><strong>javascript.options.showInConsole = true </strong>- запись ошибок в файлах chrome в <a href="/en/Error_Console" title="en/Error_Console">консоль ошибок (англ.)</a>.</li> <li><strong>nglayout.debug.disable_xul_cache = true </strong>- выключение кеширования xul-объектов. При внесении изменений в окна и диалоги не потребуется перезапуск браузера. Однако, работает только при использовании простых папок, а не jar-архивов. Внесение же изменеий в xul-оверлэи все таки потребует перезапуска браузера.</li> <li><strong>browser.dom.window.dump.enabled = true </strong>- позволяет выводить в стандартную консоль состояние дампа. Для получения информации смотри <a href="/en/DOM/window.dump">window.dump (англ.)</a></li> <li><strong>javascript.options.strict = true</strong> - принудительный вывод в консоль всех предупреждений JavaScript.</li> <li><strong>extensions.logging.enabled = true</strong> - вывод информации об инсталляции и обновлении в консоль ошибок.</li> +<ul> <li><strong>javascript.options.showInConsole = true </strong>- запись ошибок в файлах chrome в <a href="/en/Error_Console" title="en/Error_Console">консоль ошибок (англ.)</a>.</li> <li><strong>nglayout.debug.disable_xul_cache = true </strong>- выключение кеширования xul-объектов. При внесении изменений в окна и диалоги не потребуется перезапуск браузера. Однако, работает только при использовании простых папок, а не jar-архивов. Внесение же изменений в xul-оверлэи все таки потребует перезапуска браузера.</li> <li><strong>browser.dom.window.dump.enabled = true </strong>- позволяет выводить в стандартную консоль состояние дампа. Для получения информации смотри <a href="/en/DOM/window.dump">window.dump (англ.)</a></li> <li><strong>javascript.options.strict = true</strong> - принудительный вывод в консоль всех предупреждений JavaScript.</li> <li><strong>extensions.logging.enabled = true</strong> - вывод информации об инсталляции и обновлении в консоль ошибок.</li> </ul> <h2 id="Расширения_разработчика">Расширения разработчика</h2> <p style="text-align: justify;">При создании собственных расширений могут быть очень полезными следующие дополнения для Firefox:</p> diff --git a/files/ru/orphaned/справочная_информация_по_gecko_dom/введение/index.html b/files/ru/orphaned/справочная_информация_по_gecko_dom/введение/index.html index 82a4ce1465..62486747ec 100644 --- a/files/ru/orphaned/справочная_информация_по_gecko_dom/введение/index.html +++ b/files/ru/orphaned/справочная_информация_по_gecko_dom/введение/index.html @@ -7,7 +7,7 @@ original_slug: Справочная_информация_по_Gecko_DOM/Введ <h2 id="What_is_the_DOM" name="What_is_the_DOM">Что такое DOM?</h2> -<p><span id="result_box" lang="ru"><span>Document Object Model (DOM) - это программный интерфейс для HTML и XML-документов.</span> <span>Он представляет страницу, чтобы программы могли изменять структуру, стиль и содержание документа.</span> <span>DOM отображает страницу ввиде узлов и объектов.</span> <span>Таким образом, языки программирования могут взаимодействовать со страницей.</span></span></p> +<p><span id="result_box" lang="ru"><span>Document Object Model (DOM) - это программный интерфейс для HTML и XML-документов.</span> <span>Он представляет страницу, чтобы программы могли изменять структуру, стиль и содержание документа.</span> <span>DOM отображает страницу в виде узлов и объектов.</span> <span>Таким образом, языки программирования могут взаимодействовать со страницей.</span></span></p> <p>Веб-страница - это документ<span id="result_box" lang="ru"><span>. Этот документ можно либо отобразить в окне браузера, либо в качестве источника HTML</span></span><span id="result_box" lang="ru"><span>.</span> <span>Но в обоих случаях это один и тот же документ.</span></span> <span id="result_box" lang="ru"><span>Объектная модель документа (DOM) представляет этот же документ, таким образом, чтобы им можно было манипулировать.</span> <span>DOM представляет собой объектно-ориентированное представление веб-страницы, которое может быть модифицировано с помощью скриптовых языков, таких как JavaScript.</span></span></p> @@ -21,7 +21,7 @@ original_slug: Справочная_информация_по_Gecko_DOM/Введ alert(paragraphs[0].nodeName); </pre> -<p>Все свойства, методы и события, доступные для управления и создания веб-страниц, организованы в объекты (например, объект документа, который представляет сам документ (<code>document</code>), объект таблица (<code>table</code>), который реализует специальный интерфейс DOM <code>HTMLTableElement</code> для доступа к таблицам HTML и т. д. ). Эта документация предоставляет по-объектную справку по DOM, реализованную в браузерах на базе Gecko.</p> +<p>Все свойства, методы и события, доступные для управления и создания веб-страниц, организованы в объекты (например, объект документа, который представляет сам документ (<code>document</code>), объект таблица (<code>table</code>), который реализует специальный интерфейс DOM <code>HTMLTableElement</code> для доступа к таблицам HTML и т. д. ). Эта документация предоставляет пообъектную справку по DOM, реализованную в браузерах на базе Gecko.</p> <h2 id="DOM_and_JavaScript" name="DOM_and_JavaScript">DOM и JavaScript</h2> @@ -76,7 +76,7 @@ p_list = doc.getElementsByTagName("para"); <h2 id="Important_Data_Types" name="Important_Data_Types">Важные типы данных</h2> -<p><span id="result_box" lang="ru"><span>Эта руководство пытается описать различные объекты и типы данных как можно проще.</span> <span>Но есть много различных типов данных, которые передаются через API, о которых вы должны знать.</span> <span>Для простоты, примеры синтаксиса в этом руководстве по API обычно назвывают узловые элементы - элементами</span></span> <code>element</code>, массивам узлов, такие как <code>nodeList</code>, - также элементами <code>element</code>, а аттрибуты узлов <code>attribute</code> именуются просто аттрибутам.</p> +<p><span id="result_box" lang="ru"><span>Эта руководство пытается описать различные объекты и типы данных как можно проще.</span> <span>Но есть много различных типов данных, которые передаются через API, о которых вы должны знать.</span> <span>Для простоты, примеры синтаксиса в этом руководстве по API обычно называют узловые элементы - элементами</span></span> <code>element</code>, массивам узлов, такие как <code>nodeList</code>, - также элементами <code>element</code>, а атрибуты узлов <code>attribute</code> именуются просто атрибутам.</p> <p>Следующая таблица кратко описывает эти типы данных.</p> @@ -133,7 +133,7 @@ for (var i = 0; i < tableAttrs.length; i++) { table.summary = "note: increased border"; </pre> -<h3 id="Core_Interfaces_in_the_DOM" name="Core_Interfaces_in_the_DOM">Ключевые Интерфесы в DOM</h3> +<h3 id="Core_Interfaces_in_the_DOM" name="Core_Interfaces_in_the_DOM">Ключевые Интерфейсы в DOM</h3> <p>This section lists some of the most commonly-used interfaces in the DOM. The idea is not to describe what these APIs do here but to give you an idea of the sorts of methods and properties you will see very often as you use the DOM. These common APIs are used in the longer examples in the <a href="/en-US/docs/Gecko_DOM_Reference/Examples" title="Gecko_DOM_Reference/Examples">DOM Examples</a> chapter at the end of this book.</p> diff --git a/files/ru/orphaned/темы/index.html b/files/ru/orphaned/темы/index.html index b66e44f6ba..71bc2a0b19 100644 --- a/files/ru/orphaned/темы/index.html +++ b/files/ru/orphaned/темы/index.html @@ -6,7 +6,7 @@ original_slug: Темы <p> </p> <div class="callout-box"><strong><a href="/en/Creating_a_Skin_for_Firefox" title="en/Creating_a_Skin_for_Firefox">Введение</a></strong><br> Введение в разработку тем для Firefox.</div> -<div><strong>Темы </strong>представляют из себя "шкурки" для различных приложений Mozilla. Они позволяют быстро изменить вид пользовательского интерфейса и персонализовать его на ваш вкус. Тема поможет легко изменить цвет пользовательского интерфейса или внешний вид вцелом. </div> +<div><strong>Темы </strong>представляют из себя "шкурки" для различных приложений Mozilla. Они позволяют быстро изменить вид пользовательского интерфейса и персонализировать его на ваш вкус. Тема поможет легко изменить цвет пользовательского интерфейса или внешний вид в целом. </div> <table class="topicpage-table"> <tbody> <tr> <td> <h4 id="Documentation"><a href="/Special:Tags" title="Site Tags">Documentation</a></h4> <dl><dt> <a href="/en/Creating_a_Skin_for_Firefox" title="en/Creating_a_Skin_for_Firefox">Creating a Skin for Firefox</a> </dt><dd> <small>An introduction to creating new themes for Firefox.</small> </dd></dl> <dl><dt> <a href="/en/Making_Sure_Your_Theme_Works_with_RTL_Locales" title="en/Making_Sure_Your_Theme_Works_with_RTL_Locales">Making Sure Your Theme Works with RTL Locales</a> </dt><dd> <small>How to make sure your theme will look right with Hebrew, Arabic, Persian and Urdu locales.</small> </dd></dl> <dl><dt> <a href="/en/Theme_Packaging" title="en/Theme_Packaging">Theme Packaging</a> </dt><dd> <small>How to package themes for Firefox and Thunderbird.</small> </dd></dl> <dl><dt> <br> </dt><dt> <a class="internal" href="/En/Theme_changes_in_Firefox_3.1" title="en/Theme changes in Firefox 3.1"> Theme changes between Firefox 3.0 and 3.1</a> </dt></dl> <dl><dt><a href="/en/Theme_changes_in_Firefox_3" title="en/Theme_changes_in_Firefox_3"> Theme changes between Firefox 2.0 and 3.0</a> </dt></dl> <dl><dt> <a href="/en/Theme_changes_in_Firefox_2" title="en/Theme_changes_in_Firefox_2"> Theme changes between Firefox 1.5 and 2.0</a> </dt><dd> <small>A comprehensive list of theme changes between the 1.5 and 2.0 releases of Firefox</small> </dd></dl> <dl><dt> <a class="external" href="http://forums.mozillazine.org/viewtopic.php?t=197434">Theme changes from Firefox 1.0 to 1.5 (forum post)</a> </dt><dd> <small>A forum post at <a class="external" href="http://www.mozillazine.org">MozillaZine</a> outlining the basic theme-related changes between Firefox 1.0 and 1.5.</small> </dd></dl> <dl><dt> <a class="external" href="http://cheeaun.phoenity.com/weblog/2004/12/first-steps-in-theme-design.html">First steps in theme design</a> </dt><dd> <small>A somewhat aged article discussing theme design for Firefox.</small> </dd></dl> <p><span class="alllinks"><a href="/Special:Tags" title="Site Tags">View All...</a></span></p> </td> <td> <h4 id="Community">Community</h4> <ul> <li>View Mozilla forums...</li> </ul> <p>{{ DiscussionList("dev-themes", "mozilla.dev.themes") }}</p> <ul> <li><a class="link-irc" href="irc://irc.mozilla.org/#themedev">#themedev IRC channel</a></li> <li><a class="external" href="http://forums.mozillazine.org/viewforum.php?f=18">MozillaZine Themes forum</a></li> </ul> <h4 id="Tools">Tools</h4> <ul> <li><a href="/en/DOM_Inspector" title="en/DOM_Inspector">DOM Inspector</a></li> <li><a class="link-https" href="https://addons.mozilla.org/firefox/63/">InspectorWidget</a></li> <li><a class="external" href="http://www.extensionsmirror.nl/index.php?showtopic=21">ChromeEdit extension</a></li> <li><a class="link-https" href="https://addons.mozilla.org/firefox/7438">Force RTL</a>: Test for RTL compatibility</li> </ul> <p><span class="alllinks"><a href="/Special:Tags" title="Site Tags">View All...</a></span></p> <h4 id="Related_Topics">Related Topics</h4> <dl><dd> <a href="/en/CSS" title="en/CSS">CSS</a> </dd></dl></td> </tr> </tbody> </table> <p><span class="comment">Categories</span></p> diff --git a/files/ru/plugins/roadmap/index.html b/files/ru/plugins/roadmap/index.html index 1eda145955..0537cfcf94 100644 --- a/files/ru/plugins/roadmap/index.html +++ b/files/ru/plugins/roadmap/index.html @@ -14,7 +14,7 @@ original_slug: Plugins/План <dt>Март 2017</dt> <dd>Начиная с Firefox 52 в Марте 2017, плагины, отличные от Adobe Flash, больше не поддерживаются в Firefox. Версия Firefox <a href="https://www.mozilla.org/en-US/firefox/organizations/faq/">Extended Support Release 52</a> продолжит поддерживать все плагины, включая Flash, до начала 2018.</dd> <dt>Август 2017</dt> - <dd>Начиная с Firefox 55 в Августе 2017, пользователи смогут <a href="/ru-RU/docs/Plugins/Flash_Activation:_Browser_Comparison">выбрать</a>, каким сайта разрешено активировать Flash плагин. У пользователей появится надстройка, разрешающая запуск Flash, для каждого сайта отдельно. <em>Это изменение будет введится постепенно, начиная с Августа и Сентября 2017.</em><br> + <dd>Начиная с Firefox 55 в Августе 2017, пользователи смогут <a href="/ru-RU/docs/Plugins/Flash_Activation:_Browser_Comparison">выбрать</a>, каким сайта разрешено активировать Flash плагин. У пользователей появится надстройка, разрешающая запуск Flash, для каждого сайта отдельно. <em>Это изменение будет вводится постепенно, начиная с Августа и Сентября 2017.</em><br> <br> В целях повышения безопасности и улучшения производительности, Mozilla будет вести <a href="/en-US/docs/Plugins/Blocking_By_Domain">список сайтов</a>, которые не могу использовать никакие плагины.</dd> <dt>Сентябрь 2017</dt> @@ -22,7 +22,7 @@ original_slug: Plugins/План <dt>2019</dt> <dd>В Сентябре 2019, в Firefox 69 будет удалена надстройка во Flash под названием "Всегда включен", теперь мы будет всегда спрашивать ваше разрешение, прежде чем запустить плагин на сайте.</dd> <dt>2020</dt> - <dd>В начале 2020, поддержка Flash будет полностью удалена из обычной версии Firefox. Firefox Extended Support Release (ESR) будет поддерживатть Flash до конца 2020.</dd> + <dd>В начале 2020, поддержка Flash будет полностью удалена из обычной версии Firefox. Firefox Extended Support Release (ESR) будет поддерживать Flash до конца 2020.</dd> <dt>2021</dt> <dd>Когда Adobe прекратит выпускать обновления безопасности для Flash, в конце 2020, Firefox больше не будет поддерживать этот плагин.</dd> </dl> diff --git a/files/ru/tools/3d_view/index.html b/files/ru/tools/3d_view/index.html index 97fdf65a90..b5b8c0ded1 100644 --- a/files/ru/tools/3d_view/index.html +++ b/files/ru/tools/3d_view/index.html @@ -12,7 +12,7 @@ translation_of: Tools/3D_View <p>Начиная с Firefox 47, "3D view" больше недоступен.</p> </div> -<p>Когда вы нажимаете на кнопку 3D просмотра, страница переходит в 3D режим. В нем вы можете видетьструктуру блоков HTML, когда вложеные блоки находятся выше родительских.</p> +<p>Когда вы нажимаете на кнопку 3D просмотра, страница переходит в 3D режим. В нем вы можете видеть структуру блоков HTML, когда вложенные блоки находятся выше родительских.</p> <p>Этот режим позволяет визуализировать структуру вашего контента.</p> diff --git a/files/ru/tools/eyedropper/index.html b/files/ru/tools/eyedropper/index.html index b03037c968..081e3dfc80 100644 --- a/files/ru/tools/eyedropper/index.html +++ b/files/ru/tools/eyedropper/index.html @@ -7,13 +7,13 @@ translation_of: Tools/Eyedropper <p style="padding: 10px 0 9px 8px;">Инструмент пипетка доступен начиная с Firefox 31.</p> </div> -<p>Инструмент «Пипетка» позволяет получить цвет любого пикселя на странице. Он работает как увеличительное стекло, увеличивая участок страницы и позволяя точно выбрать необходимый пиксель. Под увеливаемой областью находится текстовое поле, в котором отображается выбранный цвет в соответствии с выбранной цветовой моделью, указанной в <a href="/en-US/docs/Tools_Toolbox#Inspector">Настройках</a>.</p> +<p>Инструмент «Пипетка» позволяет получить цвет любого пикселя на странице. Он работает как увеличительное стекло, увеличивая участок страницы и позволяя точно выбрать необходимый пиксель. Под увеличиваемой областью находится текстовое поле, в котором отображается выбранный цвет в соответствии с выбранной цветовой моделью, указанной в <a href="/en-US/docs/Tools_Toolbox#Inspector">Настройках</a>.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/7749/eyedropper.png" style="width: 305px; height: 204px; display: block; margin-left: auto; margin-right: auto;">Этот инструмент обычно используется:</p> <ul> <li>для выбора цвета на странице и копирования его в буфер обмена</li> - <li>для изменения цвета какого-либо элемента в консоли разработчка на выбранный при помощи инструмента.</li> + <li>для изменения цвета какого-либо элемента в консоли разработка на выбранный при помощи инструмента.</li> </ul> <h2 id="Копирование_цвета_в_буфер_обмена">Копирование цвета в буфер обмена</h2> diff --git a/files/ru/tools/index.html b/files/ru/tools/index.html index a46c24c94f..92f2c54bfd 100644 --- a/files/ru/tools/index.html +++ b/files/ru/tools/index.html @@ -17,7 +17,7 @@ translation_of: Tools <p>Исследуйте, редактируйте и отлаживайте HTML, CSS и JavaScript на компьютерах и мобильных устройствах. Для получения последних обновлений для инструментов разработки <a href="https://www.mozilla.org/ru/firefox/developer/">скачайте Firefox Developer Edition</a>.</p> <p>Если вы ищете информацию по использованию инструментов веб-разработчика доступных в Firefox, вы зашли в правильное место - на этой странице даётся подробная информация обо всех основных и дополнительных инструментах веб-разработчика, а также информацию о том как подсоединять и настраивать Firefox для Android, как расширить набор инструментов разработчика, как настраивать браузер.<br> - Пожалуйста, посмотрите описания инструментов разработчика, расположенные далее на этой странице. Если у вас возникнут замечания или вопросы об указанном наборе инструментов, то пришлите нам собщение на нашу почту или IRC канал ( <a href="https://developer.mozilla.org/en-US/docs/Tools#Join_the_Developer_tools_community"> соответствующие ссылки находятся внизу страницы</a>). Если у вас возникнут замечания или вопросы, касающиеся документации, то напишите в <a href="https://discourse.mozilla.org/c/mdn">MDN discourse</a>.</p> + Пожалуйста, посмотрите описания инструментов разработчика, расположенные далее на этой странице. Если у вас возникнут замечания или вопросы об указанном наборе инструментов, то пришлите нам сообщение на нашу почту или IRC канал ( <a href="https://developer.mozilla.org/en-US/docs/Tools#Join_the_Developer_tools_community"> соответствующие ссылки находятся внизу страницы</a>). Если у вас возникнут замечания или вопросы, касающиеся документации, то напишите в <a href="https://discourse.mozilla.org/c/mdn">MDN discourse</a>.</p> <p>На заметку: если вы только начинаете веб разработку и использование инструментов разработчика, наши документы <a href="https://developer.mozilla.org/en-US/docs/Learn">по изучению веб разработки</a> помогут вам - для начала посмотрите <a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web">Getting started with the Web</a> (Начало работы в веб) и <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools">What are browser developer tools </a>(Инструменты разработки браузера).</p> @@ -37,7 +37,7 @@ translation_of: Tools </tr> <tr> <td><img alt="" src="https://mdn.mozillademos.org/files/16088/camera_button.png" style="max-width: 32px;"></td> - <td>Щелчок по данной кнопке создает снимок экрана (screenshot) текущей страницы. (<strong>Внимание:</strong> По-умолчанию данная функция отключена и, при необходимости, должна быть включена в настройках.)</td> + <td>Щелчок по данной кнопке создает снимок экрана (screenshot) текущей страницы. (<strong>Внимание:</strong> По умолчанию данная функция отключена и, при необходимости, должна быть включена в настройках.)</td> </tr> <tr> <td><img alt="" src="https://mdn.mozillademos.org/files/16089/responsive_button.png" style="max-width: 32px;"></td> @@ -116,7 +116,7 @@ translation_of: Tools <h2 id="Больше_инструментов">Больше инструментов</h2> -<p>Эти инструменты разработчика также встроены в Firefox. В отличие от «Core Tools» описанных выше, могут не использоватся в повседневной работе.</p> +<p>Эти инструменты разработчика также встроены в Firefox. В отличие от «Core Tools» описанных выше, могут не использоваться в повседневной работе.</p> <div class="twocolumns"> <dl> @@ -139,7 +139,7 @@ translation_of: Tools <dt><a href="/en-US/docs/Tools/Web_Audio_Editor">Редактор веб аудио </a></dt> <dd><span class="tlid-translation translation" lang="ru"><span title="">Изучите график аудиоузлов в аудиоконтексте и измените их параметры.</span></span></dd> <dt><a href="/en-US/docs/Tools/Screenshot_tool">Делать скриншоты</a></dt> - <dd>Следайте скриншот всей страницы, или одного ее элемента.</dd> + <dd>Сделайте скриншот всей страницы, или одного ее элемента.</dd> </dl> </div> diff --git a/files/ru/tools/keyboard_shortcuts/index.html b/files/ru/tools/keyboard_shortcuts/index.html index 17a9c25c04..8dec22d7c9 100644 --- a/files/ru/tools/keyboard_shortcuts/index.html +++ b/files/ru/tools/keyboard_shortcuts/index.html @@ -615,7 +615,7 @@ translation_of: Tools/Keyboard_shortcuts <td><kbd>Enter</kbd> or <kbd>Space</kbd></td> </tr> <tr> - <th scope="row">Открыть справочную сттаницу на MDN по текущему свойству (Только на вкладке "Вычислено", когда выбрано свойство. Новое в Firefox 49)</th> + <th scope="row">Открыть справочную страницу на MDN по текущему свойству (Только на вкладке "Вычислено", когда выбрано свойство. Новое в Firefox 49)</th> <td><kbd>F1</kbd></td> <td><kbd>F1</kbd></td> <td><kbd>F1</kbd></td> diff --git a/files/ru/tools/network_monitor/index.html b/files/ru/tools/network_monitor/index.html index 2acb63a582..eaeda23890 100644 --- a/files/ru/tools/network_monitor/index.html +++ b/files/ru/tools/network_monitor/index.html @@ -122,7 +122,7 @@ translation_of: Tools/Network_Monitor <h4 id="Миниатюры_изображений">Миниатюры изображений</h4> -<p>Если файл является изображением, то в строку будет включена его миниатюра, при наведении на которую появится посмотр изображения во всплывающей подсказке:</p> +<p>Если файл является изображением, то в строку будет включена его миниатюра, при наведении на которую появится просмотр изображения во всплывающей подсказке:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/13539/6-new-thumb-small.png" style="display: block; height: 241px; margin: 0px auto; width: 900px;"></p> @@ -148,7 +148,7 @@ translation_of: Tools/Network_Monitor </tr> <tr> <td><img alt="" src="https://mdn.mozillademos.org/files/11653/https-weak.svg" style="height: 16px; width: 16px;"></td> - <td>Слабый HTTPS (наример, использовался некриптостойкий шифр)</td> + <td>Слабый HTTPS (например, использовался некриптостойкий шифр)</td> </tr> <tr> <td><img alt="" src="https://mdn.mozillademos.org/files/11649/https-failed.svg" style="height: 16px; width: 16px;"></td> @@ -242,7 +242,7 @@ translation_of: Tools/Network_Monitor <p>Новое в Firefox 55</p> </div> -<p>Для фильтрации по конкретным свойствам запроса используйте поле поиска на <a href="/ru/docs/Tools/Network_Monitor#Toolbar">Панели инструментов</a>. Но это поле признаёт только определённые ключевые слова, которые используются для фильтрации по конкретным свойствам запроса. За ключевым словом следует двоеточие, а затем значение фильтра. Значение фильтра <em>регистро<strong>не</strong>зависимое</em>. Если написать знак "минус" (<code>-</code>), то это применит к фильтру отрицание. Также можно комбинировать несколько фильтров через пробел.</p> +<p>Для фильтрации по конкретным свойствам запроса используйте поле поиска на <a href="/ru/docs/Tools/Network_Monitor#Toolbar">Панели инструментов</a>. Но это поле признаёт только определённые ключевые слова, которые используются для фильтрации по конкретным свойствам запроса. За ключевым словом следует двоеточие, а затем значение фильтра. Значение фильтра <em>регистров<strong>не</strong>зависимое</em>. Если написать знак "минус" (<code>-</code>), то это применит к фильтру отрицание. Также можно комбинировать несколько фильтров через пробел.</p> <table class="standard-table"> <thead> @@ -268,7 +268,7 @@ translation_of: Tools/Network_Monitor </tr> <tr> <td><code>remote-ip</code></td> - <td>Показать ресурсы, пришедшие с сервера с указанным IP-адреcом.</td> + <td>Показать ресурсы, пришедшие с сервера с указанным IP-адресом.</td> <td><code>remote-ip:63.245.215.53</code><br> <code>remote-ip:[2400:cb00:2048:1::6810:2802]</code></td> </tr> @@ -561,7 +561,7 @@ translation_of: Tools/Network_Monitor <p>В Firefox 58 и далее, Сетевой монитор имеет кнопку, которая приостанавливает и возобновляет запись трафика текущей страницы. Это полезно, когда, например, вы хотите получить установившийся вид страницы для отладки, но вид страницы пока ещё меняется, потому что она ещё грузится или выполняются запросы. Кнопка "Пауза" позволяет увидеть текущий снимок состояния (snapshot).</p> -<p>Эта кнопка находится скраю слева на главной панели Сетевого монитора, и выгдялит как обычная кнопка "Пауза" — <img alt="" src="https://mdn.mozillademos.org/files/15625/pause-icon.png" style="height: 23px; width: 34px;">.</p> +<p>Эта кнопка находится с краю слева на главной панели Сетевого монитора, и выглядит как обычная кнопка "Пауза" — <img alt="" src="https://mdn.mozillademos.org/files/15625/pause-icon.png" style="height: 23px; width: 34px;">.</p> <p>Вот её вид:</p> diff --git a/files/ru/tools/page_inspector/how_to/edit_css_shapes/index.html b/files/ru/tools/page_inspector/how_to/edit_css_shapes/index.html index fb3888275d..5e0e030b97 100644 --- a/files/ru/tools/page_inspector/how_to/edit_css_shapes/index.html +++ b/files/ru/tools/page_inspector/how_to/edit_css_shapes/index.html @@ -38,7 +38,7 @@ translation_of: Tools/Page_Inspector/How_to/Edit_CSS_shapes <h2 id="Редактирование_основных_фигур"><span class="short_text" id="result_box" lang="ru"><span>Редактирование основных фигур</span></span></h2> -<p><span id="result_box" lang="ru"><span>Параметры, предоставленные вам инструментом, будут различаться в зависимости от типа базовой формы, которую вы редактируете.</span></span> <span id="result_box" lang="ru"><span>Доступ к параметрам можно получить, активировав </span></span>Shape Path Editor<span lang="ru"><span> с помощью обычного щелчка по иконке, и вы можете использовать контекстное меню</span></span> (<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + щелчёк) <span id="result_box" lang="ru"><span>для доступа к дополнительным функциям.</span></span></p> +<p><span id="result_box" lang="ru"><span>Параметры, предоставленные вам инструментом, будут различаться в зависимости от типа базовой формы, которую вы редактируете.</span></span> <span id="result_box" lang="ru"><span>Доступ к параметрам можно получить, активировав </span></span>Shape Path Editor<span lang="ru"><span> с помощью обычного щелчка по иконке, и вы можете использовать контекстное меню</span></span> (<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + щелчок) <span id="result_box" lang="ru"><span>для доступа к дополнительным функциям.</span></span></p> <h3 id="circle()">circle()</h3> @@ -58,7 +58,7 @@ translation_of: Tools/Page_Inspector/How_to/Edit_CSS_shapes <p><span id="result_box" lang="ru"><span>Если значение</span></span> <code>shape-outside</code> равно <code>inset()</code><span id="result_box" lang="ru"><span>, значит вы используете</span></span> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Shapes/Basic_Shapes#inset()">inset basic shape</a>, <span id="result_box" lang="ru"><span>которая позволяет создавать значения смещения, вытягивая содержимое из </span></span>margin box.</p> -<p><span id="result_box" lang="ru"><span>Каждая сторона прямоугольника может быть нацелена после нажатия на значок формы, чтобы активировать </span></span> Shape Path Editor<span lang="ru"><span>, и перетаскивание каждой стороны будет обновлять значения для </span></span> top, right, bottom, и left <span lang="ru"><span> смещяя значения.</span></span></p> +<p><span id="result_box" lang="ru"><span>Каждая сторона прямоугольника может быть нацелена после нажатия на значок формы, чтобы активировать </span></span> Shape Path Editor<span lang="ru"><span>, и перетаскивание каждой стороны будет обновлять значения для </span></span> top, right, bottom, и left <span lang="ru"><span> смещая значения.</span></span></p> <p><img alt="" src="https://mdn.mozillademos.org/files/15923/inset.png" style="height: 606px; width: 1214px;"></p> @@ -76,7 +76,7 @@ translation_of: Tools/Page_Inspector/How_to/Edit_CSS_shapes <h3 id="Перемещение_и_масштабирование_фигур"><span class="short_text" id="result_box" lang="ru"><span>Перемещение и масштабирование фигур</span></span></h3> -<p><span id="result_box" lang="ru"><span>Есть дополнительные функциональные возможности, доступные на выделенной фигуре - если вы нажмете</span></span> <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <span id="result_box" lang="ru"><span>щелчек на значок фигуры для своей фигуры, подсветка изменится, вместо этого будет возможность масштабировать и / или перемещать ее.</span></span> <span id="result_box" lang="ru"><span>Еще раз, произойдет отсечение, если вы превысите границы</span></span> margin box.</p> +<p><span id="result_box" lang="ru"><span>Есть дополнительные функциональные возможности, доступные на выделенной фигуре - если вы нажмете</span></span> <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <span id="result_box" lang="ru"><span>щелчок на значок фигуры для своей фигуры, подсветка изменится, вместо этого будет возможность масштабировать и / или перемещать ее.</span></span> <span id="result_box" lang="ru"><span>Еще раз, произойдет отсечение, если вы превысите границы</span></span> margin box.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/15924/scaled-circle.png"></p> diff --git a/files/ru/tools/page_inspector/how_to/examine_and_edit_html/index.html b/files/ru/tools/page_inspector/how_to/examine_and_edit_html/index.html index b501796528..2d87354714 100644 --- a/files/ru/tools/page_inspector/how_to/examine_and_edit_html/index.html +++ b/files/ru/tools/page_inspector/how_to/examine_and_edit_html/index.html @@ -23,7 +23,7 @@ translation_of: Tools/Page_Inspector/How_to/Examine_and_edit_HTML <h3 id="Поле_поиска">Поле поиска</h3> -<p>Щёлкните в поле поиска, чтобы его раскрыть, потом введите, что вы ищете. Вы увидете подсказку с результатами поиска.</p> +<p>Щёлкните в поле поиска, чтобы его раскрыть, потом введите, что вы ищете. Вы увидите подсказку с результатами поиска.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/10811/inspector-search-annotated.png" style="display: block; height: 278px; margin-left: auto; margin-right: auto; width: 736px;">Нажмите «Enter». Будет выбран первый элемент этого типа на странице, а повторное нажатие «Enter» найдёт следующий.</p> diff --git a/files/ru/tools/page_inspector/how_to/examine_and_edit_the_box_model/index.html b/files/ru/tools/page_inspector/how_to/examine_and_edit_the_box_model/index.html index e19459895d..33a4a41b85 100644 --- a/files/ru/tools/page_inspector/how_to/examine_and_edit_the_box_model/index.html +++ b/files/ru/tools/page_inspector/how_to/examine_and_edit_the_box_model/index.html @@ -1,5 +1,5 @@ --- -title: Просмотр и редакторование блоковой модели +title: Просмотр и редактирование блоковой модели slug: Tools/Page_Inspector/How_to/Examine_and_edit_the_box_model tags: - Guide @@ -29,7 +29,7 @@ translation_of: Tools/Page_Inspector/How_to/Examine_and_edit_the_box_model <p><img alt="" src="https://mdn.mozillademos.org/files/10875/box-model-view.png" style="display: block; height: 330px; margin-left: auto; margin-right: auto; width: 515px;"></p> -<p>С 40й версии Firefox если навести на значение можно увидить подсказку из какого правила оно приходит:</p> +<p>С 40й версии Firefox если навести на значение можно увидеть подсказку из какого правила оно приходит:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/10877/box-model-view-tooltip.png" style="display: block; height: 322px; margin-left: auto; margin-right: auto; width: 630px;"></p> diff --git a/files/ru/tools/page_inspector/how_to/examine_event_listeners/index.html b/files/ru/tools/page_inspector/how_to/examine_event_listeners/index.html index 02599668dd..089956c916 100644 --- a/files/ru/tools/page_inspector/how_to/examine_event_listeners/index.html +++ b/files/ru/tools/page_inspector/how_to/examine_event_listeners/index.html @@ -8,7 +8,7 @@ tags: translation_of: Tools/Page_Inspector/How_to/Examine_event_listeners original_slug: Tools/Page_Inspector/How_to/Исследовать_event_listeners --- -<div>{{ToolsSidebar}}</div><p>Начиная с Firefox 33 вы увидите значок «ev» в области HTML, напротив элементов, у которых есть связаные с ними Event Listeners:</p> +<div>{{ToolsSidebar}}</div><p>Начиная с Firefox 33 вы увидите значок «ev» в области HTML, напротив элементов, у которых есть связанные с ними Event Listeners:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/9955/ev-icon.png" style="display: block; margin-left: auto; margin-right: auto; width: 571px;"></p> @@ -18,7 +18,7 @@ original_slug: Tools/Page_Inspector/How_to/Исследовать_event_listener <li>кнопка паузы: щелкните на нее, чтобы перейти к "event Listener" в <a href="https://developer.mozilla.org/en-US/docs/Tools/Debugger">Отладчик</a>, где вы сможете установить контрольную точку в нем</li> <li>название события</li> <li>название и номер строки обработчика: нажмите, чтобы увидеть функцию обработчика во всплывающем окне</li> - <li>метка, указывающая, является ли событие высплывающим</li> + <li>метка, указывающая, является ли событие всплывающим</li> <li>метка, указывающая систему, которая определяет событие. Firefox может отображать: <ul> <li>стандартные DOM события</li> diff --git a/files/ru/tools/page_inspector/how_to/inspect_and_select_colors/index.html b/files/ru/tools/page_inspector/how_to/inspect_and_select_colors/index.html index 50416df3b8..3b94b74f0f 100644 --- a/files/ru/tools/page_inspector/how_to/inspect_and_select_colors/index.html +++ b/files/ru/tools/page_inspector/how_to/inspect_and_select_colors/index.html @@ -19,7 +19,7 @@ translation_of: Tools/Page_Inspector/How_to/Inspect_and_select_colors <p>{{EmbedYouTube("0Zx1TN21QOo", "16:9")}}</p> -<p>Начиная с Firefox 40, для изменения формата отображения цвета надо, удерживая кнопку Shift, щёлчкнуть на образце цвета кнопкой мыши.</p> +<p>Начиная с Firefox 40, для изменения формата отображения цвета надо, удерживая кнопку Shift, щелкнуть на образце цвета кнопкой мыши.</p> <p>{{EmbedYouTube("gYL8-gxc1MA")}}</p> diff --git a/files/ru/tools/page_inspector/how_to/work_with_animations/index.html b/files/ru/tools/page_inspector/how_to/work_with_animations/index.html index 3513e300d1..d5c3c50b6b 100644 --- a/files/ru/tools/page_inspector/how_to/work_with_animations/index.html +++ b/files/ru/tools/page_inspector/how_to/work_with_animations/index.html @@ -40,7 +40,7 @@ translation_of: Tools/Page_Inspector/How_to/Work_with_animations <p> Этот вид <span id="result_box" lang="ru"><span>отображает как</span> <span>CSS</span> <span>переходы и</span> <span>CSS</span> <span>анимации</span> <span>синхронизированы</span> <span>по</span> <span>шкале времени</span><span>,</span> <span>перетаскивая</span> <span>виджет вы</span> <span>можете использовать для</span> <span>перемещения любую точку</span> <span>на временной шкале</span> <span>и увидеть</span> <span>страницу</span> <span>в этой точке.</span></span></p> -<p><span id="result_box" lang="ru"><span>Чтобы увидеть, как</span> <span>это работает,</span> <span>мы</span> <span>разберем пример</span><span>.</span> <span>Раздел данный ниже</span> <span>содержит три</span> серые <span>иконоки</span><span>,</span> <span>каждая из которых представляет</span> <span>разные</span></span> <a href="https://www.mozilla.org/en-US/firefox/channel/">Firefox channel</a>. <span id="result_box" lang="ru"><span>Если щелкнуть</span> <span>значок</span><span>, он</span> <span>увеличивается</span> <span>измененяя</span> <span>цвет</span><span>,</span> <span>и</span> <span>на экране отображается название</span> <span>канала</span><span>.</span> <span>Нажмите на</span> <span>значок еще раз</span><span>, чтобы изменить</span> <span>эффект</span><span>.</span> <span>Эти анимации</span> <span>сделаны</span> <span>путем применения</span> <span>переходов</span> <span>к нескольким</span> <span>свойствам</span> <span>CSS</span><span>.</span></span></p> +<p><span id="result_box" lang="ru"><span>Чтобы увидеть, как</span> <span>это работает,</span> <span>мы</span> <span>разберем пример</span><span>.</span> <span>Раздел данный ниже</span> <span>содержит три</span> серые <span>иконки</span><span>,</span> <span>каждая из которых представляет</span> <span>разные</span></span> <a href="https://www.mozilla.org/en-US/firefox/channel/">Firefox channel</a>. <span id="result_box" lang="ru"><span>Если щелкнуть</span> <span>значок</span><span>, он</span> <span>увеличивается</span> <span>изменения</span> <span>цвет</span><span>,</span> <span>и</span> <span>на экране отображается название</span> <span>канала</span><span>.</span> <span>Нажмите на</span> <span>значок еще раз</span><span>, чтобы изменить</span> <span>эффект</span><span>.</span> <span>Эти анимации</span> <span>сделаны</span> <span>путем применения</span> <span>переходов</span> <span>к нескольким</span> <span>свойствам</span> <span>CSS</span><span>.</span></span></p> <p>{{ EmbedLiveSample('firefox-logo-animation', 500, 250, "", "Tools/Page_Inspector/How_to/Work_with_animations/Animations_examples") }}</p> diff --git a/files/ru/tools/performance/waterfall/index.html b/files/ru/tools/performance/waterfall/index.html index 7b785197a7..d5f821478a 100644 --- a/files/ru/tools/performance/waterfall/index.html +++ b/files/ru/tools/performance/waterfall/index.html @@ -5,16 +5,16 @@ translation_of: Tools/Performance/Waterfall original_slug: Tools/Производительность/Waterfall --- <div>{{ToolsSidebar}}</div><div class="summary"> -<p>Водопад (Waterfall) дает вам представление о различных процессах, которые происходят внутри браузера, когда вы открывайте ваш сайт или запускаете ваше приложение. Он основан на идее разделения всех происходящих внутри браузера процессов на различные типы - запуск JavaScript, обновление layout и так далее - и что в любой момент времени браузрер выполняет один из этих процессов.</p> +<p>Водопад (Waterfall) дает вам представление о различных процессах, которые происходят внутри браузера, когда вы открывайте ваш сайт или запускаете ваше приложение. Он основан на идее разделения всех происходящих внутри браузера процессов на различные типы - запуск JavaScript, обновление layout и так далее - и что в любой момент времени браузер выполняет один из этих процессов.</p> <p>Поэтому если вы увидите признаки проблем с производительностью - например, падения частоты кадров - вы можете запустить Waterfall, чтобы увидеть, что делает браузер в этот момент.</p> </div> <p><img alt="" src="https://mdn.mozillademos.org/files/10951/perf-waterfall.png" style="display: block; height: 568px; margin-left: auto; margin-right: auto; width: 972px;"></p> -<p>Ось X это ось времени. Записанные операции и вызванные маркеры отображаются в виде горизонтальных прямоуголников, расположенных в виде водопада, чтобы подчеркнуть последовательность выполнения внутри браузера.</p> +<p>Ось X это ось времени. Записанные операции и вызванные маркеры отображаются в виде горизонтальных прямоугольников, расположенных в виде водопада, чтобы подчеркнуть последовательность выполнения внутри браузера.</p> -<p>При выборе маркера вы увидите подробную информацию о нем на панели справа. В этой панели вы сможете узнать продолжительность и другую специфичную для <a href="/en-US/docs/Tools/Performance/Waterfall#Markers">конктреного типа</a> процесса инофрмацию .</p> +<p>При выборе маркера вы увидите подробную информацию о нем на панели справа. В этой панели вы сможете узнать продолжительность и другую специфичную для <a href="/en-US/docs/Tools/Performance/Waterfall#Markers">конкретного типа</a> процесса информацию .</p> <h2 id="Markers"><a id="timeline-color-coding" name="timeline-color-coding"></a>Markers</h2> diff --git a/files/ru/tools/remote_debugging/debugging_firefox_desktop/index.html b/files/ru/tools/remote_debugging/debugging_firefox_desktop/index.html index 89fc9d3890..1378c5d263 100644 --- a/files/ru/tools/remote_debugging/debugging_firefox_desktop/index.html +++ b/files/ru/tools/remote_debugging/debugging_firefox_desktop/index.html @@ -67,7 +67,7 @@ translation_of: Tools/Remote_Debugging/Debugging_Firefox_Desktop <ul> <li>Под "Available remote tabs" (Доступные удалённые вкладки) находится список всех вкладок <em>отлаживаемого</em>. Кликните в одну для соединения Инструментов разработчика Firefox c ней.</li> - <li>Под "Available remote add-ons" (Доступные удалёныне дополнения) находится список всех дополнений на <em>отлаживаемом</em>. Кликните в один для соединения Инструментов разработчика Firefox.</li> + <li>Под "Available remote add-ons" (Доступные удаленные дополнения) находится список всех дополнений на <em>отлаживаемом</em>. Кликните в один для соединения Инструментов разработчика Firefox.</li> <li>Под "Available remote processes" (Доступные удалённые процессы) - список процессов, запущенных в Firefox. Кликните "Main process" (Главный процесс) для соединения Инструментов разработчика с самим браузером.</li> </ul> diff --git a/files/ru/tools/remote_debugging/index.html b/files/ru/tools/remote_debugging/index.html index 85483004df..1f99c5e8df 100644 --- a/files/ru/tools/remote_debugging/index.html +++ b/files/ru/tools/remote_debugging/index.html @@ -14,7 +14,7 @@ translation_of: Tools/Remote_Debugging <h2 id="Среды_выполнения_основанные_на_Gecko">Среды выполнения, основанные на <a href="/ru/docs/Glossary/Gecko">Gecko</a></h2> -<p>В первую очередь можете подключить Инструмены разработчика к Gecko-программам, таких как Firefox Desktop, Firefox для Android, Firefox OS или Thunderbird.</p> +<p>В первую очередь можете подключить Инструменты разработчика к Gecko-программам, таких как Firefox Desktop, Firefox для Android, Firefox OS или Thunderbird.</p> <ul> <li><a href="/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_Desktop">Firefox Desktop</a></li> diff --git a/files/ru/tools/responsive_design_mode/index.html b/files/ru/tools/responsive_design_mode/index.html index 417421f884..8ca0c64155 100644 --- a/files/ru/tools/responsive_design_mode/index.html +++ b/files/ru/tools/responsive_design_mode/index.html @@ -52,7 +52,7 @@ original_slug: Tools/Responsive_Design_View <ul> <li>используя <a href="#select-size">элемент управления «Выбрать размер»</a>;</li> - <li>щёлкнуть и перескивать элементы управления на правой и/или нижней стороне области, или в правом нижнем углу.</li> + <li>щёлкнуть и переставить элементы управления на правой и/или нижней стороне области, или в правом нижнем углу.</li> </ul> <p>При использовании перетаскивания можно удерживать клавишу Control (command на Max OS X), чтобы изменение шло медленнее. Это помогает установить размер точнее.</p> diff --git a/files/ru/tools/shader_editor/index.html b/files/ru/tools/shader_editor/index.html index 7eda1afe34..565d6c6b55 100644 --- a/files/ru/tools/shader_editor/index.html +++ b/files/ru/tools/shader_editor/index.html @@ -7,7 +7,7 @@ translation_of: Tools/Shader_Editor <p>{{EmbedYouTube("hnoKqFuJhu0")}}</p> -<p>WebGL - это программный интерфейс языка JavaScript, который позволяет отрисовывать интерактивную 3D- и 2D-графику в браузере без использования дополнительных плагинов. Для работы WebGL необходимо создать 2 программы, называемые "шейдерами", которые выполняются на определённой стадии работы <a href="https://www.opengl.org/wiki/Rendering_Pipeline_Overview">графического конвейера OpenGL</a>. Первым выполняеся <a href="https://www.opengl.org/wiki/Vertex_Shader">вершинный шейдер</a>, сообщающий координаты каждой геометрической вершины, которую следует отрисовать. После этого выполняется <a href="https://www.opengl.org/wiki/Fragment_Shader">фрагментный шейдер</a>, сообщающий цвет каждого отдельного пикселя, поступающего в отрисовку.</p> +<p>WebGL - это программный интерфейс языка JavaScript, который позволяет отрисовывать интерактивную 3D- и 2D-графику в браузере без использования дополнительных плагинов. Для работы WebGL необходимо создать 2 программы, называемые "шейдерами", которые выполняются на определённой стадии работы <a href="https://www.opengl.org/wiki/Rendering_Pipeline_Overview">графического конвейера OpenGL</a>. Первым выполняется <a href="https://www.opengl.org/wiki/Vertex_Shader">вершинный шейдер</a>, сообщающий координаты каждой геометрической вершины, которую следует отрисовать. После этого выполняется <a href="https://www.opengl.org/wiki/Fragment_Shader">фрагментный шейдер</a>, сообщающий цвет каждого отдельного пикселя, поступающего в отрисовку.</p> <p>Для создания шейдеров применяется Шейдерный Язык OpenGL или же <a href="https://www.opengl.org/documentation/glsl/">GLSL</a>. Можно по-разному внедрять шейдеры на страницу для работы с WebGL: например, их можно "прохардкодить" в JavaScript-исходниках, или подключить в виде отдельных файлов, используя тег <script>, или же подгрузить с сервера в виде простого текста. Исполняемый JavaScript-код отправляет шейдерную программу через программный интерфейс в WebGL, где она компилируется и выполняется с помощью графического ускорителя.</p> diff --git a/files/ru/tools/style_editor/index.html b/files/ru/tools/style_editor/index.html index 04da9c17d8..c9e1d55fa0 100644 --- a/files/ru/tools/style_editor/index.html +++ b/files/ru/tools/style_editor/index.html @@ -41,13 +41,13 @@ translation_of: Tools/Style_Editor <h2 id="Панель_таблицы_стилей">Панель таблицы стилей</h2> -<p>Панель стилей слева, перечисляет все таблицы стилей в текущем документе. Вы можете быстро включать и выключать стили листа нажав на против него значок глаза. <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>, нажав</span> <span class="hps">кнопку Сохранить</span> <span class="hps">в</span> <span class="hps">правом нижнем</span> <span class="hps">углу</span> возли <span class="alt-edited hps">каждого листа</span> <span class="hps">в</span> <span class="hps">списке.</span></span></p> +<p>Панель стилей слева, перечисляет все таблицы стилей в текущем документе. Вы можете быстро включать и выключать стили листа нажав на против него значок глаза. <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>, нажав</span> <span class="hps">кнопку Сохранить</span> <span class="hps">в</span> <span class="hps">правом нижнем</span> <span class="hps">углу</span> возле <span class="alt-edited hps">каждого листа</span> <span class="hps">в</span> <span class="hps">списке.</span></span></p> <h2 id="Панель_редактора"><span class="short_text" id="result_box" lang="ru"><span>Панель редактора</span></span></h2> -<p><span id="result_box" lang="ru"><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><span id="result_box" lang="ru"><span class="hps">Любые</span> <span class="hps">изменения, которые вы</span> <span class="hps">делаете,</span> <span class="hps">немедленно применяются к</span> <span class="hps">странице</span></span>. <span id="result_box" lang="ru"><span class="hps">Это позволяет легко </span><span class="hps">экспериментировать</span><span>, просматривать</span><span>, а также изменять</span> <span class="alt-edited hps">тестировать</span><span>.</span></span> <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>, нажав</span> <span class="hps">кнопку</span> <span class="hps">Сохранить</span> <span class="hps">в нижнем правом углу</span> <span class="hps">листа</span> <span class="hps">в</span> <span id="result_box" lang="ru"><span class="hps">панели</span></span> <span class="hps">таблица стилей</span><span class="hps">.</span></span></p> +<p><span id="result_box" lang="ru"><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><span id="result_box" lang="ru"><span class="hps">Любые</span> <span class="hps">изменения, которые вы</span> <span class="hps">делаете,</span> <span class="hps">немедленно применяются к</span> <span class="hps">странице</span></span>. <span id="result_box" lang="ru"><span class="hps">Это позволяет легко </span><span class="hps">экспериментировать</span><span>, просматривать</span><span>, а также изменять</span> <span class="alt-edited hps">тестировать</span><span>.</span></span> <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>, нажав</span> <span class="hps">кнопку</span> <span class="hps">Сохранить</span> <span class="hps">в нижнем правом углу</span> <span class="hps">листа</span> <span class="hps">в</span> <span id="result_box" lang="ru"><span class="hps">панели</span></span> <span class="hps">таблица стилей</span><span class="hps">.</span></span></p> -<p><span id="result_box" lang="ru"><span>Редактор</span> <span class="hps">предоставляет номера</span> <span class="hps">строк</span> <span class="hps">и подсветку синтаксиса</span><span>, что облечает</span> <span class="hps">читать вам</span> <span class="hps">CSS.</span> <span class="hps">Он также поддерживает</span> номер <span class="hps">ряда</span> </span><a href="https://developer.mozilla.org/en-US/docs/Tools/Style_Editor#Source_editor_shortcuts">keyboard shortcuts</a>.</p> +<p><span id="result_box" lang="ru"><span>Редактор</span> <span class="hps">предоставляет номера</span> <span class="hps">строк</span> <span class="hps">и подсветку синтаксиса</span><span>, что обличает</span> <span class="hps">читать вам</span> <span class="hps">CSS.</span> <span class="hps">Он также поддерживает</span> номер <span class="hps">ряда</span> </span><a href="https://developer.mozilla.org/en-US/docs/Tools/Style_Editor#Source_editor_shortcuts">keyboard shortcuts</a>.</p> <p><span id="result_box" lang="ru"><span>Редактор Стилей</span> <span class="hps">автоматически</span> <span class="hps">де</span><span class="atn">-</span><span>минимизирует</span> <span class="hps">таблицы стилей</span><span>, которые он обнаруживает</span><span>, не влияя на</span> <span class="hps">оригинал.</span> <span class="hps">Что делает его гораздо</span> <span class="hps">легче для работаты</span> <span class="hps">на страницах, которые</span> <span class="hps">были оптимизированы.</span></span></p> @@ -57,7 +57,7 @@ translation_of: Tools/Style_Editor <h2 id="Боковая_панель_media">Боковая панель @media</h2> -<p><span id="result_box" lang="ru"><span class="hps">С</span> <span class="hps">Firefox</span> <span class="hps">33</span> <span class="hps">и далее,</span> <span class="hps">Редактор</span> <span class="hps">Стилей</span> <span class="hps">отображает</span> <span class="alt-edited hps">боковую панель</span> <span class="hps">на</span> <span class="hps">правой</span> <span class="hps">стороне</span><span>, где</span> <span class="hps">текущий лист</span> <span class="hps">содержит какие-либо</span></span> <a href="/en-US/docs/Web/Guide/CSS/Media_queries"><code>@media</code> правлила</a>. <span id="result_box" lang="ru"><span class="alt-edited">Боковая панель</span> <span class="hps">содержит список</span> <span class="hps">правил</span> <span class="hps">и</span> <span class="hps">ссылку на</span> <span class="alt-edited 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 class="hps">в листе</span><span>.</span></span>Состояние текста остаётся серым, если запрос медиа в настоящее время не применяется.</p> +<p><span id="result_box" lang="ru"><span class="hps">С</span> <span class="hps">Firefox</span> <span class="hps">33</span> <span class="hps">и далее,</span> <span class="hps">Редактор</span> <span class="hps">Стилей</span> <span class="hps">отображает</span> <span class="alt-edited hps">боковую панель</span> <span class="hps">на</span> <span class="hps">правой</span> <span class="hps">стороне</span><span>, где</span> <span class="hps">текущий лист</span> <span class="hps">содержит какие-либо</span></span> <a href="/en-US/docs/Web/Guide/CSS/Media_queries"><code>@media</code> правила</a>. <span id="result_box" lang="ru"><span class="alt-edited">Боковая панель</span> <span class="hps">содержит список</span> <span class="hps">правил</span> <span class="hps">и</span> <span class="hps">ссылку на</span> <span class="alt-edited 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 class="hps">в листе</span><span>.</span></span>Состояние текста остаётся серым, если запрос медиа в настоящее время не применяется.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/8365/style-editor-media-sidebar-detail.png" style="display: block; margin-left: auto; margin-right: auto;">Б<span id="result_box" lang="ru"><span class="alt-edited hps">оковая панель<code> медиа </code></span><span class="hps">особенно хорошо работает</span> <span class="hps">с </span></span><a href="https://developer.mozilla.org/en-US/docs/Tools/Responsive_Design_View">Responsive Design View</a> <span lang="ru"> <span class="hps">для создания и</span> <span class="hps">отладки</span> <span class="hps">мобильных</span> <span class="alt-edited hps">макетов</span></span>:</p> diff --git a/files/ru/tools/tools_toolbox/index.html b/files/ru/tools/tools_toolbox/index.html index 6e7b6c8175..731de81e98 100644 --- a/files/ru/tools/tools_toolbox/index.html +++ b/files/ru/tools/tools_toolbox/index.html @@ -63,7 +63,7 @@ translation_of: Tools/Tools_Toolbox <li><a href="https://developer.mozilla.org/ru/docs/Tools/Scratchpad">Простой редактор JavaScript</a></li> <li><a href="https://developer.mozilla.org/ru/docs/Tools/Eyedropper">Захватить цвет со страницы</a></li> <li>Сделать скриншот всей страницы: этот появился в Firefox 32. Он делает скриншот целой веб-страницы и сохраняет его в каталоге Загрузки.</li> - <li><a href="https://developer.mozilla.org/ru/docs/tools/Working_with_iframes">SВыберите iframe в качестве текущего целевого документа</a>: появился в Firefox 34.</li> + <li><a href="https://developer.mozilla.org/ru/docs/tools/Working_with_iframes">Выберите iframe в качестве текущего целевого документа</a>: появился в Firefox 34.</li> </ul> <h3 id="Toolbox_controls">Toolbox controls</h3> diff --git a/files/ru/tools/web_audio_editor/index.html b/files/ru/tools/web_audio_editor/index.html index 2638a12414..6cf2f84b47 100644 --- a/files/ru/tools/web_audio_editor/index.html +++ b/files/ru/tools/web_audio_editor/index.html @@ -17,7 +17,7 @@ translation_of: Tools/Web_Audio_Editor <li><span id="result_box" lang="ru"><span>Узлы, представляющие <a href="/en-US/docs/Web/API/Web_Audio_API#Defining_audio_destinations">назначение аудиопотока</a>,</span></span> <span id="result_box" lang="ru"><span>такие как динамики</span></span></li> </ul> -<p><span id="result_box" lang="ru"><span>Каждый узел имеет ноль или более свойств</span></span> {{domxref ("AudioParam")}} <span id="result_box" lang="ru"><span>которые настраивают его работу.</span> <span>Например </span></span>{{domxref ("GainNode")}} <span id="result_box" lang="ru"><span> имеет одно свойство усиления, в то время как</span></span> {{domxref ("OscillatorNode")}} <span id="result_box" lang="ru"><span>имеет частоту и свойства насстройки.</span></span></p> +<p><span id="result_box" lang="ru"><span>Каждый узел имеет ноль или более свойств</span></span> {{domxref ("AudioParam")}} <span id="result_box" lang="ru"><span>которые настраивают его работу.</span> <span>Например </span></span>{{domxref ("GainNode")}} <span id="result_box" lang="ru"><span> имеет одно свойство усиления, в то время как</span></span> {{domxref ("OscillatorNode")}} <span id="result_box" lang="ru"><span>имеет частоту и свойства настройки.</span></span></p> <p><span id="result_box" lang="ru"><span>Разработчик соединяет узлы в виде графика, а полный граф определяет поведение аудиопотока.</span></span></p> diff --git a/files/ru/tools/web_console/index.html b/files/ru/tools/web_console/index.html index 929a5e346e..2d7cd84979 100644 --- a/files/ru/tools/web_console/index.html +++ b/files/ru/tools/web_console/index.html @@ -68,7 +68,7 @@ translation_of: Tools/Web_Console <tbody> <tr> <td><strong>Время (Time)</strong></td> - <td>Время когда сообщение было записано. Начиная с Firefox 28 и новее, по умолчанию время сообщения не выводится. Но при необходимости можно изменить это поведение активировав вывод времени в <a href="/ru/docs/Tools_Toolbox#Settings">настроках Инструментов</a>.</td> + <td>Время когда сообщение было записано. Начиная с Firefox 28 и новее, по умолчанию время сообщения не выводится. Но при необходимости можно изменить это поведение активировав вывод времени в <a href="/ru/docs/Tools_Toolbox#Settings">настройках Инструментов</a>.</td> </tr> <tr> <td><strong>Категория (Category)</strong></td> @@ -80,7 +80,7 @@ translation_of: Tools/Web_Console <li><span style="color: #0099ff;"><strong>голубой</strong></span>: CSS: предупреждения/ошибки/лог</li> <li><strong><span style="color: #ff8c00;">оранжевый</span></strong>: JavaScript: предупреждения/ошибки</li> <li><span style="color: #ff0000;"><strong>красный</strong></span>: безопасность: предупреждения/ошибки</li> - <li><span style="color: #a9a9a9;"><strong>светло-серый</strong></span>: сообщения которые выводятся в консоль с помощью <a href="/ru/docs/Web/API/console" title="/ru/docs/Web/API/console">консольного API </a>cс использование кода JavaScript</li> + <li><span style="color: #a9a9a9;"><strong>светло-серый</strong></span>: сообщения которые выводятся в консоль с помощью <a href="/ru/docs/Web/API/console" title="/ru/docs/Web/API/console">консольного API </a>c использованием кода JavaScript</li> <li><span style="color: #696969;"><strong>Dark Gray</strong></span>: input/output из интерфейса <a href="/ru/docs/Tools/Web_Console#The_command_line_interpreter">интерпретатора командной строки</a></li> </ul> </td> @@ -98,7 +98,7 @@ translation_of: Tools/Web_Console <td>Если строка которая генерирует предупреждение или ошибку выполняется больше одного раза, то на поле сообщений она попадет только один раз, но рядом появится счётчик который укажет сколько раз это сообщение было выведено в поле сообщений.</td> </tr> <tr> - <td><strong>Имя файля и номер строки<br> + <td><strong>Имя файла и номер строки<br> (Filename:Line number)</strong></td> <td> <p>Для сообщений JavaScript, CSS, и консольного API, можно отследить строку с кодом которая стала причиной этого сообщения. Консоль также покажет ссылку на файл и номер строки ставшей причиной сообщения..</p> @@ -178,7 +178,7 @@ translation_of: Tools/Web_Console <h4 id="Отправка-события">Отправка-события</h4> -<p><span id="result_box" lang="ru"><span>Веб-консоль</span> <span>также регистрирует</span> <span>события</span> </span> <span id="result_box" lang="ru"><span>переформатированые</span></span> <span lang="ru"><span> в</span> <span>CSS категорию</span><span>.</span> </span> <span id="result_box" lang="ru"><span>Переформатирование</span></span> <span lang="ru"> <span>это</span> <span>название</span> <span>операции,</span><span> которой браузер</span> <span>вычисляет</span> <span>расположение</span> <span>части или всей страницы</span><span>.</span> </span> <span id="result_box" lang="ru"><span>Переформатирования</span></span><span lang="ru"> <span>происходят, когда</span> <span>изменение</span> <span>произошли</span> <span>на странице, чтобы</span> <span>браузер</span> <span>считал, что</span> <span>влияет на</span> <span>расположение</span><span>.</span></span> <span lang="ru"><span>.</span> <span>Многие</span> <span>события могут вызвать</span> </span><span id="result_box" lang="ru"><span>переформатирование</span></span><span lang="ru"><span>, в том числе</span><span>:</span> <span>изменение размера окна браузера</span><span>, активируя</span> <span>как</span> </span> <span class="short_text" id="result_box" lang="ru"><span>псевдо-классы</span></span> <a href="/ru/docs/Web/CSS/:hover">:hover</a>, <span class="short_text" id="result_box" lang="ru"><span>или</span> <span>манипулирование</span></span> DOM в JavaScript.</p> +<p><span id="result_box" lang="ru"><span>Веб-консоль</span> <span>также регистрирует</span> <span>события</span> </span> <span id="result_box" lang="ru"><span>переформатированные</span></span> <span lang="ru"><span> в</span> <span>CSS категорию</span><span>.</span> </span> <span id="result_box" lang="ru"><span>Переформатирование</span></span> <span lang="ru"> <span>это</span> <span>название</span> <span>операции,</span><span> которой браузер</span> <span>вычисляет</span> <span>расположение</span> <span>части или всей страницы</span><span>.</span> </span> <span id="result_box" lang="ru"><span>Переформатирования</span></span><span lang="ru"> <span>происходят, когда</span> <span>изменение</span> <span>произошли</span> <span>на странице, чтобы</span> <span>браузер</span> <span>считал, что</span> <span>влияет на</span> <span>расположение</span><span>.</span></span> <span lang="ru"><span>.</span> <span>Многие</span> <span>события могут вызвать</span> </span><span id="result_box" lang="ru"><span>переформатирование</span></span><span lang="ru"><span>, в том числе</span><span>:</span> <span>изменение размера окна браузера</span><span>, активируя</span> <span>как</span> </span> <span class="short_text" id="result_box" lang="ru"><span>псевдо-классы</span></span> <a href="/ru/docs/Web/CSS/:hover">:hover</a>, <span class="short_text" id="result_box" lang="ru"><span>или</span> <span>манипулирование</span></span> DOM в JavaScript.</p> <p><span id="result_box" lang="ru"><span>Поскольку</span> <span>переформатирования</span></span><span lang="ru"> <span>могут</span> <span>быть дорогостоящими вычислениями</span><span> и</span> <span>непосредственно влияют на</span> <span>пользовательский интерфейс</span><span>,</span> <span>они могут иметь</span> <span>большое влияние на</span> <span>отзывчивость</span> <span>веб-сайта или</span> <span>веб-приложения</span><span>.</span> <span>При </span></span> <span id="result_box" lang="ru"><span>переформатировании</span></span><span lang="ru"> <span>события</span> <span>веб-консоль</span> <span>может дать вам</span> <span>понять в какой момент оно начинает</span><span> инициацию</span><span>,</span> <span>как долго</span> <span>они принимаются к</span> <span>выполнению и</span><span>,</span> <span>если</span> <span>есть</span> </span><span id="result_box" lang="ru"><span>переформатирования</span></span> <a href="#synchronous-and-asynchronous-reflows">synchronous reflows</a> <span class="short_text" id="result_box" lang="ru"><span>сработавшие</span> <span>от</span></span> JavaScript, то <span class="short_text" id="result_box" lang="ru"><span>какой код</span> <span>вызвал</span> <span>их</span></span> .</p> @@ -186,21 +186,21 @@ translation_of: Tools/Web_Console <p><span id="result_box" lang="ru"><span>Каждое сообщение</span> <span>маркируется "</span><span>переформатирование</span><span>"</span> <span>и показывает</span> <span>время, необходимое для</span> <span>выполнения</span> <span>переформатирования</span></span> :</p> -<p><img alt="" src="https://mdn.mozillademos.org/files/6365/web-console-reflow-asynch.png" style="display: block; height: 53px; margin-left: auto; margin-right: auto; width: 554px;"> <span id="result_box" lang="ru"><span>Если</span> <span>переформатирование</span></span><span lang="ru"> <span>является синхронным</span> </span><span id="result_box" lang="ru"><span>переформатированием</span></span><span lang="ru"><span>, вызванным</span> <span>JavaScript</span><span>,</span> <span>будет также показанна</span> <span>ссылка на</span> <span>строку кода</span><span>, инициировавшего</span> </span><span id="result_box" lang="ru"><span>переформатирование</span></span><span lang="ru"><span>:</span></span></p> +<p><img alt="" src="https://mdn.mozillademos.org/files/6365/web-console-reflow-asynch.png" style="display: block; height: 53px; margin-left: auto; margin-right: auto; width: 554px;"> <span id="result_box" lang="ru"><span>Если</span> <span>переформатирование</span></span><span lang="ru"> <span>является синхронным</span> </span><span id="result_box" lang="ru"><span>переформатированием</span></span><span lang="ru"><span>, вызванным</span> <span>JavaScript</span><span>,</span> <span>будет также показана</span> <span>ссылка на</span> <span>строку кода</span><span>, инициировавшего</span> </span><span id="result_box" lang="ru"><span>переформатирование</span></span><span lang="ru"><span>:</span></span></p> <p><img alt="" src="https://mdn.mozillademos.org/files/6367/web-console-reflow-synch.png" style="display: block; height: 51px; margin-left: auto; margin-right: auto; width: 554px;"> <span class="short_text" id="result_box" lang="ru"><span>Нажмите на ссылку</span><span>, чтобы открыть файл</span> <span>в</span></span> <a href="/ru/docs/Tools/Debugger">Debugger</a>.</p> <h4 id="Синхронные_и_асинхронные_переформатирования"><a name="synchronous-and-asynchronous-reflows"></a> <span class="short_text" id="result_box" lang="ru"><span>Синхронные</span> <span>и асинхронные</span> </span><span id="result_box" lang="ru"><span>переформатирования</span></span> <a name="synchronous-and-asynchronous-reflows"></a></h4> -<p><span id="result_box" lang="ru"><span>Если</span> сделанное <span>изменение</span> <span>аннулирует</span> <span>текущую схему</span> <span>-</span> <span>например,</span> <span>окно браузера</span> <span>изменяется</span> <span>или</span> <span>некоторые</span> <span>JavaScript</span> <span>изменяют</span> <span>CSS</span> <span>элемент -</span> <span>макет</span> <span>не пересчитывается</span> <span>немедленно.</span> <span>Вместо</span></span><span lang="ru"> <span>переформатирования </span></span><span lang="ru"> <span>в асинхронном режиме</span><span>,</span> <span>в следующий</span> <span>раз браузер</span> <span>решает что это</span> <span>должно быть сделано</span> <span>(как правило</span><span>,</span> <span>в следующий</span> <span>раз браузер</span> <span>перекрашивается</span><span>)</span><span>.</span> <span>Таким образом,</span> <span>браузер может</span> <span>накопить</span> <span>коллекцию</span> <span>основаную на недействующих </span><span>изменениях</span> <span>и</span> <span>пересчитать</span> <span>их эффект</span> <span>сразу</span><span>.</span></span></p> +<p><span id="result_box" lang="ru"><span>Если</span> сделанное <span>изменение</span> <span>аннулирует</span> <span>текущую схему</span> <span>-</span> <span>например,</span> <span>окно браузера</span> <span>изменяется</span> <span>или</span> <span>некоторые</span> <span>JavaScript</span> <span>изменяют</span> <span>CSS</span> <span>элемент -</span> <span>макет</span> <span>не пересчитывается</span> <span>немедленно.</span> <span>Вместо</span></span><span lang="ru"> <span>переформатирования </span></span><span lang="ru"> <span>в асинхронном режиме</span><span>,</span> <span>в следующий</span> <span>раз браузер</span> <span>решает что это</span> <span>должно быть сделано</span> <span>(как правило</span><span>,</span> <span>в следующий</span> <span>раз браузер</span> <span>перекрашивается</span><span>)</span><span>.</span> <span>Таким образом,</span> <span>браузер может</span> <span>накопить</span> <span>коллекцию</span> <span>основанную на недействующих </span><span>изменениях</span> <span>и</span> <span>пересчитать</span> <span>их эффект</span> <span>сразу</span><span>.</span></span></p> -<p><span id="result_box" lang="ru"><span>Тем не менее</span><span>,</span> <span>если</span> <span>какой-то</span> <span>JavaScript код</span> <span>читает что</span> <span>стиль</span><span> был изменен</span><span>,</span> <span>то</span> <span>браузер должен</span> <span>выполнить</span> <span>синхронное</span> <span>переформатирование</span></span><span lang="ru"><span> в порядке вычисленным расчетом стиля</span><span> чтобы вернуться</span><span>.</span> <span>Например</span><span>, код</span><span> как</span> <span>этот хочет вызовать</span> <span>немедленное</span><span>,</span> <span>синхронное</span><span>,</span> </span><span id="result_box" lang="ru"><span>переформатирование</span></span><span lang="ru"><span>,</span> <span>когда вызовет</span></span> <code>window.getComputedStyle(thing).height</code>:</p> +<p><span id="result_box" lang="ru"><span>Тем не менее</span><span>,</span> <span>если</span> <span>какой-то</span> <span>JavaScript код</span> <span>читает что</span> <span>стиль</span><span> был изменен</span><span>,</span> <span>то</span> <span>браузер должен</span> <span>выполнить</span> <span>синхронное</span> <span>переформатирование</span></span><span lang="ru"><span> в порядке вычисленным расчетом стиля</span><span> чтобы вернуться</span><span>.</span> <span>Например</span><span>, код</span><span> как</span> <span>этот хочет вызвать</span> <span>немедленное</span><span>,</span> <span>синхронное</span><span>,</span> </span><span id="result_box" lang="ru"><span>переформатирование</span></span><span lang="ru"><span>,</span> <span>когда вызовет</span></span> <code>window.getComputedStyle(thing).height</code>:</p> <pre class="brush: js notranslate">var thing = document.getElementById("the-thing"); thing.style.display = "inline-block"; var thingHeight = window.getComputedStyle(thing).height;</pre> -<p><span id="result_box" lang="ru"><span>Из-за этого,</span> <span>эта хорошая</span> <span>идея избежать</span> <span>чередования</span> <span>чтения и записи</span> <span>вызовов выше указанных основ</span> <span>стилей</span><span>, когда</span> <span>воздействует</span> <span>DOM</span><span>, потому что</span> <span>каждый раз, когда</span> <span>вы возвращаете</span> <span>стиль, который</span> <span>был</span> <span>недействительным</span> <span>в ранее вызваной</span> <span>записи</span><span>,</span> <span>вы принуждаете к </span> <span>синхронному</span> <span>переформатированию</span></span><span lang="ru"><span>.</span></span></p> +<p><span id="result_box" lang="ru"><span>Из-за этого,</span> <span>эта хорошая</span> <span>идея избежать</span> <span>чередования</span> <span>чтения и записи</span> <span>вызовов выше указанных основ</span> <span>стилей</span><span>, когда</span> <span>воздействует</span> <span>DOM</span><span>, потому что</span> <span>каждый раз, когда</span> <span>вы возвращаете</span> <span>стиль, который</span> <span>был</span> <span>недействительным</span> <span>в ранее вызванной</span> <span>записи</span><span>,</span> <span>вы принуждаете к </span> <span>синхронному</span> <span>переформатированию</span></span><span lang="ru"><span>.</span></span></p> <h3 id="Предупреждения_безопасности_и_ошибки"><span class="short_text" id="result_box" lang="ru"><span>Предупреждения безопасности и</span> <span>ошибки</span></span></h3> @@ -267,7 +267,7 @@ var thingHeight = window.getComputedStyle(thing).height;</pre> <td> <p><span id="result_box" lang="ru"><span>Сайт</span> <span>использует сертификат</span> <span>чья подпись</span> <span>использует</span> <span>алгоритм хеширования</span> <span>SHA-1</span><span>.</span></span></p> - <p><span id="result_box" lang="ru"><span>SHA-</span><span>1</span> <span>по-прежнему</span> <span>до сих пор широко</span> <span>используется</span> <span>в сертификатах</span><span>,</span> <span>но он</span> <span>начинает</span> <span>показывать свой возраст</span><span>.</span> <span>Веб-сайтам и</span> <span>центрам сертификации</span><span> рекомендуется</span> <span>перейти на</span> <span>более сильные</span> <span>хэш-алгоритмы</span> <span>в</span> <span>будущем</span><span>.</span></span> Смотрите <a href="/ru/docs/Security/Weak_Signature_Algorithm">Weak Signature Algorithm</a> статью рассказывающюю подробнее.</p> + <p><span id="result_box" lang="ru"><span>SHA-</span><span>1</span> <span>по-прежнему</span> <span>до сих пор широко</span> <span>используется</span> <span>в сертификатах</span><span>,</span> <span>но он</span> <span>начинает</span> <span>показывать свой возраст</span><span>.</span> <span>Веб-сайтам и</span> <span>центрам сертификации</span><span> рекомендуется</span> <span>перейти на</span> <span>более сильные</span> <span>хэш-алгоритмы</span> <span>в</span> <span>будущем</span><span>.</span></span> Смотрите <a href="/ru/docs/Security/Weak_Signature_Algorithm">Weak Signature Algorithm</a> статью рассказывающую подробнее.</p> <p><span id="result_box" lang="ru"><span>Обратите внимание</span><span>, что сертификат</span> <span>SHA-</span><span>1</span> <span>не</span> <span>может</span> <span>быть</span> <span>собственным сертификат</span>ом <span>вашего сайта</span><span>,</span> <span>но может</span> <span>свидетельствовать о</span> <span>принадлежности к</span> <span>сертификации, которая</span> <span>использовалась</span> <span>для подписи сертификата</span> <span>вашего сайта</span><span>.</span></span></p> </td> @@ -495,9 +495,9 @@ console.trace();</pre> <h3 id="Сообщения_вводавывода">Сообщения ввода/вывода</h3> -<p>Команды, отправленные браузеру через <a href="#command-line">командную строку</a>, как и результаты их выполнения, выводятся в <a href="#message-display-pane">поле вывода сообщений</a> Веб-консоли в следуюем виде:</p> +<p>Команды, отправленные браузеру через <a href="#command-line">командную строку</a>, как и результаты их выполнения, выводятся в <a href="#message-display-pane">поле вывода сообщений</a> Веб-консоли в следующем виде:</p> -<p><img alt="" src="https://mdn.mozillademos.org/files/5587/web-console-message-input-output.png" style="display: block; height: 68px; margin-left: auto; margin-right: auto; width: 554px;">Темно-серая полоса служит индикатором того, что это сообщения ввода/вывода, тогда как направление стрелки обозначает разлчия между вводом и выводом.</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/5587/web-console-message-input-output.png" style="display: block; height: 68px; margin-left: auto; margin-right: auto; width: 554px;">Темно-серая полоса служит индикатором того, что это сообщения ввода/вывода, тогда как направление стрелки обозначает различия между вводом и выводом.</p> <h3 id="Фильтрация_и_поиск"><a name="filtering-and-searching">Фильтрация и поиск</a></h3> @@ -712,7 +712,7 @@ cd(frame.contentWindow); <p><img alt="" src="https://mdn.mozillademos.org/files/6621/web-console-split-debugger.png" style="display: block; margin-left: auto; margin-right: auto;"></p> -<h2 id="Клавиши_быстрово_вызова">Клавиши быстрово вызова</h2> +<h2 id="Клавиши_быстрого_вызова">Клавиши быстрого вызова</h2> <p>{{ Page ("ru/docs/tools/Keyboard_shortcuts", "web-console") }}</p> diff --git a/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-describedby_attribute/index.html b/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-describedby_attribute/index.html index c23c3725b4..e481272f17 100644 --- a/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-describedby_attribute/index.html +++ b/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-describedby_attribute/index.html @@ -17,7 +17,7 @@ translation_of: Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedb <p>разделенный пробелами список ID элементов</p> -<h3 id="Возможные_последствия_для_пользовательских_агентов_и_вспомогательных_технологийP">Возможные последствия для пользовательских агентов и вспомогательных технологийP</h3> +<h3 id="Возможные_последствия_для_пользовательских_агентов_и_вспомогательных_технологий">Возможные последствия для пользовательских агентов и вспомогательных технологий</h3> @@ -25,7 +25,7 @@ translation_of: Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedb <h3 id="Примеры">Примеры</h3> -<h4 id="Пример_1_Связвание_приложения_и_описания">Пример 1: Связвание приложения и описания</h4> +<h4 id="Пример_1_Связывание_приложения_и_описания">Пример 1: Связывание приложения и описания</h4> <p>В примере ниже, вводный параграф описывает приложение календаря. <code>aria-describedby</code> используется для связывания параграфа с контейнером приложения.</p> diff --git a/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-labelledby_attribute/index.html b/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-labelledby_attribute/index.html index 8736fc801a..97a87de95b 100644 --- a/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-labelledby_attribute/index.html +++ b/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-labelledby_attribute/index.html @@ -5,13 +5,13 @@ translation_of: Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-labelledby --- <h3 id="Описание">Описание</h3> -<p><span class="seoSummary">Атрибут <a class="external" href="https://www.w3.org/TR/wai-aria/#aria-labelledby" rel="external" title="http://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby"><code>aria-labelledby</code></a> содержит идентификаторы (атрибут id) меток для таких обьектов как элементы ввода (input), виджеты, группы. Атрибут создаёт связь между обьектами и их метками. Вспомогательные технологии, такие как средства чтения экрана, используют этот атрибут чтобы собирать все метки в каталог документа, из которого пользователь может перемещаться между ними. Без идентификатора (атрибута id) вспомогательные технологии не могут собрать данные обьекты в каталог.</span></p> +<p><span class="seoSummary">Атрибут <a class="external" href="https://www.w3.org/TR/wai-aria/#aria-labelledby" rel="external" title="http://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby"><code>aria-labelledby</code></a> содержит идентификаторы (атрибут id) меток для таких объектов как элементы ввода (input), виджеты, группы. Атрибут создаёт связь между объектами и их метками. Вспомогательные технологии, такие как средства чтения экрана, используют этот атрибут чтобы собирать все метки в каталог документа, из которого пользователь может перемещаться между ними. Без идентификатора (атрибута id) вспомогательные технологии не могут собрать данные объекты в каталог.</span></p> -<p><code>aria-labelledby</code> очень похож на <a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute" title="en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute">aria-describedby</a>: Метка (label) предоставляет основную информацию об обьекте, в то время как описание (description) даёт более полную/детальную информацию которая может понадобится пользователю.</p> +<p><code>aria-labelledby</code> очень похож на <a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute" title="en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute">aria-describedby</a>: Метка (label) предоставляет основную информацию об объекте, в то время как описание (description) даёт более полную/детальную информацию которая может понадобится пользователю.</p> <p><span class="tlid-translation translation"><span title="">В дополнение к элементам формы вы можете использовать атрибут <code>aria-labelledby</code>, чтобы связать статический текст с виджетами, группами элементов, панелями, областями, которые имеют заголовок, определения и другие типы объектов</span></span>. Ниже, в разделе {{ anch("Примеры") }} приведенны примеры и информация как использовать атрибут в данном виде.</p> -<p>Чтобы повысить совместимость с <a href="https://ru.wikipedia.org/wiki/User_agent">клиетскими приложениями </a>которые не поддерживают ARIA атрибуты, вы можете использовать <code>aria-labelledby</code> вместе элементом {{ HTMLElement("label") }} (используя <code>for</code> атрибут)</p> +<p>Чтобы повысить совместимость с <a href="https://ru.wikipedia.org/wiki/User_agent">клиентскими приложениями </a>которые не поддерживают ARIA атрибуты, вы можете использовать <code>aria-labelledby</code> вместе элементом {{ HTMLElement("label") }} (используя <code>for</code> атрибут)</p> <p>Этот атрибут может быть использован в любом типичном HTML элементе формы, он не ограничен элементами которые имеют атрибут ARIA <code>role</code></p> @@ -19,9 +19,9 @@ translation_of: Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-labelledby <p>Список идентификаторов (id) разделенных пробелом</p> -<h3 id="Возможные_эфекты_в_клиентских_приложениях_и_вспомогательных_технологиях">Возможные эфекты в клиентских приложениях и вспомогательных технологиях</h3> +<h3 id="Возможные_эффекты_в_клиентских_приложениях_и_вспомогательных_технологиях">Возможные эффекты в клиентских приложениях и вспомогательных технологиях</h3> -<p>Когда клиенсткое приложение вычисляют доступное имя элемента который имеет и атрибут <code>aria-labelledby</code>, и атрибут <code><a href="https://developer.mozilla.org/ru/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute">aria-label</a></code>, они отдадут приоритет <code>aria-labelledby</code></p> +<p>Когда клиентское приложение вычисляют доступное имя элемента который имеет и атрибут <code>aria-labelledby</code>, и атрибут <code><a href="https://developer.mozilla.org/ru/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute">aria-label</a></code>, они отдадут приоритет <code>aria-labelledby</code></p> <h3 id="Примеры">Примеры</h3> diff --git a/files/ru/web/accessibility/aria/roles/checkbox_role/index.html b/files/ru/web/accessibility/aria/roles/checkbox_role/index.html index b9eb71997d..7301c80fa2 100644 --- a/files/ru/web/accessibility/aria/roles/checkbox_role/index.html +++ b/files/ru/web/accessibility/aria/roles/checkbox_role/index.html @@ -10,7 +10,7 @@ translation_of: Web/Accessibility/ARIA/Roles/checkbox_role <pre class="brush: html"><span role="checkbox" aria-checked="false" tabindex="0" aria-labelledby="chk1-label"> </span> <label id="chk1-label">Remember my preferences</label></pre> -<p>Первое правило ARIA - если у нативного HTML элемента или атрибута присутствует небходимая семантика или поведение, следует использовать его, а не использовать другой элемент не по назначению, добавляя ARIA. Вместо этого лучше использовать <a href="/en-US/docs/Web/HTML/Element/input/checkbox">HTML checkbox</a> <code><a href="/en-US/docs/Web/HTML/Element/input/checkbox"><input type="checkbox"></a></code>, который изначально предоставляет необходимый функционал:</p> +<p>Первое правило ARIA - если у нативного HTML элемента или атрибута присутствует необходимая семантика или поведение, следует использовать его, а не использовать другой элемент не по назначению, добавляя ARIA. Вместо этого лучше использовать <a href="/en-US/docs/Web/HTML/Element/input/checkbox">HTML checkbox</a> <code><a href="/en-US/docs/Web/HTML/Element/input/checkbox"><input type="checkbox"></a></code>, который изначально предоставляет необходимый функционал:</p> <pre class="brush: html"><input type="checkbox" id="chk1-label"> <label for="chk1-label">Запомнить мои предпочтения</label></pre> @@ -75,7 +75,7 @@ translation_of: Web/Accessibility/ARIA/Roles/checkbox_role <h3 id="Примеры">Примеры</h3> -<p>Пример ниже создает простой чекбокс, используя CSS и JavaScript для обработкиотмеченного и неотмеченного состояний элемента.</p> +<p>Пример ниже создает простой чекбокс, используя CSS и JavaScript для обработки отмеченного и неотмеченного состояний элемента.</p> <h4 id="HTML">HTML</h4> @@ -119,7 +119,7 @@ translation_of: Web/Accessibility/ARIA/Roles/checkbox_role <ul> <li>Показать элемент как элемент с функциями чекбокса для API доступности.</li> - <li>Когда значение aria-checked меняется, отправить оступное событие изменения состояния.</li> + <li>Когда значение aria-checked меняется, отправить доступное событие изменения состояния.</li> </ul> <p>Продукты, использующие ассистивные технологии должны сделать следующее:</p> @@ -132,7 +132,7 @@ translation_of: Web/Accessibility/ARIA/Roles/checkbox_role <h2 id="Лучшие_практики">Лучшие практики</h2> -<p>Первое правило ARIA - если у нативного HTML элемента или атрибута присутствует небходимая семантика или поведение, следует использовать его, а не использовать другой элемент не по назначению, добавляя ARIA, чтобы сделать его доступным. По существу, рекомендуется использовать нативный <a href="/en-US/docs/Web/HTML/Element/input/checkbox">HTML checkbox</a> вместо воспроизведения функциональности чекбокса с помощью JavaScript и ARIA.</p> +<p>Первое правило ARIA - если у нативного HTML элемента или атрибута присутствует необходимая семантика или поведение, следует использовать его, а не использовать другой элемент не по назначению, добавляя ARIA, чтобы сделать его доступным. По существу, рекомендуется использовать нативный <a href="/en-US/docs/Web/HTML/Element/input/checkbox">HTML checkbox</a> вместо воспроизведения функциональности чекбокса с помощью JavaScript и ARIA.</p> <h2 id="Смотрите_также">Смотрите также:</h2> diff --git a/files/ru/web/accessibility/keyboard-navigable_javascript_widgets/index.html b/files/ru/web/accessibility/keyboard-navigable_javascript_widgets/index.html index 00b91b8257..73dcdd790a 100644 --- a/files/ru/web/accessibility/keyboard-navigable_javascript_widgets/index.html +++ b/files/ru/web/accessibility/keyboard-navigable_javascript_widgets/index.html @@ -79,9 +79,9 @@ translation_of: Web/Accessibility/Keyboard-navigable_JavaScript_widgets <h4 id="Сгруппированные_контролы">Сгруппированные контролы</h4> -<p>Безусловно есть необходимость создания более сложных виджетов. В качестве примеров можно привести меню, панели табов, различные динамические таблицы, представления для информации, имеющей древовидную структуру. Для таких контролов родительский элемент должен иметь атрибут <code>tabindex="0"</code>. В таком случае он сможет попасть в фокус с клавиатуры. Все дочерние элменты (пункты меню, отдельные табы, ячейки, строки) должны иметь <code>tabindex="-1"</code>, чтобы не попадать в фокус при нажатии tab. Пользователи должны иметь возможность путешествовать по дочерним элементам при помощи стрелочек на клавиатуре.</p> +<p>Безусловно есть необходимость создания более сложных виджетов. В качестве примеров можно привести меню, панели табов, различные динамические таблицы, представления для информации, имеющей древовидную структуру. Для таких контролов родительский элемент должен иметь атрибут <code>tabindex="0"</code>. В таком случае он сможет попасть в фокус с клавиатуры. Все дочерние элементы (пункты меню, отдельные табы, ячейки, строки) должны иметь <code>tabindex="-1"</code>, чтобы не попадать в фокус при нажатии tab. Пользователи должны иметь возможность путешествовать по дочерним элементам при помощи стрелочек на клавиатуре.</p> -<p>Ниже приведен пример, который демонстрирует использование этой техники для реализации вложенного меню. После того, как в фокус попадает основной элемент меню ({{HTMLElement("ul")}}), разработчик должен программно управлять фокусом, реагируя на нажития клавиш со стрелочками. Для описания техники управления фокусом внутри виджета смотрите раздел «Управление фокусом внутри виджета» ниже в данной статье.</p> +<p>Ниже приведен пример, который демонстрирует использование этой техники для реализации вложенного меню. После того, как в фокус попадает основной элемент меню ({{HTMLElement("ul")}}), разработчик должен программно управлять фокусом, реагируя на нажатия клавиш со стрелочками. Для описания техники управления фокусом внутри виджета смотрите раздел «Управление фокусом внутри виджета» ниже в данной статье.</p> <p><em>Пример 2: Меню, использующее атрибут tabindex для осуществления доступа с клавиатуры</em></p> @@ -120,7 +120,7 @@ translation_of: Web/Accessibility/Keyboard-navigable_JavaScript_widgets <p>Когда пользователь уходит с виджета, а потом возвращается обратно, фокус должен вернутся на определенный элемент, у которого был фокус раньше. Например, на конкретный элемент дерева или ячейку. Есть два варианта, которыми этого можно добиться:</p> <ol> - <li>Переходящий <code>tabindex</code>: програмное перемещение фокуса</li> + <li>Переходящий <code>tabindex</code>: программное перемещение фокуса</li> <li><code>aria-activedescendant</code>: управление «виртуальным» фокусом</li> </ol> @@ -146,7 +146,7 @@ translation_of: Web/Accessibility/Keyboard-navigable_JavaScript_widgets <h6 id="Используйте_событие_onfocus_чтобы_отслеживать_фокус">Используйте событие onfocus чтобы отслеживать фокус</h6> -<p>При разработке не стоит расчитывать, что фокус будет меняться только в следствие манипуляций пользователя с клавиатурой и мышью. Вспомогательные программы, такие как screen readers могут задавать фокус элементам. Отслеживайте события <code>onfocus</code> и <code>onblur</code>, вместо событий мыши и клавиатуры.</p> +<p>При разработке не стоит рассчитывать, что фокус будет меняться только в следствие манипуляций пользователя с клавиатурой и мышью. Вспомогательные программы, такие как screen readers могут задавать фокус элементам. Отслеживайте события <code>onfocus</code> и <code>onblur</code>, вместо событий мыши и клавиатуры.</p> <p><code>onfocus</code> и <code>onblur могут быть использованы с любыми елементами.</code> Сейчас в стандартах не описано метода для получения элемента, находящегося в фокусе. Поэтому если вам потребуется отслеживать элемент с фокусом, его надо будет запоминать в переменную.</p> @@ -185,7 +185,7 @@ translation_of: Web/Accessibility/Keyboard-navigable_JavaScript_widgets <h4 id="Не_используйте_focus_для_стилизации_фокусировки_(если_вы_поддерживаете_IE_7_и_более_ранние)">Не используйте :focus для стилизации фокусировки (если вы поддерживаете IE 7 и более ранние)</h4> -<p>IE 7 и более ранние версии не поддерживают <code>:focus</code> псевдо-селектор; не используйте его для стилизации фокуса. Вместо этого, установите стили с помощью обработчика событий <code>onfocus</code>, например, добавив название CSS стиля аттрибуту <code>class</code>.</p> +<p>IE 7 и более ранние версии не поддерживают <code>:focus</code> псевдо-селектор; не используйте его для стилизации фокуса. Вместо этого, установите стили с помощью обработчика событий <code>onfocus</code>, например, добавив название CSS стиля атрибуту <code>class</code>.</p> <h4 id="Always_draw_the_focus_for_tabindex-1_items_and_elements_that_receive_focus_programatically">Always draw the focus for tabindex="-1" items and elements that receive focus programatically</h4> diff --git a/files/ru/web/api/abortcontroller/abort/index.html b/files/ru/web/api/abortcontroller/abort/index.html index df1fa26a0c..faee90f432 100644 --- a/files/ru/web/api/abortcontroller/abort/index.html +++ b/files/ru/web/api/abortcontroller/abort/index.html @@ -25,7 +25,7 @@ translation_of: Web/API/AbortController/abort <p>В следующем фрагменте мы будем загружать видео используя <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a>.</p> -<p>Сначала мы создаём контроллер с помощью контруктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> +<p>Сначала мы создаём контроллер с помощью конструктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> <p>Когда <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запрос</a> инициируется, мы передаём <code>AbortSignal</code> в качестве опции внутрь объекта параметров запроса (см. <code>{signal}</code> ниже). Это связывает сигнал и контроллер с fetch запросом и позволяет нам прервать его, вызвав {{domxref("AbortController.abort()")}}, как показано ниже во втором прослушивателе событий.</p> diff --git a/files/ru/web/api/abortcontroller/abortcontroller/index.html b/files/ru/web/api/abortcontroller/abortcontroller/index.html index 29d45de85f..af3908bc64 100644 --- a/files/ru/web/api/abortcontroller/abortcontroller/index.html +++ b/files/ru/web/api/abortcontroller/abortcontroller/index.html @@ -21,7 +21,7 @@ translation_of: Web/API/AbortController/AbortController <p>В следующем фрагменте мы будем загружать видео используя <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a>.</p> -<p>Сначала мы создаём контроллер с помощью контруктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> +<p>Сначала мы создаём контроллер с помощью конструктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> <p>Когда <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запрос</a> инициируется, мы передаём <code>AbortSignal</code> в качестве опции внутрь объекта параметров запроса (см. <code>{signal}</code> ниже). Это связывает сигнал и контроллер с fetch запросом и позволяет нам прервать его, вызвав {{domxref("AbortController.abort()")}}, как показано ниже во втором прослушивателе событий.</p> @@ -50,7 +50,7 @@ function fetchVideo() { }</pre> <div class="note"> -<p><strong>Примечание</strong>: Когда <code>abort()</code> вызывается, <code>fetch()</code> обещаение отклоняется с <code>AbortError</code>.</p> +<p><strong>Примечание</strong>: Когда <code>abort()</code> вызывается, <code>fetch()</code> обещание отклоняется с <code>AbortError</code>.</p> </div> <p>Вы можете найти полный рабочий пример на GitHub — см. <a href="https://github.com/mdn/dom-examples/tree/master/abort-api">abort-api</a> (<a href="https://mdn.github.io/dom-examples/abort-api/">см. как он работает в живую</a>).</p> @@ -72,7 +72,7 @@ function fetchVideo() { </tbody> </table> -<h2 id="Совместимость_с_бразуерами">Совместимость с бразуерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> diff --git a/files/ru/web/api/abortcontroller/index.html b/files/ru/web/api/abortcontroller/index.html index 16854d03ae..f69a22f86a 100644 --- a/files/ru/web/api/abortcontroller/index.html +++ b/files/ru/web/api/abortcontroller/index.html @@ -36,7 +36,7 @@ translation_of: Web/API/AbortController <p>Для начала мы создадим контроллер используя конструктор {{domxref("AbortController.AbortController","AbortController()")}}, затем возьмем ссылку на ассоциированный с ним объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> -<p>При инициализации <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запроса</a>, мы передаем <code>AbortSignal</code> в качестве параметра (смотрите ниже <code>{signal}</code>). Это ассоциирует сигнал и контроллер с fetch запросом и дает нам возможность оставновить запрос вызовом метода {{domxref("AbortController.abort()")}}, что можно увидеть во втором addEventListener.</p> +<p>При инициализации <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запроса</a>, мы передаем <code>AbortSignal</code> в качестве параметра (смотрите ниже <code>{signal}</code>). Это ассоциирует сигнал и контроллер с fetch запросом и дает нам возможность остановить запрос вызовом метода {{domxref("AbortController.abort()")}}, что можно увидеть во втором addEventListener.</p> <pre class="brush: js">var controller = new AbortController(); var signal = controller.signal; diff --git a/files/ru/web/api/abortcontroller/signal/index.html b/files/ru/web/api/abortcontroller/signal/index.html index 9d6dfa4304..1e21182f01 100644 --- a/files/ru/web/api/abortcontroller/signal/index.html +++ b/files/ru/web/api/abortcontroller/signal/index.html @@ -23,7 +23,7 @@ translation_of: Web/API/AbortController/signal <p>В следующем фрагменте мы будем загружать видео используя <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a>.</p> -<p>Сначала мы создаём контроллер с помощью контруктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> +<p>Сначала мы создаём контроллер с помощью конструктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> <p>Когда <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запрос</a> инициируется, мы передаём <code>AbortSignal</code> в качестве опции внутрь объекта параметров запроса (см. <code>{signal}</code> ниже). Это связывает сигнал и контроллер с fetch запросом и позволяет нам прервать его, вызвав {{domxref("AbortController.abort()")}}, как показано ниже во втором прослушивателе событий.</p> @@ -52,7 +52,7 @@ function fetchVideo() { }</pre> <div class="note"> -<p><strong>Примечание</strong>: Когда <code>abort()</code> вызывается, <code>fetch()</code> обещаение отклоняется с <code>AbortError</code>.</p> +<p><strong>Примечание</strong>: Когда <code>abort()</code> вызывается, <code>fetch()</code> обещание отклоняется с <code>AbortError</code>.</p> </div> <p>Вы можете найти полный рабочий пример на GitHub — см. <a href="https://github.com/mdn/dom-examples/tree/master/abort-api">abort-api</a> (<a href="https://mdn.github.io/dom-examples/abort-api/">см. как он работает в живую</a>).</p> diff --git a/files/ru/web/api/abortsignal/aborted/index.html b/files/ru/web/api/abortsignal/aborted/index.html index 1841427cd2..59f417c207 100644 --- a/files/ru/web/api/abortsignal/aborted/index.html +++ b/files/ru/web/api/abortsignal/aborted/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/AbortSignal/aborted --- <div>{{APIRef("DOM")}}{{SeeCompatTable}}</div> -<p>Свойство <strong><code>aborted</code></strong> только для чтения, оно возвращает {{domxref("Boolean")}}, который указывает прерван(<code>true</code>) DOM зыпрос(ы), с которым связан сигнал, или нет(<code>false</code>).</p> +<p>Свойство <strong><code>aborted</code></strong> только для чтения, оно возвращает {{domxref("Boolean")}}, который указывает прерван(<code>true</code>) DOM запрос(ы), с которым связан сигнал, или нет(<code>false</code>).</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/abortsignal/index.html b/files/ru/web/api/abortsignal/index.html index fb44706bc7..2b7ae051d1 100644 --- a/files/ru/web/api/abortsignal/index.html +++ b/files/ru/web/api/abortsignal/index.html @@ -31,7 +31,7 @@ translation_of: Web/API/AbortSignal <p>В следующем фрагменте мы будем загружать видео используя <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a>.</p> -<p>Сначала мы создаём контроллер с помощью контруктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> +<p>Сначала мы создаём контроллер с помощью конструктора {{domxref("AbortController.AbortController","AbortController()")}}, а затем получаем ссылку на связанный объект {{domxref("AbortSignal")}} используя свойство {{domxref("AbortController.signal")}}.</p> <p>Когда <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запрос</a> инициируется, мы передаём <code>AbortSignal</code> в качестве опции внутрь объекта параметров запроса (см. <code>{signal}</code> ниже). Это связывает сигнал и контроллер с fetch запросом и позволяет нам прервать его, вызвав {{domxref("AbortController.abort()")}}, как показано ниже во втором прослушивателе событий.</p> @@ -58,7 +58,7 @@ function fetchVideo() { }</pre> <div class="note"> -<p><strong>Примечание</strong>: Когда <code>abort()</code> вызывается, <code>fetch()</code> обещаение отклоняется с <code>AbortError</code>.</p> +<p><strong>Примечание</strong>: Когда <code>abort()</code> вызывается, <code>fetch()</code> обещание отклоняется с <code>AbortError</code>.</p> </div> <div class="warning"> diff --git a/files/ru/web/api/abortsignal/onabort/index.html b/files/ru/web/api/abortsignal/onabort/index.html index 068d91813d..49499227f8 100644 --- a/files/ru/web/api/abortsignal/onabort/index.html +++ b/files/ru/web/api/abortsignal/onabort/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/AbortSignal/onabort --- <div>{{APIRef("DOM")}}{{SeeCompatTable}}</div> -<p>Cвойство <strong><code>onabort</code></strong> интерфейса {{domxref("AbortSignal")}} является обработчиком события {{event("abort_(cancellable_fetch)", "abort")}} и вызывается при его срабатывании, т.е. когда fetch запрос(ы), с которым связан сигнал, был отменён.</p> +<p>Свойство <strong><code>onabort</code></strong> интерфейса {{domxref("AbortSignal")}} является обработчиком события {{event("abort_(cancellable_fetch)", "abort")}} и вызывается при его срабатывании, т.е. когда fetch запрос(ы), с которым связан сигнал, был отменён.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -40,7 +40,7 @@ signal.onabort = function() { </tbody> </table> -<h2 id="Совместимость_с_брузерами">Совместимость с брузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> diff --git a/files/ru/web/api/abstractworker/index.html b/files/ru/web/api/abstractworker/index.html index cca9299e6e..f7aa28428b 100644 --- a/files/ru/web/api/abstractworker/index.html +++ b/files/ru/web/api/abstractworker/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/AbstractWorker --- <div>{{ APIRef("Web Workers API") }}</div> -<div>Интерфейс <span class="seoSummary"><strong><code>AbstractWorker (абстрактный воркер)</code></strong></span> , как часть <span class="seoSummary"> <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API">Web Workers API</a></span> - это абстрактный интерфейс, который определяет общие свойства и методы для всех типов воркеров: для базового <span class="seoSummary">{{domxref("Worker")}}</span> и также для <span class="seoSummary">{{domxref("ServiceWorker")}}</span> и <span class="seoSummary">{{domxref("SharedWorker")}}</span>. Вы напрямую не взаимодкйствуете с <code>AbstractWorker</code>, как и с абстрактным классом.</div> +<div>Интерфейс <span class="seoSummary"><strong><code>AbstractWorker (абстрактный воркер)</code></strong></span> , как часть <span class="seoSummary"> <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API">Web Workers API</a></span> - это абстрактный интерфейс, который определяет общие свойства и методы для всех типов воркеров: для базового <span class="seoSummary">{{domxref("Worker")}}</span> и также для <span class="seoSummary">{{domxref("ServiceWorker")}}</span> и <span class="seoSummary">{{domxref("SharedWorker")}}</span>. Вы напрямую не взаимодействует с <code>AbstractWorker</code>, как и с абстрактным классом.</div> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/web/api/ambient_light_events/index.html b/files/ru/web/api/ambient_light_events/index.html index c6bd42b7d0..61b79484e6 100644 --- a/files/ru/web/api/ambient_light_events/index.html +++ b/files/ru/web/api/ambient_light_events/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Ambient_Light_Events --- <div>{{DefaultAPISidebar("Ambient Light Events")}}{{SeeCompatTable}}</div> -<p>Cобытия "окружающего света" - удобный способ уведомить веб-страницу или приложение о каком-либо изменении интенсивности света. Это позволяет им реагировать на такое изменение, например, путем изменения цветового контраста пользовательского интерфейса (UI) или путем изменения экспозиции, необходимой для фотографирования.</p> +<p>События "окружающего света" - удобный способ уведомить веб-страницу или приложение о каком-либо изменении интенсивности света. Это позволяет им реагировать на такое изменение, например, путем изменения цветового контраста пользовательского интерфейса (UI) или путем изменения экспозиции, необходимой для фотографирования.</p> <h2 id="Световые_события">Световые события</h2> diff --git a/files/ru/web/api/animationevent/index.html b/files/ru/web/api/animationevent/index.html index 746d34bfed..ab4755b411 100644 --- a/files/ru/web/api/animationevent/index.html +++ b/files/ru/web/api/animationevent/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/AnimationEvent --- <p>{{SeeCompatTable}}{{APIRef("Web Animations API")}}</p> -<p>AnimationEvent - это интерфейс представляющий события, содержащии информацию, связанную с анимацией.</p> +<p>AnimationEvent - это интерфейс представляющий события, содержащие информацию, связанную с анимацией.</p> <p>{{InheritanceDiagram}}</p> @@ -15,9 +15,9 @@ translation_of: Web/API/AnimationEvent <dl> <dt>{{domxref("AnimationEvent.animationName")}} {{readonlyInline}}</dt> - <dd>Является {{domxref("DOMString")}} создержащей значения {{cssxref("animation-name")}} CSS свойств связанных с <strong>transition.</strong></dd> + <dd>Является {{domxref("DOMString")}} содержащей значения {{cssxref("animation-name")}} CSS свойств связанных с <strong>transition.</strong></dd> <dt>{{domxref("AnimationEvent.elapsedTime")}} {{readonlyInline}}</dt> - <dd>Является числом с плавающей точкой, которое задаёт коливество времени от начала анимации в секундах, когда это событие отклоненно, несмотря на какое-либо время анимация была остановленна.Для события "animationstart" , elapsedTime равно <code>0.0 если не было заданно отрицательное значение для </code>{{cssxref("animation-delay")}}, в этом случае событие будет срабатывать с elapsedTime содержащим <code>(-1 * </code><em>delay</em><code>)</code>.</dd> + <dd>Является числом с плавающей точкой, которое задаёт количество времени от начала анимации в секундах, когда это событие отклонено, несмотря на какое-либо время анимация была остановлена.Для события "animationstart" , elapsedTime равно <code>0.0 если не было заданно отрицательное значение для </code>{{cssxref("animation-delay")}}, в этом случае событие будет срабатывать с elapsedTime содержащим <code>(-1 * </code><em>delay</em><code>)</code>.</dd> <dt>{{domxref("AnimationEvent.pseudoElement")}} {{readonlyInline}}</dt> <dd>Является {{domxref("DOMString")}}, начинающийся с '::', содержащий имя <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements">псевдо-элемента </a> ,на котором работает анимация.Если анимация не работает на псевдо-элементе, но работает на элементе,значит указанна пустая строка ' '. </dd> <dt> diff --git a/files/ru/web/api/attr/index.html b/files/ru/web/api/attr/index.html index a762dfa74e..303090a17a 100644 --- a/files/ru/web/api/attr/index.html +++ b/files/ru/web/api/attr/index.html @@ -9,13 +9,13 @@ translation_of: Web/API/Attr <p>{{InheritanceDiagram}}</p> -<div class="warning"><strong>Внимание:</strong> Начиная с Gecko 7.0 {{geckoRelease("7.0")}}, устаревшие свойства и мотоды при обращении выведут предупреждающие сообщения на консоль. Поэтому вы должны проверить свой код. Смотрите полный список <a href="#Deprecated_properties_and_methods">устаревших свойств и методов</a>.</div> +<div class="warning"><strong>Внимание:</strong> Начиная с Gecko 7.0 {{geckoRelease("7.0")}}, устаревшие свойства и методы при обращении выведут предупреждающие сообщения на консоль. Поэтому вы должны проверить свой код. Смотрите полный список <a href="#Deprecated_properties_and_methods">устаревших свойств и методов</a>.</div> <h2 id="Свойства">Свойства </h2> <dl> <dt>{{domxref("Attr.name", "name")}} {{readOnlyInline}}</dt> - <dd>Имя аттрибута.</dd> + <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> <dt>{{domxref("Attr.localName", "localName")}} {{readOnlyInline}}</dt> @@ -24,7 +24,7 @@ translation_of: Web/API/Attr <dd>{{domxref("DOMString")}} представление префикс пространства имен атрибута, или NULL, если префикс не указан.</dd> <dt>{{domxref("Attr.ownerElement", "ownerElement")}} {{readOnlyInline}}</dt> <dd> - <p>Элемнет, содержащий атрибут.</p> + <p>Элемент, содержащий атрибут.</p> <div class="note"> <p><strong>Примечание:</strong> DOM уровень 4 удалил это свойство.Предполагалось, что, поскольку Вы получаете объект Attr от {{domxref("Element")}}, вы заранее должны знать связанный элемент. Поскольку это не верно в случаях, подобных объектам Attr, возвращаемым {{domxref("Document.evaluate")}}, DOM уровень жизни вновь ввел это свойство. </p> diff --git a/files/ru/web/api/audiocontext/createmediaelementsource/index.html b/files/ru/web/api/audiocontext/createmediaelementsource/index.html index dcb637c6ac..87e504f6c6 100644 --- a/files/ru/web/api/audiocontext/createmediaelementsource/index.html +++ b/files/ru/web/api/audiocontext/createmediaelementsource/index.html @@ -20,7 +20,7 @@ var source = audioCtx.createMediaElementSource(myMediaElement);</pre> <dl> <dt><code>myMediaElement</code></dt> - <dd>Обьект {{domxref("HTMLMediaElement")}}, который Вы хотите использовать в качестве исходного звука.</dd> + <dd>Объект {{domxref("HTMLMediaElement")}}, который Вы хотите использовать в качестве исходного звука.</dd> </dl> <h3 id="Возвращаемые_значения">Возвращаемые значения</h3> diff --git a/files/ru/web/api/audionode/index.html b/files/ru/web/api/audionode/index.html index 42c5ab4016..4a9ac4df8e 100644 --- a/files/ru/web/api/audionode/index.html +++ b/files/ru/web/api/audionode/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/AudioNode <dl> <dt>{{domxref("AudioNode.numberOfOutputs")}} {{readonlyInline}}</dt> - <dd>Возвращает количество выходов узла. Узны назначения — такие как {{ domxref("AudioDestinationNode") }} — имеют количество выходов равное 0.</dd> + <dd>Возвращает количество выходов узла. Узлы назначения — такие как {{ domxref("AudioDestinationNode") }} — имеют количество выходов равное 0.</dd> </dl> <dl> diff --git a/files/ru/web/api/batterymanager/index.html b/files/ru/web/api/batterymanager/index.html index 02e7fdc7a2..4cd44dad2a 100644 --- a/files/ru/web/api/batterymanager/index.html +++ b/files/ru/web/api/batterymanager/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/BatteryManager <dt>{{domxref("BatteryManager.onchargingchange")}}</dt> <dd>Обработчик для {{event("chargingchange")}} события; Событие вызывается при обновлении состояния процесса зарядки батареи на текущий момент.</dd> <dt>{{domxref("BatteryManager.onchargingtimechange")}}</dt> - <dd>Обработчик для {{event("chargingtimechange")}} события; Событие вызывается при обнавлении времени до полной зарядки батареи устройства.</dd> + <dd>Обработчик для {{event("chargingtimechange")}} события; Событие вызывается при обновлении времени до полной зарядки батареи устройства.</dd> <dt>{{domxref("BatteryManager.ondischargingtimechange")}}</dt> <dd>Обработчик для {{event("dischargingtimechange")}} события; Событие вызывается при обновлении времени до разрядки батареи устройства.</dd> <dt>{{domxref("BatteryManager.onlevelchange")}}</dt> diff --git a/files/ru/web/api/bluetooth/index.html b/files/ru/web/api/bluetooth/index.html index c2e255483c..062b10ec17 100644 --- a/files/ru/web/api/bluetooth/index.html +++ b/files/ru/web/api/bluetooth/index.html @@ -44,7 +44,7 @@ Bluetooth implements ServiceEventHandlers;</pre> <dl> <dt>{{domxref("Bluetooth.getAvailability()")}}</dt> - <dd>Возвращает {{jsxref("Promise")}}, который возвращает {{jsxref("Boolean")}}, указывая, поддерживает ли браузер Bluetooth. Некоторфе браузеры дают возможность управлять возвращаемым значением этого метода.</dd> + <dd>Возвращает {{jsxref("Promise")}}, который возвращает {{jsxref("Boolean")}}, указывая, поддерживает ли браузер Bluetooth. Некоторые браузеры дают возможность управлять возвращаемым значением этого метода.</dd> <dt>{{domxref("Bluetooth.requestDevice()")}}</dt> <dd>Возвращает {{jsxref("Promise")}} объекту {{domxref("BluetoothDevice")}} с переданными параметрами.</dd> </dl> diff --git a/files/ru/web/api/body/arraybuffer/index.html b/files/ru/web/api/body/arraybuffer/index.html index ff9f6e699d..7aff670eb7 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> @@ -23,7 +23,7 @@ translation_of: Web/API/Body/arrayBuffer <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Промисс, который содержит {{domxref("ArrayBuffer")}}.</p> +<p>Промис, который содержит {{domxref("ArrayBuffer")}}.</p> <h2 id="Пример">Пример</h2> @@ -32,7 +32,7 @@ translation_of: Web/API/Body/arrayBuffer <pre class="brush: js">new Audio(music.ogg).play() </pre> -<p>В функции <code>getData()</code> мы создаем новый запрос используя конструктор {{domxref("Request.Request")}}, после этого используем его чтобы загрузить OGG звук. Мы также используем {{domxref("AudioContext.createBufferSource")}} чтобы создать ресурс аудиобуффера. При успешном завершении запроса, мы считываем {{domxref("ArrayBuffer")}} из ответа испозуя <code>arrayBuffer()</code>, декодируем аудио с помощью {{domxref("AudioContext.decodeAudioData")}}, устанавливаем раскодированные данные как ресурс аудио буфера (<code>source.buffer</code>), затем используем данные этого ресурса в {{domxref("AudioContext.destination")}}.</p> +<p>В функции <code>getData()</code> мы создаем новый запрос используя конструктор {{domxref("Request.Request")}}, после этого используем его чтобы загрузить OGG звук. Мы также используем {{domxref("AudioContext.createBufferSource")}} чтобы создать ресурс аудиобуффера. При успешном завершении запроса, мы считываем {{domxref("ArrayBuffer")}} из ответа используя <code>arrayBuffer()</code>, декодируем аудио с помощью {{domxref("AudioContext.decodeAudioData")}}, устанавливаем раскодированные данные как ресурс аудио буфера (<code>source.buffer</code>), затем используем данные этого ресурса в {{domxref("AudioContext.destination")}}.</p> <p>Когда функция <code>getData()</code> заканчивает свое выполнение, мы стартуем проигрывание аудио ресурса функцией <code>start(0)</code>, потом блокируем кнопку проигрывания для предотвращения повторного проигрывания (это может привести к ошибкам)</p> diff --git a/files/ru/web/api/body/json/index.html b/files/ru/web/api/body/json/index.html index 649c5b60e6..47b40dee49 100644 --- a/files/ru/web/api/body/json/index.html +++ b/files/ru/web/api/body/json/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/Body/json --- <div>{{APIRef("Fetch")}}</div> -<p>Метод <strong><code>json()</code></strong> , определен на миксине {{domxref("Body")}}, который включён в объектах <a href="https://developer.mozilla.org/ru/docs/Web/API/Request" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Request</code></a> и <a href="https://developer.mozilla.org/ru/docs/Web/API/Response" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Response</code></a>, принимает и читает тело {{domxref("Response")}} stream. Возвращает promise (обещание), который, когда ответ будет получен, вызовет коллбэк с результатом парсинга тела ответа в {{jsxref("JSON")}} объект.</p> +<p>Метод <strong><code>json()</code></strong> , определен на миксине {{domxref("Body")}}, который включён в объектах <a href="https://developer.mozilla.org/ru/docs/Web/API/Request" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Request</code></a> и <a href="https://developer.mozilla.org/ru/docs/Web/API/Response" rel="nofollow" title="Документация об этом ещё не написана; пожалуйста, поспособствуйте её написанию!"><code>Response</code></a>, принимает и читает тело {{domxref("Response")}} stream. Возвращает promise (обещание), который, когда ответ будет получен, вызовет колбэк с результатом парсинга тела ответа в {{jsxref("JSON")}} объект.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -23,7 +23,7 @@ translation_of: Web/API/Body/json <h3 id="Возвращает">Возвращает</h3> -<p>Promise (обещание), который, когда ответ будет получен, вызовет коллбэк с результатом парсинга тела ответа в JSON объект. Этим может быть что угодно, что может быть представлено как JSON объект — объект, массив, строка, число...</p> +<p>Promise (обещание), который, когда ответ будет получен, вызовет колбэк с результатом парсинга тела ответа в JSON объект. Этим может быть что угодно, что может быть представлено как JSON объект — объект, массив, строка, число...</p> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/broadcastchannel/index.html b/files/ru/web/api/broadcastchannel/index.html index 2f7ce7b6a4..b898960fe3 100644 --- a/files/ru/web/api/broadcastchannel/index.html +++ b/files/ru/web/api/broadcastchannel/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/BroadcastChannel --- <p>{{APIRef("Broadcast Channel API")}}</p> -<p>Интерфейс <code><strong>BroadcastChannel</strong></code> представляет собой именованный канал, на который можно подписаться из любого {{glossary("контекста просмотра")}} данного {{glossary("источника")}}. Это позволяет настроить коммуницию между разными документами (в разных окнах, вкладках, фреймах и т.д.) одного источника. Сообщения распространяются с помощью события {{event("message")}}, выстреливающего для всех объектов <code>BroadcastChannel</code>, слушающих этот канал.</p> +<p>Интерфейс <code><strong>BroadcastChannel</strong></code> представляет собой именованный канал, на который можно подписаться из любого {{glossary("контекста просмотра")}} данного {{glossary("источника")}}. Это позволяет настроить коммуникацию между разными документами (в разных окнах, вкладках, фреймах и т.д.) одного источника. Сообщения распространяются с помощью события {{event("message")}}, выстреливающего для всех объектов <code>BroadcastChannel</code>, слушающих этот канал.</p> <p>{{AvailableInWorkers}}</p> diff --git a/files/ru/web/api/cache/add/index.html b/files/ru/web/api/cache/add/index.html index f5745943e3..fd32f46b8c 100644 --- a/files/ru/web/api/cache/add/index.html +++ b/files/ru/web/api/cache/add/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Cache/add --- <p>{{APIRef("Service Workers API")}}</p> -<p>Метод <strong><code>add()</code></strong> интерфейса {{domxref("Cache")}} принимает в качестве параметра URL, загружает его и добавляет полученный объект ответа в заданный кеш. Метод <code>add()</code> функционально эквивалентен соедующему коду:</p> +<p>Метод <strong><code>add()</code></strong> интерфейса {{domxref("Cache")}} принимает в качестве параметра URL, загружает его и добавляет полученный объект ответа в заданный кеш. Метод <code>add()</code> функционально эквивалентен следующему коду:</p> <pre class="brush: js">fetch(url).then(function (response) { if (!response.ok) { @@ -79,7 +79,7 @@ translation_of: Web/API/Cache/add <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Комменатрий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('Service Workers', '#cache', 'Cache')}}</td> diff --git a/files/ru/web/api/cache/addall/index.html b/files/ru/web/api/cache/addall/index.html index b48323c9ee..8b89d4964a 100644 --- a/files/ru/web/api/cache/addall/index.html +++ b/files/ru/web/api/cache/addall/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Cache/addAll <h2 id="Описание">Описание</h2> -<p>Метод <strong><code>addAll()</code></strong> интерфейса {{domxref("Cache")}} принимает массив URLS в кечестве параметра, получает данные по ним, и добавляет полученные объекты ответов в заданный кеш. Объекты запросов, созданные в ходе получения данных, становятся ключами для хранимых ответов. </p> +<p>Метод <strong><code>addAll()</code></strong> интерфейса {{domxref("Cache")}} принимает массив URLS в качестве параметра, получает данные по ним, и добавляет полученные объекты ответов в заданный кеш. Объекты запросов, созданные в ходе получения данных, становятся ключами для хранимых ответов. </p> <div class="note"> <p><strong>Замечание</strong>: <code>addAll()</code> перезапишет любые пары ключ/значение ранее записанные в кеш, соответствующие запросу, но выдаст ошибку, если операция <code>put()</code> перезапишет один из кешей, созданный за время выполнения одного и того же метода <code>addAll()</code>.</p> @@ -37,7 +37,7 @@ translation_of: Web/API/Cache/addAll <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>{{jsxref("Promise")}}, которые разрешается с пустым зачением void.</p> +<p>{{jsxref("Promise")}}, которые разрешается с пустым значением void.</p> <h3 id="Исключения">Исключения</h3> @@ -170,7 +170,7 @@ translation_of: Web/API/Cache/addAll <td>{{CompatChrome(46.0)}}</td> </tr> <tr> - <td>Трубует HTTPS</td> + <td>Требует HTTPS</td> <td>{{CompatNo}}</td> <td>{{CompatNo}}</td> <td>{{CompatVersionUnknown}}</td> diff --git a/files/ru/web/api/cache/index.html b/files/ru/web/api/cache/index.html index 82923d3fba..fa7ddcc6ca 100644 --- a/files/ru/web/api/cache/index.html +++ b/files/ru/web/api/cache/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/Cache <p>Для вызывающего скрипта может быть множество именованных объектов <code>Cache</code>. Разработчик сам определяет реализацию того, как скрипт (например, в {{domxref("ServiceWorker")}}) управляет обновлением <code>Cache</code>. Записи в <code>Cache</code> не будут обновлены, пока не будет выполнен явный запрос; их время жизни не истечет до момента удаления. Используйте {{domxref("CacheStorage.open", "CacheStorage.open(cacheName)")}}, чтобы открыть определенный именованный объект <code>Cache </code>и затем вызывайте любые методы<code> Cache </code>для управления его состоянием.</p> -<p>Вы также ответственны за периодическую очистку записей кеша. Каждый браузер имеет жесткие ограничения на объем хранилища кеша, доступный для исходного кода. Браузер делает все, чтобы как можно лучше использовать дисковое пространство, но он может удалить хранилище кеша для скрипта. В основном, браузер либо удаляет все данные из кеша для скрипта, либо не удалает ничего. Устанавливайте версии кеша в имени и используйте кеш только той версии, которая безопасна для использования. Смотрите <a href="/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers#Deleting_old_caches">Удаление старого кеша</a>.</p> +<p>Вы также ответственны за периодическую очистку записей кеша. Каждый браузер имеет жесткие ограничения на объем хранилища кеша, доступный для исходного кода. Браузер делает все, чтобы как можно лучше использовать дисковое пространство, но он может удалить хранилище кеша для скрипта. В основном, браузер либо удаляет все данные из кеша для скрипта, либо не удаляет ничего. Устанавливайте версии кеша в имени и используйте кеш только той версии, которая безопасна для использования. Смотрите <a href="/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers#Deleting_old_caches">Удаление старого кеша</a>.</p> <div class="note"> <p><strong>Замечание</strong>: {{domxref("Cache.put")}}, {{domxref("Cache.add")}} и {{domxref("Cache.addAll")}} допускают сохранение в кеш только <code>GET</code> запросов.</p> @@ -37,7 +37,7 @@ translation_of: Web/API/Cache <dt>{{domxref("Cache.match", "Cache.match(request, options)")}}</dt> <dd>Возвращает {{jsxref("Promise")}}, который успешно завершается с нахождением первого совпадения для данного запроса в объекте {{domxref("Cache")}}.</dd> <dt>{{domxref("Cache.matchAll", "Cache.matchAll(request, options)")}}</dt> - <dd>Возвращает {{jsxref("Promise")}}, который успешно завершается и возврщает массив всех найденных совпадений для данного запроса в объекте {{domxref("Cache")}}.</dd> + <dd>Возвращает {{jsxref("Promise")}}, который успешно завершается и возвращает массив всех найденных совпадений для данного запроса в объекте {{domxref("Cache")}}.</dd> <dt>{{domxref("Cache.add", "Cache.add(request)")}}</dt> <dd>Принимает в качестве параметра URL, получает данные по нему и добавляет полученный объект ответа в заданный кеш. Функциональный эквивалент вызову fetch() с последующим вызовом Cache.put() для добавления результата в кеш.</dd> <dt>{{domxref("Cache.addAll", "Cache.addAll(requests)")}}</dt> @@ -45,7 +45,7 @@ translation_of: Web/API/Cache <dt>{{domxref("Cache.put", "Cache.put(request, response)")}}</dt> <dd>Принимает запрос и ответ на него и добавляет их в заданный кеш.</dd> <dt>{{domxref("Cache.delete", "Cache.delete(request, options)")}}</dt> - <dd>Находит запись {{domxref("Cache")}}, чей ключ является запросом, и, в случае находждения, удаляет запись {{domxref("Cache")}} и возвращает {{jsxref("Promise")}}, успешно завершающийся со значением <code>true</code>. Если же запись {{domxref("Cache")}} не найдена, возвращается <code>false</code>.</dd> + <dd>Находит запись {{domxref("Cache")}}, чей ключ является запросом, и, в случае нахождения, удаляет запись {{domxref("Cache")}} и возвращает {{jsxref("Promise")}}, успешно завершающийся со значением <code>true</code>. Если же запись {{domxref("Cache")}} не найдена, возвращается <code>false</code>.</dd> <dt>{{domxref("Cache.keys", "Cache.keys(request, options)")}}</dt> <dd>Возвращает {{jsxref("Promise")}}, который отдает массив ключей {{domxref("Cache")}}.</dd> </dl> @@ -60,7 +60,7 @@ translation_of: Web/API/Cache <p>Также, пример описывает лучшие практики по заданию версий кеша при работе с сервис воркерами. И хотя в примере лишь один кеш, тот же подход может быть использован для множества кешей. Он сравнивает сокращенный идентификатор кеша с определенным, версионным именем кеша. Код также удаляет весь кеш, для которого не определено имя <code>CURRENT_CACHES</code>.</p> -<p>В примере кода "кеш" это аттрибут WorkerGlobalScope сервис воркеров. Он содержит объект CacheStorage, через который можно получить доступ к <a href="https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage">CacheStorage</a> API.</p> +<p>В примере кода "кеш" это атрибут WorkerGlobalScope сервис воркеров. Он содержит объект CacheStorage, через который можно получить доступ к <a href="https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage">CacheStorage</a> API.</p> <div class="note"><strong>Замечание:</strong> В Chrome, откройте chrome://inspect/#service-workers и кликните по ссылке "inspect" под зарегистрированным сервис воркером чтобы увидеть записи журнала по различным действиям выполняемым скриптом <a href="https://github.com/GoogleChrome/samples/blob/gh-pages/service-worker/selective-caching/service-worker.js">service-worker.js</a>.</div> diff --git a/files/ru/web/api/cachestorage/index.html b/files/ru/web/api/cachestorage/index.html index 76de523901..49d37cd9cd 100644 --- a/files/ru/web/api/cachestorage/index.html +++ b/files/ru/web/api/cachestorage/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/CacheStorage --- <p>{{APIRef("Service Workers API")}}{{SeeCompatTable}}</p> -<p>Интерфейс <strong><code>CacheStorage</code></strong> представляет собой хранилище для объектов {{domxref("Cache")}}. Он предоставляет главную директорию всех именованых кешей, к которым могут получить доступ {{domxref("ServiceWorker")}}, другие типы воркеров или {{domxref("window")}} (вы не обязаны использовать их с service workers, даже если существует спецификация, определяющая это) и поддерживает отображение строковых имен соответствующих объектов {{domxref("Cache")}}.</p> +<p>Интерфейс <strong><code>CacheStorage</code></strong> представляет собой хранилище для объектов {{domxref("Cache")}}. Он предоставляет главную директорию всех именованных кешей, к которым могут получить доступ {{domxref("ServiceWorker")}}, другие типы воркеров или {{domxref("window")}} (вы не обязаны использовать их с service workers, даже если существует спецификация, определяющая это) и поддерживает отображение строковых имен соответствующих объектов {{domxref("Cache")}}.</p> <p><code>CacheStorage</code> также позволяет вызвать {{domxref("CacheStorage.open()")}} и {{domxref("CacheStorage.match()")}}. Используйте {{domxref("CacheStorage.open()")}} для получения экземпляров {{domxref("Cache")}}. Используйте {{domxref("CacheStorage.match()")}} для проверки того, является ли данный {{domxref("Request")}} ключом в любом из объектов {{domxref("Cache")}}, отслеживаемых объектом <code>CacheStorage</code>.</p> @@ -37,7 +37,7 @@ translation_of: Web/API/CacheStorage <dt>{{domxref("CacheStorage.delete()")}}</dt> <dd>Находит объект {{domxref("Cache")}}, соответствующий <code>cacheName</code>, и, если такой обнаружен, удаляет объект {{domxref("Cache")}} и возвращает {{jsxref("Promise")}}, завершающийся с <code>true</code>. Если объект {{domxref("Cache")}} не найдет, то возвращается <code>false</code>.</dd> <dt>{{domxref("CacheStorage.keys()")}}</dt> - <dd>Возвращает {{jsxref("Promise")}}, который вернет массив, содержащий строки, соответствующие всем именованым объектам {{domxref("Cache")}}, отслеживаемым {{domxref("CacheStorage")}}. Используйте этот метод для прохода по списку всех объектов {{domxref("Cache")}}.</dd> + <dd>Возвращает {{jsxref("Promise")}}, который вернет массив, содержащий строки, соответствующие всем именованным объектам {{domxref("Cache")}}, отслеживаемым {{domxref("CacheStorage")}}. Используйте этот метод для прохода по списку всех объектов {{domxref("Cache")}}.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/cachestorage/match/index.html b/files/ru/web/api/cachestorage/match/index.html index 6b60a861ce..758d898f38 100644 --- a/files/ru/web/api/cachestorage/match/index.html +++ b/files/ru/web/api/cachestorage/match/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/CacheStorage/match <p>Объекты Cache проверяются в порядке создания.</p> -<div class="note"><strong>Note</strong>: {{domxref("CacheStorage.match()", "caches.match()")}} это метод для удобства в работе. Такая функциональность достигается вызовом {{domxref("cache.match()")}} для каждого объекта cache (в порядке полученом запросом {{domxref("CacheStorage.keys()", "caches.keys()")}}) пока {{domxref("Response")}} не будет найден.</div> +<div class="note"><strong>Note</strong>: {{domxref("CacheStorage.match()", "caches.match()")}} это метод для удобства в работе. Такая функциональность достигается вызовом {{domxref("cache.match()")}} для каждого объекта cache (в порядке полученном запросом {{domxref("CacheStorage.keys()", "caches.keys()")}}) пока {{domxref("Response")}} не будет найден.</div> <h2 id="Синтаксис">Синтаксис</h2> @@ -44,7 +44,7 @@ translation_of: Web/API/CacheStorage/match <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Метод возвращает {{jsxref("Promise")}} который разрешается совпавшим {{domxref("Response")}}. Если ни одного совпадени не было найдено, promise разрешается с <code>undefined</code>.</p> +<p>Метод возвращает {{jsxref("Promise")}} который разрешается совпавшим {{domxref("Response")}}. Если ни одного совпадений не было найдено, promise разрешается с <code>undefined</code>.</p> <h2 id="Примеры" style="line-height: 30px; font-size: 2.14285714285714rem;">Примеры</h2> diff --git a/files/ru/web/api/cachestorage/open/index.html b/files/ru/web/api/cachestorage/open/index.html index 8e7535fdc9..0b4525f95e 100644 --- a/files/ru/web/api/cachestorage/open/index.html +++ b/files/ru/web/api/cachestorage/open/index.html @@ -12,13 +12,13 @@ translation_of: Web/API/CacheStorage/open --- <p>{{APIRef("Service Workers API")}}{{SeeCompatTable}}</p> -<p><strong><code>open()</code></strong> метод из {{domxref("CacheStorage")}} интерфейса возвращает {{jsxref("Promise")}} который резолвится в {{domxref("Cache")}} обьект с соответствующим <code>cacheName (именем тега кеша)</code>.</p> +<p><strong><code>open()</code></strong> метод из {{domxref("CacheStorage")}} интерфейса возвращает {{jsxref("Promise")}} который резолвится в {{domxref("Cache")}} объект с соответствующим <code>cacheName (именем тега кеша)</code>.</p> <div class="note"> <p><strong>Note</strong>: If the specified {{domxref("Cache")}} does not exist, a new cache is created with that <code>cacheName</code>.</p> </div> -<h2 id="Синтакс">Синтакс</h2> +<h2 id="Синтаксис">Синтаксис</h2> <pre class="syntaxbox">caches.open(<em>cacheName</em>).then(function(<em>cache</em>) { //обрабатываем кеш например: cache.AddAll(filesToCache); где filesToCache = ['/mypic.png', ...] @@ -27,7 +27,7 @@ translation_of: Web/API/CacheStorage/open <h3 id="Возвращает">Возвращает</h3> -<p>{{jsxref("Promise")}} который резолвится в запрашиваемый {{domxref("Cache")}} обьект.</p> +<p>{{jsxref("Promise")}} который резолвится в запрашиваемый {{domxref("Cache")}} объект.</p> <h3 id="Параметры">Параметры</h3> diff --git a/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html b/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html index 72b21d9f5b..4f0922351f 100644 --- a/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html +++ b/files/ru/web/api/canvas_api/a_basic_ray-caster/index.html @@ -21,13 +21,13 @@ translation_of: Web/API/Canvas_API/A_basic_ray-caster <p>Основная идея заключается в использовании {{domxref("window.setInterval","setInterval()")}} с некоторой произвольной задержкой, соответствующей требуемой частоте кадров. После каждого интервала функция обновления будет перерисовывать холст, и отображать текущий вид. Я знаю, что мог бы начать с более простого примера, но я уверен, что руководство canvas <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations">доберется до этого</a>, и я хотел посмотреть, смогу ли я это сделать.</p> -<p>Таким образом каждое обновление raycaster смотрит нажимали ли вы какие либо клавиши в последнее время, сохраняет расчеты и останавливается если вы бездествуете. Получив расчеты, холст очищается, земля и небо рисуются, положение камеры и/или ориентация обновляются, а лучи отбрасываются. Когда лучи попадают на стены, они отображают вертикальный кусок холста в цвете стены, на которую они попали, смешанный с более темной версией цвета в зависимости от расстояния до стены. Высота этого кусочка также моделируется расстоянием от камеры до стены и рисуется по центру линии горизонта.</p> +<p>Таким образом каждое обновление raycaster смотрит нажимали ли вы какие либо клавиши в последнее время, сохраняет расчеты и останавливается если вы бездействуете. Получив расчеты, холст очищается, земля и небо рисуются, положение камеры и/или ориентация обновляются, а лучи отбрасываются. Когда лучи попадают на стены, они отображают вертикальный кусок холста в цвете стены, на которую они попали, смешанный с более темной версией цвета в зависимости от расстояния до стены. Высота этого кусочка также моделируется расстоянием от камеры до стены и рисуется по центру линии горизонта.</p> <p>Код, который я получил, - это смесь глав raycaster из старой книги Андре Ламотетрикса о гуру программирования игр (ISBN: 0672305070) и <a class="external" href="http://www.shinelife.co.uk/java-maze/">java raycaster</a>, которую я нашел в интернете, отфильтровал, переименовал, и внес все изменения, которые нужно было внести, чтобы все работало хорошо.</p> <h2 id="Results" name="Results">Результаты</h2> -<p>Холст в Safari 2.0.1 выполнен на удивление хорошо. С коэффициентом блочности, увеличенным до отображения кусочка шириной 8 пикселей, я могу запустить окно 320 x 240 при 24 fps на моем Apple mini. Firefox 1.5 Beta 1 еще быстрее; я могу запускать 320 x 240 при 24 fps с 4 пиксельным кусочком. Не совсем новый член семейства програмного обеспечения ID, но довольно приличный, учитывая, что это полностью интерпретируемая среда, и мне не нужно было беспокоиться о выделении памяти или видеорежимах или кодировании внутренних процедур в ассемблере или чем-то еще. Код получился очень эффективным, он использует поиск по массиву предварительно вычисленных значений, но я не гуру оптимизации, поэтому все, вероятно, можно было бы написать быстрее.</p> +<p>Холст в Safari 2.0.1 выполнен на удивление хорошо. С коэффициентом блочности, увеличенным до отображения кусочка шириной 8 пикселей, я могу запустить окно 320 x 240 при 24 fps на моем Apple mini. Firefox 1.5 Beta 1 еще быстрее; я могу запускать 320 x 240 при 24 fps с 4 пиксельным кусочком. Не совсем новый член семейства программного обеспечения ID, но довольно приличный, учитывая, что это полностью интерпретируемая среда, и мне не нужно было беспокоиться о выделении памяти или видеорежимах или кодировании внутренних процедур в ассемблере или чем-то еще. Код получился очень эффективным, он использует поиск по массиву предварительно вычисленных значений, но я не гуру оптимизации, поэтому все, вероятно, можно было бы написать быстрее.</p> <p>Кроме того, он оставляет желать лучшего с точки зрения попыток быть игровым движком—нет текстур стен, нет спрайтов, нет дверей, даже нет телепортов, чтобы добраться до другого уровня. Но я уверен, что все эти вещи могут быть добавлены, через некоторое время. Canvas API поддерживает пиксельное копирование изображений, поэтому текстуры могут быть добавлены. Я оставлю это для другой статьи, возможно, от другого человека. =)</p> diff --git a/files/ru/web/api/canvas_api/index.html b/files/ru/web/api/canvas_api/index.html index e3986f8d75..ed0cd51081 100644 --- a/files/ru/web/api/canvas_api/index.html +++ b/files/ru/web/api/canvas_api/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/Canvas_API <p>Приложения от Mozilla поддерживают <code><canvas></code> начиная с Gecko 1.8 (т.е. <a href="/en-US/docs/Firefox_1.5_for_developers" title="Firefox_1.5_for_developers">с Firefox 1.5</a>). Этот элемент первоначально был представлен Apple для OS X <a class="external" href="http://www.apple.com/macosx/features/dashboard/">Dashboard</a> и Safari. Internet Explorer поддерживает<code> <canvas></code> начиная с 9 версии; для более ранних версий IE поддержку для <canvas> можно добавить с помощью скрипта из проекта Google's <a class="external" href="http://excanvas.sourceforge.net/">Explorer Canvas</a>. Google Chrome и Opera 9 также поддерживают <code><canvas></code>.</p> -<p>Элемент <code><canvas></code> также используется технологией <a href="/en-US/docs/WebGL" title="WebGL">WebGL</a> для отрисовки аппаратно-ускоренной 3D-графики на вебстраницах.</p> +<p>Элемент <code><canvas></code> также используется технологией <a href="/en-US/docs/WebGL" title="WebGL">WebGL</a> для отрисовки аппаратно-ускоренной 3D-графики на веб-страницах.</p> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html b/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html index f9dc3f7a3e..a1b7b04467 100644 --- a/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html +++ b/files/ru/web/api/canvas_api/tutorial/advanced_animations/index.html @@ -153,7 +153,7 @@ ball.draw();</pre> <h2 id="Ускорение">Ускорение</h2> -<p>Чтобы сделать движение более реальным, вы можете играть со скоростью, нпример так:</p> +<p>Чтобы сделать движение более реальным, вы можете играть со скоростью, например так:</p> <pre class="brush: js">ball.vy *= .99; ball.vy += .25;</pre> diff --git a/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html b/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html index 3dc5e6c8f0..7eea729bc2 100644 --- a/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html +++ b/files/ru/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html @@ -109,7 +109,7 @@ ctx.strokeStyle = "rgba(255,0,0,0.5)"; ctx.fillStyle = "rgba(255,0,0,0.5)"; </pre> -<p>Функция <code>rgba()</code> похожа на функцию <code>rgb()</code>, но имеет один дополнительный параметр. Последний параметр устанавливает значение прозрачности для конкретного цвета. Действующий диапозон значений находится между 0.0 (полная прозрачность) и 1.0 (полная непрозрачность).</p> +<p>Функция <code>rgba()</code> похожа на функцию <code>rgb()</code>, но имеет один дополнительный параметр. Последний параметр устанавливает значение прозрачности для конкретного цвета. Действующий диапазон значений находится между 0.0 (полная прозрачность) и 1.0 (полная непрозрачность).</p> <h3 id="Пример_globalAlpha">Пример <code>globalAlpha</code></h3> diff --git a/files/ru/web/api/canvas_api/tutorial/basic_animations/index.html b/files/ru/web/api/canvas_api/tutorial/basic_animations/index.html index e4595cbbd4..652938c355 100644 --- a/files/ru/web/api/canvas_api/tutorial/basic_animations/index.html +++ b/files/ru/web/api/canvas_api/tutorial/basic_animations/index.html @@ -53,7 +53,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Основы_анимации <dd>Сообщает браузеру, что вы хотите выполнить анимацию, и запрашивает, чтобы браузер вызвал указанную функцию <code>callback</code> для обновления анимации перед следующей перерисовкой.</dd> </dl> -<p>Если вы не планируете никакого взаимодействия с пользователем, вы можете использовать функцию <code>setInterval()</code> , которая многократно выполняет, предоставленный ей код. Если же вы планиуете создать игру, в которой контроль анимации осуществляется мышью или клавиатурой, то необходимо использовать <code>setTimeout()</code>. Установив {{domxref("EventListener")}}, вы можете перехватываете любые действия пользователя и запустить соответствующие функции анимации.</p> +<p>Если вы не планируете никакого взаимодействия с пользователем, вы можете использовать функцию <code>setInterval()</code> , которая многократно выполняет, предоставленный ей код. Если же вы планируете создать игру, в которой контроль анимации осуществляется мышью или клавиатурой, то необходимо использовать <code>setTimeout()</code>. Установив {{domxref("EventListener")}}, вы можете перехватываете любые действия пользователя и запустить соответствующие функции анимации.</p> <div class="note"> <p>В примерах ниже мы будем использовать функцию {{domxref("window.requestAnimationFrame()")}} для контроля анимации. Функция <code>requestAnimationFrame</code> является более эффективной для создания анимации, так как новая итерация вызывается, когда система готова к отрисовке нового кадра. Количество вызовов в секунду примерно равно 60 и уменьшается, когда вкладка неактивна. Для более подробного изучения цикла анимации, особенно для игр, прочитайте статью <a href="/en-US/docs/Games/Anatomy">Анатомия видеоигр </a>В <a href="/en-US/docs/Games">Зоне разработке игр</a>.</p> 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 3c32d75985..78937ccfac 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 @@ -54,7 +54,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Basic_usage <p>Элемент {{HTMLElement("canvas")}} в документе создается с фиксированным размером элемента для рисования, который может иметь один или несколько контекстов для рендеринга, создавая и манипулируя содержимым для показа. В данном руководстве мы сфокусируемся на 2D рендеринге. Другие контексты могут предоставлять разные типы рендеринга, к примеру WebGl использует 3D контекст основанный на <a href="http://www.khronos.org/opengles/">OpenGL ES</a>.</p> -<p>Холст изначально пустой и прозрачный. Первым делом скрипт получает доступ к контексту и отрисовывает его. Элемент {{HTMLElement("canvas")}} имеет <a href="/en-US/docs/Web/API/HTMLCanvasElement#Method">метод</a> <code>getContext()</code>, используется для получения контекста визуализации и ее функции рисования. <code>getContext()</code> принимает один параметр, тип контекста. Для 2D графики, которая охвачена этим руководством будем использвать метку "2d".</p> +<p>Холст изначально пустой и прозрачный. Первым делом скрипт получает доступ к контексту и отрисовывает его. Элемент {{HTMLElement("canvas")}} имеет <a href="/en-US/docs/Web/API/HTMLCanvasElement#Method">метод</a> <code>getContext()</code>, используется для получения контекста визуализации и ее функции рисования. <code>getContext()</code> принимает один параметр, тип контекста. Для 2D графики, которая охвачена этим руководством будем использовать метку "2d".</p> <pre class="brush: js notranslate">var canvas = document.getElementById('tutorial'); var ctx = canvas.getContext('2d'); diff --git a/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html b/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html index 046e249975..5b9e81bd3d 100644 --- a/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html +++ b/files/ru/web/api/canvas_api/tutorial/drawing_shapes/index.html @@ -183,7 +183,7 @@ original_slug: Web/API/Canvas_API/Tutorial/Рисование_фигур <p>{{EmbedLiveSample("Передвижение_пера", 160, 160, "https://mdn.mozillademos.org/files/252/Canvas_smiley.png")}}</p> -<p>Если вы захотите увидеть соединные линии, то можете удалить вызов <code>moveTo()</code>.</p> +<p>Если вы захотите увидеть соединение линии, то можете удалить вызов <code>moveTo()</code>.</p> <div class="note"> <p><strong>Note:</strong> Подробнее о функции <code>arc()</code>,посмотрите {{anch("Дуги")}} .</p> diff --git a/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html b/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html index c25c49be30..226dfc1e21 100644 --- a/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html +++ b/files/ru/web/api/canvas_api/tutorial/drawing_text/index.html @@ -5,7 +5,7 @@ tags: - Canvas - Графика - Примеры - - Рукводовство + - Руководство - мануал translation_of: Web/API/Canvas_API/Tutorial/Drawing_text original_slug: Web/API/Canvas_API/Tutorial/Рисование_текста diff --git a/files/ru/web/api/canvas_api/tutorial/finale/index.html b/files/ru/web/api/canvas_api/tutorial/finale/index.html index 63187795bd..c292176869 100644 --- a/files/ru/web/api/canvas_api/tutorial/finale/index.html +++ b/files/ru/web/api/canvas_api/tutorial/finale/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Finale <h2 id="Больше_примеров_и_учебных_материалов">Больше примеров и учебных материалов</h2> -<p>Различные демки и дополнительные разъяснеия о canvas расположены на этих сайтах:</p> +<p>Различные демки и дополнительные разъяснения о canvas расположены на этих сайтах:</p> <dl> <dt><a href="http://codepen.io/search?q=canvas">Codepen.io</a></dt> @@ -19,11 +19,11 @@ translation_of: Web/API/Canvas_API/Tutorial/Finale <dt><a href="http://www.canvasdemos.com/">Canvasdemos.com</a></dt> <dd>Приложения, игры, инструменты и учебные пособия для HTML5 canvas элементов.</dd> <dt><a href="http://www.html5canvastutorials.com/">HTML5CanvasTutorials</a></dt> - <dd>Примеры для большинтсва canvas APIs.</dd> + <dd>Примеры для большинства canvas APIs.</dd> <dt><a href="http://creativejs.com/2011/08/31-days-of-canvas-tutorials/">31 days of Canvas tutorials</a></dt> <dd>Прекрасное введение в разработку графики на JavaScript.</dd> <dt><a href="/en-US/docs/Games">Game development</a></dt> - <dd>Игры - одна из наболее популярных действий на компьютере. Постоянно появляются новые технологии, делающих возможным разработку более лучших и мощных игр, чем те, которые могли быть созданы стандартными средствами веб браузеров.</dd> + <dd>Игры - одна из наиболее популярных действий на компьютере. Постоянно появляются новые технологии, делающих возможным разработку более лучших и мощных игр, чем те, которые могли быть созданы стандартными средствами веб браузеров.</dd> </dl> <h2 id="Другие_Web_API">Другие Web API</h2> @@ -34,7 +34,7 @@ translation_of: Web/API/Canvas_API/Tutorial/Finale <dt><a href="/en-US/docs/Web/WebGL">WebGL</a></dt> <dd>API для отображения интерактивной 3D графики.</dd> <dt><a href="/en-US/docs/Web/SVG">SVG</a></dt> - <dd>Масштабируемая Векторная Графика (Scalable Vector Graphics) позволяет описывать картинки в виде набора векторов (линий) и форм, позволяюших плавно изменять размер вне зависимости от размера в котором они нарисованы.</dd> + <dd>Масштабируемая Векторная Графика (Scalable Vector Graphics) позволяет описывать картинки в виде набора векторов (линий) и форм, позволяющих плавно изменять размер вне зависимости от размера в котором они нарисованы.</dd> <dt><a href="/en-US/docs/Web/API/Web_Audio_API">Web Audio</a></dt> <dd>Web Audio API представляет мощную и универсальную систему контроля аудио в сети, позволяющая разработчикам получить аудио ресурсы, добавлять эффекты аудио, создавать аудио визуализацию, применять пространственные эффекты (такие как сдвиг) и многое другое.</dd> </dl> diff --git a/files/ru/web/api/canvas_api/tutorial/index.html b/files/ru/web/api/canvas_api/tutorial/index.html index 8409367956..3d6a7e259a 100644 --- a/files/ru/web/api/canvas_api/tutorial/index.html +++ b/files/ru/web/api/canvas_api/tutorial/index.html @@ -14,7 +14,7 @@ translation_of: Web/API/Canvas_API/Tutorial <p>В этом руководстве описываются основы использования элемента <code><canvas></code> для рисования 2D-графики. Приведенные примеры дадут вам понимание того, что вы можете сделать с помощью <canvas>, а использованные в статье фрагменты кода помогут в создании собственных проектов.</p> -<p><code>Впервые <canvas></code> использовался компанией Apple для создания <a href="https://ru.wikipedia.org/wiki/Dashboard">Mac OS X Dashboard</a>, а затем был реализован в Web-браузерах. На сегодняшний день все основные браузеры поддерживют работу с <canvas>. Тег <code><canvas></code> часть спецификации <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/">WhatWG Web applications 1.0</a> также известной как HTML5.</p> +<p><code>Впервые <canvas></code> использовался компанией Apple для создания <a href="https://ru.wikipedia.org/wiki/Dashboard">Mac OS X Dashboard</a>, а затем был реализован в Web-браузерах. На сегодняшний день все основные браузеры поддерживают работу с <canvas>. Тег <code><canvas></code> часть спецификации <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/">WhatWG Web applications 1.0</a> также известной как HTML5.</p> <h2 id="Before_you_start" name="Before_you_start">Прежде чем начать</h2> diff --git a/files/ru/web/api/canvas_api/tutorial/transformations/index.html b/files/ru/web/api/canvas_api/tutorial/transformations/index.html index 0f871d6909..85acddca88 100644 --- a/files/ru/web/api/canvas_api/tutorial/transformations/index.html +++ b/files/ru/web/api/canvas_api/tutorial/transformations/index.html @@ -61,15 +61,15 @@ translation_of: Web/API/Canvas_API/Tutorial/Transformations <p>Сначала рисуется большой прямоугольник с настройками по умолчанию. Затем мы сохраняем состояние холста, после чего изменяем цвет заливки. Затем рисуем второй синий прямоугольник меньшего размера и опять сохраняем состояние. Снова изменяем какие-то настройки и рисуем третий полупрозрачный белый прямоугольник.</p> -<p>До сих пор наши действия ничем не отличались от тех, что мы делали в предыдущем разделе. Однако, как только мы сделали первый вызов <code>restore(),</code> последнее сохранённое состояние отрисовки было восстановлено из стека, вернув все сохранённые настройки. Если бы мы не сохранили предыдущее состояние, используя <code>save()</code>, нам бы пришлось менять цвет заливки и настройки прозрачности вручную для возврата к предыдущему состоянию. Для каких-нибудь двух простых свойств это, может быть, сделать не так сложно. Но если таких своиств гораздо больше, это чревато очень быстрым разрастанием кода.</p> +<p>До сих пор наши действия ничем не отличались от тех, что мы делали в предыдущем разделе. Однако, как только мы сделали первый вызов <code>restore(),</code> последнее сохранённое состояние отрисовки было восстановлено из стека, вернув все сохранённые настройки. Если бы мы не сохранили предыдущее состояние, используя <code>save()</code>, нам бы пришлось менять цвет заливки и настройки прозрачности вручную для возврата к предыдущему состоянию. Для каких-нибудь двух простых свойств это, может быть, сделать не так сложно. Но если таких свойств гораздо больше, это чревато очень быстрым разрастанием кода.</p> -<p>Когда второй вызов <code>restore()</code> сделан, изначальное состояние (то самое, которое было сделано перед первым вызовом <code>save</code>) восстанавливается и последний нарисованный прямоугольник внось становится чёрным.</p> +<p>Когда второй вызов <code>restore()</code> сделан, изначальное состояние (то самое, которое было сделано перед первым вызовом <code>save</code>) восстанавливается и последний нарисованный прямоугольник вновь становится чёрным.</p> <p>{{EmbedLiveSample("A_save_and_restore_canvas_state_example", "180", "180", "https://mdn.mozillademos.org/files/249/Canvas_savestate.png")}}</p> <h2 id="Translating" name="Translating">Трансляция (смещение)</h2> -<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/234/Canvas_grid_translate.png" style="float: right;">Первый метод для трасформирования холста <code>translate()</code>. Он используется для перемещения холста в любую точку нашей сетки.</p> +<p><img alt="" class="internal" src="https://mdn.mozillademos.org/files/234/Canvas_grid_translate.png" style="float: right;">Первый метод для трансформирования холста <code>translate()</code>. Он используется для перемещения холста в любую точку нашей сетки.</p> <dl> <dt>{{domxref("CanvasRenderingContext2D.translate", "translate(x, y)")}}</dt> 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 d1addb4b7d..65470e1d07 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 @@ -89,7 +89,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs <p>Одним из преимуществ data URLs это то что полученное изображение доступно сразу без других запросов туда-обратно на сервер. Другое потенциальное преимущество в том, что также можно инкапсулировать всё в одном файле все ваши <a href="/en-US/docs/Web/CSS" title="/en-US/docs/Web/CSS">CSS</a>, <a href="/en-US/docs/Web/JavaScript" title="/en-US/docs/Web/JavaScript">JavaScript</a>, <a href="/en-US/docs/Web/HTML" title="/en-US/docs/Web/HTML">HTML</a>, и изображения, что делает его более портативным в других местах.</p> -<p>Некоторые недостатки этого метода в том что ваше изображение не кешировано, и для изображений с большим размером кодированние url может стать очень долгим процессом.</p> +<p>Некоторые недостатки этого метода в том что ваше изображение не кешировано, и для изображений с большим размером кодирование url может стать очень долгим процессом.</p> <h3 id="Использование_кадров_из_видео">Использование кадров из видео</h3> @@ -243,7 +243,7 @@ img.src = 'data:image/gif;base64,R0lGODlhCwALAIAAAAAA3pn/ZiH5BAEAAAEALAAAAAALAAs <h2 id="Пример_галереи_искусства">Пример галереи искусства</h2> -<p>В последнем примере этой главы, мы построим небольшую галлерею искусств. Галерея состоит из таблицы, включающей несколько изображений. Когда страница загрузится, {{HTMLElement("canvas")}} элемент вставится в каждое изображение, а вокруг будет нарисована рамка. </p> +<p>В последнем примере этой главы, мы построим небольшую галерею искусств. Галерея состоит из таблицы, включающей несколько изображений. Когда страница загрузится, {{HTMLElement("canvas")}} элемент вставится в каждое изображение, а вокруг будет нарисована рамка. </p> <p>В этом случае, у каждого изображения фиксированная ширина и высота, такая же, как и у рамки нарисованной вокруг них. Вы могли бы усовершенствовать этот скрипт так, чтобы он использовал ширину и высоту изображения, чтобы рамка идеально его окружила.</p> diff --git a/files/ru/web/api/canvasgradient/index.html b/files/ru/web/api/canvasgradient/index.html index 19b1442641..d3e23dc501 100644 --- a/files/ru/web/api/canvasgradient/index.html +++ b/files/ru/web/api/canvasgradient/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/CanvasGradient <dl> <dt>{{domxref("CanvasGradient.addColorStop()")}}</dt> - <dd>Добавляет в градиент новый маркер, определяемый смещенем и цветом. <code>Если смещение входдит за пределы 0</code> и <code>1</code>, генерируется <code>INDEX_SIZE_ERR</code>. Если не удааётся обработать цвет как CSS {{cssxref("<color>")}}, генерируется <code>SYNTAX_ERR</code>.</dd> + <dd>Добавляет в градиент новый маркер, определяемый смещением и цветом. <code>Если смещение входдит за пределы 0</code> и <code>1</code>, генерируется <code>INDEX_SIZE_ERR</code>. Если не удается обработать цвет как CSS {{cssxref("<color>")}}, генерируется <code>SYNTAX_ERR</code>.</dd> </dl> <h2 id="Характеристики"><span class="short_text" id="result_box" lang="ru"><span>Характеристики</span></span></h2> @@ -106,5 +106,5 @@ translation_of: Web/API/CanvasGradient <ul> <li>Методы создания в {{domxref("CanvasRenderingContext2D")}}.</li> - <li>Элемент {{HTMLElement("canvas")}} и сзвязанный с ним интерфейс {{domxref("HTMLCanvasElement")}}.</li> + <li>Элемент {{HTMLElement("canvas")}} и связанный с ним интерфейс {{domxref("HTMLCanvasElement")}}.</li> </ul> diff --git a/files/ru/web/api/canvasrenderingcontext2d/arc/index.html b/files/ru/web/api/canvasrenderingcontext2d/arc/index.html index 80de2069c2..fe39629a52 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/arc/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/arc/index.html @@ -148,7 +148,7 @@ for (i=0;i<4;i++){ <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-arc", "CanvasRenderingContext2D.arc")}}</td> diff --git a/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html b/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html index 53a13ff758..3e74f3015b 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/arcto/index.html @@ -14,7 +14,7 @@ translation_of: Web/API/CanvasRenderingContext2D/arcTo <p>Обычно метод используется для скругления углов.</p> <div class="blockIndicator note"> -<p><strong>Примечание:</strong> Помните, что вы можете получить неожиданный результат при использовании большого радиуса: соединтельная линия дуги будет идти в любом направлении, в котором она должна соответствовать указанному радиусу.</p> +<p><strong>Примечание:</strong> Помните, что вы можете получить неожиданный результат при использовании большого радиуса: соединительная линия дуги будет идти в любом направлении, в котором она должна соответствовать указанному радиусу.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> @@ -41,7 +41,7 @@ translation_of: Web/API/CanvasRenderingContext2D/arcTo <h3 id="Как_работает_arcTo">Как работает arcTo</h3> -<p>Один из способов понять как работает <code>arcTo()</code> - представить две прямые линии: одна идёт от начальной точки к первой контрольной точке, а вторая от этой точки до второй контрольной точки. Без <code>arcTo()</code> эти два сегмента образовали бы остый угол: <code>arcTo()</code> cоздаёт дугу между этими двумя точками и сглаживает его. Другими словами, дуга является касательной для обеих линий.</p> +<p>Один из способов понять как работает <code>arcTo()</code> - представить две прямые линии: одна идёт от начальной точки к первой контрольной точке, а вторая от этой точки до второй контрольной точки. Без <code>arcTo()</code> эти два сегмента образовали бы острый угол: <code>arcTo()</code> создает дугу между этими двумя точками и сглаживает его. Другими словами, дуга является касательной для обеих линий.</p> <h4 id="HTML">HTML</h4> diff --git a/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html b/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html index b061088116..86ecbaf06d 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html @@ -22,7 +22,7 @@ translation_of: Web/API/CanvasRenderingContext2D/closePath <h3 id="Замкнутый_треугольник">Замкнутый треугольник</h3> -<p>В этом примере создаются две первые линии сторон треугольника с испоьзованием метода <code>lineTo()</code>. После чего метод <code>closePath()</code> заканчивает рисование треугольника, автоматически соединяя первую и последнюю точки фигуры (в данном случае треугольника).</p> +<p>В этом примере создаются две первые линии сторон треугольника с использованием метода <code>lineTo()</code>. После чего метод <code>closePath()</code> заканчивает рисование треугольника, автоматически соединяя первую и последнюю точки фигуры (в данном случае треугольника).</p> <h4 id="HTML">HTML</h4> diff --git a/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html b/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html index 17b037d4f0..62fe8e6913 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html @@ -18,7 +18,7 @@ translation_of: Web/API/CanvasRenderingContext2D/ellipse <pre class="syntaxbox notranslate">void <em>ctx</em>.ellipse(<em>x</em>, <em>y</em>, <em>radiusX</em>, <em>radiusY</em>, <em>rotation</em>, <em>startAngle</em>, <em>endAngle</em> [, <em>anticlockwise</em>]); </pre> -<p><code>ellipse()</code> - метод, который создает эллиптическую дугу с центром в точках <code>(x, y)</code> с радиусом <code>radiusX</code> и <code>radiusY</code>. Путь начинается от точки <code>startAngle</code> и заканчивается в точке <code>endAngle</code>, идет по направлению, казанному в параметре (по часовай срелке или против нее) <code>anticlockwise</code> .</p> +<p><code>ellipse()</code> - метод, который создает эллиптическую дугу с центром в точках <code>(x, y)</code> с радиусом <code>radiusX</code> и <code>radiusY</code>. Путь начинается от точки <code>startAngle</code> и заканчивается в точке <code>endAngle</code>, идет по направлению, казанному в параметре (по часовой стрелке или против нее) <code>anticlockwise</code> .</p> <h3 id="Параметры">Параметры</h3> diff --git a/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html b/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html index 791c8fed7c..a0df2eb821 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/fillstyle/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/CanvasRenderingContext2D/fillStyle --- <div>{{APIRef}}</div> -<p>Свойство <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fillStyle</code></strong>, предосталяемое <a href="/ru/docs/Web/API/Canvas_API">Canvas 2D API</a>, задает цвет или стиль, используемый при заливке фигур. По умолчанию установлено значение <code>#000</code> (черный цвет).</p> +<p>Свойство <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.fillStyle</code></strong>, предоставляемое <a href="/ru/docs/Web/API/Canvas_API">Canvas 2D API</a>, задает цвет или стиль, используемый при заливке фигур. По умолчанию установлено значение <code>#000</code> (черный цвет).</p> <div class="blockIndicator note"> <p>См. также главу <a href="/en-US/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors">Applying styles and color</a> в <a href="/en-US/docs/Web/API/Canvas_API/Tutorial">Canvas Tutorial</a>.</p> @@ -109,7 +109,7 @@ for (let i = 0; i < 6; i++) { <h3 id="Особенности_WebKitBlink">Особенности WebKit/Blink</h3> -<p>В браузерах на базе Webkit и Blink помимо этого свойства, также поддержвается нестадартный метод <code>ctx.setFillColor()</code>.</p> +<p>В браузерах на базе Webkit и Blink помимо этого свойства, также поддерживается нестандартный метод <code>ctx.setFillColor()</code>.</p> <pre class="brush: js">setFillColor(color, optional alpha); setFillColor(grayLevel, optional alpha); diff --git a/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html b/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html index 112e89985f..3588bafacf 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/filltext/index.html @@ -23,11 +23,11 @@ translation_of: Web/API/CanvasRenderingContext2D/fillText <dl> <dt><code>x</code></dt> - <dd>Коодрдината левой нижней точки текста по оси x.</dd> + <dd>Координата левой нижней точки текста по оси x.</dd> <dt><code>y</code></dt> - <dd>Коодрдината левой нижней точки текста по оси y.</dd> + <dd>Координата левой нижней точки текста по оси y.</dd> <dt><code>maxWidth</code> {{optional_inline}}</dt> - <dd>Максимальная ширина текста. Если ширина надписи больше параметра, текст масштабируется по горизонатли, или, если это невозможно (надпись становится нечитамой), уменьшается размер шрифта.</dd> + <dd>Максимальная ширина текста. Если ширина надписи больше параметра, текст масштабируется по горизонтали, или, если это невозможно (надпись становится нечитаемой), уменьшается размер шрифта.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/canvasrenderingcontext2d/font/index.html b/files/ru/web/api/canvasrenderingcontext2d/font/index.html index 0f61487769..04df0aabd2 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/font/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/font/index.html @@ -20,14 +20,14 @@ translation_of: Web/API/CanvasRenderingContext2D/font <dl> <dt><code>value</code></dt> - <dd>Строка {{domxref("DOMString")}} с разобранным CSS {{cssxref("font")}} значением. Значение по-умолчанию – "10px sans-serif".</dd> + <dd>Строка {{domxref("DOMString")}} с разобранным CSS {{cssxref("font")}} значением. Значение по умолчанию – "10px sans-serif".</dd> </dl> <h2 id="Примеры">Примеры</h2> <h3 id="Использование_пользовательского_шрифта">Использование пользовательского шрифта</h3> -<p>Этот пример задает в своействе <code>font</code> другие <code>font-size</code> и <code>font-family</code>.</p> +<p>Этот пример задает в свойстве <code>font</code> другие <code>font-size</code> и <code>font-family</code>.</p> <h4 id="HTML">HTML</h4> diff --git a/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html b/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html index 8d1ad2b626..ec3adafad1 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/getlinedash/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/CanvasRenderingContext2D/getLineDash <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>{{jsxref("Array")}} (массив) чисел которые обозначают расстояния рисования линий и разрывов (в еденицах пространства координат). Если число заданных элементов нечетное, то заданные элементы массива копируются и суммируются. Например, установив штрихи линии как <code>[5, 15, 25]</code> в результате мы получим <code>[5, 15, 25, 5, 15, 25]</code>.</p> +<p>{{jsxref("Array")}} (массив) чисел которые обозначают расстояния рисования линий и разрывов (в единицах пространства координат). Если число заданных элементов нечетное, то заданные элементы массива копируются и суммируются. Например, установив штрихи линии как <code>[5, 15, 25]</code> в результате мы получим <code>[5, 15, 25, 5, 15, 25]</code>.</p> <h2 id="Примеры">Примеры</h2> @@ -28,7 +28,7 @@ translation_of: Web/API/CanvasRenderingContext2D/getLineDash <h4 id="JavaScript">JavaScript</h4> -<p>Используя {{domxref("CanvasRenderingContext2D.setLineDash()", "setLineDash()")}} задано, что шрихи состоят из отрезков в 10 еденииц и разрывами между ними в 20 едениц.</p> +<p>Используя {{domxref("CanvasRenderingContext2D.setLineDash()", "setLineDash()")}} задано, что штрихи состоят из отрезков в 10 единиц и разрывами между ними в 20 единиц.</p> <pre class="brush: js; highlight:[5]">const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); diff --git a/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html b/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html index 452657ae7b..f9ec551915 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/globalalpha/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/CanvasRenderingContext2D/globalAlpha <dl> <dt><code>value</code></dt> - <dd>Число между <code>0.0</code> (полная прозрачность) и <code>1.0</code> (полная непрозрачность), включительно. Дефолтное значение <code>1.0</code>. Значение, не входящее в указанный диапазон, включая {{jsxref("Infinity")}} и {{jsxref("NaN")}}, не будут применены, и <code>globalAlpha</code> сохранит предыдущее значение или значение по-умолчанию.</dd> + <dd>Число между <code>0.0</code> (полная прозрачность) и <code>1.0</code> (полная непрозрачность), включительно. Дефолтное значение <code>1.0</code>. Значение, не входящее в указанный диапазон, включая {{jsxref("Infinity")}} и {{jsxref("NaN")}}, не будут применены, и <code>globalAlpha</code> сохранит предыдущее значение или значение по умолчанию.</dd> </dl> <h2 id="Примеры">Примеры</h2> @@ -62,7 +62,7 @@ ctx.fillRect(50, 50, 100, 100); <h3 id="Наложение_прозрачных_фигур">Наложение прозрачных фигур</h3> -<p>Этот пример демонстрирует эффект наложения нескольних прозрачных фигур друг на друга. Мы начнем с отрисовки непрозрачного фона, состоящего из четырех разноцветных квадратов. Далее мы устанавливаем свойство <code>globalAlpha</code> равное <code>0.2</code> (20% прозрачности); Уровень прозрачности будет применен ко всем прозрачным фигурам. Затем мы используем цикл <code>for</code> для отрисовки нескольких кругов с увеличивающимися радиусами.</p> +<p>Этот пример демонстрирует эффект наложения нескольких прозрачных фигур друг на друга. Мы начнем с отрисовки непрозрачного фона, состоящего из четырех разноцветных квадратов. Далее мы устанавливаем свойство <code>globalAlpha</code> равное <code>0.2</code> (20% прозрачности); Уровень прозрачности будет применен ко всем прозрачным фигурам. Затем мы используем цикл <code>for</code> для отрисовки нескольких кругов с увеличивающимися радиусами.</p> <p>Для каждого нового круга прозрачность кругов, находящихся под ним, уменьшается. Если вы увеличите количество шагов, тем самым увеличив количество кругов, фон в конечном итоге полностью исчезнет в центре изображения.</p> diff --git a/files/ru/web/api/canvasrenderingcontext2d/index.html b/files/ru/web/api/canvasrenderingcontext2d/index.html index a683704e3a..ba7e559918 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/index.html @@ -199,7 +199,7 @@ ctx.fillRect(10, 10, 55, 50); <dl> <dt>{{domxref("CanvasRenderingContext2D.globalAlpha")}}</dt> - <dd>Значение альфа-канала, применяемое к формам и изображениям, прежде чем они накладываются на холст. Значение по умолчанию <code>1.0</code> (полностью непрозначный).</dd> + <dd>Значение альфа-канала, применяемое к формам и изображениям, прежде чем они накладываются на холст. Значение по умолчанию <code>1.0</code> (полностью непрозрачный).</dd> <dt>{{domxref("CanvasRenderingContext2D.globalCompositeOperation")}}</dt> <dd>Совместно с примененным <code>globalAlpha</code> это свойство определяет как формы и изображения накладываются на существующее изображение.</dd> </dl> @@ -296,7 +296,7 @@ ctx.fillRect(10, 10, 55, 50); <dl> <dt>{{non-standard_inline}} <code>CanvasRenderingContext2D.getContextAttributes()</code></dt> - <dd>По аналогии с аналогичным методом класса <code>WebGLRenderingContext</code>, возвращает объект <code>Canvas2DContextAttributes</code>, который содержит аттрибуты "storage", показывающие какое хранилище используется (по умолчанию "persistent") и аттрибут "alpha" (<code>true</code> по умолчанию), показывающий используется ли прозрачность на холсте.</dd> + <dd>По аналогии с аналогичным методом класса <code>WebGLRenderingContext</code>, возвращает объект <code>Canvas2DContextAttributes</code>, который содержит атрибуты "storage", показывающие какое хранилище используется (по умолчанию "persistent") и атрибут "alpha" (<code>true</code> по умолчанию), показывающий используется ли прозрачность на холсте.</dd> <dt>{{non-standard_inline}} <code>CanvasRenderingContext2D.isContextLost()</code></dt> <dd>По аналогии с аналогичным методом класса <code>WebGLRenderingContext</code>, возвращает <code>true</code> если контекст canvas был потерян, <code>иначе false</code>.</dd> </dl> @@ -372,7 +372,7 @@ ctx.fillRect(10, 10, 55, 50); <table class="standard-table"> <tbody> <tr> - <th scope="col">Cпецификация</th> + <th scope="col">Спецификация</th> <th scope="col">Статус</th> <th scope="col">Комментарии</th> </tr> diff --git a/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html b/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html index e4d59a184d..60b93d518e 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/linecap/index.html @@ -60,7 +60,7 @@ ctx.stroke();</pre> <p>В примере нарисованы три линии с разными значениями <code>lineCap</code>. Для наглядности мы добавим две направляющие. Каждая линия будет начинаться и заканчиваться этими направляющими.</p> -<p>Левая линия будет использовать значение lineCap <code>"butt"</code>. Она не будет выходить за направляющие. Средняя линия будет нарисована со занчением lineCap <code>"round"</code>. За направляющие будут выходить полукруги с диаметром равным толщине линии. Правая линия будет использовать значение <code>"square"</code>. Она будет выходить за направляющие на поля с шириной равной толщине линии и высотой равной половине толщины.</p> +<p>Левая линия будет использовать значение lineCap <code>"butt"</code>. Она не будет выходить за направляющие. Средняя линия будет нарисована со значением lineCap <code>"round"</code>. За направляющие будут выходить полукруги с диаметром равным толщине линии. Правая линия будет использовать значение <code>"square"</code>. Она будет выходить за направляющие на поля с шириной равной толщине линии и высотой равной половине толщины.</p> <div class="hidden"> <pre class="brush: html"><canvas id="canvas" width="150" height="150"></canvas></pre> @@ -109,7 +109,7 @@ for (let i = 0; i < lineCap.length; i++) { </tbody> </table> -<h2 id="Совместиммоссть_с_браузерами">Совместиммоссть с браузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <div class="hidden"> <p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>and send us a pull request.</p> @@ -120,7 +120,7 @@ for (let i = 0; i < lineCap.length; i++) { <h3 id="Особенности_WebKitBlink">Особенности WebKit/Blink</h3> <ul> - <li>В браузерах на базе Webkit и Blink помимо этого свойства, также поддержвается нестадартный метод <code>ctx.setLineCap()</code>.</li> + <li>В браузерах на базе Webkit и Blink помимо этого свойства, также поддерживается нестандартный метод <code>ctx.setLineCap()</code>.</li> </ul> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html b/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html index 4f42131284..46de026437 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/linejoin/index.html @@ -23,13 +23,13 @@ translation_of: Web/API/CanvasRenderingContext2D/lineJoin <h3 id="Значения">Значения</h3> -<p>Свойство может принимать три значения: <code>round</code>, <code>bevel</code> и <code>miter</code>. По умолчанию установленно значение <code>miter</code>. Имейте ввиду, что свойство никак не повлияет на линии направленные в одну сторону, потому что не будет создана зона пересечения.</p> +<p>Свойство может принимать три значения: <code>round</code>, <code>bevel</code> и <code>miter</code>. По умолчанию установлено значение <code>miter</code>. Имейте ввиду, что свойство никак не повлияет на линии направленные в одну сторону, потому что не будет создана зона пересечения.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/237/Canvas_linejoin.png" style="float: right; height: 190px; width: 190px;"></p> <dl> <dt><code>round</code></dt> - <dd>Скругляет углы засчет добавления сектора с центром в точке пересечения линий и радиусом равным толщине линии.</dd> + <dd>Скругляет углы за счет добавления сектора с центром в точке пересечения линий и радиусом равным толщине линии.</dd> <dt><code>bevel</code></dt> <dd>"Срезает" угол, рисуя треугольник с вершинами в точке пересечения линий и крайних точках каждой линии.</dd> <dt><code>miter</code></dt> @@ -114,7 +114,7 @@ for (let i = 0; i < lineJoin.length; i++) { </tbody> </table> -<h2 id="Совместимость_с_брузерами">Совместимость с брузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <p> </p> @@ -130,7 +130,7 @@ for (let i = 0; i < lineJoin.length; i++) { <ul> <li> - <p>В<span id="cke_bm_84C" class="hidden"> </span> браузерах на базе Webkit и Blink помимо этого свойства, также поддержвается нестадартный метод <code>ctx.setLineJoin()</code>.</p> + <p>В<span id="cke_bm_84C" class="hidden"> </span> браузерах на базе Webkit и Blink помимо этого свойства, также поддерживается нестандартный метод <code>ctx.setLineJoin()</code>.</p> </li> </ul> diff --git a/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html b/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html index b09732cc5e..5f1b527e35 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/lineto/index.html @@ -9,9 +9,9 @@ translation_of: Web/API/CanvasRenderingContext2D/lineTo --- <div>{{APIRef}}</div> -<p><code><strong>lineTo()</strong></code> - метод {{domxref("CanvasRenderingContext2D")}}, часть Canvas 2D API, добавляет линию к текущему под пути с конечной точкой с короординатами <code>(x, y)</code>.</p> +<p><code><strong>lineTo()</strong></code> - метод {{domxref("CanvasRenderingContext2D")}}, часть Canvas 2D API, добавляет линию к текущему под пути с конечной точкой с координатами <code>(x, y)</code>.</p> -<p>Сам метод ничего не рисует, он лишь добавляет подпуть к текущему пути, предоствляя его таким методам, как {{domxref("CanvasRenderingContext2D.fill", "fill()")}} и {{domxref("CanvasRenderingContext2D.stroke", "stroke()")}}, отрисовывающим сам путь.</p> +<p>Сам метод ничего не рисует, он лишь добавляет подпуть к текущему пути, предоставляя его таким методам, как {{domxref("CanvasRenderingContext2D.fill", "fill()")}} и {{domxref("CanvasRenderingContext2D.stroke", "stroke()")}}, отрисовывающим сам путь.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html b/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html index e16000bc2d..08126dbb6d 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/linewidth/index.html @@ -137,7 +137,7 @@ window.addEventListener("load", drawCanvas); <table class="compat-table"> <tbody> <tr> - <th>Возожность</th> + <th>Возможность</th> <th>Android</th> <th>Chrome для Android</th> <th>Firefox Mobile (Gecko)</th> diff --git a/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html b/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html index eff9c60020..a09679cce0 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/strokestyle/index.html @@ -186,7 +186,7 @@ for (var i=0;i<6;i++){ <h2 id="Особенности_WebKitBlink">Особенности WebKit/Blink</h2> <ul> - <li>В браузерах на базе Webkit и Blink помимо этого свойства, также поддержвается нестадартный метод <code>ctx.setStrokeColor()</code>. + <li>В браузерах на базе Webkit и Blink помимо этого свойства, также поддерживается нестандартный метод <code>ctx.setStrokeColor()</code>. <pre class="brush: js">setStrokeColor(color, optional alpha); setStrokeColor(grayLevel, optional alpha); diff --git a/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html b/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html index 8df446d693..4f7390f7cb 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/stroketext/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/CanvasRenderingContext2D/strokeText --- <div>{{APIRef}}</div> -<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.strokeText(),</code></strong> предоставляемый Canvas 2D API, выполняет обводку заданного текста в заданной позиции (<em>x, y</em>). Если указан необязательный четвертый параметр, текст будет масштабироваться в соответветствие с указанной максимальной шириной.</p> +<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.strokeText(),</code></strong> предоставляемый Canvas 2D API, выполняет обводку заданного текста в заданной позиции (<em>x, y</em>). Если указан необязательный четвертый параметр, текст будет масштабироваться в соответствие с указанной максимальной шириной.</p> <p>См. также метод {{domxref("CanvasRenderingContext2D.fillText()")}} для заливки контуров текста.</p> @@ -20,11 +20,11 @@ translation_of: Web/API/CanvasRenderingContext2D/strokeText <dt><code>text</code></dt> <dd>Текст, использующий для визуализации следующие свойства: {{domxref("CanvasRenderingContext2D.font","font")}}, {{domxref("CanvasRenderingContext2D.textAlign","textAlign")}}, {{domxref("CanvasRenderingContext2D.textBaseline","textBaseline")}} и {{domxref("CanvasRenderingContext2D.direction","direction")}}.</dd> <dt><code>x</code></dt> - <dd>Коодрдината левой нижней точки текста по оси x.</dd> + <dd>Координата левой нижней точки текста по оси x.</dd> <dt><code>y</code></dt> - <dd>Коодрдината левой нижней точки текста по оси y.</dd> + <dd>Координата левой нижней точки текста по оси y.</dd> <dt><code>maxWidth</code> {{optional_inline}}</dt> - <dd>Максимальная ширина текста. Если ширина надписи больше параметра, текст масштабируется по горизонатли, или, если это невозможно (надпись становится нечитамой), уменьшается размер шрифта.</dd> + <dd>Максимальная ширина текста. Если ширина надписи больше параметра, текст масштабируется по горизонтали, или, если это невозможно (надпись становится нечитаемой), уменьшается размер шрифта.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/canvasrenderingcontext2d/textbaseline/index.html b/files/ru/web/api/canvasrenderingcontext2d/textbaseline/index.html index 545cf211b5..8dd4445201 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/textbaseline/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/textbaseline/index.html @@ -39,7 +39,7 @@ translation_of: Web/API/CanvasRenderingContext2D/textBaseline <h3 id="Сравнение_значений_свойства">Сравнение значений свойства</h3> -<p>Этот пример демонстрирует различные значения свойства <code>textBaseline</code> и отображение линий при их приминениях.</p> +<p>Этот пример демонстрирует различные значения свойства <code>textBaseline</code> и отображение линий при их применениях.</p> <h4 id="HTML">HTML</h4> diff --git a/files/ru/web/api/characterdata/index.html b/files/ru/web/api/characterdata/index.html index 95d465f1b1..5c6d15ecdd 100644 --- a/files/ru/web/api/characterdata/index.html +++ b/files/ru/web/api/characterdata/index.html @@ -38,7 +38,7 @@ translation_of: Web/API/CharacterData <dt>{{domxref("ChildNode.remove()")}} {{experimental_inline}}</dt> <dd>Удаляет объект из its parent children списка.</dd> <dt>{{domxref("CharacterData.replaceData()")}}</dt> - <dd>Заменяет указанное количество символов, начиная с указанного отступа, с указанным {{domxref("DOMString")}}; после выполнения метода, данные(<code>data)</code> содержат измененый {{domxref("DOMString")}}.</dd> + <dd>Заменяет указанное количество символов, начиная с указанного отступа, с указанным {{domxref("DOMString")}}; после выполнения метода, данные(<code>data)</code> содержат изменений {{domxref("DOMString")}}.</dd> <dt>{{domxref("CharacterData.substringData()")}}</dt> <dd>Возвращает {{domxref("DOMString")}}, содержащую(ий) часть <code>CharacterData.data</code> указанной длины и начиная с указанного отступа.</dd> </dl> diff --git a/files/ru/web/api/childnode/remove/index.html b/files/ru/web/api/childnode/remove/index.html index ff5b20cc2d..5c4528f98e 100644 --- a/files/ru/web/api/childnode/remove/index.html +++ b/files/ru/web/api/childnode/remove/index.html @@ -36,9 +36,9 @@ elem.remove(); alert(document.querySelector("#box").innerHTML); //Исчез блок #one alert(elem); //Но как видите, сам объект еще жив</pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> -<p>Можно создать полифилл для IE 9 и выше, используя следующий код:</p> +<p>Можно создать полифил для IE 9 и выше, используя следующий код:</p> <pre class="brush: js">(function() { var arr = [window.Element, window.CharacterData, window.DocumentType]; diff --git a/files/ru/web/api/childnode/replacewith/index.html b/files/ru/web/api/childnode/replacewith/index.html index 6537d254c4..b4563085ff 100644 --- a/files/ru/web/api/childnode/replacewith/index.html +++ b/files/ru/web/api/childnode/replacewith/index.html @@ -50,7 +50,7 @@ console.log(parent.outerHTML); } // ReferenceError: replaceWith is not defined </pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Вы можете заполнить метод <code>replaceWith()</code> в Internet Explorer 10+ и выше следующим кодом:</p> diff --git a/files/ru/web/api/clipboardevent/index.html b/files/ru/web/api/clipboardevent/index.html index cf2d83a50f..6078feb5c0 100644 --- a/files/ru/web/api/clipboardevent/index.html +++ b/files/ru/web/api/clipboardevent/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/ClipboardEvent --- <p>{{APIRef("Clipboard API")}} {{SeeCompatTable}}</p> -<p>Интерфейс <strong><code>ClipboardEvent</code></strong> предствляет события, предоставляющие информацию, связанную с изменением буфера обмена, этими события являются {{event("cut")}}, {{event("copy")}} и {{event("paste")}}.</p> +<p>Интерфейс <strong><code>ClipboardEvent</code></strong> представляет события, предоставляющие информацию, связанную с изменением буфера обмена, этими события являются {{event("cut")}}, {{event("copy")}} и {{event("paste")}}.</p> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/web/api/console/count/index.html b/files/ru/web/api/console/count/index.html index c91f2fffe9..32304c274f 100644 --- a/files/ru/web/api/console/count/index.html +++ b/files/ru/web/api/console/count/index.html @@ -41,7 +41,7 @@ console.count();</pre> <p>Обратите внимание на итоговую строку вывода журнала: отдельный вызов count () в строке 11 рассматривается как независимое событие.</p> -<p>Если мы передадим переменную <code>user</code> в качестве аргумента <code>label</code> при первом вызове функции <code>count()</code>, aи строку "alice" при втором:</p> +<p>Если мы передадим переменную <code>user</code> в качестве аргумента <code>label</code> при первом вызове функции <code>count()</code>, и строку "alice" при втором:</p> <pre class="brush: js">var user = ""; @@ -75,7 +75,7 @@ console.count("alice");</pre> <dl> <dt><code>label</code></dt> - <dd>Строка. Если она передается, <code>count()</code> выводит такое число, которое сообветсвует количеству раз вызова данной функции с таким же точно <code>label</code>.</dd> + <dd>Строка. Если она передается, <code>count()</code> выводит такое число, которое соответствует количеству раз вызова данной функции с таким же точно <code>label</code>.</dd> </dl> <h2 id="Specifications">Specifications</h2> diff --git a/files/ru/web/api/console/countreset/index.html b/files/ru/web/api/console/countreset/index.html index b5bdb7e3b8..3725be4d9d 100644 --- a/files/ru/web/api/console/countreset/index.html +++ b/files/ru/web/api/console/countreset/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Console/countReset <p>Если аргумент <code>label</code> передан, то функция сбросит счетчик связанный с этим аргументом.</p> -<p>Если значение <code>label</code> опущено, то функция сбросит счетчик, заданый по умолчанию.</p> +<p>Если значение <code>label</code> опущено, то функция сбросит счетчик, заданий по умолчанию.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -24,7 +24,7 @@ translation_of: Web/API/Console/countReset <dt><code>label</code></dt> <dd>Строка.<br> Если аргумент label был передан, <code>countReset()</code> сбросит к 0 счетчик для этого label.<br> - Если нет, <code>count()</code> сбросит к 0 счетчик, заданый по умолчанию.</dd> + Если нет, <code>count()</code> сбросит к 0 счетчик, заданий по умолчанию.</dd> </dl> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> @@ -77,7 +77,7 @@ console.countReset();</pre> <p>Заметьте, что вызов console.counterReset() сбросил до 0 значение счетчика заданного по умолчанию.</p> -<p>Если мы присвоим переменную <code>user</code> как арумент <code>label</code> при первом вызове <code>count()</code>, и строку "alice" при втором:</p> +<p>Если мы присвоим переменную <code>user</code> как аргумент <code>label</code> при первом вызове <code>count()</code>, и строку "alice" при втором:</p> <pre class="brush: js">var user = ""; diff --git a/files/ru/web/api/console/debug/index.html b/files/ru/web/api/console/debug/index.html index 4bd3892b8d..cd9cbfc5f3 100644 --- a/files/ru/web/api/console/debug/index.html +++ b/files/ru/web/api/console/debug/index.html @@ -26,7 +26,7 @@ console.debug(<em>msg</em> [, <em>subst1</em>, ..., <em>substN</em>]); <dd>JavaScript-объекты, с помощью которых произойдёт замена подстановочных символов в <code>msg</code>. Это даст вам дополнительный контроль над форматом вывода. (см. {{SectionOnPage("/ru/docs/Web/API/Console", "Преобразование строк с использованием масок")}}).</dd> </dl> -<p>Читайте <a href="/ru/docs/Web/API/Console#Outputting_text_to_the_console">Вывод текста в консоль</a> в документаци {{domxref("console")}} для получения дополнительной информации.</p> +<p>Читайте <a href="/ru/docs/Web/API/Console#Outputting_text_to_the_console">Вывод текста в консоль</a> в документации {{domxref("console")}} для получения дополнительной информации.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/api/console/dirxml/index.html b/files/ru/web/api/console/dirxml/index.html index 02856c1dc8..8428b59f03 100644 --- a/files/ru/web/api/console/dirxml/index.html +++ b/files/ru/web/api/console/dirxml/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Console/dirxml <p style="margin-bottom: 0cm; line-height: 100%;"></p> -<h2 id="Синтакис">Синтакис</h2> +<h2 id="Синтаксис">Синтаксис</h2> <pre class="syntaxbox">console.dirxml(<em>object</em>); </pre> diff --git a/files/ru/web/api/console/error/index.html b/files/ru/web/api/console/error/index.html index 419e2637ba..05e0c71be0 100644 --- a/files/ru/web/api/console/error/index.html +++ b/files/ru/web/api/console/error/index.html @@ -122,7 +122,7 @@ console.exception(<em>msg</em> [, <em>subst1</em>, ..., <em>substN</em>]); <th>Safari Mobile</th> </tr> <tr> - <td>Базовая поодержка</td> + <td>Базовая поддержка</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoMobile("2.0")}}</td> diff --git a/files/ru/web/api/console/log/index.html b/files/ru/web/api/console/log/index.html index ba29cd2002..aad40b455d 100644 --- a/files/ru/web/api/console/log/index.html +++ b/files/ru/web/api/console/log/index.html @@ -71,7 +71,7 @@ console.log(<em>msg</em> [, <em>subst1</em>, ..., <em>substN</em>]); <li><code>console.dir</code> выводит элемент как JSON-объект</li> </ul> -<p>А именно, <code>console.log</code> даёт специальное обращение к DOM-элементам, тогда как <code>console.dir</code> - нет. Это особенно полезно, когда нужно видеть полное представление DOM JS-объетов.</p> +<p>А именно, <code>console.log</code> даёт специальное обращение к DOM-элементам, тогда как <code>console.dir</code> - нет. Это особенно полезно, когда нужно видеть полное представление DOM JS-объектов.</p> <p>Больше информации об этой и других функциях в <a href="https://developers.google.com/chrome-developer-tools/docs/console-api#consoledirobject">Chrome Console API reference</a>.</p> diff --git a/files/ru/web/api/console/table/index.html b/files/ru/web/api/console/table/index.html index f82a5e6858..ac40661d70 100644 --- a/files/ru/web/api/console/table/index.html +++ b/files/ru/web/api/console/table/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Console/table <p><code><font face="Open Sans, Arial, sans-serif">Данная функция принимает один обязательный аргумент </font>data</code>, который должен быть представлен в виде массива или объекта, и один дополнительный параметр <code>columns</code>.</p> -<p>функция логгирует аргумент <code>data</code> в виде таблицы. Каждый элемент массива (или каждое свойство, если <code>data -</code> это объект) будет представлять строку таблицы.</p> +<p>функция логирует аргумент <code>data</code> в виде таблицы. Каждый элемент массива (или каждое свойство, если <code>data -</code> это объект) будет представлять строку таблицы.</p> <p>Первая колонка таблицы будет озаглавлена как <code>(index)</code>. Если <code>data</code> представлена массивом, тогда значения первой колонки будут представлять индексы массива. Если <code>data <font face="Open Sans, Arial, sans-serif">-</font></code><code> объект</code>, тогда значения первой колонки будут представлять свойства объекта.</p> @@ -66,7 +66,7 @@ var emily = new Person("Emily", "Jones"); console.table([john, jane, emily]);</pre> -<p>Обратите внимание, что если массив состоит из объектов, колонки таблицы будут озаглавленны названиями свойств объекта.</p> +<p>Обратите внимание, что если массив состоит из объектов, колонки таблицы будут озаглавлены названиями свойств объекта.</p> <p><img alt="Table displaying array of objects" src="https://mdn.mozillademos.org/files/8563/console-table-array-of-objects.png"></p> @@ -84,9 +84,9 @@ console.table(family);</pre> <h3 id="Ограничение_видимости_колонок">Ограничение видимости колонок</h3> -<p>По умолчанию, <code>console.table()</code> отображает все элементы в каждой строке. Вы можете использовать опциональный параметер <code>columns</code> чтобы указать набор отображаемых колонок:</p> +<p>По умолчанию, <code>console.table()</code> отображает все элементы в каждой строке. Вы можете использовать опциональный параметр <code>columns</code> чтобы указать набор отображаемых колонок:</p> -<pre class="brush: js">// массив объектов, логгируется только свойство firstName +<pre class="brush: js">// массив объектов, логируется только свойство firstName function Person(firstName, lastName) { this.firstName = firstName; @@ -114,7 +114,7 @@ console.table([john, jane, emily], ["firstName"]);</pre> <dl> <dt><code>data</code></dt> - <dd>Данные для отображения. Могут быть представленны массивом или объектом.</dd> + <dd>Данные для отображения. Могут быть представлены массивом или объектом.</dd> <dt><code>columns</code></dt> <dd>Массив названий колонок, которые следует отобразить.</dd> </dl> diff --git a/files/ru/web/api/console/timeend/index.html b/files/ru/web/api/console/timeend/index.html index fd23031ed5..75773824ad 100644 --- a/files/ru/web/api/console/timeend/index.html +++ b/files/ru/web/api/console/timeend/index.html @@ -41,7 +41,7 @@ console.timeEnd("answer time");</pre> <p><img alt="timerresult.png" src="https://mdn.mozillademos.org/files/16741/timer_output.png"></p> -<p>Обратите внимение, что метка таймера отображается как при вызове <code>timeLog()</code>, так и завершении таймера. Кроме того, вызов timeEnd() выводит дополнительную информацию "timer ended", чтобы очевидно показать, что таймер больше не отслеживается.</p> +<p>Обратите внимание, что метка таймера отображается как при вызове <code>timeLog()</code>, так и завершении таймера. Кроме того, вызов timeEnd() выводит дополнительную информацию "timer ended", чтобы очевидно показать, что таймер больше не отслеживается.</p> <h2 id="Specification" name="Specification">Спецификация</h2> diff --git a/files/ru/web/api/console/timelog/index.html b/files/ru/web/api/console/timelog/index.html index 9b87553a7f..9c7139a97d 100644 --- a/files/ru/web/api/console/timelog/index.html +++ b/files/ru/web/api/console/timelog/index.html @@ -80,7 +80,7 @@ console.timeEnd("answer time"); <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <div> -<div class="hidden">Таблица совместимости сгенерирована из структуированных данных. Для внесения вклада, пожалуйста, изучите репозитарий <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> с последующей отправкой пулл-реквестов.</div> +<div class="hidden">Таблица совместимости сгенерирована из структурированных данных. Для внесения вклада, пожалуйста, изучите репозиторий <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> с последующей отправкой пул-реквестов.</div> <p>{{Compat("api.Console.timeLog")}}</p> </div> diff --git a/files/ru/web/api/console/timestamp/index.html b/files/ru/web/api/console/timestamp/index.html index 9bd67bdc27..f0a8cafba6 100644 --- a/files/ru/web/api/console/timestamp/index.html +++ b/files/ru/web/api/console/timestamp/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/Console/timeStamp --- <p>{{APIRef("Console API")}}{{Non-standard_header}}</p> -<p>Добавляет маркер в браузерные инструменты <a href="https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference">Performance</a> или <a href="https://developer.mozilla.org/en-US/docs/Tools/Performance/Waterfall">Waterfall</a>. Это помогает соотнести точку в вашем коде с другми записанными событиями.</p> +<p>Добавляет маркер в браузерные инструменты <a href="https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference">Performance</a> или <a href="https://developer.mozilla.org/en-US/docs/Tools/Performance/Waterfall">Waterfall</a>. Это помогает соотнести точку в вашем коде с другими записанными событиями.</p> diff --git a/files/ru/web/api/console_api/index.html b/files/ru/web/api/console_api/index.html index 09ca028cb3..f79ad3818b 100644 --- a/files/ru/web/api/console_api/index.html +++ b/files/ru/web/api/console_api/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/Console_API --- <div>{{DefaultAPISidebar("Console API")}}</div> -<div><span class="seoSummary">Console API обеспечивает функциональность, которая позволяет разработчикам выполнять задачи по отладке, такие как логгирование сообщений или значений переменных в определённых местах кода, измерение времени, требуемое на выполнение задачи</span></div> +<div><span class="seoSummary">Console API обеспечивает функциональность, которая позволяет разработчикам выполнять задачи по отладке, такие как логирование сообщений или значений переменных в определённых местах кода, измерение времени, требуемое на выполнение задачи</span></div> <h2 id="Понятие_и_использование">Понятие и использование</h2> @@ -20,7 +20,7 @@ translation_of: Web/API/Console_API <li><a href="https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/Console/Console.html">Safari DevTools implementation</a></li> </ul> -<p>Использование крайне простое — объект {{domxref("console")}} ({{domxref("window.console")}} в браузерах или {{domxref("WorkerGlobalScope.console")}} в Web Worker) содержит множество методов, которые вы можете вызвать для выполнения отлададки. В основном используется для вывода <a href="/ru/docs/Tools/Web_Console">веб-консоль</a> различных значений.</p> +<p>Использование крайне простое — объект {{domxref("console")}} ({{domxref("window.console")}} в браузерах или {{domxref("WorkerGlobalScope.console")}} в Web Worker) содержит множество методов, которые вы можете вызвать для выполнения отладки. В основном используется для вывода <a href="/ru/docs/Tools/Web_Console">веб-консоль</a> различных значений.</p> <p>Один из самых часто используемых методов {{domxref("console.log")}}, который используют для вывода текущего значения переменной.</p> @@ -28,7 +28,7 @@ translation_of: Web/API/Console_API <dl> <dt>{{domxref("console")}}</dt> - <dd>Обеспечивает простую функциональность для отладки. Включает в себя логгирование, трассировку, таймеры и счётчики.</dd> + <dd>Обеспечивает простую функциональность для отладки. Включает в себя логирование, трассировку, таймеры и счётчики.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/credential_management_api/index.html b/files/ru/web/api/credential_management_api/index.html index 5d4036b042..ca89368687 100644 --- a/files/ru/web/api/credential_management_api/index.html +++ b/files/ru/web/api/credential_management_api/index.html @@ -20,7 +20,7 @@ translation_of: Web/API/Credential_Management_API <p>Этот API позволяет веб-сайтам взаимодействовать с системой паролей пользовательского агента (user agent’s password system), чтобы веб-сайты могли одинаково работать с учетными данными сайта, а пользовательские агенты могли оказывать лучшую поддержку в управлении своими учетными данными. Например, пользовательским агентам особенно трудно иметь дело с федеративными поставщиками удостоверений или эзотерическими механизмами входа (esoteric sign-in), которые используют больше данных, чем просто имя пользователя и пароль. Для решения этих проблем API предоставляет веб-сайту способы хранения и извлечения различных типов учетных данных. Это дает пользователям такие возможности, как просмотр федеративной учетной записи, которую они использовали для входа на сайт, или возобновление сеанса без явного потока входа в систему с истекшим сроком действия.</p> <div class="note"> -<p>Этот API ограничен контекстами верхнего уровня. Вызовы <code>get()</code> и <code>store()</code> внутри элемента <code><iframe></code> вполнятся без эффекта.</p> +<p>Этот API ограничен контекстами верхнего уровня. Вызовы <code>get()</code> и <code>store()</code> внутри элемента <code><iframe></code> выполняться без эффекта.</p> </div> <h3 id="Учетные_данные_общие_для_поддомена">Учетные данные, общие для поддомена</h3> diff --git a/files/ru/web/api/crypto/index.html b/files/ru/web/api/crypto/index.html index 87ea3710d5..d76d04825c 100644 --- a/files/ru/web/api/crypto/index.html +++ b/files/ru/web/api/crypto/index.html @@ -10,7 +10,7 @@ translation_of: Web/API/Crypto --- <p>{{APIRef("Web Crypto API")}}</p> -<p>Интерфейс <code><strong>Crypto</strong></code> представляет базовые криптографические функции, доступные в общеупотребительном контексте. Он позволяет получить доступ к криптографически сильному генеретору случайных чисел и к криптографическим примитивам.</p> +<p>Интерфейс <code><strong>Crypto</strong></code> представляет базовые криптографические функции, доступные в общеупотребительном контексте. Он позволяет получить доступ к криптографически сильному генератору случайных чисел и к криптографическим примитивам.</p> <p>Объект с этим интерфейсом доступен в Web-контексте через свойство {{domxref("Window.crypto")}}.</p> @@ -20,7 +20,7 @@ translation_of: Web/API/Crypto <dl> <dt>{{domxref("Crypto.subtle")}} {{experimental_inline}}{{readOnlyInline}}</dt> - <dd>Возвращает объект {{domxref("SubtleCrypto")}}, предоставляющий доступ к часто используемым криптографическим примитивам, таким как хэширование, цифровые подписи, шифрование и расшифрование.</dd> + <dd>Возвращает объект {{domxref("SubtleCrypto")}}, предоставляющий доступ к часто используемым криптографическим примитивам, таким как хэширование, цифровые подписи, шифрование и расшифрованные.</dd> </dl> <h2 id="Методы">Методы</h2> diff --git a/files/ru/web/api/cryptokeypair/index.html b/files/ru/web/api/cryptokeypair/index.html index 6a9c82fa3d..ba6207828a 100644 --- a/files/ru/web/api/cryptokeypair/index.html +++ b/files/ru/web/api/cryptokeypair/index.html @@ -19,7 +19,7 @@ translation_of: Web/API/CryptoKeyPair <dl> <dt><code>CryptoKeyPair.privateKey</code></dt> - <dd>Объект <code><a href="/en-US/docs/Web/API/CryptoKey">CryptoKey</a></code>, представляющее приватный ключ. В криптографических алгоритмах используется для разшифровывания и подписи.</dd> + <dd>Объект <code><a href="/en-US/docs/Web/API/CryptoKey">CryptoKey</a></code>, представляющее приватный ключ. В криптографических алгоритмах используется для расшифровывания и подписи.</dd> <dt><code>CryptoKeyPair.publicKey</code></dt> <dd>Объект <code><a href="/en-US/docs/Web/API/CryptoKey">CryptoKey</a></code>, представляющее публичный ключ. В криптографических алгоритмах используется для зашифровывания и проверки подлинности подписи.</dd> </dl> diff --git a/files/ru/web/api/css/index.html b/files/ru/web/api/css/index.html index 7d03faadb5..3238b951a3 100644 --- a/files/ru/web/api/css/index.html +++ b/files/ru/web/api/css/index.html @@ -5,15 +5,15 @@ translation_of: Web/API/CSS --- <div>{{APIRef("CSSOM")}}</div> -<p>Интерфейс <code><strong>CSS</strong></code> имеет полезные CSS-связанные методы. нет объекта реализованного с этим интерфейсом: он содержит только статичиские методы и, следовательно, является утилитарным интерфейсом.</p> +<p>Интерфейс <code><strong>CSS</strong></code> имеет полезные CSS-связанные методы. нет объекта реализованного с этим интерфейсом: он содержит только статические методы и, следовательно, является утилитарным интерфейсом.</p> <h2 id="Свойства">Свойства</h2> -<p><em>Интерфейс CSS это утилитарный интерфейс и не имеет объектов этого типа которые могут быть созданы: только статитеские методы определены в нем.</em></p> +<p><em>Интерфейс CSS это утилитарный интерфейс и не имеет объектов этого типа которые могут быть созданы: только статические методы определены в нем.</em></p> <h2 id="Методы">Методы</h2> -<p><em>Интерфейс CSS это утилитарный интерфейс и не имеет объектов этого типа которые могут быть созданы: только статитеские методы определены в нем.</em></p> +<p><em>Интерфейс CSS это утилитарный интерфейс и не имеет объектов этого типа которые могут быть созданы: только статические методы определены в нем.</em></p> <h2 id="Статические_методы">Статические методы</h2> @@ -21,7 +21,7 @@ translation_of: Web/API/CSS <dl> <dt>{{domxref("CSS.supports()")}}</dt> - <dd>Возвращает {{domxref("Boolean")}} показывающие или свойство <em>property-value</em>, или состояние, даюющее в параметре поддерживаемые.</dd> + <dd>Возвращает {{domxref("Boolean")}} показывающие или свойство <em>property-value</em>, или состояние, дающее в параметре поддерживаемые.</dd> </dl> <dl> diff --git a/files/ru/web/api/cssrule/index.html b/files/ru/web/api/cssrule/index.html index dcdb8381d1..5a88b7c8c2 100644 --- a/files/ru/web/api/cssrule/index.html +++ b/files/ru/web/api/cssrule/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/CSSRule <p>Интерфейс CSSRule определяет общие свойства для всех правил, в то время как свойства характерные только для определенных типов правил указаны в более специализированных интерфейсах для соответствующих типов этих правил.</p> -<p>Ссылки на CSSRule выможете получить на странице {{domxref ("CSSStyleSheet")}} список cssRules.</p> +<p>Ссылки на CSSRule вы можете получить на странице {{domxref ("CSSStyleSheet")}} список cssRules.</p> <h2 id="Общие_свойства_для_всех_экземпляров_CSSRule">Общие свойства для всех экземпляров CSSRule</h2> diff --git a/files/ru/web/api/cssstyledeclaration/index.html b/files/ru/web/api/cssstyledeclaration/index.html index b82c28990e..78e34cc76f 100644 --- a/files/ru/web/api/cssstyledeclaration/index.html +++ b/files/ru/web/api/cssstyledeclaration/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/CSSStyleDeclaration <li>Через {{domxref ("Window.getComputedStyle ()")}}, который предоставляет объект <code>CSSStyleDeclaration</code> в качестве интерфейса только для чтения.</li> </ul> -<h2 id="Аттрибуты">Аттрибуты</h2> +<h2 id="Атрибуты">Атрибуты</h2> <dl> <dt>{{domxref("CSSStyleDeclaration.cssText")}}</dt> diff --git a/files/ru/web/api/cssvalue/index.html b/files/ru/web/api/cssvalue/index.html index 168f152849..cf873e10bd 100644 --- a/files/ru/web/api/cssvalue/index.html +++ b/files/ru/web/api/cssvalue/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/CSSValue --- <div>{{APIRef("DOM")}}</div> -<p>Интерфейс <code><strong>CSSValue</strong></code> возвращает текущее вычсленное значение CSS-свойства. </p> +<p>Интерфейс <code><strong>CSSValue</strong></code> возвращает текущее вычисленное значение CSS-свойства. </p> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/web/api/datatransfer/index.html b/files/ru/web/api/datatransfer/index.html index e811476965..c909dd1595 100644 --- a/files/ru/web/api/datatransfer/index.html +++ b/files/ru/web/api/datatransfer/index.html @@ -96,7 +96,7 @@ translation_of: Web/API/DataTransfer <p>Для событий <strong>dragenter</strong> и <strong>dragover</strong>, <strong>dropEffect</strong> будет инициализировано значением, зависящим от того, какое действие запрашивает пользователь. То, как это определяется, зависит от платформы, но, как правило, пользователи могут зажать клавиши-модификаторы для выбора желаемого действия. В обработчике событий для <strong>dragenter</strong> и <strong>dragover</strong>, <strong>dropEffect</strong> следует модифицировать, если запрашиваемое пользователем действие не то, которое требовалось.</p> -<p>Для событий <strong>dragstart</strong>, <strong>drag</strong>, и <strong>dragleave</strong>,<strong> dropEffect</strong> будет инициализировано значением "none". Cвойству <strong>dropEffect</strong> можно присвоить любое значение, но оно не будет ни для чего использоваться.</p> +<p>Для событий <strong>dragstart</strong>, <strong>drag</strong>, и <strong>dragleave</strong>,<strong> dropEffect</strong> будет инициализировано значением "none". Свойства <strong>dropEffect</strong> можно присвоить любое значение, но оно не будет ни для чего использоваться.</p> <p>Для событий <strong>drop</strong> и <strong>dragend</strong>, <strong>dropEffect</strong> будет инициализировано значением, которое было назначено свойству <strong>dropEffect</strong> после последнего события <strong>dragenter</strong> или <strong>dragover</strong>.</p> @@ -113,7 +113,7 @@ translation_of: Web/API/DataTransfer <h3 id="effectAllowed.28.29" name="effectAllowed.28.29">effectAllowed</h3> -<p>Определяет эффекты, которые разрешены для этого перетаскивания (дрэг). Вы можете указать их в собитии <code>dragstart </code>чтобы желаемый эффект сработал на перетаскиваемом элементе (что перетаскиваем), или в событии <code>dragenter </code>и<code> dragenter </code>чтобы желаемый эффект сработал для цели перетаскивания (куда перетаскиваем). В других событиях значение не используется.</p> +<p>Определяет эффекты, которые разрешены для этого перетаскивания (дрэг). Вы можете указать их в событии <code>dragstart </code>чтобы желаемый эффект сработал на перетаскиваемом элементе (что перетаскиваем), или в событии <code>dragenter </code>и<code> dragenter </code>чтобы желаемый эффект сработал для цели перетаскивания (куда перетаскиваем). В других событиях значение не используется.</p> <p>Возможные значения:</p> diff --git a/files/ru/web/api/document/activeelement/index.html b/files/ru/web/api/document/activeelement/index.html index b28755df42..c4ff0f1248 100644 --- a/files/ru/web/api/document/activeelement/index.html +++ b/files/ru/web/api/document/activeelement/index.html @@ -13,7 +13,7 @@ original_slug: Web/API/DocumentOrShadowRoot/activeElement --- <p>{{ ApiRef() }}</p> -<h2 id="Summary" name="Summary">Анотация</h2> +<h2 id="Summary" name="Summary">Аннотация</h2> <p>Возвращает текущий сфокусированный элемент, то есть элемент, на котором будут вызываться события клавиатуры, если пользователь начнёт с неё ввод. Этот атрибут доступен только для чтения.</p> diff --git a/files/ru/web/api/document/alinkcolor/index.html b/files/ru/web/api/document/alinkcolor/index.html index 30ae4fccc9..302476d213 100644 --- a/files/ru/web/api/document/alinkcolor/index.html +++ b/files/ru/web/api/document/alinkcolor/index.html @@ -19,7 +19,7 @@ document.alinkColor = <em>color</em> <p>Color - строка, содержащая имя цвета (например, <code>blue</code>, <code>dark blue</code> и т.д.) или шестнадцатеричное значение цвета(<code>#0000FF</code>)</p> -<h2 id="Notes" name="Notes">Примичание</h2> +<h2 id="Notes" name="Notes">Примечание</h2> <p>Значение по умолчанию для этого свойства в Mozilla Firefox является красным (<code>#ee0000</code> в шестнадцатеричном формате).</p> @@ -27,7 +27,7 @@ document.alinkColor = <em>color</em> <p>Другой альтернативой является document.body.aLink, хотя это <a href="http://www.w3.org/TR/html401/struct/global.html#adef-alink">устарело в HTML 4.01</a> в пользу альтернативы CSS.</p> -<p><a href="en/Gecko">Gecko</a> подерживает оба варианта <code>alinkColor</code>/<code>:active</code> and {{ Cssxref(":focus") }}. Internet Explorer 6 и 7 подерживает <code>alinkColor</code>/<code>:active</code> только для<a href="en/HTML/Element/a"> HTML ссылок с якорем (<a>)</a> и поведение у них такое же, как <code>:focus</code> в Gecko. В IE нет поддержки :focus.</p> +<p><a href="en/Gecko">Gecko</a> поддерживает оба варианта <code>alinkColor</code>/<code>:active</code> and {{ Cssxref(":focus") }}. Internet Explorer 6 и 7 поддерживает <code>alinkColor</code>/<code>:active</code> только для<a href="en/HTML/Element/a"> HTML ссылок с якорем (<a>)</a> и поведение у них такое же, как <code>:focus</code> в Gecko. В IE нет поддержки :focus.</p> <h2 id="Браузерная_поддержка">Браузерная поддержка</h2> diff --git a/files/ru/web/api/document/all/index.html b/files/ru/web/api/document/all/index.html index 2922af874e..95af966445 100644 --- a/files/ru/web/api/document/all/index.html +++ b/files/ru/web/api/document/all/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Document/all <h3 id="Параметры">Параметры</h3> -<p>В {{DOMxRef("HTMLAllCollection")}} содержится все узелы в документе.</p> +<p>В {{DOMxRef("HTMLAllCollection")}} содержится все узлы в документе.</p> <h2 id="Спецификации">Спецификации</h2> @@ -30,7 +30,7 @@ translation_of: Web/API/Document/all <td>{{SpecName('HTML WHATWG', 'obsolete.html#dom-document-all', 'all')}}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td>Первоначальное определение.<br> - Устаревший и находится вустаревшем разделе API.</td> + Устаревший и находится в устаревшем разделе API.</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/document/bgcolor/index.html b/files/ru/web/api/document/bgcolor/index.html index 60d802621a..f4474bed44 100644 --- a/files/ru/web/api/document/bgcolor/index.html +++ b/files/ru/web/api/document/bgcolor/index.html @@ -20,7 +20,7 @@ document.bgColor =<em>color</em> <h3 id="Параметры">Параметры</h3> <ul> - <li><code>color</code> это строка представляющая цвет или в виде слова (например <code>red</code>) или шестнадцатиричного значения (т.е. "<code>#ff0000</code>").</li> + <li><code>color</code> это строка представляющая цвет или в виде слова (например <code>red</code>) или шестнадцатеричного значения (т.е. "<code>#ff0000</code>").</li> </ul> <h2 id="Пример">Пример</h2> @@ -30,7 +30,7 @@ document.bgColor =<em>color</em> <h2 id="Примечание">Примечание</h2> -<p>В Firefox это поле по умолчанию содержит белый цвет (<code>#ffffff</code> в шестнадцатиричном виде).</p> +<p>В Firefox это поле по умолчанию содержит белый цвет (<code>#ffffff</code> в шестнадцатеричном виде).</p> <p><code>Поле document.bgColor</code> признано устаревшим в <a class="external" href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268">DOM Level 2 HTML</a>. В качестве альтернативы рекомендуется использовать CSS стиль {{Cssxref("background-color")}} который доступен через DOM как <code>document.body.style.backgroundColor</code>. Другой альтернативой доступа является <code>document.body.bgColor</code>, хотя этот вариант также признан устаревшим в HTML 4.01 и также рекомендуется использовать CSS.</p> diff --git a/files/ru/web/api/document/createelement/index.html b/files/ru/web/api/document/createelement/index.html index f233ecf007..7d2aab5f7a 100644 --- a/files/ru/web/api/document/createelement/index.html +++ b/files/ru/web/api/document/createelement/index.html @@ -23,7 +23,7 @@ original_slug: DOM/document.createElement </pre> <ul> - <li><code>element</code> — созданый объект <a href="../Web/API/Element">элемента</a>.</li> + <li><code>element</code> — созданный объект <a href="../Web/API/Element">элемента</a>.</li> <li><code>tagName</code> — строка, указывающая элемент какого типа должен быть создан. <a href="ru/DOM/element.nodeName">nodeName</a> создается и инициализируется со значением <code>tagName</code>.</li> <li> <p><code>options</code> — необязательный параметр, объект <code>ElementCreationOptions</code>, который может содержать только поле <code>is</code>, указывающее имя пользовательского элемента, созданного с помощью <code>customElements.define()</code> (см. <a href="/ru/docs/Web/Web_Components">Веб-компоненты</a>).</p> @@ -57,7 +57,7 @@ original_slug: DOM/document.createElement var newDiv = document.createElement("div"); newDiv.innerHTML = "<h1>Привет!</h1>"; - // Добавляем только что созданый элемент в дерево DOM + // Добавляем только что созданный элемент в дерево DOM my_div = document.getElementById("org_div1"); document.body.insertBefore(newDiv, my_div); @@ -70,7 +70,7 @@ original_slug: DOM/document.createElement <p>Если существуют атрибуты со значениями по умолчанию, атрибуты узлов предоставляющие их создаются автоматически и применяются к элементу.</p> -<p>Для создания элементов с заданым пространством имен используйте метод <a href="ru/DOM/document.createElementNS">createElementNS</a>.</p> +<p>Для создания элементов с заданным пространством имен используйте метод <a href="ru/DOM/document.createElementNS">createElementNS</a>.</p> <p>Реализация <code>createElement </code>в Gecko не соответствует DOM спецификации для XUL и XHTML документов: <code>localName</code> и <code>namespaceURI</code> не устанавливаются в <code>null</code> в созданном документе. Смотрите {{ Bug(280692) }} для подробностей.</p> diff --git a/files/ru/web/api/document/doctype/index.html b/files/ru/web/api/document/doctype/index.html index 1715e06fc2..acebc2f5bd 100644 --- a/files/ru/web/api/document/doctype/index.html +++ b/files/ru/web/api/document/doctype/index.html @@ -19,7 +19,7 @@ translation_of: Web/API/Document/doctype </pre> <ul> - <li><code>doctype</code> - свойство только для четния.</li> + <li><code>doctype</code> - свойство только для чтения.</li> </ul> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/document/documenturiobject/index.html b/files/ru/web/api/document/documenturiobject/index.html index 533664f3b8..9eadd3b681 100644 --- a/files/ru/web/api/document/documenturiobject/index.html +++ b/files/ru/web/api/document/documenturiobject/index.html @@ -9,9 +9,9 @@ translation_of: Web/API/Document/documentURIObject <p><code><strong>Document.documentURIObject</strong></code> свойство только для чтения возвращает {{ Interface("nsIURI") }} объект представляющий URI <a href="/en-US/docs/">документа</a>.</p> -<p>Это работает только для привилегированных (UniversalXPConnect) скриптов, включая расширенный код. Для веб содержания это свойство не имеет какого-либо специального значения и может быть использованно так же как и любое другое обычное свойство.</p> +<p>Это работает только для привилегированных (UniversalXPConnect) скриптов, включая расширенный код. Для веб содержания это свойство не имеет какого-либо специального значения и может быть использовано так же как и любое другое обычное свойство.</p> -<p>Превилегированный код должен быть осторожным не пытаясь получить или установить это свойство на объект с незапакованным содержанием (e.g. on a <code>wrappedJSObject</code> of an <code><a href="/en/XPCNativeWrapper" title="en/XPCNativeWrapper">XPCNativeWrapper</a></code>). Смотрите {{ Bug(324464) }}' комментарии для детализации.</p> +<p>Привилегированный код должен быть осторожным не пытаясь получить или установить это свойство на объект с незапакованным содержанием (e.g. on a <code>wrappedJSObject</code> of an <code><a href="/en/XPCNativeWrapper" title="en/XPCNativeWrapper">XPCNativeWrapper</a></code>). Смотрите {{ Bug(324464) }}' комментарии для детализации.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/api/document/domain/index.html b/files/ru/web/api/document/domain/index.html index bd54dc1f83..47d2a70db7 100644 --- a/files/ru/web/api/document/domain/index.html +++ b/files/ru/web/api/document/domain/index.html @@ -65,9 +65,9 @@ if (document.domain == badDomain) { <p>Mozilla позволит вам установить его в супердомен текущего значения, ограниченный его <a href="/en-US/docs/XPCOM_Interface_Reference/nsIEffectiveTLDService#getBaseDomain.28.29">базовым доменом</a>. Например, на developer.mozilla.org возможно установить его как "mozilla.org" но не как "mozilla.com" или "org".</p> -<p>Если это свойство успешно установленно, портовая часть источника так же уставнавливается на нуль.</p> +<p>Если это свойство успешно установлено, портовая часть источника так же устанавливается на нуль.</p> -<p>Mozilla отличает свойство <code>document.domain</code>, которое никогда не было установлено от явно утановленного такого же домена как в URL документа, хотя свойство возвращает одинаковое значение в обоих случаях. Один документ разрешает доступ к другому, если они оба установили <code>document.domain</code> в одинаковое значение, указывая тем самым на их намерение сотрудничать или ни один из них не установил <code>document.domain</code>, а домены в URL-адресах одинаковые (<a class="link-https" href="https://mxr.mozilla.org/mozilla-central/source/caps/nsPrincipal.cpp?rev=ecb7068b07a1&mark=199-215#199" title="https://mxr.mozilla.org/mozilla-central/source/caps/src/nsScriptSecurityManager.cpp#1003">реализация</a>). Если бы не эта специальная политика, то каждый сайт будет подвержен XSS от своих поддоменов (для примера <a class="link-https" href="https://bugzilla.mozilla.org" rel="freelink">https://bugzilla.mozilla.org</a> может быть атакован с помощью заведения багов (bug attachments) на <a class="link-https" href="https://bug*.bugzilla.mozilla.org" rel="freelink">https://bug*.bugzilla.mozilla.org</a>).</p> +<p>Mozilla отличает свойство <code>document.domain</code>, которое никогда не было установлено от явно установленного такого же домена как в URL документа, хотя свойство возвращает одинаковое значение в обоих случаях. Один документ разрешает доступ к другому, если они оба установили <code>document.domain</code> в одинаковое значение, указывая тем самым на их намерение сотрудничать или ни один из них не установил <code>document.domain</code>, а домены в URL-адресах одинаковые (<a class="link-https" href="https://mxr.mozilla.org/mozilla-central/source/caps/nsPrincipal.cpp?rev=ecb7068b07a1&mark=199-215#199" title="https://mxr.mozilla.org/mozilla-central/source/caps/src/nsScriptSecurityManager.cpp#1003">реализация</a>). Если бы не эта специальная политика, то каждый сайт будет подвержен XSS от своих поддоменов (для примера <a class="link-https" href="https://bugzilla.mozilla.org" rel="freelink">https://bugzilla.mozilla.org</a> может быть атакован с помощью заведения багов (bug attachments) на <a class="link-https" href="https://bug*.bugzilla.mozilla.org" rel="freelink">https://bug*.bugzilla.mozilla.org</a>).</p> <h2 id="Specification" name="Specification">Спецификации</h2> @@ -95,7 +95,7 @@ if (document.domain == badDomain) { <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице генерируется из структурированных данных. Если вы желаете внести свой вклад в данные, пожалуйста ознакомтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div> +<div class="hidden">Таблица совместимости на этой странице генерируется из структурированных данных. Если вы желаете внести свой вклад в данные, пожалуйста ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div> <p>{{Compat("api.Document.domain")}}</p> diff --git a/files/ru/web/api/document/execcommand/index.html b/files/ru/web/api/document/execcommand/index.html index b858471dc2..9400bb025f 100644 --- a/files/ru/web/api/document/execcommand/index.html +++ b/files/ru/web/api/document/execcommand/index.html @@ -65,7 +65,7 @@ translation_of: Web/API/Document/execCommand <dl> <dt>createLink</dt> - <dd>Создает ссылку из выделения, если таковое имеется. Необходима передача HREF URI в качестве аргумента. URI должен содержать как минимум один символ, допускается пробельный. (Internet Explorer создаст ccылку и без URI.)</dd> + <dd>Создает ссылку из выделения, если таковое имеется. Необходима передача HREF URI в качестве аргумента. URI должен содержать как минимум один символ, допускается пробельный. (Internet Explorer создаст ссылку и без URI.)</dd> </dl> <dl> diff --git a/files/ru/web/api/document/getelementbyid/index.html b/files/ru/web/api/document/getelementbyid/index.html index 3def765a4d..454b70d88e 100644 --- a/files/ru/web/api/document/getelementbyid/index.html +++ b/files/ru/web/api/document/getelementbyid/index.html @@ -97,7 +97,7 @@ var el = document.getElementById('testqq'); // el will be null! </tbody> </table> -<h2 id="Browser_Compatibility" name="Browser_Compatibility">Совместимось в браузерах</h2> +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Совместимость в браузерах</h2> <p>{{ CompatibilityTable() }}</p> diff --git a/files/ru/web/api/document/getelementsbyclassname/index.html b/files/ru/web/api/document/getelementsbyclassname/index.html index df6fefb2b8..d44e341517 100644 --- a/files/ru/web/api/document/getelementsbyclassname/index.html +++ b/files/ru/web/api/document/getelementsbyclassname/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Document/getElementsByClassName <var>var elements</var> = rootElement.getElementsByClassName(<em>names</em>);</pre> <ul> - <li><var>В "elements"</var> будет текущая {{ domxref("HTMLCollection") }} найденных елементов.</li> + <li><var>В "elements"</var> будет текущая {{ domxref("HTMLCollection") }} найденных элементов.</li> <li><var>"names"</var> - строка, состоящая из списка имен искомых классов; имена классов разделяют пробелами.</li> <li>getElementsByClassName может быть вызвана по отношению к любому элементу, не только для документа целиком. ("document"). Элемент, по отношению к которому осуществляется вызов, используется для целей поиска в качестве корневого элемента.</li> </ul> diff --git a/files/ru/web/api/document/images/index.html b/files/ru/web/api/document/images/index.html index 420dd40024..59e0687c81 100644 --- a/files/ru/web/api/document/images/index.html +++ b/files/ru/web/api/document/images/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/Document/images original_slug: DOM/document.images --- <p>{{ ApiRef() }}</p> -<h3 id="Summary" name="Summary">Кратко об обьекте</h3> +<h3 id="Summary" name="Summary">Кратко об объекте</h3> <p><code>document.images</code> возвращает коллекцию <a href="/ru/Web/API/HTMLImageElement" title="en/DOM/Image">изображений</a> в текущем HTML документе.</p> <h3 id="Syntax" name="Syntax">Синтаксис</h3> <pre class="eval"><em>var htmlCollection</em> = document.images; diff --git a/files/ru/web/api/document/importnode/index.html b/files/ru/web/api/document/importnode/index.html index 11cfa529ad..4aa38a3763 100644 --- a/files/ru/web/api/document/importnode/index.html +++ b/files/ru/web/api/document/importnode/index.html @@ -25,7 +25,7 @@ translation_of: Web/API/Document/importNode <dd>Булеан, контролирующий, необходимо ли импортировать всё DOM поддерево узла <var>externalNode</var>. <ul> <li>Если <em>deep </em>установлен в <code>true</code>, <var>узел externalNode</var> и все его потомки будут скопированы.</li> - <li>Если <em>deep </em>установлен в <code>false</code>, ипморируется только <var>externalNode</var> — новый узел не будет содержать потомков.</li> + <li>Если <em>deep </em>установлен в <code>false</code>, импортируется только <var>externalNode</var> — новый узел не будет содержать потомков.</li> </ul> </dd> </dl> diff --git a/files/ru/web/api/document/index.html b/files/ru/web/api/document/index.html index a219bd597c..0437405ed7 100644 --- a/files/ru/web/api/document/index.html +++ b/files/ru/web/api/document/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/Document <ul> <li>Все объекты документов реализуют интерфейс <a href="http://dom.spec.whatwg.org/#interface-document"><code>Document</code></a> (и следовательно {{domxref("Node")}} и {{domxref("EventTarget")}} интерфейсы). Таким образом основные свойства и методы, описанные на этой странице, доступны для всех видов документов.</li> - <li>В современных браузерах некоторые документы (т.е. те, которые содержат контент <code>text/html</code>) также реалируют {{domxref("HTMLDocument")}} интерфейс.</li> + <li>В современных браузерах некоторые документы (т.е. те, которые содержат контент <code>text/html</code>) также реагируют {{domxref("HTMLDocument")}} интерфейс.</li> <li>В современных браузерах SVG документы реализуют {{domxref("SVGDocument")}} интерфейс.</li> </ul> diff --git a/files/ru/web/api/document/origin/index.html b/files/ru/web/api/document/origin/index.html index 31ebf7845b..ba9835d38a 100644 --- a/files/ru/web/api/document/origin/index.html +++ b/files/ru/web/api/document/origin/index.html @@ -7,7 +7,7 @@ tags: - Read-only - Интерфейс - Свойство - - Эксперементальный + - Экспериментальный translation_of: Web/API/Document/origin --- <div>{{APIRef("DOM")}}{{SeeCompatTable}}</div> diff --git a/files/ru/web/api/document/queryselector/index.html b/files/ru/web/api/document/queryselector/index.html index 2a4803421f..4ec3c94009 100644 --- a/files/ru/web/api/document/queryselector/index.html +++ b/files/ru/web/api/document/queryselector/index.html @@ -29,7 +29,7 @@ translation_of: Web/API/Document/querySelector <dl> <dt><var>селекторы</var></dt> - <dd>{{domxref("DOMString")}}, содержайщий один или более селекторов для сопоставления. Эта строка должна быть допустимой строкой селектора CSS; если же нет, генерируется исключение <code>SYNTAX_ERR</code>. Смотрите <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors">Расположение элементов DOM с использованием селекторов</a> для того, чтобы узнать больше о селекторах и о том, как ими управлять.</dd> + <dd>{{domxref("DOMString")}}, содержащий один или более селекторов для сопоставления. Эта строка должна быть допустимой строкой селектора CSS; если же нет, генерируется исключение <code>SYNTAX_ERR</code>. Смотрите <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors">Расположение элементов DOM с использованием селекторов</a> для того, чтобы узнать больше о селекторах и о том, как ими управлять.</dd> </dl> <div class="blockIndicator note"> @@ -57,7 +57,7 @@ translation_of: Web/API/Document/querySelector <h3 id="Экранирование_специальных_символов">Экранирование специальных символов</h3> -<p>Чтобы сопоставить ID или селектроры, которые не соответствуют стандартному синтаксису CSS (например, использующих ненадлежащим образом двоеточие или пробел), необходимо экранировать символ обратной косой чертой ("<code>\</code>"). Поскольку обратная косая черта также является экранирующим символом в JavaScript, то при вводе литеральной строки необходимо экранировать ее <em>дважды</em> (первый раз для строки JavaScript и второй для <code>querySelector()</code>):</p> +<p>Чтобы сопоставить ID или селекторы, которые не соответствуют стандартному синтаксису CSS (например, использующих ненадлежащим образом двоеточие или пробел), необходимо экранировать символ обратной косой чертой ("<code>\</code>"). Поскольку обратная косая черта также является экранирующим символом в JavaScript, то при вводе литеральной строки необходимо экранировать ее <em>дважды</em> (первый раз для строки JavaScript и второй для <code>querySelector()</code>):</p> <pre class="brush: html notranslate"><div id="foo\bar"></div> <div id="foo:bar"></div> diff --git a/files/ru/web/api/document/queryselectorall/index.html b/files/ru/web/api/document/queryselectorall/index.html index 3706d0099d..b8ebf04f9c 100644 --- a/files/ru/web/api/document/queryselectorall/index.html +++ b/files/ru/web/api/document/queryselectorall/index.html @@ -61,7 +61,7 @@ translation_of: Web/API/Document/querySelectorAll <pre class="brush: js">var matches = document.querySelectorAll("div.note, div.alert"); </pre> -<p>Здесь мы получаем список элементов <code><p></code>, чьим непосредственным родительским элементом явялется {{HTMLElement("div")}} с классом <code>highlighted</code>, который расположен внутри контейнера с идентификатором <code>test</code>.</p> +<p>Здесь мы получаем список элементов <code><p></code>, чьим непосредственным родительским элементом является {{HTMLElement("div")}} с классом <code>highlighted</code>, который расположен внутри контейнера с идентификатором <code>test</code>.</p> <pre class="brush: js">var container = document.querySelector("#test"); var matches = container.querySelectorAll("div.highlighted > p");</pre> @@ -108,9 +108,9 @@ highlightedItems.forEach(function(userItem) { var inner = select.querySelectorAll('.outer .inner'); inner.length; // 1, не 0!</pre> -<p>В данном примере, когда мы выбрали <code>".outer .inner"</code> в контексте <code><div></code> с классом <code>"select"</code>, элемент с классом <code>".inner"</code> был всё равно найден, хотя <code>.outer</code> не является потомком элемента в котором происходил поиск (<code>".select"</code>). По-умолчанию, <code>querySelectorAll()</code> проверяет только последний элемент без учёта контекста.</p> +<p>В данном примере, когда мы выбрали <code>".outer .inner"</code> в контексте <code><div></code> с классом <code>"select"</code>, элемент с классом <code>".inner"</code> был всё равно найден, хотя <code>.outer</code> не является потомком элемента в котором происходил поиск (<code>".select"</code>). По умолчанию, <code>querySelectorAll()</code> проверяет только последний элемент без учёта контекста.</p> -<p>Псевдокласс {{cssxref(":scope")}} даёт нам ожидаемый результат. Только соответстующие селекторы в потомках базового элемента:</p> +<p>Псевдокласс {{cssxref(":scope")}} даёт нам ожидаемый результат. Только соответствующие селекторы в потомках базового элемента:</p> <pre class="brush: js">var select = document.querySelector('.select'); var inner = select.querySelectorAll(':scope .outer .inner'); diff --git a/files/ru/web/api/document/readystate/index.html b/files/ru/web/api/document/readystate/index.html index fbf050e1b5..6e9a13266d 100644 --- a/files/ru/web/api/document/readystate/index.html +++ b/files/ru/web/api/document/readystate/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Document/readyState <p>Свойство<strong> <code>Document.readyState</code></strong> описывает состояние загрузки {{domxref("document")}}.</p> -<p>Когда значение этого свойства изменяется, в объетке {{domxref("document")}} запускается событие {{event("readystatechange")}}.</p> +<p>Когда значение этого свойства изменяется, в объекте {{domxref("document")}} запускается событие {{event("readystatechange")}}.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/document/readystatechange_event/index.html b/files/ru/web/api/document/readystatechange_event/index.html index 70ea3f778a..88701cd766 100644 --- a/files/ru/web/api/document/readystatechange_event/index.html +++ b/files/ru/web/api/document/readystatechange_event/index.html @@ -24,7 +24,7 @@ original_slug: Web/Events/readystatechange <dd style="margin: 0 0 0 120px;">Нет</dd> <dt style="float: left; text-align: right; width: 120px;">Цель</dt> <dd style="margin: 0 0 0 120px;">Document</dd> - <dt style="float: left; text-align: right; width: 120px;">Действие по умолчаанию</dt> + <dt style="float: left; text-align: right; width: 120px;">Действие по умолчанию</dt> <dd style="margin: 0 0 0 120px;">Нет</dd> </dl> diff --git a/files/ru/web/api/document/registerelement/index.html b/files/ru/web/api/document/registerelement/index.html index a7788e0c6e..437d09059f 100644 --- a/files/ru/web/api/document/registerelement/index.html +++ b/files/ru/web/api/document/registerelement/index.html @@ -10,7 +10,7 @@ translation_of: Web/API/Document/registerElement <p>Метод <code><strong>Document.registerElement()</strong></code> регистрирует новый кастомный элемент (<a href="/en-US/docs/Web/Web_Components/Custom_Elements">custom element</a>) в браузере и возвращает конструктор для этого нового элемента.</p> <div class="note"> -<p><strong>Примечание:</strong> Это экспериментальная технология . Браузер который вы используете должен поддерживать Вэб Компоненты (Web Components). Смотри больше: <a href="/en-US/docs/Web/Web_Components#Enabling_Web_Components_in_Firefox">Enabling Web Components in Firefox</a>.</p> +<p><strong>Примечание:</strong> Это экспериментальная технология . Браузер который вы используете должен поддерживать Веб Компоненты (Web Components). Смотри больше: <a href="/en-US/docs/Web/Web_Components#Enabling_Web_Components_in_Firefox">Enabling Web Components in Firefox</a>.</p> </div> <h2 id="Syntax">Syntax</h2> diff --git a/files/ru/web/api/document/scripts/index.html b/files/ru/web/api/document/scripts/index.html index bb82b79677..5dfec9003a 100644 --- a/files/ru/web/api/document/scripts/index.html +++ b/files/ru/web/api/document/scripts/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Document/scripts --- <div>{{APIRef("DOM")}}</div> -<p>Возвращает список элементов {{HTMLElement("script")}} в документ. Возвращаемый объект явлеется {{domxref("HTMLCollection")}}.</p> +<p>Возвращает список элементов {{HTMLElement("script")}} в документ. Возвращаемый объект является {{domxref("HTMLCollection")}}.</p> <h2 id="Syntax" name="Syntax">Syntax</h2> @@ -16,7 +16,7 @@ translation_of: Web/API/Document/scripts <h2 id="Example">Example</h2> -<p>Этот пример показывает есть ли на старинице элементы {{HTMLElement("script")}}.</p> +<p>Этот пример показывает есть ли на странице элементы {{HTMLElement("script")}}.</p> <pre class="brush:js">var scripts = document.scripts; diff --git a/files/ru/web/api/document/write/index.html b/files/ru/web/api/document/write/index.html index 1394509e96..1655795466 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/writeln/index.html b/files/ru/web/api/document/writeln/index.html index 990aec8828..98b8c1a3ea 100644 --- a/files/ru/web/api/document/writeln/index.html +++ b/files/ru/web/api/document/writeln/index.html @@ -27,7 +27,7 @@ translation_of: Web/API/Document/writeln <p><strong>document.writeln</strong> тоже самое, что <a href="/en/DOM/document.write" title="en/DOM/document.write">document.write</a> но добавляет знак новой строки.</p> -<div class="note"><strong>Примечание:</strong> <strong>document.writeln</strong> (как и <strong>document.write</strong>) не работает с XHTML документами (вы получите ошибку "Operation is not supported" (<code>NS_ERROR_DOM_NOT_SUPPORTED_ERR</code>) в консоли ошибок). Происходит это, если открыть локальный файл с разширением .xhtml или документ с MIME типом application/xhtml+xml. Больше информации доступно на <a class="external" href="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite" title="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite">W3C XHTML FAQ</a>.</div> +<div class="note"><strong>Примечание:</strong> <strong>document.writeln</strong> (как и <strong>document.write</strong>) не работает с XHTML документами (вы получите ошибку "Operation is not supported" (<code>NS_ERROR_DOM_NOT_SUPPORTED_ERR</code>) в консоли ошибок). Происходит это, если открыть локальный файл с расширением .xhtml или документ с MIME типом application/xhtml+xml. Больше информации доступно на <a class="external" href="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite" title="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite">W3C XHTML FAQ</a>.</div> <h2 id="Specification" name="Specification">Спецификации</h2> diff --git a/files/ru/web/api/document_object_model/examples/index.html b/files/ru/web/api/document_object_model/examples/index.html index b590dec1ae..18eb89b351 100644 --- a/files/ru/web/api/document_object_model/examples/index.html +++ b/files/ru/web/api/document_object_model/examples/index.html @@ -64,7 +64,7 @@ function init() { </html> </pre> -<h2 id="Example_2_Image_Attributes" name="Example_2:_Image_Attributes">Пример 2: Аттрибуты Изображения</h2> +<h2 id="Example_2_Image_Attributes" name="Example_2:_Image_Attributes">Пример 2: Атрибуты Изображения</h2> <pre class="brush:html"><!DOCTYPE html> <html lang="en"> diff --git a/files/ru/web/api/document_object_model/index.html b/files/ru/web/api/document_object_model/index.html index a1546eb2a4..97f0d238f6 100644 --- a/files/ru/web/api/document_object_model/index.html +++ b/files/ru/web/api/document_object_model/index.html @@ -89,7 +89,7 @@ original_slug: DOM/DOM_Reference <p>Документ, содержащий HTML описывается с помощью {{domxref("HTMLDocument")}} интерфейса. Обратите внимание, что HTML спецификация также расширяет {{domxref("Document")}} интерфейс.</p> -<p><code><font face="Open Sans, Arial, sans-serif">Объект </font>HTMLDocument</code> также даёт доступ к следующим возможностям браузера: вкладки, окна, в которых отрисовывается страница, используя интерфейс {{domxref("Window")}}, асcоциированный с ним {{domxref("window.style", "Style")}} (обычно CSS), история браузера, относящаяся к контексту, {{domxref("window.history", "History")}}, в конце концов, {{domxref("Selection")}} в документе.</p> +<p><code><font face="Open Sans, Arial, sans-serif">Объект </font>HTMLDocument</code> также даёт доступ к следующим возможностям браузера: вкладки, окна, в которых отрисовывается страница, используя интерфейс {{domxref("Window")}}, ассоциированный с ним {{domxref("window.style", "Style")}} (обычно CSS), история браузера, относящаяся к контексту, {{domxref("window.history", "History")}}, в конце концов, {{domxref("Selection")}} в документе.</p> <h3 id="Интерфейсы_HTML_элементов">Интерфейсы HTML элементов</h3> 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 9fa1a55cbc..e906032520 100644 --- a/files/ru/web/api/document_object_model/introduction/index.html +++ b/files/ru/web/api/document_object_model/introduction/index.html @@ -13,11 +13,11 @@ original_slug: DOM/DOM_Reference/Введение <p>Объектная Модель Документа (DOM) – это программный интерфейс (API) для HTML и XML документов. DOM предоставляет структурированное представление документа и определяет то, как эта структура может быть доступна из программ, которые могут изменять содержимое, стиль и структуру документа. Представление DOM состоит из структурированной группы узлов и объектов, которые имеют свойства и методы. По существу, DOM соединяет веб-страницу с языками описания сценариев либо языками программирования.<br> <br> - Веб-страница – это документ. Документ может быть представлен как в окне браузера, так и в самом HTML-коде. В любом случае, это один и тот же документ. DOM предоставляет другой способ представления, хранения и управления этого документа. DOM полностью поддерживает объектно-ориентированнное представление веб-страницы, делая возможным её изменение при помощи языка описания сценариев наподобие JavaScript.<br> + Веб-страница – это документ. Документ может быть представлен как в окне браузера, так и в самом HTML-коде. В любом случае, это один и тот же документ. DOM предоставляет другой способ представления, хранения и управления этого документа. DOM полностью поддерживает объектно-ориентированное представление веб-страницы, делая возможным её изменение при помощи языка описания сценариев наподобие JavaScript.<br> <br> Стандарты <a class="external external-icon" href="http://www.w3.org/DOM/">W3C DOM</a> и <a class="external external-icon" href="https://dom.spec.whatwg.org/">WHATWG DOM </a>формируют основы DOM, реализованные в большинстве современных браузеров. Многие браузеры предлагают расширения за пределами данного стандарта, поэтому необходимо проверять работоспособность тех или иных возможностей DOM для каждого конкретного браузера.</p> -<p>Например: стандарт DOM описывает, что метод <code>getElementsByTagName </code>в коде, указанном ниже, должен возращать список всех элементов <p> в документе.</p> +<p>Например: стандарт DOM описывает, что метод <code>getElementsByTagName </code>в коде, указанном ниже, должен возвращать список всех элементов <p> в документе.</p> <pre class="brush: js language-js" style="font-size: 14px;"><code class="language-js">paragraphs <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">getElementsByTagName<span class="punctuation token">(</span></span><span class="string token">"P"</span><span class="punctuation token">)</span><span class="punctuation token">;</span><span class="comment token"> // paragraphs[0] это первый <p> элемент @@ -47,9 +47,9 @@ p_list = doc.getElementsByTagName("para");</code></pre> <h2 id="Каким_образом_доступен_DOM">Каким образом доступен DOM? </h2> -<p>Вы не должны делать ничего особенного для работы с DOM. Различные браузеры имеют различную реализацию DOM, эти реализации показывают различную степень соответсвия с действительным стандартом DOM (это тема, которую мы пытались не затрагивать в данной документации), но каждый браузер использует свой DOM, чтобы сделать веб страницы доступными для взаимодествия с языками сценариев.</p> +<p>Вы не должны делать ничего особенного для работы с DOM. Различные браузеры имеют различную реализацию DOM, эти реализации показывают различную степень соответствия с действительным стандартом DOM (это тема, которую мы пытались не затрагивать в данной документации), но каждый браузер использует свой DOM, чтобы сделать веб страницы доступными для взаимодействия с языками сценариев.</p> -<p>При создании сценария с использованием элемента <script>, либо включая в веб страницу инструкцию для загрузки скрипта, вы можете немедленно приступить к использованию программного интерфейса (API), используя элементы <code><a href="https://developer.mozilla.org/en-US/docs/DOM/document">document</a> </code>или <code><a href="https://developer.mozilla.org/en-US/docs/DOM/window">window</a></code> для взаимодействия с самим документом, либо для получения потомков этого документа, т.е. различных элементов на странице. Ваше программирование DOM может быть чем-то простым, например, вывод сообщения с использованием функции <code><a href="https://developer.mozilla.org/en-US/docs/DOM/window.alert">alert()</a></code> объекта <code><a href="https://developer.mozilla.org/en-US/docs/DOM/window">window</a></code>, или использовать более сложные методы DOM, которые создают новое содержимое, как показанно в следующем примере:</p> +<p>При создании сценария с использованием элемента <script>, либо включая в веб страницу инструкцию для загрузки скрипта, вы можете немедленно приступить к использованию программного интерфейса (API), используя элементы <code><a href="https://developer.mozilla.org/en-US/docs/DOM/document">document</a> </code>или <code><a href="https://developer.mozilla.org/en-US/docs/DOM/window">window</a></code> для взаимодействия с самим документом, либо для получения потомков этого документа, т.е. различных элементов на странице. Ваше программирование DOM может быть чем-то простым, например, вывод сообщения с использованием функции <code><a href="https://developer.mozilla.org/en-US/docs/DOM/window.alert">alert()</a></code> объекта <code><a href="https://developer.mozilla.org/en-US/docs/DOM/window">window</a></code>, или использовать более сложные методы DOM, которые создают новое содержимое, как показано в следующем примере:</p> <pre class="language-html"><body onload="window.alert('добро пожаловать на мою домашнюю страницу!');"> </pre> @@ -84,7 +84,7 @@ p_list = doc.getElementsByTagName("para");</code></pre> <tbody> <tr> <td>document</td> - <td>Когда член возвращает объект типа document (например, свойство элемента ownerDocument возвращает документ к которому он относится), этот обьект document является собственным корневым обьектом. В DOM document Reference разделе описан объект document.<br> + <td>Когда член возвращает объект типа document (например, свойство элемента ownerDocument возвращает документ к которому он относится), этот объект document является собственным корневым объектом. В DOM document Reference разделе описан объект document.<br> element </td> </tr> <tr> @@ -111,7 +111,7 @@ p_list = doc.getElementsByTagName("para");</code></pre> </tr> <tr> <td>namedNodeMap</td> - <td>namedNodeMap подобна массиву, но элементы доступны по имени или индексу. Доступ по индексу - это лишь для удобства перечисления, т.к. элементы не имеют определенног порядка в списке. Этот тип данных имеет метод item() для этих целей и вы можете также добавлять и удалять элементы из namedNodeMap</td> + <td>namedNodeMap подобна массиву, но элементы доступны по имени или индексу. Доступ по индексу - это лишь для удобства перечисления, т.к. элементы не имеют определенного порядка в списке. Этот тип данных имеет метод item() для этих целей и вы можете также добавлять и удалять элементы из namedNodeMap</td> </tr> </tbody> </table> @@ -148,7 +148,7 @@ table.summary = "note: increased border";</pre> <p><code>Document, window</code> - это объекты, чьи интерфейсы вы, как правило, очень часто используете в программировании DOM. Говоря простыми словами, объект <code>window</code> представляет что-то вроде браузера, а объект <code>document</code> - корень самого документа. <code>Element</code> наследуется от общего интерфейса <code>Node</code>, и эти интерфейсы вместе предоставляют много методов и свойств, которые можно применять у отдельных элементов. Эти элементы также могут иметь отдельные интерфейсы для работы с типами данных, которые эти элементы содержат, как в примере с объектом <code>table</code> в предыдущем случае.</p> -<p>Ниже представлен краткий список распространненых членов API, используемых в программировании веб- и XML-страниц с использованием DOM:</p> +<p>Ниже представлен краткий список распространенных членов API, используемых в программировании веб- и XML-страниц с использованием DOM:</p> <ul> <li><code><a href="/ru/docs/Web/API/Document/getElementById">document.getElementById</a>(id)</code></li> @@ -172,7 +172,7 @@ table.summary = "note: increased border";</pre> <p>Есть случаи, однако, где примеры более лаконичные. Чтобы запустить примеры, которые лишь демонстрируют основы взаимодействия интерфейсов с HTML-элементами, вы можете подготовить тестовую страницу, в которую будете помещать функции внутрь скриптов. Следующая очень простая веб-страница содержит элемент <code><script></code> в заголовке, в который вы можете поместить функции, чтобы протестировать интерфейс. Страница содержит несколько элементов с атрибутами, которые можно возвращать, устанавливать или, другими словами, манипулировать и содержит пользовательский интерфейс, необходимый, чтобы вызывать нужные функции из браузера.</p> -<p>Вы можете использовать эту тестовую страницу или похожую для проверки интерфейсов DOM, которые вас интересуют и просмотра того, как они работают в браузерах. Вы можете обновить содержмое функции <code>test()</code> при необходимости, создать больше кнопок или добавить элементы при необходимости.</p> +<p>Вы можете использовать эту тестовую страницу или похожую для проверки интерфейсов DOM, которые вас интересуют и просмотра того, как они работают в браузерах. Вы можете обновить содержимое функции <code>test()</code> при необходимости, создать больше кнопок или добавить элементы при необходимости.</p> <pre><code class="language-html"><span class="tag token"><span class="tag token"><span class="punctuation token"><</span>html</span><span class="punctuation token">></span></span> <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>head</span><span class="punctuation token">></span></span> diff --git a/files/ru/web/api/domhighrestimestamp/index.html b/files/ru/web/api/domhighrestimestamp/index.html index a1c1ad1148..666c2f7ecc 100644 --- a/files/ru/web/api/domhighrestimestamp/index.html +++ b/files/ru/web/api/domhighrestimestamp/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/DOMHighResTimeStamp <p><span class="seoSummary">Тип <code><strong>DOMHighResTimeStamp</strong></code> является <code>double</code> и используется для хранения значения времени в миллисекундах.</span> Этот тип может быть использован для описания конкретной точки во времени или временного промежутка (разницы во времени между двумя конкретными временными точками).</p> -<p>Время, в миллисекундах, скорее всего будет точным до 5 µs (микросекунд) и дробную долю числа будут составлять доли милисекунды. Тем не менее, если браузер (в силу, к примеру, аппаратных или программных ограничений) не может предоставить значение времени с точностью до 5 µs, он может представить значение как время в миллисекундах с точностью до миллисекунды. Также обратите внимание на секцию внизу об уменьшении точности времени, которое можно указать в настройках браузера дабы избежать атак по времени и сличения информации с помощью цифровых отпечатков.</p> +<p>Время, в миллисекундах, скорее всего будет точным до 5 µs (микросекунд) и дробную долю числа будут составлять доли миллисекунды. Тем не менее, если браузер (в силу, к примеру, аппаратных или программных ограничений) не может предоставить значение времени с точностью до 5 µs, он может представить значение как время в миллисекундах с точностью до миллисекунды. Также обратите внимание на секцию внизу об уменьшении точности времени, которое можно указать в настройках браузера дабы избежать атак по времени и сличения информации с помощью цифровых отпечатков.</p> <p>Кроме того, если устройство или операционная система на который работает user agent не имеет часов, точных до микросекунд, они могут иметь точность до миллисекунды.</p> @@ -53,7 +53,7 @@ event.timeStamp; <li>Если ни один из вышеописанных пунктов не определяет время возникновения, тогда время возникновения это время, когда переход, который результировал в создании текущего <code>Document</code> имел место.</li> </ul> </li> - <li>Если глобальный обьект скрипта — {{domxref("WorkerGlobalScope")}} (тоесть скрипт, запущенный как Web Worker), время возникновения - момент создания Worker-а.</li> + <li>Если глобальный объект скрипта — {{domxref("WorkerGlobalScope")}} (то есть скрипт, запущенный как Web Worker), время возникновения - момент создания Worker-а.</li> <li>Во всех остальных случаях время возникновения - undefined.</li> </ul> diff --git a/files/ru/web/api/domstringlist/index.html b/files/ru/web/api/domstringlist/index.html index 2a643869ce..9518ec6f2a 100644 --- a/files/ru/web/api/domstringlist/index.html +++ b/files/ru/web/api/domstringlist/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/DOMStringList <dl> <dt>{{domxref("DOMStringList.length")}} {{ReadOnlyInline}}</dt> - <dd>Возвращает длинну списка.</dd> + <dd>Возвращает длину списка.</dd> </dl> <h2 id="Методы">Методы</h2> @@ -23,7 +23,7 @@ translation_of: Web/API/DOMStringList <dd>Возвращает {{jsxref("Boolean")}} с указанием, есть ли данная строка в списке.</dd> </dl> -<h2 id="Specifications" name="Specifications">Спецификациии</h2> +<h2 id="Specifications" name="Specifications">Спецификации</h2> <table class="standard-table"> <thead> diff --git a/files/ru/web/api/domtokenlist/index.html b/files/ru/web/api/domtokenlist/index.html index d0b34d6749..f190c26dba 100644 --- a/files/ru/web/api/domtokenlist/index.html +++ b/files/ru/web/api/domtokenlist/index.html @@ -62,9 +62,9 @@ para.textContent = 'paragraph classList is "' + classes + '"';</pre> <p>{{ EmbedLiveSample('Examples', '100%', 60) }}</p> -<h2 id="Обрезка_пробелов_и_удаление_дупликатов">Обрезка пробелов и удаление дупликатов</h2> +<h2 id="Обрезка_пробелов_и_удаление_дубликатов">Обрезка пробелов и удаление дубликатов</h2> -<p>Метод, который модифицирует <code>DOMTokenList</code> (как {{domxref("DOMTokenList.add()")}}) автоматически обрезает все излишки {{Glossary("Whitespace")}} и удаляет значения дупликатов из списка. Пример: </p> +<p>Метод, который модифицирует <code>DOMTokenList</code> (как {{domxref("DOMTokenList.add()")}}) автоматически обрезает все излишки {{Glossary("Whitespace")}} и удаляет значения дубликатов из списка. Пример: </p> <pre class="brush: html"><span class=" d d e f"></span></pre> diff --git a/files/ru/web/api/domtokenlist/replace/index.html b/files/ru/web/api/domtokenlist/replace/index.html index 1a9c51f16b..3fb65e93ea 100644 --- a/files/ru/web/api/domtokenlist/replace/index.html +++ b/files/ru/web/api/domtokenlist/replace/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/DOMTokenList/replace --- <p>{{APIRef("DOM")}}</p> -<p>Метод <code><strong>replace()</strong></code> интерфейса {{domxref("DOMTokenList")}} заменяет существующий класс на новый класс. Если первый не существует, то <code>replace()</code> сразу же возрващает <code>false</code>, без добавления нового класса в список классов.</p> +<p>Метод <code><strong>replace()</strong></code> интерфейса {{domxref("DOMTokenList")}} заменяет существующий класс на новый класс. Если первый не существует, то <code>replace()</code> сразу же возвращает <code>false</code>, без добавления нового класса в список классов.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -22,7 +22,7 @@ translation_of: Web/API/DOMTokenList/replace <h3 id="Возвращает_значение">Возвращает значение</h3> -<p>Boolean, которое будет <code>true</code>, если <code><var>oldToken</var></code> был успешно заменен, или <code>false</code> в противном случе.</p> +<p>Boolean, которое будет <code>true</code>, если <code><var>oldToken</var></code> был успешно заменен, или <code>false</code> в противном случае.</p> <div class="note"> <p><strong>Примечание</strong>: В старых браузерах <code>replace()</code> возвращает void.</p> @@ -54,9 +54,9 @@ if (result) { <p>{{ EmbedLiveSample('Examples', '100%', 60) }}</p> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> -<p>Следующий полифилл добавит метод replace в класс <code>DOMTokenList</code>. Селудющий код будет работать только с <strong>IE10-11</strong>. Чтобы использовать с более ранними версиями IE, обратитесь к полифиллу по {{domxref("element.classList#Polyfill")}}</p> +<p>Следующий полифил добавит метод replace в класс <code>DOMTokenList</code>. Следующий код будет работать только с <strong>IE10-11</strong>. Чтобы использовать с более ранними версиями IE, обратитесь к полифилу по {{domxref("element.classList#Polyfill")}}</p> <pre class="brush: js notranslate"><code>DOMTokenList.prototype.replace = function (a, b) { if (this.contains(a)) { @@ -81,7 +81,7 @@ if (result) { <tr> <td>{{SpecName('DOM WHATWG','#dom-domtokenlist-replace','replace()')}}</td> <td>{{Spec2('DOM WHATWG')}}</td> - <td>Первоначальное опредение</td> + <td>Первоначальное определение</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/effecttiming/index.html b/files/ru/web/api/effecttiming/index.html index 5949858a47..4270a9983d 100644 --- a/files/ru/web/api/effecttiming/index.html +++ b/files/ru/web/api/effecttiming/index.html @@ -14,7 +14,7 @@ translation_of: Web/API/EffectTiming --- <div>{{ SeeCompatTable() }}{{ APIRef("Web Animations") }}</div> -<p>Словарь <strong><code>EffectTiming</code></strong>, входящий в состав <a href="/en-US/docs/Web/API/Web_Animations_API">Web Animations API</a>, используется в {{domxref("Element.animate()")}}, {{domxref("KeyframeEffectReadOnly.KeyframeEffectReadOnly", "KeyframeEffectReadOnly()")}}, и {{domxref("KeyframeEffect.KeyframeEffect", "KeyframeEffect()")}} для описания временных свойств анимационных эфектов. Все эти свойства необязательные, хотя без установки <code>duration</code> анимация не будет воспроизводиться.</p> +<p>Словарь <strong><code>EffectTiming</code></strong>, входящий в состав <a href="/en-US/docs/Web/API/Web_Animations_API">Web Animations API</a>, используется в {{domxref("Element.animate()")}}, {{domxref("KeyframeEffectReadOnly.KeyframeEffectReadOnly", "KeyframeEffectReadOnly()")}}, и {{domxref("KeyframeEffect.KeyframeEffect", "KeyframeEffect()")}} для описания временных свойств анимационных эффектов. Все эти свойства необязательные, хотя без установки <code>duration</code> анимация не будет воспроизводиться.</p> <p>Проще говоря, эти свойства описывают как {{Glossary("user agent")}} должен выполнять переход от ключевого кадра к ключевому кадру, и как вести себя, когда анимация начинается и заканчивается.</p> diff --git a/files/ru/web/api/element/animate/index.html b/files/ru/web/api/element/animate/index.html index 04f7a3bad6..8f1ffd9821 100644 --- a/files/ru/web/api/element/animate/index.html +++ b/files/ru/web/api/element/animate/index.html @@ -58,7 +58,7 @@ translation_of: Web/API/Element/animate <dt><code>spacing {{optional_inline}}</code></dt> <dd>Определяет как ключевые кадры, без временных смещений, должны распределяться по всей длительности анимации. По умолчанию <code>distribute</code>. <ul> - <li><code>distribute</code> позиционирует ключевые кадры так, чтобы разница между последующими смещениями ключевых кадров была равна, то есть без каких-либо смещений, ключевые кадры будут равномерно распеределены по всему времени проигрыша анимации.</li> + <li><code>distribute</code> позиционирует ключевые кадры так, чтобы разница между последующими смещениями ключевых кадров была равна, то есть без каких-либо смещений, ключевые кадры будут равномерно распределены по всему времени проигрыша анимации.</li> <li><code>paced</code> позиционирует ключевые кадры так, чтобы расстояние между последующими значениями заданного темпового свойства было равным, то есть, чем больше разница в значениях свойств ключевых кадров, тем на большем расстоянии они расположены друг от друга.</li> </ul> @@ -104,7 +104,7 @@ translation_of: Web/API/Element/animate <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице генерируется на основе структурированных данных. Если вы хотите внесим свой вклад в эти данные, пожалуйста, перейдите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div> +<div class="hidden">Таблица совместимости на этой странице генерируется на основе структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, перейдите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div> <p>{{Compat("api.Element.animate")}}</p> diff --git a/files/ru/web/api/element/attachshadow/index.html b/files/ru/web/api/element/attachshadow/index.html index 39d19a42ef..535f95ce1a 100644 --- a/files/ru/web/api/element/attachshadow/index.html +++ b/files/ru/web/api/element/attachshadow/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Element/attachShadow <p>Метод <strong><code>Element.attachShadow()</code></strong> добавляет<span id="result_box" lang="ru"><span> теневое DOM дерево к указанному элементу и возвращает ссылку на его </span></span><a href="https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot" title="Use Element.attachShadow to create an instance of shadow DOM. When shadow DOM is created, it is always attached to an existing element. After the shadow DOM is created, the element that it is attached to is called the shadow root."><code>ShadowRoot</code></a>( корневой элемент созданного дерева).</p> -<h4 id="Элементы_которые_можно_добавить_в_тенейвой_DOM">Элементы которые можно добавить в тенейвой DOM</h4> +<h4 id="Элементы_которые_можно_добавить_в_теневой_DOM">Элементы которые можно добавить в теневой DOM</h4> <p>Обратите внимание, что не каждый элемент можно добавить в корень теневого дерева. Некоторые типы исключены по соображениям безопасности(например {{htmlelement("a")}}), и некоторые другие. Вот список разрешенных элементов:</p> @@ -52,7 +52,7 @@ translation_of: Web/API/Element/attachShadow <pre>element.shadowRoot === shadowroot; // returns true</pre> </li> <li><code>closed.</code> Указывает на закрытие режима инкапсуляции.<br> - Этот режим запрещает доступ к узлам node(s) и закрыват теневой корень для внешнего мира<br> + Этот режим запрещает доступ к узлам node(s) и закрывать теневой корень для внешнего мира<br> <pre>element.shadowRoot === shadowroot; // returns false element.shadowRoot === null; // returns true @@ -80,7 +80,7 @@ element.shadowRoot === null; // returns true </tr> <tr> <td>NotSupportedError</td> - <td>Вы пытаетесь прикрепить shadow DOM к HTML элементу с некоректным именем, или к запрещенному элементу. (см. выше)</td> + <td>Вы пытаетесь прикрепить shadow DOM к HTML элементу с некорректным именем, или к запрещенному элементу. (см. выше)</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/element/attributes/index.html b/files/ru/web/api/element/attributes/index.html index 24564c8e24..50f52842e3 100644 --- a/files/ru/web/api/element/attributes/index.html +++ b/files/ru/web/api/element/attributes/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Element/attributes --- <p>{{ APIRef("DOM") }}</p> -<p>Свойство <strong><code>Element.attributes</code></strong> возвращает группу атрибутов всех узлов, зарегистрированных в указанном узле. Это {{domxref("NamedNodeMap")}}, тоесть полученные данные не являются массивом <code>Array</code>, не содержат {{jsxref("Array")}} методы и {{domxref("Attr")}} индекс узлов может отличаться в различных браузерах. Если сказать более точно, атрибуты <font face="Courier New, Andale Mono, monospace"><strong>(</strong></font><strong style="font-family: courier new,andale mono,monospace; font-weight: bold;">attributes</strong><font face="Courier New, Andale Mono, monospace"><strong>)</strong></font> это строка, пара ключ/значение которая представляет собой информацию относительно этого атрибута.</p> +<p>Свойство <strong><code>Element.attributes</code></strong> возвращает группу атрибутов всех узлов, зарегистрированных в указанном узле. Это {{domxref("NamedNodeMap")}}, то есть полученные данные не являются массивом <code>Array</code>, не содержат {{jsxref("Array")}} методы и {{domxref("Attr")}} индекс узлов может отличаться в различных браузерах. Если сказать более точно, атрибуты <font face="Courier New, Andale Mono, monospace"><strong>(</strong></font><strong style="font-family: courier new,andale mono,monospace; font-weight: bold;">attributes</strong><font face="Courier New, Andale Mono, monospace"><strong>)</strong></font> это строка, пара ключ/значение которая представляет собой информацию относительно этого атрибута.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/api/element/blur_event/index.html b/files/ru/web/api/element/blur_event/index.html index 3beea937a2..acebebdabb 100644 --- a/files/ru/web/api/element/blur_event/index.html +++ b/files/ru/web/api/element/blur_event/index.html @@ -142,7 +142,7 @@ form.addEventListener("blur", function( event ) { </table> </div> -<p>[1] В Gecko до 24 {{geckoRelease(24)}} интефейс для этого события был {{domxref("Event")}}, не {{domxref("FocusEvent")}}. Смотреть ({{bug(855741)}}).</p> +<p>[1] В Gecko до 24 {{geckoRelease(24)}} интерфейс для этого события был {{domxref("Event")}}, не {{domxref("FocusEvent")}}. Смотреть ({{bug(855741)}}).</p> <h2 id="Похожие_события">Похожие события</h2> diff --git a/files/ru/web/api/element/classlist/index.html b/files/ru/web/api/element/classlist/index.html index 2ad0ee938f..ef28f56c1c 100644 --- a/files/ru/web/api/element/classlist/index.html +++ b/files/ru/web/api/element/classlist/index.html @@ -85,7 +85,7 @@ console.log(elem.classList); //DOMTokenList ["ok"]</pre> <p>В Firefox 25- в методах add, remove и toggle возможно указать только один аргумент. Смотрите: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=814014">https://bugzilla.mozilla.org/show_bug.cgi?id=814014</a> </p> </div> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <pre class="brush:js">// Источник: https://gist.github.com/k-gun/c2ea7c49edf7b757fe9561ba37cb19ca ;(function() { diff --git a/files/ru/web/api/element/clientheight/index.html b/files/ru/web/api/element/clientheight/index.html index 5e7f55f8ff..b4e1227511 100644 --- a/files/ru/web/api/element/clientheight/index.html +++ b/files/ru/web/api/element/clientheight/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Element/clientHeight <p><strong>Внимание:</strong> При вычислении значения свойства, результат округляется до ближайшего целого. Если требуется дробное значение, используйте {{ domxref("element.getBoundingClientRect()") }}.</p> </div> -<h2 id="Syntax_and_values" name="Syntax_and_values">Синтакс</h2> +<h2 id="Syntax_and_values" name="Syntax_and_values">Синтаксис</h2> <pre class="syntaxbox">var <var>h</var> = <var>element</var>.clientHeight;</pre> diff --git a/files/ru/web/api/element/clientleft/index.html b/files/ru/web/api/element/clientleft/index.html index 28ac7b7def..a1c7155e56 100644 --- a/files/ru/web/api/element/clientleft/index.html +++ b/files/ru/web/api/element/clientleft/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Element/clientLeft --- <div>{{ APIRef("DOM") }}</div> -<div>Ширина от левого края элемента в пискелях. При наличии overflow заключает в себя ширину от ветикального scrollbar для письма справа налево.</div> +<div>Ширина от левого края элемента в пикселях. При наличии overflow заключает в себя ширину от вертикального scrollbar для письма справа налево.</div> <p><code>clientLeft</code> не включает в себя ни левый padding ни margin с той же стороны. <code>clientLeft</code> только для чтения.</p> @@ -63,6 +63,6 @@ translation_of: Web/API/Element/clientLeft <p><code>clientLeft</code> был впервые введен MS IE DHTML object model.</p> -<p>Расположени вертикального scrollbar для письма справа налево применненного для элемента будет назначатся вледующим свойством <a class="external" href="http://kb.mozillazine.org/Layout.scrollbar.side"><code>layout.scrollbar.side</code> preference</a></p> +<p>Расположение вертикального scrollbar для письма справа налево примененного для элемента будет назначаются следующим свойством <a class="external" href="http://kb.mozillazine.org/Layout.scrollbar.side"><code>layout.scrollbar.side</code> preference</a></p> <p>Когда установлены стили элемента <code>display: inline</code>, то <code>clientLeft</code> вернет <code>0</code> несмотря на границы элемента.</p> diff --git a/files/ru/web/api/element/clienttop/index.html b/files/ru/web/api/element/clienttop/index.html index e3c1521657..cf209ba985 100644 --- a/files/ru/web/api/element/clienttop/index.html +++ b/files/ru/web/api/element/clienttop/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Element/clientTop <p><strong>Примечание:</strong> Это свойство округляет значение до целого. Если вам нужно дробное значение, используйте {{ domxref("element.getBoundingClientRect()") }}.</p> </div> -<p>Основанные на <a href="en/Gecko">Gecko</a> приложения поддерживают <span style="font-family: Consolas,Monaco,'Andale Mono',monospace;">clientTop начиная с </span>Gecko 1.9 (<a href="en/Firefox_3">Firefox 3</a>, реализованно в {{ Bug(111207) }}). Это свойство не поддерживается в Firefox 2 и более ранних.</p> +<p>Основанные на <a href="en/Gecko">Gecko</a> приложения поддерживают <span style="font-family: Consolas,Monaco,'Andale Mono',monospace;">clientTop начиная с </span>Gecko 1.9 (<a href="en/Firefox_3">Firefox 3</a>, реализовано в {{ Bug(111207) }}). Это свойство не поддерживается в Firefox 2 и более ранних.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -22,7 +22,7 @@ translation_of: Web/API/Element/clientTop <h2 id="Example" name="Example">Пример</h2> -<p>В следующей иллюстрации клиентская область показана белым (части под названиями "Top", "Right" и т. д. не имеют никакого отношения к клиентской области). Значение <strong>clientTop</strong> - расстояние между окончением области margin (жёлтый) или padding и началом области контента (белый)</p> +<p>В следующей иллюстрации клиентская область показана белым (части под названиями "Top", "Right" и т. д. не имеют никакого отношения к клиентской области). Значение <strong>clientTop</strong> - расстояние между окончанием области margin (жёлтый) или padding и началом области контента (белый)</p> <div id="offsetContainer" style="margin: 40px 50px 50px; background-color: rgb(255, 255, 204); border: 4px dashed black; color: black; position: relative; display: inline-block;"> <div id="idDiv" style="margin: 24px 29px; border: 24px black solid; padding: 0px 28px; width: 199px; height: 102px; overflow: auto; background-color: white; font-size: 13px!important; font-family: Arial, sans-serif;"> diff --git a/files/ru/web/api/element/clientwidth/index.html b/files/ru/web/api/element/clientwidth/index.html index 927ef1e1cb..5ebcc8ff04 100644 --- a/files/ru/web/api/element/clientwidth/index.html +++ b/files/ru/web/api/element/clientwidth/index.html @@ -26,7 +26,7 @@ translation_of: Web/API/Element/clientWidth <table class="standard-table"> <thead> <tr> - <th scope="col">Спецфикация</th> + <th scope="col">Спецификация</th> <th scope="col">Статус</th> <th scope="col">Комментарий</th> </tr> @@ -42,7 +42,7 @@ translation_of: Web/API/Element/clientWidth <h3 id="Примечание">Примечание</h3> -<p><code>clientWidth</code> был впервые предствлен в объектной модели MS IE DHTML.</p> +<p><code>clientWidth</code> был впервые представлен в объектной модели MS IE DHTML.</p> <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> diff --git a/files/ru/web/api/element/closest/index.html b/files/ru/web/api/element/closest/index.html index 5ca79dbcc0..84d47ca794 100644 --- a/files/ru/web/api/element/closest/index.html +++ b/files/ru/web/api/element/closest/index.html @@ -27,7 +27,7 @@ translation_of: Web/API/Element/closest <dl> <dt><code>SYNTAX_ERR</code></dt> - <dd>Указаный css-селектор не является допустимым<em> ("/=21=1", "&@*#", "%'54523" и т.п. приведут к ошибке).</em></dd> + <dd>Указанный css-селектор не является допустимым<em> ("/=21=1", "&@*#", "%'54523" и т.п. приведут к ошибке).</em></dd> </dl> <h2 id="Example" name="Example">Пример</h2> @@ -52,9 +52,9 @@ div.closest("div[title]") //#block - так как ближе нет блоко </pre> -<h2 id="Полифилл_1_рекурсивный_метод">Полифилл #1 (рекурсивный метод)</h2> +<h2 id="Полифил_1_рекурсивный_метод">Полифил #1 (рекурсивный метод)</h2> -<p>Для браузеров не поддерживающих Element.closest(), но позволяющих использовать element.matches() (или префиксный эквивалент) есть полифилл:</p> +<p>Для браузеров не поддерживающих Element.closest(), но позволяющих использовать element.matches() (или префиксный эквивалент) есть полифил:</p> <pre class="brush: js notranslate">(function(ELEMENT) { ELEMENT.matches = ELEMENT.matches || ELEMENT.mozMatchesSelector || ELEMENT.msMatchesSelector || ELEMENT.oMatchesSelector || ELEMENT.webkitMatchesSelector; @@ -66,9 +66,9 @@ div.closest("div[title]") //#block - так как ближе нет блоко }; }(Element.prototype));</pre> -<h2 id="Specification" name="Specification">Полифилл #2 (через цикл)</h2> +<h2 id="Specification" name="Specification">Полифил #2 (через цикл)</h2> -<p>Тем не менее, если вам требуется поддержка IE 8, вы можете использовать следующий полифилл. Имейте ввиду - этот способ позволяет использовать CSS селекторы только уровня 2.1 и может жутко тормозить.</p> +<p>Тем не менее, если вам требуется поддержка IE 8, вы можете использовать следующий полифил. Имейте ввиду - этот способ позволяет использовать CSS селекторы только уровня 2.1 и может жутко тормозить.</p> <pre class="brush: js notranslate">(function(e){ e.closest = e.closest || function(css){ diff --git a/files/ru/web/api/element/getboundingclientrect/index.html b/files/ru/web/api/element/getboundingclientrect/index.html index 2a53575049..7d154af995 100644 --- a/files/ru/web/api/element/getboundingclientrect/index.html +++ b/files/ru/web/api/element/getboundingclientrect/index.html @@ -71,7 +71,7 @@ var rect = obj.getBoundingClientRect();</code></pre> <h3 id="Notes" name="Notes">Примечания</h3> -<p>Возвращаемый <code>DOMRect</code> объект может быть модифицирован в современных браузерах. Это не так со старыми версиями, которые возвращали <code>DOMRectReadOnly</code>. У IE и Edge, не имея возможности добавить пропущенные свойства к возращаемым ими <a href="https://msdn.microsoft.com/en-us/library/hh826029(VS.85).aspx"><code>ClientRect</code></a>, объект не позволял добавить <code>x</code> и <code>y</code>.</p> +<p>Возвращаемый <code>DOMRect</code> объект может быть модифицирован в современных браузерах. Это не так со старыми версиями, которые возвращали <code>DOMRectReadOnly</code>. У IE и Edge, не имея возможности добавить пропущенные свойства к возвращаемым ими <a href="https://msdn.microsoft.com/en-us/library/hh826029(VS.85).aspx"><code>ClientRect</code></a>, объект не позволял добавить <code>x</code> и <code>y</code>.</p> <p>Для кроссбраузерности надежно использовать только <code>left</code>, <code>top</code>, <code>right</code>, и <code>bottom</code>.</p> diff --git a/files/ru/web/api/element/getelementsbytagname/index.html b/files/ru/web/api/element/getelementsbytagname/index.html index dc9dc4fbc7..6dd764a608 100644 --- a/files/ru/web/api/element/getelementsbytagname/index.html +++ b/files/ru/web/api/element/getelementsbytagname/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/Element/getElementsByTagName <pre class="syntaxbox"><code><em>elements</em> = <em>element</em>.getElementsByTagName(<em>tagName</em>)</code></pre> <ul> - <li><code>elements</code> это живая коллекция {{domxref("HTMLCollection")}} найденных элементов в том порядке, в котором они были найдены в дереве. Если не найдено ни одного эелемента, удовлетворяющего условиям поиска, то коллекция будет пустой.</li> + <li><code>elements</code> это живая коллекция {{domxref("HTMLCollection")}} найденных элементов в том порядке, в котором они были найдены в дереве. Если не найдено ни одного элемента, удовлетворяющего условиям поиска, то коллекция будет пустой.</li> <li><code>element</code> это элемент в котором будет осуществляться поиск. Обратите внимание, что поиск будет осуществляться только в потомках этого элемента. Сам элемент не будет включен в результат поиска. </li> <li><code>tagName</code> определяет имя тега для поиска. Если значением tagName будет <code>"*", то в результате будут получены все потомки элемента по которому осуществляется поиск</code>. Для совместимости с XHTML следует использовать нижний регистр в имени тега. </li> </ul> @@ -129,6 +129,6 @@ for (var i = 0; i < cells.length; i++) { </table> </div> -<p>[1] До Firefox 19 этот метод возвращал {{domxref("NodeList")}}; и был затем изменен, чтобы соответстовать спецификации.</p> +<p>[1] До Firefox 19 этот метод возвращал {{domxref("NodeList")}}; и был затем изменен, чтобы соответствовать спецификации.</p> -<p>[2] Первоначально этот метод возвращал {{domxref("NodeList")}}; и был затем изменен, чтобы соответстовать спецификации.</p> +<p>[2] Первоначально этот метод возвращал {{domxref("NodeList")}}; и был затем изменен, чтобы соответствовать спецификации.</p> diff --git a/files/ru/web/api/element/id/index.html b/files/ru/web/api/element/id/index.html index 62fd77b730..e42c6d563e 100644 --- a/files/ru/web/api/element/id/index.html +++ b/files/ru/web/api/element/id/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Element/id --- <div>{{ ApiRef("DOM") }}</div> -<div>Свойство <code><strong>id</strong></code> представляет идентификатор элемента, отражая глобальный аттрибут <strong><a href="/ru/docs/Web/HTML/Global_attributes/id">id</a></strong>.</div> +<div>Свойство <code><strong>id</strong></code> представляет идентификатор элемента, отражая глобальный атрибут <strong><a href="/ru/docs/Web/HTML/Global_attributes/id">id</a></strong>.</div> <div></div> diff --git a/files/ru/web/api/element/index.html b/files/ru/web/api/element/index.html index 3f95a90be6..db330d7aee 100644 --- a/files/ru/web/api/element/index.html +++ b/files/ru/web/api/element/index.html @@ -39,7 +39,7 @@ translation_of: Web/API/Element <dt>{{ domxref("Element.clientHeight") }} {{experimental_inline}} {{readOnlyInline}}</dt> <dd>Возвращает {{jsxref("Number")}}, представляющее внутреннюю высоту элемента.</dd> <dt>{{ domxref("Element.clientLeft") }} {{experimental_inline}} {{readOnlyInline}}</dt> - <dd>Возвращает {{jsxref("Number")}}, предсталяющее ширину левой границы элемента.</dd> + <dd>Возвращает {{jsxref("Number")}}, представляющее ширину левой границы элемента.</dd> <dt>{{ domxref("Element.clientTop") }} {{experimental_inline}} {{readOnlyInline}}</dt> <dd>Возвращает {{jsxref("Number")}}, представляющее ширину верхней границы элемента.</dd> <dt>{{ domxref("Element.clientWidth") }} {{experimental_inline}} {{readOnlyInline}}</dt> @@ -77,7 +77,7 @@ translation_of: Web/API/Element <dt>{{ domxref("Element.scrollTop") }} {{experimental_inline}}</dt> <dd>Является {{jsxref("Number")}}, представляющим количество пикселей, на которые контент элемента прокручен от верха.</dd> <dt>{{ domxref("Element.scrollTopMax") }} {{non-standard_inline}} {{readOnlyInline}}</dt> - <dd>Вовзращает {{jsxref("Number")}}, представляющее максимально возможное количество пикселей, на которые можно прокрутить контент элемента от верха.</dd> + <dd>Возвращает {{jsxref("Number")}}, представляющее максимально возможное количество пикселей, на которые можно прокрутить контент элемента от верха.</dd> <dt>{{ domxref("Element.scrollWidth") }} {{experimental_inline}} {{readOnlyInline}}</dt> <dd>Возвращает {{jsxref("Number")}}, представляющее ширину прокрутки элемента.</dd> <dt>{{domxref("Element.shadowRoot") }} {{experimental_inline}} {{readOnlyInline}}</dt> @@ -119,9 +119,9 @@ translation_of: Web/API/Element <dl> <dt>{{ domxref("EventTarget.addEventListener()") }}</dt> - <dd>Регистрирует обработчик событий для опрделенного типа событий в элементе.</dd> + <dd>Регистрирует обработчик событий для определенного типа событий в элементе.</dd> <dt>{{ domxref("Element.closest()")}} {{experimental_inline}}</dt> - <dd>Возращает {{domxref("Element")}}, потомка этого элемента (или сам этот элемент), который является ближайшим предком элементов, выбраных селекторами, указанными в параметре.</dd> + <dd>Возвращает {{domxref("Element")}}, потомка этого элемента (или сам этот элемент), который является ближайшим предком элементов, выбранных селекторами, указанными в параметре.</dd> <dt>{{ domxref("Element.createShadowRoot()")}} {{experimental_inline}}</dt> <dd>…</dd> <dt>{{ domxref("EventTarget.dispatchEvent()") }}</dt> @@ -153,7 +153,7 @@ translation_of: Web/API/Element <dt>{{ domxref("Element.getElementsByTagNameNS()") }}</dt> <dd>Возвращает коллекцию {{ domxref ("HTMLCollection")}}, которая содержит все элементы, у которых название тега и пространства имён совпадает с тем, что заданно в параметрах функции.</dd> <dt>{{ domxref("Element.hasAttribute()") }}</dt> - <dd>Вовзращает {{jsxref("Boolean")}}, указывающее, имеет элемент определенный атрибут, или нет.</dd> + <dd>Возвращает {{jsxref("Boolean")}}, указывающее, имеет элемент определенный атрибут, или нет.</dd> <dt>{{ domxref("Element.hasAttributeNS()") }}</dt> <dd>Возвращает {{jsxref("Boolean")}}, указывающий, имеет элемент определенный атрибут в определенном пространстве имен, или нет.</dd> <dt>{{ domxref("Element.insertAdjacentHTML") }} {{experimental_inline}}</dt> @@ -188,7 +188,7 @@ translation_of: Web/API/Element <dt>{{ domxref("Element.setAttribute()") }}</dt> <dd>Устанавливает значение именованного атрибута из текущей узла.</dd> <dt>{{ domxref("Element.setAttributeNS()") }}</dt> - <dd>Устанавливает значение атрибута с опрделенным именем и пространством имен из текущей узла.</dd> + <dd>Устанавливает значение атрибута с определенным именем и пространством имен из текущей узла.</dd> <dt>{{ domxref("Element.setAttributeNode()") }} {{obsolete_inline}}</dt> <dd>Задает представление узла именованного атрибута из текущего узла.</dd> <dt>{{ domxref("Element.setAttributeNodeNS()") }} {{obsolete_inline}}</dt> @@ -234,7 +234,7 @@ translation_of: Web/API/Element <tr> <td>{{SpecName('Selectors API Level 1', '#interface-definitions', 'Element')}}</td> <td>{{Spec2('Selectors API Level 1')}}</td> - <td>Добавлены следующиен методы: <code>querySelector()</code> и <code>querySelectorAll()</code>.</td> + <td>Добавлены следующие методы: <code>querySelector()</code> и <code>querySelectorAll()</code>.</td> </tr> <tr> <td>{{SpecName('Pointer Lock', 'index.html#element-interface', 'Element')}}</td> @@ -268,7 +268,7 @@ translation_of: Web/API/Element <td>{{Spec2('DOM WHATWG')}}</td> <td>Удалены следующие методы: <code>closest()</code>, <code>setIdAttribute()</code>, <code>setIdAttributeNS()</code>, и <code>setIdAttributeNode()</code>.<br> Удалено свойство <code>schemaTypeInfo</code>.<br> - Измененно возращаемое значение <code>getElementsByTag()</code> и <code>getElementsByTagNS()</code>.<br> + Изменено возвращаемое значение <code>getElementsByTag()</code> и <code>getElementsByTagNS()</code>.<br> Moved <code>hasAttributes()</code> form the <code>Node</code> interface to this one.</td> </tr> <tr> @@ -280,7 +280,7 @@ translation_of: Web/API/Element <tr> <td>{{SpecName('DOM2 Core', 'core.html#ID-745549614', 'Element')}}</td> <td>{{Spec2('DOM2 Core')}}</td> - <td>Мнтод <code>normalize()</code> был перемещён в {{domxref("Node")}}.</td> + <td>Метод <code>normalize()</code> был перемещён в {{domxref("Node")}}.</td> </tr> <tr> <td>{{SpecName('DOM1', 'level-one-core.html#ID-745549614', 'Element')}}</td> diff --git a/files/ru/web/api/element/innerhtml/index.html b/files/ru/web/api/element/innerhtml/index.html index 60af461354..2803948c8c 100644 --- a/files/ru/web/api/element/innerhtml/index.html +++ b/files/ru/web/api/element/innerhtml/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Element/innerHTML <p>Свойство интерфейса {{domxref("Element")}} <strong><code>innerHTML</code></strong> устанавливает или получает HTML или XML разметку дочерних элементов.</p> -<div class="note"><strong>Примечание: </strong>Если узлы {{HTMLElement("div")}}, {{HTMLElement("span")}}, или {{HTMLElement("noembed")}} имеют дочерние текстовые узлы, содержащие символы <code>(&), (<),</code> или <code>(>)</code>, <code>innerHTML</code> вернет эти символы как &amp, &lt и &gt соответсвенно. Используйте {{domxref("Node.textContent")}} для получения правильной копии содержимого этих текстовых узлов. </div> +<div class="note"><strong>Примечание: </strong>Если узлы {{HTMLElement("div")}}, {{HTMLElement("span")}}, или {{HTMLElement("noembed")}} имеют дочерние текстовые узлы, содержащие символы <code>(&), (<),</code> или <code>(>)</code>, <code>innerHTML</code> вернет эти символы как &amp, &lt и &gt соответственно. Используйте {{domxref("Node.textContent")}} для получения правильной копии содержимого этих текстовых узлов. </div> <p> Чтобы вставить HTML в документ, не меняя содержимое элемента, используйте {{domxref("Element.insertAdjacentHTML", "insertAdjacentHTML()")}}.</p> @@ -69,7 +69,7 @@ el.innerHTML = name; // показывает alert</pre> <h2 id="Примеры">Примеры</h2> -<p>Этот пример использует <code>innerHTML</code> для создания механизма логгирования сообщений внутри элемента на странице.</p> +<p>Этот пример использует <code>innerHTML</code> для создания механизма логирования сообщений внутри элемента на странице.</p> <h3 id="JavaScript">JavaScript</h3> @@ -83,9 +83,9 @@ el.innerHTML = name; // показывает alert</pre> log("Регистрация событий мыши внутри этого контейнера...");</pre> -<p>Функция <code>log()</code> создаёт сообщение получая текущее время из объекта {{jsxref("Date")}}, используя {{jsxref("Date.toLocaleTimeString", "toLocaleTimeString()")}}, и соединяя стороку с временной меткой с текстовым сообщением. Затем сообщение добавляется в элемент с классом <code>"log"</code>.</p> +<p>Функция <code>log()</code> создаёт сообщение получая текущее время из объекта {{jsxref("Date")}}, используя {{jsxref("Date.toLocaleTimeString", "toLocaleTimeString()")}}, и соединяя строку с временной меткой с текстовым сообщением. Затем сообщение добавляется в элемент с классом <code>"log"</code>.</p> -<p>Мы добавляем второй метод, который логгирует информацию о событиях на основе {{domxref("MouseEvent")}} (например, {{event("mousedown")}}, {{event("click")}}, и {{event("mouseenter")}}):</p> +<p>Мы добавляем второй метод, который логирует информацию о событиях на основе {{domxref("MouseEvent")}} (например, {{event("mousedown")}}, {{event("click")}}, и {{event("mouseenter")}}):</p> <pre class="brush: js notranslate">function logEvent(event) { var msg = "Event <strong>" + event.type + "</strong> at <em>" + @@ -93,7 +93,7 @@ log("Регистрация событий мыши внутри этого ко log(msg); }</pre> -<p>Затем мы используем этот обработчик событий на элементе, который содержит наше логгирование, для каждого события мыши:</p> +<p>Затем мы используем этот обработчик событий на элементе, который содержит наше логирование, для каждого события мыши:</p> <pre class="brush: js notranslate">var boxElem = document.querySelector(".box"); @@ -112,7 +112,7 @@ boxElem.addEventListener("mouseleave", logEvent);</pre> <div class="log"></div> </div></pre> -<p>{{HTMLElement("div")}} c классом <code>"box"</code> – просто контейнер для, который даст содержимому пространство вокруг себя. <code><div></code> с классом <code>"log"</code> является контейнером для логгирования текста внутри себя.</p> +<p>{{HTMLElement("div")}} c классом <code>"box"</code> – просто контейнер для, который даст содержимому пространство вокруг себя. <code><div></code> с классом <code>"log"</code> является контейнером для логирования текста внутри себя.</p> <h3 id="CSS">CSS</h3> diff --git a/files/ru/web/api/element/insertadjacentelement/index.html b/files/ru/web/api/element/insertadjacentelement/index.html index a6f23f2aa1..532786d834 100644 --- a/files/ru/web/api/element/insertadjacentelement/index.html +++ b/files/ru/web/api/element/insertadjacentelement/index.html @@ -70,7 +70,7 @@ foo <code style="font-weight: bold;"></p></code> <!-- <strong><code style="color: magenta;">afterend</code></strong> --></pre> -<div class="note"><strong>Примечаение:</strong> значения <code>beforebegin</code> и <code>afterend</code> работают только если targetElement находится в DOM-дереве и имеет родительский элемент.</div> +<div class="note"><strong>Примечание:</strong> значения <code>beforebegin</code> и <code>afterend</code> работают только если targetElement находится в DOM-дереве и имеет родительский элемент.</div> <h2 id="Example" name="Example">Примеры</h2> diff --git a/files/ru/web/api/element/insertadjacenttext/index.html b/files/ru/web/api/element/insertadjacenttext/index.html index fa75df2851..81a8079b0c 100644 --- a/files/ru/web/api/element/insertadjacenttext/index.html +++ b/files/ru/web/api/element/insertadjacenttext/index.html @@ -72,7 +72,7 @@ afterBtn.addEventListener('click', function() { <p>Посмотрите пример <a href="https://mdn.github.io/dom-examples/insert-adjacent/insertAdjacentText.html">insertAdjacentText.html</a> на GitHub (исходный код <a href="https://github.com/mdn/dom-examples/blob/master/insert-adjacent/insertAdjacentText.html">source code</a>.) Вы можете ввести любой текст в поле формы, а затем нажать кнопки <em>Insert before</em> (вставить до) и <em>Insert after</em> (вставить после) для размещения этого текста до или после существующего абзаца, используя <code>insertAdjacentText()</code>. Обратите внимание, что существующий текстовой узел не изменился, а произошло добавление новых текстовых узлов.</p> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Можно создать polyfill для insertAdjacentText<code>() method</code> который будет работать в Internet Explorer 5.5 (возможно и в более ранних версиях) и последующих версиях, с помощью данного кода:</p> diff --git a/files/ru/web/api/element/keydown_event/index.html b/files/ru/web/api/element/keydown_event/index.html index 99dffec68a..97291b9ce5 100644 --- a/files/ru/web/api/element/keydown_event/index.html +++ b/files/ru/web/api/element/keydown_event/index.html @@ -34,7 +34,7 @@ translation_of: Web/API/Element/keydown_event <p>События <code>keydown</code> и <code><a href="/en-US/docs/Web/API/Element/keyup_event">keyup</a></code> показывают то, что клавиша была нажата, в то время как <code>keypress</code> показывает то, какой символ был введён. Например, прописную "a" <code>keydown</code> и <code>keyup</code> сообщат как 65, а <code>keypress</code> сообщит как 97. Заглавную же "A" все события сообщают как 65.</p> -<p>События клавиатуры генерируются только в <code><inputs></code>, <code><textarea></code> и любых элементах с аттрибутом <code>contentEditable</code> или <code>tabindex="-1"</code>.</p> +<p>События клавиатуры генерируются только в <code><inputs></code>, <code><textarea></code> и любых элементах с атрибутом <code>contentEditable</code> или <code>tabindex="-1"</code>.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/element/matches/index.html b/files/ru/web/api/element/matches/index.html index a8fe49cccb..77e05c25aa 100644 --- a/files/ru/web/api/element/matches/index.html +++ b/files/ru/web/api/element/matches/index.html @@ -48,10 +48,10 @@ translation_of: Web/API/Element/matches <dl> <dt><code>SYNTAX_ERR</code></dt> - <dd>Указаный css-селектор не является допустимым<em> ("/=22=1", "&@*#", "%%''23" и т.п приведут к ошибке).</em></dd> + <dd>Указанный css-селектор не является допустимым<em> ("/=22=1", "&@*#", "%%''23" и т.п приведут к ошибке).</em></dd> </dl> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Полифил будет работать только в браузерах, поддерживающих метод document.queryselectorAll.</p> diff --git a/files/ru/web/api/element/mouseenter_event/index.html b/files/ru/web/api/element/mouseenter_event/index.html index 075e92ec64..4fdfec5bee 100644 --- a/files/ru/web/api/element/mouseenter_event/index.html +++ b/files/ru/web/api/element/mouseenter_event/index.html @@ -45,7 +45,7 @@ translation_of: Web/API/Element/mouseenter_event <h2 id="Примеры">Примеры</h2> -<p>В документации по <a href="/en-US/docs/Web/Events/mouseover#Example"><code>mouseover</code></a> есть пример илюстрирующий различия между <code>mouseover</code> и <code>mouseenter</code>.</p> +<p>В документации по <a href="/en-US/docs/Web/Events/mouseover#Example"><code>mouseover</code></a> есть пример иллюстрирующий различия между <code>mouseover</code> и <code>mouseenter</code>.</p> <h3 id="mouseenter">mouseenter</h3> diff --git a/files/ru/web/api/element/mouseleave_event/index.html b/files/ru/web/api/element/mouseleave_event/index.html index 3e0db2c600..9db4d49b39 100644 --- a/files/ru/web/api/element/mouseleave_event/index.html +++ b/files/ru/web/api/element/mouseleave_event/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/Element/mouseleave_event <h2 id="Общая_информация">Общая информация</h2> <dl> - <dt style="float: left; text-align: right; width: 120px;">Специф-ция</dt> + <dt style="float: left; text-align: right; width: 120px;">Спецификация</dt> <dd style="margin: 0 0 0 120px;"><a class="external" href="https://www.w3.org/TR/DOM-Level-3-Events/#event-type-mouseleave">DOM L3</a></dd> <dt style="float: left; text-align: right; width: 120px;">Интерфейс</dt> <dd style="margin: 0 0 0 120px;">{{domxref('MouseEvent')}}</dd> @@ -88,7 +88,7 @@ translation_of: Web/API/Element/mouseleave_event <tr> <td><code>currentTarget</code> {{readonlyInline}}</td> <td>{{domxref("EventTarget")}}</td> - <td>Целевой узел (елемент), который используется слушателем события.</td> + <td>Целевой узел (элемент), который используется слушателем события.</td> </tr> <tr> <td><code>relatedTarget</code> {{readonlyInline}}</td> diff --git a/files/ru/web/api/element/mouseup_event/index.html b/files/ru/web/api/element/mouseup_event/index.html index e3bd450c13..50ebbde893 100644 --- a/files/ru/web/api/element/mouseup_event/index.html +++ b/files/ru/web/api/element/mouseup_event/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Element/mouseup_event --- <div>{{APIRef}}</div> -<p><span class="seoSummary">Событие <strong><code>mouseup</code></strong> возникает на {{domxref("Element")}}, когда кнопка на апаратном манипуляторе курсора (на мыши или трекпаде) отпущена, в то время как указатель находится на элементе.</span> Событие mouseup является противоположным {{domxref("Element.mousedown_event", "mousedown")}} событию.</p> +<p><span class="seoSummary">Событие <strong><code>mouseup</code></strong> возникает на {{domxref("Element")}}, когда кнопка на аппаратном манипуляторе курсора (на мыши или трекпаде) отпущена, в то время как указатель находится на элементе.</span> Событие mouseup является противоположным {{domxref("Element.mousedown_event", "mousedown")}} событию.</p> <table class="properties"> <tbody> diff --git a/files/ru/web/api/element/nextelementsibling/index.html b/files/ru/web/api/element/nextelementsibling/index.html index 6c811adbe2..5ab4550b5f 100644 --- a/files/ru/web/api/element/nextelementsibling/index.html +++ b/files/ru/web/api/element/nextelementsibling/index.html @@ -33,9 +33,9 @@ original_slug: Web/API/NonDocumentTypeChildNode/nextElementSibling DIV SCRIPT</pre> -<h2 id="Полифилл_для_IE8">Полифилл для IE8</h2> +<h2 id="Полифил_для_IE8">Полифил для IE8</h2> -<p>Данное свойство не пожддерживается до IE9. Используйте следующий полифилл, чтобы обойти этот недостаток:</p> +<p>Данное свойство не поддерживается до IE9. Используйте следующий полифил, чтобы обойти этот недостаток:</p> <pre class="brush: js">// Источник: https://github.com/Alhadis/Snippets/blob/master/js/polyfills/IE8-child-elements.js if (!('nextElementSibling' in document.documentElement)) { @@ -50,7 +50,7 @@ if (!('nextElementSibling' in document.documentElement)) { }); }</pre> -<h2 id="Полифилл_для_IE9_и_Safari">Полифилл для IE9+ и Safari</h2> +<h2 id="Полифил_для_IE9_и_Safari">Полифил для IE9+ и Safari</h2> <pre class="brush: js">// Источник: https://github.com/jserz/js_piece/blob/master/DOM/NonDocumentTypeChildNode/nextElementSibling/nextElementSibling.md (function(arr) { diff --git a/files/ru/web/api/element/previouselementsibling/index.html b/files/ru/web/api/element/previouselementsibling/index.html index 1e6ab64268..12e9cb51fb 100644 --- a/files/ru/web/api/element/previouselementsibling/index.html +++ b/files/ru/web/api/element/previouselementsibling/index.html @@ -44,7 +44,7 @@ original_slug: Web/API/NonDocumentTypeChildNode/previousElementSibling 4. DIV </pre> -<h2 id="Полифилл_для_Internet_Explorer_8">Полифилл для Internet Explorer 8</h2> +<h2 id="Полифил_для_Internet_Explorer_8">Полифил для Internet Explorer 8</h2> <p>Это свойство поддерживается начиная с версии IE9, поэтому следующий фрагмент поддерживается, и может использоваться для IE8:</p> @@ -60,7 +60,7 @@ if(!("previousElementSibling" in document.documentElement)){ }); }</pre> -<h2 id="Specification" name="Specification">Полифилл для Internet Explorer 9+ и Safari</h2> +<h2 id="Specification" name="Specification">Полифил для Internet Explorer 9+ и Safari</h2> <pre class="brush: js">// Ресурс: https://github.com/jserz/js_piece/blob/master/DOM/NonDocumentTypeChildNode/previousElementSibling/previousElementSibling.md (function (arr) { diff --git a/files/ru/web/api/element/removeattribute/index.html b/files/ru/web/api/element/removeattribute/index.html index 22bdfb22c2..d249cb37b5 100644 --- a/files/ru/web/api/element/removeattribute/index.html +++ b/files/ru/web/api/element/removeattribute/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Element/removeAttribute --- <p>{{ APIRef("DOM") }}</p> -<p><code>removeAttribute</code> удаляет аттрибут с элемента.</p> +<p><code>removeAttribute</code> удаляет атрибут с элемента.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -13,7 +13,7 @@ translation_of: Web/API/Element/removeAttribute </pre> <ul> - <li><code>attrName</code> строка, имя аттрибута который должен быть удален с <em>element</em>.</li> + <li><code>attrName</code> строка, имя атрибута который должен быть удален с <em>element</em>.</li> </ul> <h2 id="Example" name="Example">Пример</h2> @@ -27,7 +27,7 @@ document.getElementById("div1").removeAttribute("align"); <p>Вы должны использовать removeAttribute вместо того, чтобы устанавливать значение атрибута в null, используя <a href="/en/DOM/element.setAttribute" title="en/DOM/element.setAttribute">setAttribute</a>.</p> -<p>Попытка удаления аттрибута, которого нет на элементе не вызывает ошибки.</p> +<p>Попытка удаления атрибута, которого нет на элементе не вызывает ошибки.</p> <p>{{ DOMAttributeMethods() }}</p> diff --git a/files/ru/web/api/element/scrollintoview/index.html b/files/ru/web/api/element/scrollintoview/index.html index 58bf29f51a..879861c24b 100644 --- a/files/ru/web/api/element/scrollintoview/index.html +++ b/files/ru/web/api/element/scrollintoview/index.html @@ -25,7 +25,7 @@ element.scrollIntoView(<em>scrollIntoViewOptions</em>); // аргумент ти </ul> </dd> <dt><code>scrollIntoViewOptions</code> {{optional_inline}} {{experimental_inline}}</dt> - <dd>Aргумент типа boolean или типа object со следующим набором опций:</dd> + <dd>Аргумент типа boolean или типа object со следующим набором опций:</dd> <dt><code>behavior</code> {{optional_inline}}</dt> <dd>Определяет анимацию скролла. Принимает значение <code>"auto"</code> или <code>"smooth"</code>. По умолчанию <code>"auto"</code>.</dd> <dt><code>block</code> {{optional_inline}}</dt> diff --git a/files/ru/web/api/element/scrollleft/index.html b/files/ru/web/api/element/scrollleft/index.html index 15af642a56..96045f9726 100644 --- a/files/ru/web/api/element/scrollleft/index.html +++ b/files/ru/web/api/element/scrollleft/index.html @@ -25,7 +25,7 @@ var <var>sLeft</var> = <var>element</var>.scrollLeft; <ul> <li>Если элемент не может быть прокручен (т.е. у него нет переполнения), <code>scrollLeft</code> устанавливается в 0.</li> - <li>Если установили значение меньше 0 (больше 0 при располежении элементов справа налево), <code>scrollLeft</code> устанавливается в 0.</li> + <li>Если установили значение меньше 0 (больше 0 при расположении элементов справа налево), <code>scrollLeft</code> устанавливается в 0.</li> <li>Если установлено значение больше, чем максимум прокручиваемого контента, <code>scrollLeft</code> устанавливается в максимум.</li> </ul> diff --git a/files/ru/web/api/element/slot/index.html b/files/ru/web/api/element/slot/index.html index 0317b63cc2..7feac10876 100644 --- a/files/ru/web/api/element/slot/index.html +++ b/files/ru/web/api/element/slot/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/Element/slot --- <p>{{APIRef("Shadow DOM")}}</p> -<p>Свойство <strong><code>slot</code></strong> интерфейса {{domxref("Element")}} возращает имя слота теневого DOM, в который вставлен элемент.</p> +<p>Свойство <strong><code>slot</code></strong> интерфейса {{domxref("Element")}} возвращает имя слота теневого DOM, в который вставлен элемент.</p> <p>Слот slot это заполнитель внутри <a href="/en-US/docs/Web/Web_Components">веб компонента</a>, который пользователи могут заполнить собственной разметкой (смотри <a href="/en-US/docs/Web/Web_Components/Using_templates_and_slots">Использование шаблонов и слотов</a> для получения дополнительной информации).</p> diff --git a/files/ru/web/api/elementcssinlinestyle/style/index.html b/files/ru/web/api/elementcssinlinestyle/style/index.html index 95f9209797..7180bedfa6 100644 --- a/files/ru/web/api/elementcssinlinestyle/style/index.html +++ b/files/ru/web/api/elementcssinlinestyle/style/index.html @@ -50,7 +50,7 @@ elt.style.color = "blue";</code></pre> div.style.marginTop = ".25in";</pre> </div> -<p>Следующий код показывает имена всех свойств стиля, значений, заданных явно для элемента elt и унаследованных "расчитанных" значений:</p> +<p>Следующий код показывает имена всех свойств стиля, значений, заданных явно для элемента elt и унаследованных "рассчитанных" значений:</p> <pre class="brush:js">var elt = document.getElementById("elementIdHere"); var out = ""; diff --git a/files/ru/web/api/event/index.html b/files/ru/web/api/event/index.html index fbc7c4726f..41b3027031 100644 --- a/files/ru/web/api/event/index.html +++ b/files/ru/web/api/event/index.html @@ -85,9 +85,9 @@ translation_of: Web/API/Event <dl> <dt>{{domxref("Event.bubbles")}} {{readonlyinline}}</dt> - <dd>Логическое значение, указывающее, вспыло ли событие вверх по DOM или нет.</dd> + <dd>Логическое значение, указывающее, всплыло ли событие вверх по DOM или нет.</dd> <dt>{{domxref("Event.cancelBubble")}}</dt> - <dd>Историческое название синонима {{domxref("Event.stopPropagation()")}}. Если установить знаение в <code>true</code> до возврата из обработчика события (Event Handler), то событие не будет распространяться дальше (например, на обрабочики для родительских узлов).</dd> + <dd>Историческое название синонима {{domxref("Event.stopPropagation()")}}. Если установить значение в <code>true</code> до возврата из обработчика события (Event Handler), то событие не будет распространяться дальше (например, на обработчики для родительских узлов).</dd> <dt>{{domxref("Event.cancelable")}} {{readonlyinline}}</dt> <dd>Логическое значение, показывающее возможность отмены события.</dd> <dt>{{domxref("Event.composed")}} {{ReadOnlyInline}}</dt> diff --git a/files/ru/web/api/event/target/index.html b/files/ru/web/api/event/target/index.html index 86b20f406f..e8fe04d96b 100644 --- a/files/ru/web/api/event/target/index.html +++ b/files/ru/web/api/event/target/index.html @@ -119,7 +119,7 @@ ul.addEventListener('click', hide, false);</pre> <h2 id="Примечания">Примечания</h2> -<p>В IE 6-8 модель событий отличается. Обработчики событий назначаются с помощью нестандартного {{domxref('EventTarget.attachEvent')}} метода. При этом в объекте события есть свойство {{domxref('Event.srcElement')}}, вместо <code>target</code> свойства, но по смыслу оно индентично <code>event.target</code>.</p> +<p>В IE 6-8 модель событий отличается. Обработчики событий назначаются с помощью нестандартного {{domxref('EventTarget.attachEvent')}} метода. При этом в объекте события есть свойство {{domxref('Event.srcElement')}}, вместо <code>target</code> свойства, но по смыслу оно идентично <code>event.target</code>.</p> <pre class="brush: js notranslate">function hide(e) { // Поддержка IE 6-8 diff --git a/files/ru/web/api/event/type/index.html b/files/ru/web/api/event/type/index.html index e9aabbbe88..11512d0c29 100644 --- a/files/ru/web/api/event/type/index.html +++ b/files/ru/web/api/event/type/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Event/type <p><code><strong>Event.type</strong></code> - это доступное только для чтения свойство, возвращающее строку, содержащую тип события. Оно устанавливается в момент создания события и это имя обычно используется для ссылки на определенное событие.</p> -<p>Агрумент <em><code>event</code></em> функций {{ domxref("EventTarget.addEventListener()") }} и {{ domxref("EventTarget.removeEventListener()") }} не чувствителен к регистру.</p> +<p>Аргумент <em><code>event</code></em> функций {{ domxref("EventTarget.addEventListener()") }} и {{ domxref("EventTarget.removeEventListener()") }} не чувствителен к регистру.</p> <p>Для получения списка доступных типов событий смотри <a href="/en-US/docs/Web/Events" title="Mozilla event reference">event reference</a></p> diff --git a/files/ru/web/api/eventlistener/index.html b/files/ru/web/api/eventlistener/index.html index 02f50fb594..d97b4ea29e 100644 --- a/files/ru/web/api/eventlistener/index.html +++ b/files/ru/web/api/eventlistener/index.html @@ -29,7 +29,7 @@ translation_of: Web/API/EventListener <h3 id="handleEvent" name="handleEvent()">handleEvent()</h3> -<p>Этот метод вызывается всякий раз, когда присходит событие того типа, для которого был зарегистрирован интерфейс EventListener.</p> +<p>Этот метод вызывается всякий раз, когда происходит событие того типа, для которого был зарегистрирован интерфейс EventListener.</p> <pre class="eval notranslate">void handleEvent( in Event event diff --git a/files/ru/web/api/eventsource/index.html b/files/ru/web/api/eventsource/index.html index 85ab4c5bf3..fd25f85eb4 100644 --- a/files/ru/web/api/eventsource/index.html +++ b/files/ru/web/api/eventsource/index.html @@ -58,13 +58,13 @@ translation_of: Web/API/EventSource </tbody> </table> -<p>В дополение к открытым атрибутам два внутренних атрибута, которые не открыты напрямую:</p> +<p>В дополнение к открытым атрибутам два внутренних атрибута, которые не открыты напрямую:</p> <dl> <dt>reconnection time</dt> <dd>Это время в миллисекундах, используемое для определения продолжительности ожидания после неудачной попытки соединения до повторного соединения</dd> <dt>last event ID string</dt> - <dd>По-умолчания пустая строка. Сервер может отправлять сообщение с полем <code>id </code>для установки этого значения.</dd> + <dd>По умолчанию пустая строка. Сервер может отправлять сообщение с полем <code>id </code>для установки этого значения.</dd> </dl> <h2 id="Constants" name="Constants">Константы</h2> diff --git a/files/ru/web/api/eventtarget/addeventlistener/index.html b/files/ru/web/api/eventtarget/addeventlistener/index.html index 84d6390438..7d5f4d84ba 100644 --- a/files/ru/web/api/eventtarget/addeventlistener/index.html +++ b/files/ru/web/api/eventtarget/addeventlistener/index.html @@ -64,7 +64,7 @@ target</em>.addEventListener(<em>type</em>, <em>listener</em>[, <em>useCapture</ <p>Прослушиватель событий может быть задан либо как функция обратного вызова, либо как объект реализующий {{domxref("EventListener")}}, чей {{domxref("EventListener.handleEvent", "handleEvent()")}} метод служит как функция обратного вызова.</p> -<p>Сама функция обранного вызова имеет те же параметры и возвращаемое значение что и метод <code>handleEvent()</code>; То есть обратный вызов принимает единственный параметр: объект основанный на {{domxref("Event")}} описывая событие, которое произошло и ничего не возвращая.</p> +<p>Сама функция обратного вызова имеет те же параметры и возвращаемое значение что и метод <code>handleEvent()</code>; То есть обратный вызов принимает единственный параметр: объект основанный на {{domxref("Event")}} описывая событие, которое произошло и ничего не возвращая.</p> <p>Например, обратный вызов обработчика событий, который может использоваться для обработки {{event("fullscreenchange")}} и {{event("fullscreenerror")}} может выглядеть так:</p> @@ -239,7 +239,7 @@ el.addEventListener("click", () => { modifyText("four"); }, false);</pre> <p>Значение переменной <code>this</code> внутри <code>modifyText()</code> при вызове событием клика будет равно ссылке на глобальный (window) объект (или <code>undefined</code> при использовании <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode">strict mode</a>)</p> -<div class="note"><strong>Note:</strong> В JavaScript 1.8.5 введён метод <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind" title="JavaScript/Reference/Global Objects/Function/bind">Function.prototype.bind()</a></code> , который позволяет указать значение, которое должно быть использовано для всех вызовов данной функции. Он позволяет вам легко обходить ситуации, в которых не ясно, чему будет равно this, в зависимости от того, в каком контексте будет вызвана ваша функция. заметьте, также, что Вам будет необходимо иметь внешню ссылку на слушатель, чтобы Вы могли удалить его позже.</div> +<div class="note"><strong>Note:</strong> В JavaScript 1.8.5 введён метод <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind" title="JavaScript/Reference/Global Objects/Function/bind">Function.prototype.bind()</a></code> , который позволяет указать значение, которое должно быть использовано для всех вызовов данной функции. Он позволяет вам легко обходить ситуации, в которых не ясно, чему будет равно this, в зависимости от того, в каком контексте будет вызвана ваша функция. заметьте, также, что Вам будет необходимо иметь внешнюю ссылку на слушатель, чтобы Вы могли удалить его позже.</div> <p>Пример с использованием <code>bind</code> и без него:</p> @@ -297,7 +297,7 @@ el.addEventListener("click", () => { modifyText("four"); }, false);</pre> <h3 id="Compatibility" name="Compatibility">Совместимость</h3> -<p>Вы можете обойти методы <code>addEventListener</code>, <code>removeEventListener</code>, <code>Event.preventDefault</code> и <code>Event.stopPropagation</code> не поддерживаемы в IE 8 используя следующий код в начале Вашего скрипта. Этот код подерживает использование <code>handleEvent</code> и события <code>DOMContentLoaded</code>.</p> +<p>Вы можете обойти методы <code>addEventListener</code>, <code>removeEventListener</code>, <code>Event.preventDefault</code> и <code>Event.stopPropagation</code> не поддерживаемы в IE 8 используя следующий код в начале Вашего скрипта. Этот код поддерживает использование <code>handleEvent</code> и события <code>DOMContentLoaded</code>.</p> <div class="note"> <p><strong>Note: </strong>useCapture не поддерживается, так как IE 8 не имеет альтернативного метода для этого. Также заметьте, что следующий код только добавляет поддержку IE 8. Также, он работает только при соблюдении стандартов: объявление DOCTYPE страницы обязательно.</p> diff --git a/files/ru/web/api/eventtarget/eventtarget/index.html b/files/ru/web/api/eventtarget/eventtarget/index.html index e7f8ed381d..8a4beceec7 100644 --- a/files/ru/web/api/eventtarget/eventtarget/index.html +++ b/files/ru/web/api/eventtarget/eventtarget/index.html @@ -42,12 +42,12 @@ let newValue = myEventTarget.secret; // == 7</pre> <h2 id="Спецификация">Спецификация</h2> -<p>Срецификация</p> +<p>Спецификация</p> <table class="standard-table"> <tbody> <tr> - <th scope="col">Срецификация</th> + <th scope="col">Спецификация</th> <th scope="col">Статус</th> <th scope="col">Комментарии</th> </tr> @@ -62,7 +62,7 @@ let newValue = myEventTarget.secret; // == 7</pre> <h2 id="Совместимость_браузеров">Совместимость браузеров</h2> <div> -<div class="hidden">Таблица совместимости на этой странице сгенерированна из структурированных данных. Если Вы желаете внести изменения, пожалуйста проверьте адрес <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> aи отправьте запрос (pull request).</div> +<div class="hidden">Таблица совместимости на этой странице сгенерированна из структурированных данных. Если Вы желаете внести изменения, пожалуйста проверьте адрес <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте запрос (pull request).</div> <p>{{Compat("api.EventTarget.EventTarget")}}</p> </div> diff --git a/files/ru/web/api/eventtarget/index.html b/files/ru/web/api/eventtarget/index.html index 14aab04ab3..fe9c39f084 100644 --- a/files/ru/web/api/eventtarget/index.html +++ b/files/ru/web/api/eventtarget/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/EventTarget <p>Наиболее частые генераторы событий - {{domxref("Element")}}, {{domxref("document")}}, и {{domxref("window")}}, но другие объекты так же могут использоваться в качестве источников событий , например {{domxref("XMLHttpRequest")}}, {{domxref("AudioNode")}}, {{domxref("AudioContext")}}, и другие.</p> -<p>Многие источники событий (включая элементы, документ и окно) также поддерживают установку <a href="/en-US/docs/Web/Guide/DOM/Events/Event_handlers" title="/en-US/docs/Web/Guide/DOM/Events/Event_handlers">обработчиков событий</a> с помощью on<code>...</code> свойств и аттрибутов.</p> +<p>Многие источники событий (включая элементы, документ и окно) также поддерживают установку <a href="/en-US/docs/Web/Guide/DOM/Events/Event_handlers" title="/en-US/docs/Web/Guide/DOM/Events/Event_handlers">обработчиков событий</a> с помощью on<code>...</code> свойств и атрибутов.</p> <h2 id="Methods" name="Methods">Методы</h2> @@ -42,7 +42,7 @@ translation_of: Web/API/EventTarget <tr> <td>{{SpecName('DOM3 Events', 'DOM3-Events.html#interface-EventTarget', 'EventTarget')}}</td> <td>{{Spec2('DOM3 Events')}}</td> - <td>Несколько параметров теперь являються необязательными (<code>listener</code>), или принимают нулевое значение (<code>useCapture</code>).</td> + <td>Несколько параметров теперь являются необязательными (<code>listener</code>), или принимают нулевое значение (<code>useCapture</code>).</td> </tr> <tr> <td>{{SpecName('DOM2 Events', 'events.html#Events-EventTarget', 'EventTarget')}}</td> diff --git a/files/ru/web/api/eventtarget/removeeventlistener/index.html b/files/ru/web/api/eventtarget/removeeventlistener/index.html index 3470bb95a8..09805a9d0b 100644 --- a/files/ru/web/api/eventtarget/removeeventlistener/index.html +++ b/files/ru/web/api/eventtarget/removeeventlistener/index.html @@ -34,7 +34,7 @@ translation_of: Web/API/EventTarget/removeEventListener </dd> <dt><code>useCapture</code> {{optional_inline}}</dt> <dd>Указывает, был ли удаляемый {{domxref("EventListener")}}зарегистрирован как перехватывающий обработчик, или нет. Если этот параметр отсутствует, предполагается значение по умолчанию:<code>false</code>.</dd> - <dd>Если обработчик был зарегистрирован дважды, один раз с перехватом (с <code>capture</code>) и один - без, каждый из них должен быть удален по отдельности. Удаление перехватывающего обработчика никак не затрагивает не-перехватывающюю версию этого же обработчика, и наоборот.</dd> + <dd>Если обработчик был зарегистрирован дважды, один раз с перехватом (с <code>capture</code>) и один - без, каждый из них должен быть удален по отдельности. Удаление перехватывающего обработчика никак не затрагивает не перехватывающую версию этого же обработчика, и наоборот.</dd> </dl> <div class="note"><strong>Заметка:</strong> <code>useCapture</code> требуется в большинстве основных браузеров старых версий. Если вы хотите поддерживать большую совместимость, вы всегда должны использовать параметр <code>useCapture</code>.</div> diff --git a/files/ru/web/api/extendableevent/waituntil/index.html b/files/ru/web/api/extendableevent/waituntil/index.html index 136770f499..100c16aeaa 100644 --- a/files/ru/web/api/extendableevent/waituntil/index.html +++ b/files/ru/web/api/extendableevent/waituntil/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/ExtendableEvent/waitUntil <p><span class="seoSummary">Метод <code><strong>ExtendableEvent.waitUntil()</strong></code> сообщает диспетчеру событий, что выполняется действие. Также этот метод может быть использован, для того чтобы определить было ли то действие успешным. В рамках service workers, <code>waitUntil()</code> сообщает браузеру, что действие продолжается пока обещание не завершится (<em>promise settles</em>) и браузер не должен прерывать service worker если он хочет, чтобы это действие завершилось.</span></p> -<p>События <code>install</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> чтобы задержать service worker в {{domxref("ServiceWorkerRegistration.installing", "installing")}} фазе пока не завершатся задачи. Если обещание переданное в <code>waitUntil()</code> отклоняется, установка считается неудачной и устанавлеваемый service worker отбрасывается. В первую очередь это используется для гарантии того, что service worker не рассматривается как установленный (installed), пока все основные кэши на которые он зависит успешно не заполнены.</p> +<p>События <code>install</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> чтобы задержать service worker в {{domxref("ServiceWorkerRegistration.installing", "installing")}} фазе пока не завершатся задачи. Если обещание переданное в <code>waitUntil()</code> отклоняется, установка считается неудачной и устанавливаемый service worker отбрасывается. В первую очередь это используется для гарантии того, что service worker не рассматривается как установленный (installed), пока все основные кэши на которые он зависит успешно не заполнены.</p> <p>События <code>activate</code> в {{domxref("ServiceWorkerGlobalScope", "service workers")}} используют <code>waitUntil()</code> для размещения в буфере функциональных событий таких как <code>fetch</code> и <code>push</code> пока обещание переданное в <code>waitUntil()</code> не завершится успешно. Это дает service worker время, чтобы обновить схемы базы данных и удалить устаревшие {{domxref("Cache", "caches")}}, таким образом другие события могут полагаться на полностью обновленное состояние.</p> diff --git a/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html b/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html index ec05253d7f..2770db2a0f 100644 --- a/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html +++ b/files/ru/web/api/fetch_api/cross-global_fetch_usage/index.html @@ -30,4 +30,4 @@ translation_of: Web/API/Fetch_API/Cross-global_fetch_usage <pre class="brush: js">let absolute = new URL(relative, frame.contentWindow.location.href)</pre> -<p>Ведется много дискуссий о том, как привести новые спецификации в соотвествие с этим изменением поведения, для того чтобы уменьшить возможные проблемы в будущем.</p> +<p>Ведется много дискуссий о том, как привести новые спецификации в соответствие с этим изменением поведения, для того чтобы уменьшить возможные проблемы в будущем.</p> diff --git a/files/ru/web/api/fetch_api/index.html b/files/ru/web/api/fetch_api/index.html index cb3917dcf8..90942a2c13 100644 --- a/files/ru/web/api/fetch_api/index.html +++ b/files/ru/web/api/fetch_api/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/Fetch_API <p>Fetch API предоставляет интерфейс для получения ресурсов (в том числе по сети). Он покажется знакомым любому, кто использовал {{DOMxRef("XMLHttpRequest")}}, но новый API является более мощным и гибким набором функций.</p> -<h2 id="Oпределения_и_использование">Oпределения и использование</h2> +<h2 id="Определения_и_использование">Определения и использование</h2> <p>Fetch обеспечивает обобщенное определение объектов {{DOMxRef("Request")}} и {{DOMxRef("Response")}} (и других вещей, связанных с сетевыми запросами). Это позволит им использоваться везде, где необходимо в будущем, в том числе и для service workers, Cache API и других подобных технологий, которые обрабатывают или изменяют запросы (requests) и ответы (responses), а так же в любых других случаях, которые могут потребовать от вас генерировать свой собственный ответ программно.</p> @@ -26,7 +26,7 @@ translation_of: Web/API/Fetch_API <p>Метод <code>fetch()</code> принимает один обязательный аргумент — путь к данным, которые вы хотите получить. Он возвращает promise, который разрешается в ({{DOMxRef("Response")}}) независимо от того, был ли запрос удачным. Вы можете также передать во втором аргументе необязательный объект с указанием опций (см. {{DOMxRef("Request")}}.)</p> -<p>Как только {{DOMxRef("Response")}} выполнится успешно, становятся доступными несколько методов для определения тела контента и, как его содержимое олжно быть обработано (см. {{DOMxRef("Body")}}.)</p> +<p>Как только {{DOMxRef("Response")}} выполнится успешно, становятся доступными несколько методов для определения тела контента и, как его содержимое должно быть обработано (см. {{DOMxRef("Body")}}.)</p> <p>Вы можете создавать запрос и ответ непосредственно, используя конструкторы {{DOMxRef("Request.Request","Request()")}} и {{DOMxRef("Response.Response","Response()")}}, но маловероятно, что в этом есть необходимость. Напротив, более вероятно, что они будут созданы как результат работы другого API (например, {{DOMxRef("FetchEvent.respondWith")}} в service workers.)</p> 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 f123f02792..f093df7ebf 100644 --- a/files/ru/web/api/fetch_api/using_fetch/index.html +++ b/files/ru/web/api/fetch_api/using_fetch/index.html @@ -40,7 +40,7 @@ translation_of: Web/API/Fetch_API/Using_Fetch <h3 id="Установка_параметров_запроса">Установка параметров запроса</h3> -<p>Метод <code>fetch()</code> может принимать второй параметр - обьект <code>init</code>, который позволяет вам контролировать различные настройки:</p> +<p>Метод <code>fetch()</code> может принимать второй параметр - объект <code>init</code>, который позволяет вам контролировать различные настройки:</p> <pre class="brush: js">// Пример отправки POST запроса: async function postData(url = '', data = {}) { @@ -323,10 +323,10 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre> <ul> <li>{{domxref("Response.status")}} — Целочисленное (по умолчанию 200) содержит код статуса ответа.</li> <li>{{domxref("Response.statusText")}} — Строка (по умолчанию"OK"), которая соответствует HTTP коду статуса.</li> - <li>{{domxref("Response.ok")}} — как сказано ранее, это короткое свойство для упрощения проверки на то что статус ответа находится гдето между 200-299 включительно. Это свойство типа {{domxref("Boolean")}}.</li> + <li>{{domxref("Response.ok")}} — как сказано ранее, это короткое свойство для упрощения проверки на то что статус ответа находится где-то между 200-299 включительно. Это свойство типа {{domxref("Boolean")}}.</li> </ul> -<p>Они так же могут быть созданы с помощью JavaScript, но реальная польза от этого есть только при использовании {{domxref("ServiceWorker_API", "сервисворкеров")}}, когда вы предоставляете собственный ответ на запрос с помощью метода {{domxref("FetchEvent.respondWith","respondWith()")}}:</p> +<p>Они так же могут быть созданы с помощью JavaScript, но реальная польза от этого есть только при использовании {{domxref("ServiceWorker_API", "сервис-воркеров")}}, когда вы предоставляете собственный ответ на запрос с помощью метода {{domxref("FetchEvent.respondWith","respondWith()")}}:</p> <pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">const</span> myBody <span class="operator token">=</span> <span class="keyword token">new</span> <span class="class-name token">Blob</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> @@ -361,7 +361,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre> <li>{{domxref("FormData")}}</li> </ul> -<p>{{domxref("Body")}} примесь определяет следующие методы для извлечения тела (реализованны как для {{domxref("Request")}} так и для {{domxref("Response")}}). Все они возвращают promise, который в конечном итоге исполняется и выводит содержимое.</p> +<p>{{domxref("Body")}} примесь определяет следующие методы для извлечения тела (реализованы как для {{domxref("Request")}} так и для {{domxref("Response")}}). Все они возвращают promise, который в конечном итоге исполняется и выводит содержимое.</p> <ul> <li>{{domxref("Body.arrayBuffer","arrayBuffer()")}}</li> @@ -393,7 +393,7 @@ console.log(myHeaders.get("X-Custom-Header")); // [ ]</pre> // Сделать что-то с XMLHttpRequest? }</pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Для того, чтобы использовать Fetch в неподдерживаемых браузерах, существует <a href="https://github.com/github/fetch">Fetch Polyfill</a> , который воссоздает функциональность для не поддерживающих браузеров.</p> @@ -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/fetchevent/index.html b/files/ru/web/api/fetchevent/index.html index 5c529c772c..d0e2454f50 100644 --- a/files/ru/web/api/fetchevent/index.html +++ b/files/ru/web/api/fetchevent/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/FetchEvent --- <p>{{APIRef("Service Workers API")}}</p> -<p><span class="seoSummary">Это тип событий <code>fetch</code>, обрабатываемых в {{domxref("ServiceWorkerGlobalScope", "глобальном контексте service worker", "", 1)}}. Даноое событие содержит данные о запросе, включая его цель. Оно предоставляет метод {{domxref("FetchEvent.respondWith", "event.respondWith()")}}, с помощью которого service worker может ответить на запрос.</span></p> +<p><span class="seoSummary">Это тип событий <code>fetch</code>, обрабатываемых в {{domxref("ServiceWorkerGlobalScope", "глобальном контексте service worker", "", 1)}}. Данное событие содержит данные о запросе, включая его цель. Оно предоставляет метод {{domxref("FetchEvent.respondWith", "event.respondWith()")}}, с помощью которого service worker может ответить на запрос.</span></p> <h2 id="Конструктор">Конструктор</h2> @@ -37,7 +37,7 @@ translation_of: Web/API/FetchEvent <dl> <dt>{{domxref("fetchEvent.respondWith()")}}</dt> - <dd>Перехватывает запрос и отпраляет промис с ответом.</dd> + <dd>Перехватывает запрос и отправляет промис с ответом.</dd> <dt>{{domxref("extendableEvent.waitUntil()")}}</dt> <dd> <p>Продлевает выполнение обработчика события до завершения переданного промиса. Используется чтобы уведомить браузер о событии, продолжающемся после отправки ответа, таком как обновление кеша или потоковая передача.</p> diff --git a/files/ru/web/api/file/using_files_from_web_applications/index.html b/files/ru/web/api/file/using_files_from_web_applications/index.html index 84af0e83a7..0ae38c4392 100644 --- a/files/ru/web/api/file/using_files_from_web_applications/index.html +++ b/files/ru/web/api/file/using_files_from_web_applications/index.html @@ -49,7 +49,7 @@ function handleFiles() { <h2 id="Получение_информации_о_выделенных_файлах">Получение информации о выделенных файлах</h2> -<p>Объект {{ domxref("FileList") }} предоставляемый классическим DOM содержит все файлы выбранные пользователем, каждый из которых представляет собой объект {{ domxref("File") }}. Вы можете определить сколько файлов выбрал пользователь проверяя значение аттрибута длины (<code>length</code>) списка файлов:</p> +<p>Объект {{ domxref("FileList") }} предоставляемый классическим DOM содержит все файлы выбранные пользователем, каждый из которых представляет собой объект {{ domxref("File") }}. Вы можете определить сколько файлов выбрал пользователь проверяя значение атрибута длины (<code>length</code>) списка файлов:</p> <pre class="brush: js notranslate"><code>var numFiles = files.length;</code></pre> @@ -63,7 +63,7 @@ function handleFiles() { <p>Этот цикл проходит по всем файлам в списке файлов.</p> -<p>Всего существует три аттрибута, предоставляемых объектом {{ domxref("File") }}, которые содержат полезную информацию о файле.</p> +<p>Всего существует три атрибута, предоставляемых объектом {{ domxref("File") }}, которые содержат полезную информацию о файле.</p> <dl> <dt><code>name</code></dt> @@ -219,7 +219,7 @@ function dragover(e) { <p>Затем мы устанавливаем {{ domxref("FileReader") }} для обработки асинхронной загрузки изображения и прикрепления его к <code>img</code> элементу. После создания нового объекта <code>FileReader</code>, мы настраиваем его функцию <code>onload</code>, затем вызываем <code>readAsDataURL()</code> для запуска операции чтения в фоновом режиме. Когда всё содержимое файла изображения загружено, они преобразуют его в <code>data:</code> URL, который передается в обратный вызов <code>onload</code> . Наша реализация этой процедуры просто устанавливает атрибут <code>src</code> у элемента <code>img</code> загруженного изображения, в результате чего миниатюра изображения появляется на экране пользователя.</p> -<h2 id="Использование_URLs_объктов">Использование URLs объктов</h2> +<h2 id="Использование_URLs_объектов">Использование URLs объектов</h2> <p>Gecko 2.0 {{ geckoRelease("2.0") }} представляет поддержку для методов DOM {{ domxref("window.URL.createObjectURL()") }} и {{ domxref("window.URL.revokeObjectURL()") }}. Они позволяют создавать простые строки URL, которые могут быть использованы для обращения к любым данным, на которые можно ссылаться, используя объект DOM {{ domxref("File") }}, включая локальные файлы на компьютере пользователя.</p> diff --git a/files/ru/web/api/file_and_directory_entries_api/index.html b/files/ru/web/api/file_and_directory_entries_api/index.html index e876abacfc..8b93e3a01d 100644 --- a/files/ru/web/api/file_and_directory_entries_api/index.html +++ b/files/ru/web/api/file_and_directory_entries_api/index.html @@ -26,7 +26,7 @@ translation_of: Web/API/File_and_Directory_Entries_API <p>Существуют два очень похожих API в зависимости от того, хотите ли вы асинхронного или синхронного поведения. Синхронный API предназначен для использования внутри {{domxref("Worker")}} и будет возвращать желаемые значения. Асинхронный API не будет блокировать выполнение кода, а API не будет возвращать значения; вместо этого вам нужно будет предоставить функцию обратного вызова для обработки одного или нескольких ответов.</p> <div class="warning"> -<p>Firefox реализация File System API очень ограничена: не поддерживается создание файлов. Доступ к вайлам осуществляется только через {{HTMLElement("input")}} элемент (см. так же {{domxref("HTMLInputElement")}}) или путем перетаскивания файла/папки (<a href="/en-US/docs/Web/API/HTML_Drag_and_Drop_API">drag and drop</a>). Firefox также не реализует синхронный API. Внимательно проверьте совместимость браузера для любой части API, которую вы используете. ( см. <a href="/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support">Поддержка File System API в Firefox</a>)</p> +<p>Firefox реализация File System API очень ограничена: не поддерживается создание файлов. Доступ к файлам осуществляется только через {{HTMLElement("input")}} элемент (см. так же {{domxref("HTMLInputElement")}}) или путем перетаскивания файла/папки (<a href="/en-US/docs/Web/API/HTML_Drag_and_Drop_API">drag and drop</a>). Firefox также не реализует синхронный API. Внимательно проверьте совместимость браузера для любой части API, которую вы используете. ( см. <a href="/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support">Поддержка File System API в Firefox</a>)</p> </div> <h2 id="Получение_доступа_к_файловой_системе">Получение доступа к файловой системе</h2> diff --git a/files/ru/web/api/filelist/index.html b/files/ru/web/api/filelist/index.html index 350142abee..2b8cfe1fea 100644 --- a/files/ru/web/api/filelist/index.html +++ b/files/ru/web/api/filelist/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/FileList --- <div>{{APIRef("File API")}}{{gecko_minversion_header("1.9")}}</div> -<div>Объект этого типа возвращается свойством {{HTMLElement("input")}} элемента, что позволяет получить список выбранных файлов из <code><input type="file"></code>. Также используется для получения списка файлов, брошеных в область веб-контента (<strong>Web content</strong>) по средствам drag and drop API. Смотрите <a href="/en-US/docs/DragDrop/DataTransfer" title="DragDrop/DataTransfer">DataTransfer</a> для детального понимания как это использовать.</div> +<div>Объект этого типа возвращается свойством {{HTMLElement("input")}} элемента, что позволяет получить список выбранных файлов из <code><input type="file"></code>. Также используется для получения списка файлов, брошенных в область веб-контента (<strong>Web content</strong>) по средствам drag and drop API. Смотрите <a href="/en-US/docs/DragDrop/DataTransfer" title="DragDrop/DataTransfer">DataTransfer</a> для детального понимания как это использовать.</div> <div class="note"> <p><strong>Заметка:</strong> До версии {{Gecko("1.9.2")}}, input элемент поддерживает только один выбранный файл, это значит что FileList содержит только один файл. Начиная с {{Gecko("1.9.2")}}, если input содержит атрибут multiple=true, то FileList может содержать несколько файлов.</p> diff --git a/files/ru/web/api/filereader/filereader/index.html b/files/ru/web/api/filereader/filereader/index.html index c6a1fe466a..cc2afb108b 100644 --- a/files/ru/web/api/filereader/filereader/index.html +++ b/files/ru/web/api/filereader/filereader/index.html @@ -10,7 +10,7 @@ translation_of: Web/API/FileReader/FileReader --- <p>Конструктор <strong><code>FileReader()</code></strong> создаёт новый FileReader.</p> -<p>Дополнительные сведения об использовании <code>FileReader</code>, смотрите в разделе <a href="/ru/docs/Web/API/File/Using_files_from_web_applications">Использвание файлов из веб-приложений</a>.</p> +<p>Дополнительные сведения об использовании <code>FileReader</code>, смотрите в разделе <a href="/ru/docs/Web/API/File/Using_files_from_web_applications">Использование файлов из веб-приложений</a>.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -18,7 +18,7 @@ translation_of: Web/API/FileReader/FileReader <h3 id="Параметры">Параметры</h3> -<p>Отсутсвуют.</p> +<p>Отсутствуют.</p> <h2 id="Пример">Пример</h2> @@ -47,7 +47,7 @@ translation_of: Web/API/FileReader/FileReader <tr> <td>{{SpecName('File API')}}</td> <td>{{Spec2('File API')}}</td> - <td>Первоночальное определение</td> + <td>Первоначальное определение</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/filereader/index.html b/files/ru/web/api/filereader/index.html index 2e5678021c..a65044776d 100644 --- a/files/ru/web/api/filereader/index.html +++ b/files/ru/web/api/filereader/index.html @@ -18,7 +18,7 @@ translation_of: Web/API/FileReader <p>Объекты <code>File</code> можно получить через объект {{domxref("FileList")}}, который возвращается как результат при выборе файлов пользователем с помощью элемента {{HTMLElement("input")}}, через drag and drop из объекта {{domxref("DataTransfer")}}, или с помощью <code>mozGetAsFile()</code>, метода доступного в API элемента {{domxref("HTMLCanvasElement")}}.</p> <div class="blockIndicator warning"> -<p>Важное замечание: <code>FileReader</code> используется только для безопасным образом чтения содержимого файла из пользовательской (удалённой) системы. Его нельзя использовать для простого чтения файла по пути из файловой системы. Для чтения файла по пути в JavaScript следуюет использовать стандартное решение Ajax для чтения файла на стороне сервера с разрешение CORS при кроссдоменном чтении.</p> +<p>Важное замечание: <code>FileReader</code> используется только для безопасным образом чтения содержимого файла из пользовательской (удалённой) системы. Его нельзя использовать для простого чтения файла по пути из файловой системы. Для чтения файла по пути в JavaScript следует использовать стандартное решение Ajax для чтения файла на стороне сервера с разрешение CORS при кроссдоменном чтении.</p> </div> <p>{{AvailableInWorkers}}</p> @@ -75,13 +75,13 @@ translation_of: Web/API/FileReader <dt>{{domxref("FileReader.abort()")}}</dt> <dd>Отмена операции чтения. После вызова, значение <code>readyState</code> станет равным <code>DONE</code>.</dd> <dt>{{domxref("FileReader.readAsArrayBuffer()")}} {{ gecko_minversion_inline("7.0") }}</dt> - <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, аттрибут <code>result</code> будет содержать данные файла в виде {{domxref("ArrayBuffer")}}.</dd> + <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, атрибут <code>result</code> будет содержать данные файла в виде {{domxref("ArrayBuffer")}}.</dd> <dt>{{domxref("FileReader.readAsBinaryString()")}}</dt> - <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, аттрибут <code style="font-style: normal;">result</code> будет содержать бинарные данные файла в виде строки.</dd> + <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, атрибут <code style="font-style: normal;">result</code> будет содержать бинарные данные файла в виде строки.</dd> <dt>{{domxref("FileReader.readAsDataURL()")}}</dt> - <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, аттрибут <code style="font-style: normal;">result</code> будет содержать данные файла в виде <code>data:</code> URL.</dd> + <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, атрибут <code style="font-style: normal;">result</code> будет содержать данные файла в виде <code>data:</code> URL.</dd> <dt>{{domxref("FileReader.readAsText()")}}</dt> - <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, аттрибут <code style="font-style: normal;">result</code> будет содержать данные файла в виде текста.</dd> + <dd>Запускает процесс чтения данных указанного {{ domxref("Blob") }}, по завершении, атрибут <code style="font-style: normal;">result</code> будет содержать данные файла в виде текста.</dd> </dl> <h2 id="Спецификация">Спецификация</h2> diff --git a/files/ru/web/api/filereader/readasbinarystring/index.html b/files/ru/web/api/filereader/readasbinarystring/index.html index f32be8f61b..4f4f5cb6a2 100644 --- a/files/ru/web/api/filereader/readasbinarystring/index.html +++ b/files/ru/web/api/filereader/readasbinarystring/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/FileReader/readAsBinaryString --- <div>{{APIRef("File API")}} {{non-standard_header}}</div> -<p>Метод <code>readAsBinaryString</code> используется для начала считывания содержимого определенного как {{domxref("Blob")}} или {{domxref("File")}}. Когда операция чтения завершится {{domxref("FileReader.readyState","readyState")}} становится <code>DONE</code>, и срабатывает {{event("loadend")}} . В это время атрибут {{domxref("FileReader.result","result")}} содержит сырыебинарные данные из файла.</p> +<p>Метод <code>readAsBinaryString</code> используется для начала считывания содержимого определенного как {{domxref("Blob")}} или {{domxref("File")}}. Когда операция чтения завершится {{domxref("FileReader.readyState","readyState")}} становится <code>DONE</code>, и срабатывает {{event("loadend")}} . В это время атрибут {{domxref("FileReader.result","result")}} содержит сырые бинарные данные из файла.</p> <p>Заметьте, что этот метод устарел (12 July 2012 Working Draft from the W3C.)</p> diff --git a/files/ru/web/api/filereader/readasdataurl/index.html b/files/ru/web/api/filereader/readasdataurl/index.html index fe755489e9..b179f7b45e 100644 --- a/files/ru/web/api/filereader/readasdataurl/index.html +++ b/files/ru/web/api/filereader/readasdataurl/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/FileReader/readAsDataURL --- <p>{{APIRef("File API")}}</p> -<p><code><font face="Open Sans, Arial, sans-serif">Метод </font>readAsDataURL</code> используется для чтения содержимог указанного {{domxref("Blob")}} или {{domxref("File")}}.Когда операция закончится, {{domxref("FileReader.readyState","readyState")}} примет значение <code>DONE</code>, и будет вызвано событие {{event("loadend")}}. В то же время, аттрибут {{domxref("FileReader.result","result")}} будет содержать данные<code> как URL, представляющий файл, кодированый в</code> base64 строку.</p> +<p><code><font face="Open Sans, Arial, sans-serif">Метод </font>readAsDataURL</code> используется для чтения содержимого указанного {{domxref("Blob")}} или {{domxref("File")}}.Когда операция закончится, {{domxref("FileReader.readyState","readyState")}} примет значение <code>DONE</code>, и будет вызвано событие {{event("loadend")}}. В то же время, атрибут {{domxref("FileReader.result","result")}} будет содержать данные<code> как URL, представляющий файл, кодированый в</code> base64 строку.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/filereader/readastext/index.html b/files/ru/web/api/filereader/readastext/index.html index fef33b109d..516f393489 100644 --- a/files/ru/web/api/filereader/readastext/index.html +++ b/files/ru/web/api/filereader/readastext/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/FileReader/readAsText --- <div>{{APIRef("File API")}}</div> -<p>Метод <strong><code>readAsText()</code></strong> используется для чтения содержимог указанного {{domxref("Blob")}} или {{domxref("File")}}. Когда операция закончится, {{domxref("FileReader.readyState","readyState")}} примет значение <code>DONE</code> и будет вызвано событие {{event("loadend")}}. В то же время, аттрибут {{domxref("FileReader.result","result")}} будет содержать данные файла как строку.</p> +<p>Метод <strong><code>readAsText()</code></strong> используется для чтения содержимого указанного {{domxref("Blob")}} или {{domxref("File")}}. Когда операция закончится, {{domxref("FileReader.readyState","readyState")}} примет значение <code>DONE</code> и будет вызвано событие {{event("loadend")}}. В то же время, атрибут {{domxref("FileReader.result","result")}} будет содержать данные файла как строку.</p> <h2 id="Syntax">Syntax</h2> @@ -17,7 +17,7 @@ translation_of: Web/API/FileReader/readAsText <dt><code>blob</code></dt> <dd>{{domxref("Blob")}} или {{domxref("File")}} которые следует прочитать.</dd> <dt><code>encoding</code> {{optional_inline}}</dt> - <dd>Строка, обозначающая кодировку используемую для возращаемых данных. По умолчанию используется UTF-8, если параметр не указан.</dd> + <dd>Строка, обозначающая кодировку используемую для возвращаемых данных. По умолчанию используется UTF-8, если параметр не указан.</dd> </dl> <h2 id="Specifications">Specifications</h2> diff --git a/files/ru/web/api/fontface/index.html b/files/ru/web/api/fontface/index.html index 9d3220ee74..7769abe93e 100644 --- a/files/ru/web/api/fontface/index.html +++ b/files/ru/web/api/fontface/index.html @@ -14,7 +14,7 @@ translation_of: Web/API/FontFace <dl> <dt>{{domxref("FontFace.FontFace", "FontFace()")}}</dt> - <dd>Создает и возвращает новый объект <code>FontFace</code>, созданный из внешнего ресурса, описаннного URL-адресом или из {{domxref("ArrayBuffer")}}.</dd> + <dd>Создает и возвращает новый объект <code>FontFace</code>, созданный из внешнего ресурса, описанного URL-адресом или из {{domxref("ArrayBuffer")}}.</dd> </dl> <h2 id="Свойства">Свойства</h2> @@ -41,7 +41,7 @@ translation_of: Web/API/FontFace <dt>{{domxref("FontFace.variant")}}</dt> <dd>{{domxref("CSSOMString")}} получает или устанавливает <em>вариант</em> шрифта. Эквивалентен дескриптору {{cssxref("@font-face/font-variant", "font-variant")}}.</dd> <dt>{{domxref("FontFace.weight")}}</dt> - <dd>{{domxref("CSSOMString")}} содежит <em>толщину</em> шрифта. Эквивалентен дескриптору {{cssxref("@font-face/font-weight", "font-weight")}}.</dd> + <dd>{{domxref("CSSOMString")}} содержит <em>толщину</em> шрифта. Эквивалентен дескриптору {{cssxref("@font-face/font-weight", "font-weight")}}.</dd> </dl> <h2 id="Методы">Методы</h2> @@ -50,7 +50,7 @@ translation_of: Web/API/FontFace <dl> <dt>{{domxref("FontFace.load()")}}</dt> - <dd>Загружает шрифт, основываясь на переданных требованиях конструктора текущего объекта, включая расположение или ресурсный буфер, и возврящает {{jsxref('Promise')}}, которое выполнятеся для текущего объекта FontFace.</dd> + <dd>Загружает шрифт, основываясь на переданных требованиях конструктора текущего объекта, включая расположение или ресурсный буфер, и возвращает {{jsxref('Promise')}}, которое выполняется для текущего объекта FontFace.</dd> </dl> <h2 id="Спецификации">Спецификации</h2> @@ -60,7 +60,7 @@ translation_of: Web/API/FontFace <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">оммнтари</th> + <th scope="col">Комментарии</th> </tr> <tr> <td>{{SpecName('CSS3 Font Loading','#FontFace-interface','FontFaceSet')}}</td> diff --git a/files/ru/web/api/formdata/append/index.html b/files/ru/web/api/formdata/append/index.html index 10c6a75f26..6e3b43a2b1 100644 --- a/files/ru/web/api/formdata/append/index.html +++ b/files/ru/web/api/formdata/append/index.html @@ -168,7 +168,7 @@ formData.append('userpic[]', myFileInput2.files[0], 'chris2.jpg');</pre> <p>[1] Prior to Gecko 7.0 {{geckoRelease("7.0")}}, if you specified a {{domxref("Blob")}} as the data to append to the object, the filename reported in the "Content-Disposition" HTTP header was an empty string; this resulted in errors being reported by some servers. Starting in Gecko 7.0 the filename "blob" is sent.</p> -<p>[2] XHR в Android 4.0 отправляет пустое содерживое FormData с blob.</p> +<p>[2] XHR в Android 4.0 отправляет пустое содержимое FormData с blob.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/formdata/delete/index.html b/files/ru/web/api/formdata/delete/index.html index 7335145f86..f4c6db339c 100644 --- a/files/ru/web/api/formdata/delete/index.html +++ b/files/ru/web/api/formdata/delete/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/FormData/delete --- <p>{{APIRef("XMLHttpRequest")}}</p> -<p>Метод <code><strong>delete()</strong></code> интерфейса {{domxref("FormData")}} удаляет ключ и его зачение(-ия) из объекта <code>FormData</code>.</p> +<p>Метод <code><strong>delete()</strong></code> интерфейса {{domxref("FormData")}} удаляет ключ и его значение(-ия) из объекта <code>FormData</code>.</p> <div class="note"> <p><strong>Note</strong>: Этот метод доступен в <a href="/en-US/docs/Web/API/Web_Workers_API">Web Workers</a>.</p> diff --git a/files/ru/web/api/formdata/entries/index.html b/files/ru/web/api/formdata/entries/index.html index 04c79a6589..025e2e6b6a 100644 --- a/files/ru/web/api/formdata/entries/index.html +++ b/files/ru/web/api/formdata/entries/index.html @@ -39,7 +39,7 @@ for(var pair of formData.entries()) { } </pre> -<p>Резуьтат:</p> +<p>Результат:</p> <pre class="notranslate">key1, value1 key2, value2</pre> @@ -56,7 +56,7 @@ key2, value2</pre> <tr> <td>{{SpecName('XMLHttpRequest','#dom-formdata','entries() (as iterator<>)')}}</td> <td>{{Spec2('XMLHttpRequest')}}</td> - <td>Начальное опеределение</td> + <td>Начальное определение</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/formdata/index.html b/files/ru/web/api/formdata/index.html index 3553574ec7..d41f05327f 100644 --- a/files/ru/web/api/formdata/index.html +++ b/files/ru/web/api/formdata/index.html @@ -42,11 +42,11 @@ translation_of: Web/API/FormData <dt>{{domxref("FormData.set()")}}</dt> <dd>Устанавливает новое значение для существующего ключа объекта <code style="font-style: normal;">FormData</code>, или добавляет пару ключ-значение, если таковой не обнаружено в объекте.</dd> <dt>{{domxref("FormData.keys()")}}</dt> - <dd>Возвращает {{jsxref("Iteration_protocols", "iterator")}} , который позволяет пройтись по всем ключам для каждой пары "ключ-значение" , содержащимся внутри обьекта <code style="font-style: normal;">FormData</code></dd> + <dd>Возвращает {{jsxref("Iteration_protocols", "iterator")}} , который позволяет пройтись по всем ключам для каждой пары "ключ-значение" , содержащимся внутри объекта <code style="font-style: normal;">FormData</code></dd> <dt>{{domxref("FormData.entries()")}}</dt> - <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}} который позволяет пройтись по всем парам "ключ-значение", содержащимся внутри обьекта <code style="font-style: normal;">FormData</code></dd> + <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}} который позволяет пройтись по всем парам "ключ-значение", содержащимся внутри объекта <code style="font-style: normal;">FormData</code></dd> <dt>{{domxref("FormData.values()")}}</dt> - <dd>Возвращает {{jsxref("Iteration_protocols", "iterator")}} , который позволяет пройтись по всем значениям , содержащимся в обьекте <code style="font-style: normal;">FormData</code></dd> + <dd>Возвращает {{jsxref("Iteration_protocols", "iterator")}} , который позволяет пройтись по всем значениям , содержащимся в объекте <code style="font-style: normal;">FormData</code></dd> </dl> <div class="note"> diff --git a/files/ru/web/api/formdata/using_formdata_objects/index.html b/files/ru/web/api/formdata/using_formdata_objects/index.html index 0e2b1312ec..51421e1dde 100644 --- a/files/ru/web/api/formdata/using_formdata_objects/index.html +++ b/files/ru/web/api/formdata/using_formdata_objects/index.html @@ -30,7 +30,7 @@ request.send(formData); <div class="note"><strong>Примечание:</strong> Поля "userfile" и "webmasterfile" оба содержат файлы. Число, переданное полю "accountnum" немедленно преобразуется в строку. Преобразование осуществляется методом <code><a href="/en/DOM/XMLHttpRequest/FormData#append()" title="en/XMLHttpRequest/FormData#append()">FormData.append()</a></code> (Значение поля может быть {{ domxref("Blob") }}, {{ domxref("File") }}, или строкой: <strong>если значение не является ни Blob, ни File, то оно автоматически преобразуется в строку).</strong></div> -<p>Данный пример показывает создание экземпляра <code>FormData</code>, содержащего поля "username", "accountnum", "userfile" и "webmasterfile". Экземпляр <code>FormData</code> затем отправляется при помощи метода <code><a href="/en/DOM/XMLHttpRequest#send()" title="en/XMLHttpRequest#send()">send()</a></code> объекта <code>XMLHttpRequest</code>. Поле "webmasterfile" является экземпляром класса <code>{{domxref("Blob")}}</code>. Объект класса <code>Blob</code> является файло-подобным объектом, содержащим "сырые" данные. Определение данных как <code>Blob</code> не является обязательным в нативном javascript. Интерфейс<code> {{ domxref("File") }} </code>базируется на <code>Blob</code>, наследуя его функциональность и расширяя его для поддержки файлов в ОС пользователя. Для создания объектов класса <code>Blob</code> используйте <code>{{domxref("Blob.Blob","Blob() constructor")}}</code>.</p> +<p>Данный пример показывает создание экземпляра <code>FormData</code>, содержащего поля "username", "accountnum", "userfile" и "webmasterfile". Экземпляр <code>FormData</code> затем отправляется при помощи метода <code><a href="/en/DOM/XMLHttpRequest#send()" title="en/XMLHttpRequest#send()">send()</a></code> объекта <code>XMLHttpRequest</code>. Поле "webmasterfile" является экземпляром класса <code>{{domxref("Blob")}}</code>. Объект класса <code>Blob</code> является файлом-подобным объектом, содержащим "сырые" данные. Определение данных как <code>Blob</code> не является обязательным в нативном javascript. Интерфейс<code> {{ domxref("File") }} </code>базируется на <code>Blob</code>, наследуя его функциональность и расширяя его для поддержки файлов в ОС пользователя. Для создания объектов класса <code>Blob</code> используйте <code>{{domxref("Blob.Blob","Blob() constructor")}}</code>.</p> <h2 id="Получение_объекта_FormData_из_HTML_формы">Получение объекта FormData из HTML формы</h2> diff --git a/files/ru/web/api/gamepad/buttons/index.html b/files/ru/web/api/gamepad/buttons/index.html index f17b3cc9d1..59805ff20d 100644 --- a/files/ru/web/api/gamepad/buttons/index.html +++ b/files/ru/web/api/gamepad/buttons/index.html @@ -7,13 +7,13 @@ translation_of: Web/API/Gamepad/buttons -<p>Свойство <code><strong>Gamepad.buttons</strong></code> интерфейса {{domxref("Gamepad") }} возвращает массив, сосотоящий из объектов {{domxref("gamepadButton")}}, представляющие кнопки, представленные на устройстве (геймпаде). </p> +<p>Свойство <code><strong>Gamepad.buttons</strong></code> интерфейса {{domxref("Gamepad") }} возвращает массив, состоящий из объектов {{domxref("gamepadButton")}}, представляющие кнопки, представленные на устройстве (геймпаде). </p> <p>Каждый элемент в массиве равен 0 если кнопка не нажата, и не-нуль (обычно 1.0) если нажата. Каждый объект {{domxref("gamepadButton")}} содержит два параметра: <code>pressed</code> и <code>value</code>:</p> <ul> <li>Свойство <code>pressed</code> - boolean индикатор, показывающий, нажата ли кнопка (<code>true</code>) или нет (<code>false</code>).</li> - <li>Свойство <code>value</code> - число с плавающей точкой, показывающая степень нажатия на аналоговую кнопку (как тригггеры на многих современных геймпадах). Значение нормализованно в диапазоне 0.0 – 1.0, где 0.0 указывает, что кнопка не нажата, а 1.0 - что нажата полностью.</li> + <li>Свойство <code>value</code> - число с плавающей точкой, показывающая степень нажатия на аналоговую кнопку (как триггеры на многих современных геймпадах). Значение нормализованное в диапазоне 0.0 – 1.0, где 0.0 указывает, что кнопка не нажата, а 1.0 - что нажата полностью.</li> </ul> <h2 id="Синтакс">Синтакс</h2> @@ -22,7 +22,7 @@ translation_of: Web/API/Gamepad/buttons <h2 id="Пример">Пример</h2> -<p>Приведенный код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете <a href="http://chrisdavidmills.github.io/gamepad-buttons/" rel="noopener">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master" rel="noopener">посмотреть исходники на GitHub</a>). Важно — в Chrome <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> неободимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в Firefox <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> нет необходимости устанавливать префикс, и значения будут представлять собой массив объектов <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton"><code>GamepadButton</code></a>; Свойство <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/value" rel="nofollow"><code>GamepadButton.value</code></a> или <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/pressed" rel="nofollow"><code>GamepadButton.pressed</code></a> необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p> +<p>Приведенный код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете <a href="http://chrisdavidmills.github.io/gamepad-buttons/" rel="noopener">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master" rel="noopener">посмотреть исходники на GitHub</a>). Важно — в Chrome <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> необходимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в Firefox <a href="https://developer.mozilla.org/ru/docs/Web/API/Navigator/getGamepads"><code>Navigator.getGamepads</code></a> нет необходимости устанавливать префикс, и значения будут представлять собой массив объектов <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton"><code>GamepadButton</code></a>; Свойство <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/value" rel="nofollow"><code>GamepadButton.value</code></a> или <a href="https://developer.mozilla.org/ru/docs/Web/API/GamepadButton/pressed" rel="nofollow"><code>GamepadButton.pressed</code></a> необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p> <pre class="brush: js notranslate">function gameLoop() { if(navigator.webkitGetGamepads) { diff --git a/files/ru/web/api/gamepad/mapping/index.html b/files/ru/web/api/gamepad/mapping/index.html index 5fad34e1b5..52d62c51c0 100644 --- a/files/ru/web/api/gamepad/mapping/index.html +++ b/files/ru/web/api/gamepad/mapping/index.html @@ -5,9 +5,9 @@ translation_of: Web/API/Gamepad/mapping --- <p>{{APIRef("Gamepad API")}}</p> -<p>Свойство <code><strong>Gamepad.mapping</strong></code> интерфейса {{domxref("Gamepad")}} возвращает строковый индикатор, указывающий, изменил ли браузер элементы управления на уже известный шабон</p> +<p>Свойство <code><strong>Gamepad.mapping</strong></code> интерфейса {{domxref("Gamepad")}} возвращает строковый индикатор, указывающий, изменил ли браузер элементы управления на уже известный шаблон</p> -<p>На данный момент существует один поддерживаемый шаблон - <a href="https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#remapping">standard gamepad</a>. Если браузер позволяет поменять элементы управления в данном шаблоне, свойство <code>mapping</code> будет установлено строко <code>"standard"</code>.</p> +<p>На данный момент существует один поддерживаемый шаблон - <a href="https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#remapping">standard gamepad</a>. Если браузер позволяет поменять элементы управления в данном шаблоне, свойство <code>mapping</code> будет установлено строка <code>"standard"</code>.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/gamepad_api/index.html b/files/ru/web/api/gamepad_api/index.html index 53ecea9f2b..482b9e484c 100644 --- a/files/ru/web/api/gamepad_api/index.html +++ b/files/ru/web/api/gamepad_api/index.html @@ -19,7 +19,7 @@ translation_of: Web/API/Gamepad_API <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad" title="The Gamepad interface of the Gamepad API defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id."><code>Gamepad</code></a></dt> <dd>Представляет собой геймпад/контроллер, подключенный к компьютеру.</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadButton" title="The GamepadButton interface defines an individual button of a gamepad or other controller, allowing access to the current state of different types of buttons available on the control device."><code>GamepadButton</code></a></dt> - <dd>Представлят собой кнопку одного из подлюченных контроллеров</dd> + <dd>Представляет собой кнопку одного из подключенных контроллеров</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Web/API/GamepadEvent" title="The GamepadEvent interface of the Gamepad API contains references to gamepads connected to the system, which is what the gamepad events Window.gamepadconnected and Window.gamepaddisconnected are fired in response to."><code>GamepadEvent</code></a></dt> <dd>Объект события, представляющий запущенные события, связанные с геймпадами.</dd> </dl> @@ -41,7 +41,7 @@ translation_of: Web/API/Gamepad_API <dl> <dt>{{domxref("Navigator.getGamepads()")}}</dt> - <dd>Расширение объекта {{domxref("Navigator")}}, возвращающее масссив объектов {{domxref("Gamepad")}} по одному для каждого подключенного геймпада.</dd> + <dd>Расширение объекта {{domxref("Navigator")}}, возвращающее массив объектов {{domxref("Gamepad")}} по одному для каждого подключенного геймпада.</dd> </dl> <h4 id="События_окна">События окна</h4> @@ -80,7 +80,7 @@ translation_of: Web/API/Gamepad_API <tr> <td>{{SpecName("Gamepad", "", "The Gamepad API specification")}}</td> <td>{{Spec2("Gamepad")}}</td> - <td>Первононачальное определение</td> + <td>Первоначальное определение</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html b/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html index 6dea1ea38c..5db5305cc8 100644 --- a/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html +++ b/files/ru/web/api/gamepad_api/using_the_gamepad_api/index.html @@ -5,13 +5,13 @@ translation_of: Web/API/Gamepad_API/Using_the_Gamepad_API --- <p>{{DefaultAPISidebar("Gamepad API")}}</p> -<p><span class="seoSummary">HTML5 представляет большое количесво необходимых компонентов для полной и интерактивной разработки игр. Такие технологии, как <code><canvas></code>, WebGL, <code><audio></code>, и <code><video></code>, вместе с Javascript сейчас поддерживают большое количество задач, для которых раньше требовались нативные программы. Gamepad API - это способ полученния данных с геймпада и других игровых контроллеров. </span></p> +<p><span class="seoSummary">HTML5 представляет большое количество необходимых компонентов для полной и интерактивной разработки игр. Такие технологии, как <code><canvas></code>, WebGL, <code><audio></code>, и <code><video></code>, вместе с Javascript сейчас поддерживают большое количество задач, для которых раньше требовались нативные программы. Gamepad API - это способ получения данных с геймпада и других игровых контроллеров. </span></p> <p><a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a> добавляет в объект {{ domxref("Window") }} новые события для получения событий контроллера. Дополнительно к этим событиям, API также добавляет объект {{ domxref("Gamepad") }}, который позволяет получить состояние подключенного контроллера, и метод {{ domxref("navigator.getGamepads()") }} который позволяет получить все контроллеры, определенные на странице браузера.</p> <h2 id="conntecting" name="conntecting">Подключение геймпада</h2> -<p>Когда новый геймпад подключается, на странице страбатывают события {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }}. Если геймпад уже был подключен к моменту загрузки страницы, события {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }} сработают, когда пользователь нажмет на любую кнопку или передвинет стики. </p> +<p>Когда новый геймпад подключается, на странице срабатывают события {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }}. Если геймпад уже был подключен к моменту загрузки страницы, события {{ domxref("Window/gamepadconnected_event", "gamepadconnected") }} сработают, когда пользователь нажмет на любую кнопку или передвинет стики. </p> <div class="blockIndicator geckoVersionNote"> <p>В Firefox геймпад определяется только тогда, когда пользователь взаимодействует с ним, и при этом страница видна и в фокусе. Это помогает предотвратить использование геймпадов для идентификации пользователя. После взаимодействия с одним геймпадом другие подключенные геймпады будут автоматически видны.</p> diff --git a/files/ru/web/api/gamepadbutton/index.html b/files/ru/web/api/gamepadbutton/index.html index c119ee2401..a704963ab2 100644 --- a/files/ru/web/api/gamepadbutton/index.html +++ b/files/ru/web/api/gamepadbutton/index.html @@ -17,14 +17,14 @@ translation_of: Web/API/GamepadButton <dl> <dt>{{domxref("GamepadButton.value")}} {{readonlyInline}}</dt> - <dd>Значение с плавающей точкой, указывающее на текущее состояние аналоговых кнопок, таких как триггеры на многих современных геймпадах. Значение нормализованно к диапазону 0.0-1.0, где 0.0 означает, что клавиша не нажата совсем, 1.0 - нажата полностью.</dd> + <dd>Значение с плавающей точкой, указывающее на текущее состояние аналоговых кнопок, таких как триггеры на многих современных геймпадах. Значение нормализованное к диапазону 0.0-1.0, где 0.0 означает, что клавиша не нажата совсем, 1.0 - нажата полностью.</dd> <dt>{{domxref("GamepadButton.pressed")}} {{readonlyInline}}</dt> <dd>Значение {{domxref("Boolean")}} указывает, нажата ли кнопка (<code>true</code>) или не нажата (<code>false</code>).</dd> </dl> <h2 id="Пример">Пример</h2> -<p>Приведенный код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете <a href="http://chrisdavidmills.github.io/gamepad-buttons/">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master">посмотреть исходники на GitHub</a>). Важно — в Chrome {{domxref("Navigator.getGamepads")}} неободимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в Firefox {{domxref("Navigator.getGamepads")}} нет необходимости устанавливать префикс, и значения будут представлять собой массив объектов {{domxref("GamepadButton")}}; Свойство {{domxref("GamepadButton.value")}} или {{domxref("GamepadButton.pressed")}} необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p> +<p>Приведенный код взят из моего<em> (автора статьи)</em> демо Gamepad API button (вы можете <a href="http://chrisdavidmills.github.io/gamepad-buttons/">Посмотреть демо</a>, и <a href="https://github.com/chrisdavidmills/gamepad-buttons/tree/master">посмотреть исходники на GitHub</a>). Важно — в Chrome {{domxref("Navigator.getGamepads")}} необходимо установить префикс <code>webkit</code>, и значения кнопки будут представлять из себя массив дробных чисел, тогда как в Firefox {{domxref("Navigator.getGamepads")}} нет необходимости устанавливать префикс, и значения будут представлять собой массив объектов {{domxref("GamepadButton")}}; Свойство {{domxref("GamepadButton.value")}} или {{domxref("GamepadButton.pressed")}} необходимо для получения состояния кнопки, в зависимости от от типа кнопки. В данном простом примере обрабатывается оба вида кнопок.</p> <pre class="brush: js notranslate">function gameLoop() { if(navigator.webkitGetGamepads) { diff --git a/files/ru/web/api/gamepadbutton/pressed/index.html b/files/ru/web/api/gamepadbutton/pressed/index.html index 5222968bcc..4367d055a6 100644 --- a/files/ru/web/api/gamepadbutton/pressed/index.html +++ b/files/ru/web/api/gamepadbutton/pressed/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/GamepadButton/pressed --- <p>{{APIRef("Gamepad API")}}</p> -<p>Свойство <code><strong>GamepadButton.pressed</strong></code> интерфейса {{domxref("GamepadButton")}} возвращает <code>boolean</code>, указыващий, нажата ли текущая кнопка (<code>true</code>), или нет (<code>false</code>).</p> +<p>Свойство <code><strong>GamepadButton.pressed</strong></code> интерфейса {{domxref("GamepadButton")}} возвращает <code>boolean</code>, указывающий, нажата ли текущая кнопка (<code>true</code>), или нет (<code>false</code>).</p> <h2 id="Синтакс">Синтакс</h2> diff --git a/files/ru/web/api/gamepadbutton/value/index.html b/files/ru/web/api/gamepadbutton/value/index.html index a1ccad261f..7506b57394 100644 --- a/files/ru/web/api/gamepadbutton/value/index.html +++ b/files/ru/web/api/gamepadbutton/value/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/GamepadButton/value <p>Свойство <code><strong>GamepadButton.value</strong></code> интерфейса {{domxref("GamepadButton")}} возвращает состояние аналоговой клавиши геймпада, такой, как, например триггеры. </p> -<p>Пердставляет собой дробное число в диапазоне <code>0.0</code> — <code>1.0</code>, где <code>0.0</code> показывает, что кнопка не нажата, а 1.0 - что нажата полностью.</p> +<p>Представляет собой дробное число в диапазоне <code>0.0</code> — <code>1.0</code>, где <code>0.0</code> показывает, что кнопка не нажата, а 1.0 - что нажата полностью.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/geolocation/index.html b/files/ru/web/api/geolocation/index.html index 75be7f3457..1e532a6bfe 100644 --- a/files/ru/web/api/geolocation/index.html +++ b/files/ru/web/api/geolocation/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Geolocation <p>Объект с этим интерфейсом получается с помощью свойства {{domxref("NavigatorGeolocation.geolocation")}} и реализуется объектом {{domxref("Navigator")}}.</p> <div class="note"> -<p><strong>Примечание:</strong> По некоторым причинам, связанным с безопаностью, когда веб-страница пытается получить доступ к местоположению, пользователь будет уведомлен, а также будет запрошено разрешение. Имейте в виду, что у каждого браузера есть свои политики и методы для запроса этого разрешения.</p> +<p><strong>Примечание:</strong> По некоторым причинам, связанным с безопасностью, когда веб-страница пытается получить доступ к местоположению, пользователь будет уведомлен, а также будет запрошено разрешение. Имейте в виду, что у каждого браузера есть свои политики и методы для запроса этого разрешения.</p> </div> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/web/api/geolocation_api/index.html b/files/ru/web/api/geolocation_api/index.html index 3082794454..a3f22b0852 100644 --- a/files/ru/web/api/geolocation_api/index.html +++ b/files/ru/web/api/geolocation_api/index.html @@ -81,7 +81,7 @@ original_slug: Web/API/Geolocation/Using_geolocation <h3 id="Доступность">Доступность</h3> -<p>Так как местоположение, основанное на WiFi, часто предоставляется Google, API местоположения может быть не доступен в Китае. Вы можете использовать местных провайдеров, таких как <a href="http://lbsyun.baidu.com/index.php?title=jspopular/guide/geolocation">Baidu</a>, <a href="https://lbs.amap.com/api/javascript-api/guide/services/geolocation#geolocation">Autonavi</a> или <a href="http://lbs.qq.com/tool/component-geolocation.html">Tencent</a>. Эти сервисы используют IP-адресс пользователя и/или приложение для предоставления наиболее точной позиции.</p> +<p>Так как местоположение, основанное на WiFi, часто предоставляется Google, API местоположения может быть не доступен в Китае. Вы можете использовать местных провайдеров, таких как <a href="http://lbsyun.baidu.com/index.php?title=jspopular/guide/geolocation">Baidu</a>, <a href="https://lbs.amap.com/api/javascript-api/guide/services/geolocation#geolocation">Autonavi</a> или <a href="http://lbs.qq.com/tool/component-geolocation.html">Tencent</a>. Эти сервисы используют IP-адрес пользователя и/или приложение для предоставления наиболее точной позиции.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html b/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html index c945a1ba55..07bac7ae6a 100644 --- a/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html +++ b/files/ru/web/api/geolocation_api/using_the_geolocation_api/index.html @@ -16,7 +16,7 @@ original_slug: Web/API/Geolocation/Using_geolocation/Using_the_Geolocation_API <p><a href="ru/docs/Web/API/Geolocation">API геолокации</a> доступен через объект {{domxref("navigator.geolocation")}}.</p> -<p>Если объект существует, функции определения местоположения доступны. Вы можете проверить это слеюущим образом:</p> +<p>Если объект существует, функции определения местоположения доступны. Вы можете проверить это следующим образом:</p> <pre class="brush: js">if ("geolocation" in navigator) { /* местоположение доступно */ @@ -27,7 +27,7 @@ original_slug: Web/API/Geolocation/Using_geolocation/Using_the_Geolocation_API <h3 id="Получение_текущего_местоположения">Получение текущего местоположения</h3> -<p>Чтобы получить текущее местоположение пользователя, вы должны вызвать метод {{domxref("geolocation.getCurrentPosition()","getCurrentPosition()")}}. Это инициирует асихронный запрос для обнаружения местоположения пользователя, и запрашивает аппаратные средства позиционирования, чтобы получить последнюю актуальную информацию. Когда местоположение определено, выполняется callback. По желанию вы можете указать вторую callback функцию для обработки ошибки, которая запустится в случае ошибки. Третий, опциональный параметр - объект с опциями, где вы можете настроить максимальное значение возвращаемых данных, время ожидания ответа на запрос, и, при желании, точность возвращаемых данных.</p> +<p>Чтобы получить текущее местоположение пользователя, вы должны вызвать метод {{domxref("geolocation.getCurrentPosition()","getCurrentPosition()")}}. Это инициирует асинхронный запрос для обнаружения местоположения пользователя, и запрашивает аппаратные средства позиционирования, чтобы получить последнюю актуальную информацию. Когда местоположение определено, выполняется callback. По желанию вы можете указать вторую callback функцию для обработки ошибки, которая запустится в случае ошибки. Третий, опциональный параметр - объект с опциями, где вы можете настроить максимальное значение возвращаемых данных, время ожидания ответа на запрос, и, при желании, точность возвращаемых данных.</p> <div class="note"> <p><strong>Note:</strong> По умолчанию {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}} пытается вернуть результат так быстро, как это возможно, за счёт чего даёт не очень точный результат. Это может быть полезно, если вам нужно быстро получить ответ, при этом не важна точность. Устройства с GPS, например, могут пытаться скорректировать данные GPS около минуты и даже больше, поэтому в самом начале могут вернуться менее точные данные (местоположение IP или wifi-сети), полученные {{domxref("Geolocation.getCurrentPosition()","getCurrentPosition()")}}.</p> diff --git a/files/ru/web/api/geolocationcoordinates/index.html b/files/ru/web/api/geolocationcoordinates/index.html index 14f936d09c..11e04a464e 100644 --- a/files/ru/web/api/geolocationcoordinates/index.html +++ b/files/ru/web/api/geolocationcoordinates/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/GeolocationCoordinates --- <div>{{securecontext_header}}{{APIRef("Geolocation API")}}</div> -<p>Интерфейс <strong><code>Coordinates</code></strong> отображает позицию устройства и его высоту над уровнем моря с рассчётным уровнем точности.</p> +<p>Интерфейс <strong><code>Coordinates</code></strong> отображает позицию устройства и его высоту над уровнем моря с расчетным уровнем точности.</p> <h2 id="Свойства">Свойства</h2> @@ -23,7 +23,7 @@ translation_of: Web/API/GeolocationCoordinates <dt>{{domxref("Coordinates.altitudeAccuracy")}} {{readonlyInline}} {{securecontext_inline}}</dt> <dd>Возвращает <code>дробное</code> число, означающее точность свойства <code>altitude</code>, выраженную в метрах. Может быть <code>null</code>.</dd> <dt>{{domxref("Coordinates.heading")}} {{readonlyInline}} {{securecontext_inline}}</dt> - <dd>Возвращает <code>дробное</code> число, означающее в каком направлении движется устройство. Это значение, выраженное в градусах, показывает насколько отклонено устройство относительно севера. <code>0</code> градусов показывает ровно на север и далее направление опредеряется по часовой стрелке (то есть, <code>90</code> градусов означает восток, а <code>270</code> градусов означает запад). Если <code>speed</code> равно <code>0</code>, то <code>heading</code> будет <code><a href="/ru/docs/JavaScript/Reference/Global_Objects/NaN">NaN</a></code>. Если устройство не может предоставить <code>heading</code>, то его значение будет <code>null</code>.</dd> + <dd>Возвращает <code>дробное</code> число, означающее в каком направлении движется устройство. Это значение, выраженное в градусах, показывает насколько отклонено устройство относительно севера. <code>0</code> градусов показывает ровно на север и далее направление определяется по часовой стрелке (то есть, <code>90</code> градусов означает восток, а <code>270</code> градусов означает запад). Если <code>speed</code> равно <code>0</code>, то <code>heading</code> будет <code><a href="/ru/docs/JavaScript/Reference/Global_Objects/NaN">NaN</a></code>. Если устройство не может предоставить <code>heading</code>, то его значение будет <code>null</code>.</dd> <dt>{{domxref("Coordinates.speed")}} {{readonlyInline}} {{securecontext_inline}}</dt> <dd>Возвращает <code>дробное</code> число, означающее скорость движения устройства, выраженное в метрах в секунду. Это значение может быть <code>null</code>.</dd> </dl> @@ -32,7 +32,7 @@ translation_of: Web/API/GeolocationCoordinates <p><em><em>Интерфейс <code>Coordinates</code> не наследует никаких методов<em>.</em></em></em></p> -<h2 id="Спецификаци">Спецификаци</h2> +<h2 id="Спецификации">Спецификации</h2> <table class="standard-table"> <thead> diff --git a/files/ru/web/api/geolocationposition/index.html b/files/ru/web/api/geolocationposition/index.html index c9e0071212..0e82fec51f 100644 --- a/files/ru/web/api/geolocationposition/index.html +++ b/files/ru/web/api/geolocationposition/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/GeolocationPosition --- <div>{{securecontext_header}}{{APIRef("Geolocation API")}}</div> -<p>Интрефейс <strong><code>GeolocationPosition</code></strong> представляет положение соответствующего устройства в данный момент времени. Положение, представленное объектом {{domxref("GeolocationCoordinates")}}, отражает двумерное положение устройства на сфероиде, представляющем землю, а также его высоту и скорость..</p> +<p>Интерфейс <strong><code>GeolocationPosition</code></strong> представляет положение соответствующего устройства в данный момент времени. Положение, представленное объектом {{domxref("GeolocationCoordinates")}}, отражает двумерное положение устройства на сфероиде, представляющем землю, а также его высоту и скорость..</p> <h2 id="Свойства">Свойства</h2> @@ -23,7 +23,7 @@ translation_of: Web/API/GeolocationPosition <h2 id="Методы">Методы</h2> -<p><em><em>Интрефейс </em><code>GeolocationPosition</code><em> </em></em>не имеет и не наследует методы.</p> +<p><em><em>Интерфейс </em><code>GeolocationPosition</code><em> </em></em>не имеет и не наследует методы.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html b/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html index c1b865945d..793c33b602 100644 --- a/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html +++ b/files/ru/web/api/globaleventhandlers/onanimationcancel/index.html @@ -74,7 +74,7 @@ translation_of: Web/API/GlobalEventHandlers/onanimationcancel </pre> </div> -<p>Опустим некоторые фрагмнты CSS, не имеющие значение для нас, и рассмотрим стили для элемента, который мы анимируем. Это блок box со всеми своими свойствами, включая определенную анимацию {{cssxref("animation")}}. Мы продолжим и опишем анимацию прямо здесь, поскольку обычно она должна запускаться непосредственно при загрузке страницы, не зависимо от какого-либо другого события. </p> +<p>Опустим некоторые фрагменты CSS, не имеющие значение для нас, и рассмотрим стили для элемента, который мы анимируем. Это блок box со всеми своими свойствами, включая определенную анимацию {{cssxref("animation")}}. Мы продолжим и опишем анимацию прямо здесь, поскольку обычно она должна запускаться непосредственно при загрузке страницы, не зависимо от какого-либо другого события. </p> <pre class="brush: css">#box { width: var(--boxwidth); @@ -137,7 +137,7 @@ translation_of: Web/API/GlobalEventHandlers/onanimationcancel </pre> -<p>Теперь добавим переключение {{cssxref("display")}} между <code>"</code><code>flex"</code> и <code>"</code><code>none"</code> и установим обрабочик события щелчка {{event("click")}} на кнопке "Hide/Show":</p> +<p>Теперь добавим переключение {{cssxref("display")}} между <code>"</code><code>flex"</code> и <code>"</code><code>none"</code> и установим обработчик события щелчка {{event("click")}} на кнопке "Hide/Show":</p> <pre class="brush: js">document.getElementById('toggleBox').addEventListener('click', function() { if (box.style.display == "none") { diff --git a/files/ru/web/api/globaleventhandlers/onanimationend/index.html b/files/ru/web/api/globaleventhandlers/onanimationend/index.html index babeb4f738..b9b815672f 100644 --- a/files/ru/web/api/globaleventhandlers/onanimationend/index.html +++ b/files/ru/web/api/globaleventhandlers/onanimationend/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/GlobalEventHandlers/onanimationend --- <div>{{APIRef("CSS3 Animations")}}</div> -<p>Обработчик события {{event("animationend")}}. Это событие вывзывается когда <a href="/en-US/docs/Web/CSS/CSS_Animations">CSS анимация</a> достигает конца своего активного периода, который вычисляется как ({{cssxref("animation-duration")}} * {{cssxref("animation-iteration-count")}}) + {{cssxref("animation-delay")}}.</p> +<p>Обработчик события {{event("animationend")}}. Это событие вызывается когда <a href="/en-US/docs/Web/CSS/CSS_Animations">CSS анимация</a> достигает конца своего активного периода, который вычисляется как ({{cssxref("animation-duration")}} * {{cssxref("animation-iteration-count")}}) + {{cssxref("animation-delay")}}.</p> <h2 id="Синтакс">Синтакс</h2> diff --git a/files/ru/web/api/globaleventhandlers/onclose/index.html b/files/ru/web/api/globaleventhandlers/onclose/index.html index 6a36f95dce..5c794e2e6d 100644 --- a/files/ru/web/api/globaleventhandlers/onclose/index.html +++ b/files/ru/web/api/globaleventhandlers/onclose/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/GlobalEventHandlers/onclose <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('HTML WHATWG','webappapis.html#handler-onclose','onclose')}}</td> @@ -56,7 +56,7 @@ translation_of: Web/API/GlobalEventHandlers/onclose <th>Safari (WebKit)</th> </tr> <tr> - <td>базоввая поддержка</td> + <td>базовая поддержка</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatUnknown}}</td> <td>{{CompatUnknown}}</td> @@ -82,7 +82,7 @@ translation_of: Web/API/GlobalEventHandlers/onclose <th>Safari Mobile</th> </tr> <tr> - <td>базоввая поддержка</td> + <td>базовая поддержка</td> <td>{{CompatUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> diff --git a/files/ru/web/api/globaleventhandlers/oncontextmenu/index.html b/files/ru/web/api/globaleventhandlers/oncontextmenu/index.html index cc206b1a8c..43f76571aa 100644 --- a/files/ru/web/api/globaleventhandlers/oncontextmenu/index.html +++ b/files/ru/web/api/globaleventhandlers/oncontextmenu/index.html @@ -37,7 +37,7 @@ window.addEventListener('contextmenu', function (e) { // Не совместим }, false); </pre> -<h2 id="Specifications" name="Specifications">Специфкация</h2> +<h2 id="Specifications" name="Specifications">Спецификация</h2> <table class="spectable standard-table"> <tbody> diff --git a/files/ru/web/api/globaleventhandlers/onerror/index.html b/files/ru/web/api/globaleventhandlers/onerror/index.html index 29555d6c44..327a7d0d06 100644 --- a/files/ru/web/api/globaleventhandlers/onerror/index.html +++ b/files/ru/web/api/globaleventhandlers/onerror/index.html @@ -27,7 +27,7 @@ translation_of: Web/API/GlobalEventHandlers/onerror <ul> <li>Сообщение ошибки (string)</li> <li>Url, где произошла ошибка (string)</li> - <li>Номер строки, где прошизошла ошибка (number)</li> + <li>Номер строки, где произошла ошибка (number)</li> <li>Номер столбца для строки, в которой произошла ошибка (number) {{gecko_minversion_inline("31.0")}}</li> <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error Object</a> (object) {{gecko_minversion_inline("31.0")}}</li> </ul> diff --git a/files/ru/web/api/globaleventhandlers/onkeydown/index.html b/files/ru/web/api/globaleventhandlers/onkeydown/index.html index 48526391bb..e929c496d6 100644 --- a/files/ru/web/api/globaleventhandlers/onkeydown/index.html +++ b/files/ru/web/api/globaleventhandlers/onkeydown/index.html @@ -67,7 +67,7 @@ function logKey(e) { <div>{{Compat("api.GlobalEventHandlers.onkeydown")}}</div> -<h2 id="Смотите_также">Смотите также</h2> +<h2 id="Смотрите_также">Смотрите также</h2> <div> <ul> diff --git a/files/ru/web/api/globaleventhandlers/onloadend/index.html b/files/ru/web/api/globaleventhandlers/onloadend/index.html index 1c5f270054..75b770e20e 100644 --- a/files/ru/web/api/globaleventhandlers/onloadend/index.html +++ b/files/ru/web/api/globaleventhandlers/onloadend/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/GlobalEventHandlers/onloadend <pre class="syntaxbox"><var>img</var>.onloadend = <var>funcRef</var>; </pre> -<p>При возникновении события <code>loadend</code> будет вызванна функция обработчик <code>funcRef</code>.</p> +<p>При возникновении события <code>loadend</code> будет вызвана функция обработчик <code>funcRef</code>.</p> <h2 id="Example" name="Example">Примеры</h2> diff --git a/files/ru/web/api/globaleventhandlers/onmousedown/index.html b/files/ru/web/api/globaleventhandlers/onmousedown/index.html index 39c6b2ee1c..d6a0985118 100644 --- a/files/ru/web/api/globaleventhandlers/onmousedown/index.html +++ b/files/ru/web/api/globaleventhandlers/onmousedown/index.html @@ -51,7 +51,7 @@ translation_of: Web/API/GlobalEventHandlers/onmousedown <th>Safari (WebKit)</th> </tr> <tr> - <td>Обычная соместимость</td> + <td>Обычная совместимость</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatUnknown}}</td> diff --git a/files/ru/web/api/gyroscope/index.html b/files/ru/web/api/gyroscope/index.html index acb3658d59..462e463034 100644 --- a/files/ru/web/api/gyroscope/index.html +++ b/files/ru/web/api/gyroscope/index.html @@ -31,7 +31,7 @@ translation_of: Web/API/Gyroscope <h2 id="Примеры">Примеры</h2> -<p>Гироскоп обычно использует {{domxref('Sensor.onreading')}} событие для вызова callback-функции. В примере ниже функция вызывается 6 раз в секуунду.</p> +<p>Гироскоп обычно использует {{domxref('Sensor.onreading')}} событие для вызова callback-функции. В примере ниже функция вызывается 6 раз в секунду.</p> <pre class="brush: js">let gyroscope = new Gyroscope({frequency: 60}); diff --git a/files/ru/web/api/history/index.html b/files/ru/web/api/history/index.html index dd1a3fe80c..5418220959 100644 --- a/files/ru/web/api/history/index.html +++ b/files/ru/web/api/history/index.html @@ -13,9 +13,9 @@ translation_of: Web/API/History <dl> <dt>{{domxref("History.length")}} {{readOnlyInline}}</dt> - <dd>Возвращает целочисленное значение типа Integer, которое характерезует собой количество записей в истории сессии, включая текущую загруженную страницу. Для примера, история новой вкладки с загруженной страницей равна 1.</dd> + <dd>Возвращает целочисленное значение типа Integer, которое характеризует собой количество записей в истории сессии, включая текущую загруженную страницу. Для примера, история новой вкладки с загруженной страницей равна 1.</dd> <dt>{{domxref("History.current")}} {{readOnlyInline}} {{ non-standard_inline() }} {{ obsolete_inline(26) }}</dt> - <dd>Возвращает {{domxref ("DOMString")}}, представляющий собой активный URL элемент в истории сесcии. Это свойство никогда не было доступно для веб-контента и более не поддерживается никакими браузерами. Используйте {{domxref ("location.href")}} вместо него.</dd> + <dd>Возвращает {{domxref ("DOMString")}}, представляющий собой активный URL элемент в истории сессии. Это свойство никогда не было доступно для веб-контента и более не поддерживается никакими браузерами. Используйте {{domxref ("location.href")}} вместо него.</dd> <dt>{{domxref("History.next")}} {{readOnlyInline}} {{ non-standard_inline() }} {{ obsolete_inline(26) }}</dt> <dd>Возвращает {{domxref ("DOMString")}}, представляющий собой следующий URL элемент в истории сессии. Это свойство никогда не было доступно для веб-контента и более не поддерживается другими браузерами.</dd> <dt>{{domxref("History.previous")}} {{readOnlyInline}} {{ non-standard_inline() }} {{ obsolete_inline(26) }}</dt> diff --git a/files/ru/web/api/history/replacestate/index.html b/files/ru/web/api/history/replacestate/index.html index f7c7d4268a..fc8aa58931 100644 --- a/files/ru/web/api/history/replacestate/index.html +++ b/files/ru/web/api/history/replacestate/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/History/replaceState <dt><code>stateObj</code></dt> <dd>Объект состояния – это JavaScript-объект, связанный с записью в истории, переданной в метод <code>replaceState()</code>. Объект состояния может быть <code>null</code>.</dd> <dt><code>title</code></dt> - <dd>Заголовок - <a href="https://github.com/whatwg/html/issues/2174" rel="noopener">все браузеры, кроме Safari, на данный момент игнорируют этот параметр</a>, но могут начать использовать в будущем. Ввиду будущих изменений метода, безопасным решением является передача пустой строки. В качестве альтернативы вы можете передать короткий заголовок для состояни, в которое переходите.</dd> + <dd>Заголовок - <a href="https://github.com/whatwg/html/issues/2174" rel="noopener">все браузеры, кроме Safari, на данный момент игнорируют этот параметр</a>, но могут начать использовать в будущем. Ввиду будущих изменений метода, безопасным решением является передача пустой строки. В качестве альтернативы вы можете передать короткий заголовок для состоянии, в которое переходите.</dd> <dt><code>url</code> {{optional_inline}}</dt> <dd>URL-адрес записи в истории. Новый URL должен вести на тот же домен, протокол и порт, иначе pushState() выдаст исключение.</dd> </dl> diff --git a/files/ru/web/api/history_api/working_with_the_history_api/index.html b/files/ru/web/api/history_api/working_with_the_history_api/index.html index b1bf87726a..b577f135f2 100644 --- a/files/ru/web/api/history_api/working_with_the_history_api/index.html +++ b/files/ru/web/api/history_api/working_with_the_history_api/index.html @@ -3,7 +3,7 @@ title: Работа с History API slug: Web/API/History_API/Working_with_the_History_API translation_of: Web/API/History_API/Working_with_the_History_API --- -<p>В HTML5 стали доступны методы {{DOMxRef("History.pushState","pushState()")}} и {{DOMxRef("History.replaceState","replaceState()")}} для добавления и изменения записей в истории. Эти методыработают в сочетании с событием {{domxref("Window.onpopstate","onpopstate")}}</p> +<p>В HTML5 стали доступны методы {{DOMxRef("History.pushState","pushState()")}} и {{DOMxRef("History.replaceState","replaceState()")}} для добавления и изменения записей в истории. Эти методы работают в сочетании с событием {{domxref("Window.onpopstate","onpopstate")}}</p> <h2 id="Добавление_и_изменение_записей_в_истории">Добавление и изменение записей в истории</h2> @@ -48,7 +48,7 @@ history.pushState(stateObj, "page 2", "bar.html") <dl> <dt><strong>title</strong></dt> - <dd>Заголовок - <a href="https://github.com/whatwg/html/issues/2174">все браузеры, кроме Safari, на данный момент игнорируют этот параметр</a>, но могут начать использовать в будущем. Ввиду будущих изменений метода, безопасным решением является передача пустой строки. В качестве альтернативы вы можете передать короткий заголовок для состояни, в которое переходите.</dd> + <dd>Заголовок - <a href="https://github.com/whatwg/html/issues/2174">все браузеры, кроме Safari, на данный момент игнорируют этот параметр</a>, но могут начать использовать в будущем. Ввиду будущих изменений метода, безопасным решением является передача пустой строки. В качестве альтернативы вы можете передать короткий заголовок для состоянии, в которое переходите.</dd> </dl> <dl> 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 0841bc211b..e86fec8341 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 @@ -12,9 +12,9 @@ original_slug: Web/Guide/HTML/Drag_and_drop/Drag_operations <h2 id="draggableattribute" name="draggableattribute"><code>draggable</code> атрибуты</h2> -<p>На веб-странице, в некоторых случаях используется поведение drag (перетаскивания) по умолчанию. Включая выделенный текст, изображения и ссылки. Когда изображение иои ссылка переносятся, URL изображения или ссылки устанавливается в качестве данных drag и перетаскивание начинается. Для других элементов, они должны быть частью выделения для выполнения перетаскивания по умолчанию. Чтобы увидеть это в действии, выделите область веб-страницы, а затем нажмите и удерживайте кнопку мыши и перетащите выделение. Появится специфичный для ОС рендеринг выделенного фрагмента и будет следовать за указателем мыши при перетаскивании. Однако это поведение является только drag поведением по умолчанию, если нет слушателей, определяющих данные для перетаскивания.</p> +<p>На веб-странице, в некоторых случаях используется поведение drag (перетаскивания) по умолчанию. Включая выделенный текст, изображения и ссылки. Когда изображение или ссылка переносятся, URL изображения или ссылки устанавливается в качестве данных drag и перетаскивание начинается. Для других элементов, они должны быть частью выделения для выполнения перетаскивания по умолчанию. Чтобы увидеть это в действии, выделите область веб-страницы, а затем нажмите и удерживайте кнопку мыши и перетащите выделение. Появится специфичный для ОС рендеринг выделенного фрагмента и будет следовать за указателем мыши при перетаскивании. Однако это поведение является только drag поведением по умолчанию, если нет слушателей, определяющих данные для перетаскивания.</p> -<p>В HTML, кроме поведения по умолчанию изображений, ссылок и выделенных областей, ноикакие другие элементы по умолчанию не переносятся.</p> +<p>В HTML, кроме поведения по умолчанию изображений, ссылок и выделенных областей, никакие другие элементы по умолчанию не переносятся.</p> <p>Для перетаскивания других HTML-элементов, должны быть выполнены три пункта :</p> @@ -33,10 +33,10 @@ original_slug: Web/Guide/HTML/Drag_and_drop/Drag_operations <p>Атрибут <code>{{htmlattrxref("draggable")}}</code> установлен в <code>"true"</code>, т.о. этот элемент становится перетаскиваемым. Если этот атрибут был опущен или установлен в <code>"false"</code>, то элемент не может быть перенесен, и вместо этого будет выбран текст.</p> -<p>Атрибут <code>{{htmlattrxref("draggable")}}</code> может быть использован для любого элемента, включаяизображения и ссылки. Однако, для последних двух, значение по умолчанию - <code>true</code>, т.о. вы можете только использвать атрибут <code>{{htmlattrxref("draggable")}}</code> со значением <code>false</code> для отключение перетаскивания этих элементов.</p> +<p>Атрибут <code>{{htmlattrxref("draggable")}}</code> может быть использован для любого элемента, включая изображения и ссылки. Однако, для последних двух, значение по умолчанию - <code>true</code>, т.о. вы можете только использовать атрибут <code>{{htmlattrxref("draggable")}}</code> со значением <code>false</code> для отключение перетаскивания этих элементов.</p> <div class="blockIndicator note"> -<p><strong>Примечание:</strong> Когда элемент становится перетаскиваемыми, tтекст или другие элементы в нем больше не могут быть выбраны обычным способом, щелкая и перетаскивая мышью. Вместо этого пользователь должен удерживать клавишу <kbd>Alt</kbd> чтобы выбрать текст с помощью мыши или клавиатуры.</p> +<p><strong>Примечание:</strong> Когда элемент становится перетаскиваемыми, текст или другие элементы в нем больше не могут быть выбраны обычным способом, щелкая и перетаскивая мышью. Вместо этого пользователь должен удерживать клавишу <kbd>Alt</kbd> чтобы выбрать текст с помощью мыши или клавиатуры.</p> </div> <h2 id="dragstart" name="dragstart">Начало операции перетаскивания</h2> @@ -50,9 +50,9 @@ original_slug: Web/Guide/HTML/Drag_and_drop/Drag_operations <p>Когда пользователь начинает перетаскивание, запускается событиеdrag, the {{event("dragstart")}}.</p> -<p>В этом примере слушатель {{event("dragstart")}} добавлен к самому перемещаемом элементу. Однако, вы можете слушать более высокого предка, так как событие перетаскивание высплывает вверх как и большинство событий.</p> +<p>В этом примере слушатель {{event("dragstart")}} добавлен к самому перемещаемом элементу. Однако, вы можете слушать более высокого предка, так как событие перетаскивание всплывает вверх как и большинство событий.</p> -<p>Внутри события {{event("dragstart")}}, вы можете указать <strong>drag данные</strong>, <strong>изображжение отклика</strong>, <strong>drag-эффекты</strong>, все это описано ниже. Однако, обязательны только <strong>drag данные</strong>. (Изображение и drag-эффекты по умолчанию, подходят в большинстве ситуаций)</p> +<p>Внутри события {{event("dragstart")}}, вы можете указать <strong>drag данные</strong>, <strong>изображение отклика</strong>, <strong>drag-эффекты</strong>, все это описано ниже. Однако, обязательны только <strong>drag данные</strong>. (Изображение и drag-эффекты по умолчанию, подходят в большинстве ситуаций)</p> <h2 id="dragdata" name="dragdata">Drag-данные</h2> @@ -81,11 +81,11 @@ dt.setData("text/uri-list", "https://www.mozilla.org"); dt.setData("text/plain", "https://www.mozilla.org"); </pre> -<p>Добавлены данные трех различных форматов. Первый тип - <code>application/x.bookmark</code>, пользовательский тип.Другие приложения не поддерживают данный тип, но вы можете использовать пользовательский тип для перетаскивания между областями в одном приложениее или на одной странице.</p> +<p>Добавлены данные трех различных форматов. Первый тип - <code>application/x.bookmark</code>, пользовательский тип.Другие приложения не поддерживают данный тип, но вы можете использовать пользовательский тип для перетаскивания между областями в одном приложение или на одной странице.</p> <p>Предоставляя данные и в других типах, мы также можем поддерживать перетаскивание в другие приложения в менее специфичных формах. Тип <code>application/x.bookmark</code> может предоставлять данные с более подробной информацией для использования в приложении, в то время как другие типы могут включать только один URL-адрес или текстовую версию.</p> -<p>Обратите внимание, что и <code><a href="/en-US/docs/DragDrop/Recommended_Drag_Types#link" title="text/uri-list">text/uri-list</a></code> и <code><a href="/en-US/docs/DragDrop/Recommended_Drag_Types#text" title="text/plain">text/plain</a></code> cодержат одни и те же данные в этом примере. Это часто бывает так, но это не обязательно.</p> +<p>Обратите внимание, что и <code><a href="/en-US/docs/DragDrop/Recommended_Drag_Types#link" title="text/uri-list">text/uri-list</a></code> и <code><a href="/en-US/docs/DragDrop/Recommended_Drag_Types#text" title="text/plain">text/plain</a></code> содержат одни и те же данные в этом примере. Это часто бывает так, но это не обязательно.</p> <p>Если вы попытаетесь добавить данные дважды с тем же форматом, новые данные заменят старые данные, но в той же позиции в списке типов, что и старые данные.</p> @@ -176,7 +176,7 @@ dt.setData("text/plain", "https://www.mozilla.org"); <p>Вы можете использовать значение <code>none</code>, чтобы указать, что в этом месте не допускается удаление, хотя в этом случае лучше не отменять событие.</p> -<p>В событиях <code>{{event("drop")}}</code> и <code>{{event("dragend")}}</code>, yвы можете проверить свойства {{domxref("DataTransfer.dropEffect","dropEffect")}} для определения того, какой эффект был в конечном итоге выбран. Если выбран эффект "<code>move</code>",то исходные данные должны быть удалены из источника перетаскивания в событии<code>{{event("dragend")}}</code>.</p> +<p>В событиях <code>{{event("drop")}}</code> и <code>{{event("dragend")}}</code>, вы можете проверить свойства {{domxref("DataTransfer.dropEffect","dropEffect")}} для определения того, какой эффект был в конечном итоге выбран. Если выбран эффект "<code>move</code>",то исходные данные должны быть удалены из источника перетаскивания в событии<code>{{event("dragend")}}</code>.</p> <h2 id="droptargets" name="droptargets">Указание drop-целей</h2> diff --git a/files/ru/web/api/html_drag_and_drop_api/index.html b/files/ru/web/api/html_drag_and_drop_api/index.html index 1532a3573e..1e434f28af 100644 --- a/files/ru/web/api/html_drag_and_drop_api/index.html +++ b/files/ru/web/api/html_drag_and_drop_api/index.html @@ -46,11 +46,11 @@ original_slug: Web/Guide/HTML/Drag_and_drop <dl> <dt><code>dragstart</code></dt> - <dd>Срабатывает когда элeмент начал перемещаться. В момент срабатывания события <code>dragstart</code> пользователь начинает перетаскивание элемента. Обработчик данного события может быть использован для сохранения информации о перемещаемом объекте, а также для изменения изображения, которое будет ассоциировано с перемещением. Дaнное событие не срабатывает, когда некоторый файл будет переноситься из операционной системы в браузер. Для детальной информации <a href="/en-US/docs/DragDrop/Drag_Operations#dragstart" title="Starting a Drag Operation">Starting a Drag Operation</a>.</dd> + <dd>Срабатывает когда элемент начал перемещаться. В момент срабатывания события <code>dragstart</code> пользователь начинает перетаскивание элемента. Обработчик данного события может быть использован для сохранения информации о перемещаемом объекте, а также для изменения изображения, которое будет ассоциировано с перемещением. Данное событие не срабатывает, когда некоторый файл будет переноситься из операционной системы в браузер. Для детальной информации <a href="/en-US/docs/DragDrop/Drag_Operations#dragstart" title="Starting a Drag Operation">Starting a Drag Operation</a>.</dd> <dt><code>dragenter</code></dt> <dd>Срабатывает, когда перемещаемый элемент попадает на элемент-назначение. Обработчик этого события показывает, что элемент находится над объектом на который он может быть перенесен. Если же обработчика нет, либо он не совершает никаких действий перемещение по умолчанию запрещено. Это событие также используется для того, чтобы подсветить либо промаркировать объект над которым происходит перемещения в случае, если перемещение на данный элемент разрешено. Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#droptargets" title="Specifying Drop Targets">Specifying Drop Targets</a>.</dd> <dt><code>dragover</code></dt> - <dd>Данное событие срабатывает каждые несколько сотен милисекунд, когда перемещаемый элемент оказывается над зоной, принимающей перетаскиваемые элементы. Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#droptargets" title="Specifying Drop Targets">Specifying Drop Targets</a>.</dd> + <dd>Данное событие срабатывает каждые несколько сотен миллисекунд, когда перемещаемый элемент оказывается над зоной, принимающей перетаскиваемые элементы. Для детальной информации смотрите <a href="/en-US/docs/DragDrop/Drag_Operations#droptargets" title="Specifying Drop Targets">Specifying Drop Targets</a>.</dd> <dt><code>dragleave</code></dt> <dd>Это событие запускается в момент перетаскивания, когда курсор мыши выходит за пределы элемента. Обработчикам следует убрать любую подсветку или иные индикаторы, указывавшие на присутствие курсора, чтобы тем самым обозначить реакцию на прекращение перетаскивания.</dd> <dt><code>drag</code></dt> diff --git a/files/ru/web/api/htmlanchorelement/index.html b/files/ru/web/api/htmlanchorelement/index.html index acfc568ef4..11f17a3c80 100644 --- a/files/ru/web/api/htmlanchorelement/index.html +++ b/files/ru/web/api/htmlanchorelement/index.html @@ -18,17 +18,17 @@ translation_of: Web/API/HTMLAnchorElement <dt>{{domxref("HTMLAnchorElement.accessKey")}}</dt> <dd>Это {{domxref("DOMString")}} отображает собой единичный символ, который переключает фокус ввода на гиперссылку.</dd> <dt>{{domxref("HTMLAnchorElement.charset")}} {{obsolete_inline}}</dt> - <dd>Это {{domxref("DOMString")}} отображает кодировку символов связаного ресурса.</dd> + <dd>Это {{domxref("DOMString")}} отображает кодировку символов связанного ресурса.</dd> <dt>{{domxref("HTMLAnchorElement.coords")}} {{obsolete_inline}}</dt> <dd>Это {{domxref("DOMString")}} отображает список координат разделенный запятыми.</dd> <dt>{{domxref("HTMLAnchorElement.download")}} {{experimental_inline}}</dt> - <dd>Это {{domxref("DOMString")}} показыват что связаный ресурс предназначен для загрузки, а не для отображения в браузере. Значение представляет предполагаемое имя файла. Если имя не является допустимым именем файла нижележащей ОС, браузер будет адаптировать его. Значение это URL по схеме <code>http:</code>, <code>file:</code>, <code>data:</code> или даже <code>blob:</code> (созданный с помощью {{domxref("URL.createObjectURL")}}).</dd> + <dd>Это {{domxref("DOMString")}} показывать что связанный ресурс предназначен для загрузки, а не для отображения в браузере. Значение представляет предполагаемое имя файла. Если имя не является допустимым именем файла нижележащей ОС, браузер будет адаптировать его. Значение это URL по схеме <code>http:</code>, <code>file:</code>, <code>data:</code> или даже <code>blob:</code> (созданный с помощью {{domxref("URL.createObjectURL")}}).</dd> <dt>{{domxref("URLUtils.hash")}}</dt> <dd>Это {{domxref("DOMString")}} отображает фрагмент идентификатора, включая ведущий hash mark ('<code>#</code>'), если, указан в URL.</dd> <dt>{{domxref("URLUtils.host")}}</dt> <dd>Это {{domxref("DOMString")}} отображает имя хоста порт (если это не порт по умолчанию) в указанном URL.</dd> <dt>{{domxref("URLUtils.hostname")}}</dt> - <dd>Это {{domxref("DOMString")}} отбражает имя хоста в указанном URL.</dd> + <dd>Это {{domxref("DOMString")}} отображает имя хоста в указанном URL.</dd> <dt>{{domxref("URLUtils.href")}}</dt> <dd>Это {{domxref("DOMString")}} что отображает {{htmlattrxref("href", "a")}} HTML атрибут, содержащий действительный URL связанного ресурса.</dd> <dt>{{domxref("HTMLAnchorElement.hreflang")}}</dt> @@ -42,13 +42,13 @@ translation_of: Web/API/HTMLAnchorElement <dt>{{domxref("URLUtils.origin")}} {{readonlyInline}}</dt> <dd>Возвращает {{domxref("DOMString")}} содержащий источник, то есть его схему, его домен и его порт.</dd> <dt>{{domxref("URLUtils.pathname")}}</dt> - <dd>Это {{domxref("DOMString")}} отображающий состовную часть пути имени, любого, ссылающегося URL.</dd> + <dd>Это {{domxref("DOMString")}} отображающий составную часть пути имени, любого, ссылающегося URL.</dd> <dt>{{domxref("URLUtils.port")}}</dt> <dd>Это {{domxref("DOMString")}} отображающий составную часть порта, любого, ссылающегося URL.</dd> <dt>{{domxref("URLUtils.protocol")}}</dt> - <dd>Is a {{domxref("DOMString")}} отображаеющий составную часть протокола, включая двоеточия ('<code>:</code>'), ссылающегося URL.</dd> + <dd>Is a {{domxref("DOMString")}} отображающий составную часть протокола, включая двоеточия ('<code>:</code>'), ссылающегося URL.</dd> <dt>{{domxref("HTMLAnchorElement.referrer")}} {{experimental_inline}}</dt> - <dd>Это {{domxref("DOMString")}} что отображает {{htmlattrxref("referrer", "a")}} HTML аттрибут, показывающий какой referrer используется, когда выбранно изображение.</dd> + <dd>Это {{domxref("DOMString")}} что отображает {{htmlattrxref("referrer", "a")}} HTML атрибут, показывающий какой referrer используется, когда выбрано изображение.</dd> <dt>{{domxref("HTMLAnchorElement.rel")}}</dt> <dd>Это {{domxref("DOMString")}} что отображает {{htmlattrxref("rel", "a")}} HTML атрибут, уточняя взаимоотношения целевого объекта к связанному объекту.</dd> <dt>{{domxref("HTMLAnchorElement.relList")}} {{readonlyInline}}</dt> @@ -60,7 +60,7 @@ translation_of: Web/API/HTMLAnchorElement <dt>{{domxref("HTMLAnchorElement.shape")}} {{obsolete_inline}}</dt> <dd>Это {{domxref("DOMString")}} отображающий вид активной области.</dd> <dt>{{domxref("HTMLAnchorElement.tabindex")}}</dt> - <dd>Это <code>long</code> содержащий положение элемента в норядке навигационного переключения для текущего документа.</dd> + <dd>Это <code>long</code> содержащий положение элемента в порядке навигационного переключения для текущего документа.</dd> <dt>{{domxref("HTMLAnchorElement.target")}}</dt> <dd>Это {{domxref("DOMString")}} который отображает {{htmlattrxref("target", "a")}} HTML атрибут, указывая где отображается связанный ресурс.</dd> <dt>{{domxref("HTMLAnchorElement.text")}}</dt> @@ -103,14 +103,14 @@ translation_of: Web/API/HTMLAnchorElement <tr> <td>{{SpecName('HTML WHATWG', "text-level-semantics.html#the-a-element", "HTMLAnchorElement")}}</td> <td>{{Spec2('HTML WHATWG')}}</td> - <td>Следующте свойство были добавлены: <code>download</code>.<br> + <td>Следующее свойство были добавлены: <code>download</code>.<br> Технически Technically, URL связанные свойства, <code>media</code>, <code>host</code>, <code>hostname</code>, <code>pathname</code>, <code>port</code>, <code>protocol</code>, <code>search</code>, и <code>hash</code>, были перемещены в {{domxref("URLUtils")}} интерфейс, и <code>HTMLAreaElement</code> реализует этот интерфейс.</td> </tr> <tr> <td>{{SpecName('HTML5 W3C', "text-level-semantics.html#the-a-element", "HTMLAnchorElement")}}</td> <td>{{Spec2('HTML5 W3C')}}</td> <td>Методы <code>blur()</code> и <code>focus()</code>, а также свойства <code>tabindex</code> и <code>accessKey</code>, теперь определены в {{domxref("HTMLElement")}}.<br> - Следующие свойства сейча устарели: <code>charset</code>, <code>coords</code>, <code>name</code>, <code>rev</code>, и <code>shape</code>.<br> + Следующие свойства сейчас устарели: <code>charset</code>, <code>coords</code>, <code>name</code>, <code>rev</code>, и <code>shape</code>.<br> Следующие свойства были добавлены: <code>hash</code>, <code>host</code>, <code>hostname</code>, <code>media</code>, <code>pathname</code>, <code>port</code>, <code>protocol</code>, <code>relList</code>, <code>search</code>, and <code>text</code>.</td> </tr> <tr> @@ -126,7 +126,7 @@ translation_of: Web/API/HTMLAnchorElement </tbody> </table> -<h2 id="Совместимомть_с_браузерами">Совместимомть с браузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <div>{{CompatibilityTable}}</div> diff --git a/files/ru/web/api/htmlareaelement/index.html b/files/ru/web/api/htmlareaelement/index.html index bdf4705d45..c682b2850e 100644 --- a/files/ru/web/api/htmlareaelement/index.html +++ b/files/ru/web/api/htmlareaelement/index.html @@ -31,9 +31,9 @@ translation_of: Web/API/HTMLAreaElement <dt>{{domxref("URLUtils.href")}}</dt> <dd>Это {{domxref("DOMString")}} содержание которого отображает {{ htmlattrxref("href", "area") }} HTML атрибут, содержащий действительный URL связанного с ним ресурса.</dd> <dt>{{domxref("HTMLAreaElement.hreflang")}}</dt> - <dd>Это {{domxref("DOMString")}} содержание которого отображает {{ htmlattrxref("hreflang", "area") }} HTML аттрибут, показывающий язык связанного с ним ресурса.</dd> + <dd>Это {{domxref("DOMString")}} содержание которого отображает {{ htmlattrxref("hreflang", "area") }} HTML атрибут, показывающий язык связанного с ним ресурса.</dd> <dt>{{domxref("HTMLAreaElement.media")}}</dt> - <dd>Это {{domxref("DOMString")}} содержание которого отображает {{ htmlattrxref("media", "area") }} HTML аттрибут, показывающий целевое mediaсвязанного с ним ресурса.</dd> + <dd>Это {{domxref("DOMString")}} содержание которого отображает {{ htmlattrxref("media", "area") }} HTML атрибут, показывающий целевое mediaсвязанного с ним ресурса.</dd> <dt>{{domxref("HTMLAreaElement.noHref")}} {{obsolete_inline}}</dt> <dd>Это {{domxref("Boolean")}} флаг показывающий, если зона неактивна (<code>true</code>) или активна (<code>false</code>).</dd> <dt>{{domxref("URLUtils.password")}}</dt> @@ -41,7 +41,7 @@ translation_of: Web/API/HTMLAreaElement <dt>{{domxref("URLUtils.origin")}} {{readonlyInline}}</dt> <dd>Возвращает {{domxref("DOMString")}} содержащий изначальный URL, то есть его схема, его домен, его порт.</dd> <dt>{{domxref("URLUtils.pathname")}}</dt> - <dd>Это {{domxref("DOMString")}} содержащий состовную часть пути имени, если таковые имеются в указанном URL.</dd> + <dd>Это {{domxref("DOMString")}} содержащий составную часть пути имени, если таковые имеются в указанном URL.</dd> <dt>{{domxref("URLUtils.port")}}</dt> <dd>Это {{domxref("DOMString")}} содержащий компонент порта , если таковой имеется в указанном URL.</dd> <dt>{{domxref("URLUtils.protocol")}}</dt> @@ -63,7 +63,7 @@ translation_of: Web/API/HTMLAreaElement <dt>{{domxref("HTMLAreaElement.type")}}</dt> <dd>Это {{domxref("DOMString")}} которое отображает {{ htmlattrxref("type", "area") }} HTML атрибут, показывающий MIME тип связанного с ним ресурса.</dd> <dt>{{domxref("URLUtils.username")}}</dt> - <dd>Это {{domxref("DOMString")}} содержащий имя пользователя. определеное перед доменным именем.</dd> + <dd>Это {{domxref("DOMString")}} содержащий имя пользователя. определенное перед доменным именем.</dd> </dl> <h2 id="Методы">Методы</h2> diff --git a/files/ru/web/api/htmlaudioelement/audio/index.html b/files/ru/web/api/htmlaudioelement/audio/index.html index 56fb80134f..172faa4863 100644 --- a/files/ru/web/api/htmlaudioelement/audio/index.html +++ b/files/ru/web/api/htmlaudioelement/audio/index.html @@ -74,7 +74,7 @@ original_slug: Web/API/HTMLAudioElement/Audio() <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> -<p>Таблица совместимости на этой странице генерируется из структурированных данных. Если Вы хотите внести свой вклад в эти данные, просмотрите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправте нам Pull-запрос.</p> +<p>Таблица совместимости на этой странице генерируется из структурированных данных. Если Вы хотите внести свой вклад в эти данные, просмотрите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам Pull-запрос.</p> <p>{{Compat("api.HTMLAudioElement.Audio")}}</p> diff --git a/files/ru/web/api/htmlaudioelement/index.html b/files/ru/web/api/htmlaudioelement/index.html index c5220d62d0..e8fb21e4d6 100644 --- a/files/ru/web/api/htmlaudioelement/index.html +++ b/files/ru/web/api/htmlaudioelement/index.html @@ -61,7 +61,7 @@ translation_of: Web/API/HTMLAudioElement <tr> <td><code>mozWriteAudio(in jsval data) </code>{{non-standard_inline}}</td> <td><code>unsigned long</code></td> - <td>Запускает аудио стрим на текущую частоту. Возращает количество байтов, которые записаны в стрим</td> + <td>Запускает аудио стрим на текущую частоту. Возвращает количество байтов, которые записаны в стрим</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/htmlbasefontelement/index.html b/files/ru/web/api/htmlbasefontelement/index.html index 6d5d0ce86b..a5a4c2f302 100644 --- a/files/ru/web/api/htmlbasefontelement/index.html +++ b/files/ru/web/api/htmlbasefontelement/index.html @@ -15,11 +15,11 @@ translation_of: Web/API/HTMLBaseFontElement <dl> <dt><code>HTMLBaseFontElement.color</code></dt> - <dd>Это {{domxref("DOMString")}} представляющий цвет текста, используя либо именованый цвет или цвет определенный в шестнадцатиричном формате <code>#RRGGBB</code>.</dd> + <dd>Это {{domxref("DOMString")}} представляющий цвет текста, используя либо именованный цвет или цвет определенный в шестнадцатеричном формате <code>#RRGGBB</code>.</dd> <dt><code>HTMLBaseFontElement.face</code></dt> - <dd>Это {{domxref("DOMString")}} представляющий список из одного или более имени шрифтов. Текст документа отображается в стиле по умолчанию, первым поддерживаемым клиентским браузером шрифтом. Если нет установленного шрифта на локальной системе, браузер обычно по умочанию, устанавливает пропорциональный или фиксированной ширины шрифт для этой системы.</dd> + <dd>Это {{domxref("DOMString")}} представляющий список из одного или более имени шрифтов. Текст документа отображается в стиле по умолчанию, первым поддерживаемым клиентским браузером шрифтом. Если нет установленного шрифта на локальной системе, браузер обычно по умолчанию, устанавливает пропорциональный или фиксированной ширины шрифт для этой системы.</dd> <dt><code>HTMLBaseFontElement.size</code></dt> - <dd>{{domxref("DOMString")}} предоставляет размер шрифта или как числовое значение или как относительное значение. Числовые значения в диапозоне от 1 до 7, где 1 самое маленькое значение и три значение по умолчанию. Относительное значение начинается с '+' или '-'<code>.</code></dd> + <dd>{{domxref("DOMString")}} предоставляет размер шрифта или как числовое значение или как относительное значение. Числовые значения в диапазоне от 1 до 7, где 1 самое маленькое значение и три значение по умолчанию. Относительное значение начинается с '+' или '-'<code>.</code></dd> </dl> <h2 id="Methods" name="Methods">Методы</h2> diff --git a/files/ru/web/api/htmlbodyelement/index.html b/files/ru/web/api/htmlbodyelement/index.html index 6fdca0b453..f053136969 100644 --- a/files/ru/web/api/htmlbodyelement/index.html +++ b/files/ru/web/api/htmlbodyelement/index.html @@ -40,29 +40,29 @@ translation_of: Web/API/HTMLBodyElement <dt>{{domxref("WindowEventHandlers.onbeforeprint")}}</dt> <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("beforeprint")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onbeforeunload")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("beforeunload")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("beforeunload")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onhashchange")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("hashchange")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("hashchange")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onlanguagechange")}} {{experimental_inline}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("languagechange")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("languagechange")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onmessage")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("message")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("message")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onoffline")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("offline")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("offline")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.ononline")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("online")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("online")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onpagehide")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("pagehide")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("pagehide")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onpageshow")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("pageshow")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("pageshow")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onpopstate")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("popstate")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("popstate")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onresize")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("resize")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("resize")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onstorage")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("storage")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("storage")}} вызвано.</dd> <dt>{{domxref("WindowEventHandlers.onunload")}}</dt> - <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("unload")}} вызванно.</dd> + <dd>Это {{domxref("EventHandler")}} представляющее собой код который будет вызван когда событие {{event("unload")}} вызвано.</dd> </dl> <h2 id="Спецификации">Спецификации</h2> @@ -93,7 +93,7 @@ translation_of: Web/API/HTMLBodyElement <tr> <td>{{SpecName('DOM2 HTML', 'html.html#ID-62018039', 'HTMLBodyElement')}}</td> <td>{{Spec2('DOM2 HTML')}}</td> - <td>не измелось с {{SpecName("DOM1")}}.</td> + <td>не изменилось с {{SpecName("DOM1")}}.</td> </tr> <tr> <td>{{SpecName('DOM1', 'level-one-html.html#ID-62018039', 'HTMLBodyElement')}}</td> diff --git a/files/ru/web/api/htmlbuttonelement/index.html b/files/ru/web/api/htmlbuttonelement/index.html index 8e9999b2ff..dc488618d0 100644 --- a/files/ru/web/api/htmlbuttonelement/index.html +++ b/files/ru/web/api/htmlbuttonelement/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/HTMLButtonElement <tr> <td><code>autofocus</code></td> <td>{{domxref("Boolean")}}</td> - <td>Управление должно получить фокус ввода при загрузки страницы, пока пользователь не отменяет его, например, набирая на клавиатуре в другом контроле. Только один формо-ассоциированный элемент в документе может иметь указанный атрибут.</td> + <td>Управление должно получить фокус ввода при загрузки страницы, пока пользователь не отменяет его, например, набирая на клавиатуре в другом контроле. Только один форма-ассоциированный элемент в документе может иметь указанный атрибут.</td> </tr> <tr> <td><code>disabled</code></td> @@ -53,7 +53,7 @@ translation_of: Web/API/HTMLButtonElement <tr> <td><code>formEncType</code></td> <td>{{domxref("DOMString")}}</td> - <td>Тип содержимого, используемый для отправки формы на серевер. Если указан этот атрибут, то он переопределяет {{htmlattrxref("enctype", "form")}} атрибут элемента {{HTMLElement("form")}}, который является владельцем этого элемента.</td> + <td>Тип содержимого, используемый для отправки формы на сервер. Если указан этот атрибут, то он переопределяет {{htmlattrxref("enctype", "form")}} атрибут элемента {{HTMLElement("form")}}, который является владельцем этого элемента.</td> </tr> <tr> <td><code>formMethod</code></td> diff --git a/files/ru/web/api/htmlcanvaselement/index.html b/files/ru/web/api/htmlcanvaselement/index.html index 7a2b4d9d2c..ddc54d776e 100644 --- a/files/ru/web/api/htmlcanvaselement/index.html +++ b/files/ru/web/api/htmlcanvaselement/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/HTMLCanvasElement <div>{{APIRef("Canvas API")}}</div> </div> -<p>Интерфейс <strong><code>HTMLCanvasElement</code></strong> предоставляет свойства и методы для управления расположением и представлением элеметов canvas. Он также наследует свойства и методы интерфейса {{domxref("HTMLElement")}}.</p> +<p>Интерфейс <strong><code>HTMLCanvasElement</code></strong> предоставляет свойства и методы для управления расположением и представлением элементов canvas. Он также наследует свойства и методы интерфейса {{domxref("HTMLElement")}}.</p> <h2 id="Свойства">Свойства</h2> @@ -23,11 +23,11 @@ translation_of: Web/API/HTMLCanvasElement <dl> <dt>{{domxref("HTMLCanvasElement.height")}}</dt> - <dd>Положительное целое число, отражающее HTML-атрибут {{htmlattrxref("height", "canvas")}} элемента {{HTMLElement("canvas")}} (воспринимается в пикселях CSS). Если атрибут не определён или имеет некорректное значение (например отрицательное), используется зачение по умолчанию <code>— 150</code>.</dd> + <dd>Положительное целое число, отражающее HTML-атрибут {{htmlattrxref("height", "canvas")}} элемента {{HTMLElement("canvas")}} (воспринимается в пикселях CSS). Если атрибут не определён или имеет некорректное значение (например отрицательное), используется значение по умолчанию <code>— 150</code>.</dd> <dt>{{domxref("HTMLCanvasElement.mozOpaque")}} {{non-standard_inline}}</dt> <dd>Объект {{jsxref("Boolean")}}, отражающий HTML-атрибут {{htmlattrxref("moz-opaque", "canvas")}} элемента {{HTMLElement("canvas")}}. Сообщает холсту, будет ли присутствовать прозрачность. Если холсту известно, что прозрачность не используется, отрисовка может быть оптимизирована.</dd> <dt>{{domxref("HTMLCanvasElement.width")}}</dt> - <dd>Положительное целое число, отражающее HTML-атрибут {{htmlattrxref("width", "canvas")}} элемента {{HTMLElement("canvas")}} (воспринимается в пикселях CSS). Если атрибут не определён или имеет некорректное значение (например отрицательное), используется зачение по умолчанию <code>— 300</code>.</dd> + <dd>Положительное целое число, отражающее HTML-атрибут {{htmlattrxref("width", "canvas")}} элемента {{HTMLElement("canvas")}} (воспринимается в пикселях CSS). Если атрибут не определён или имеет некорректное значение (например отрицательное), используется значение по умолчанию <code>— 300</code>.</dd> <dt>{{domxref("HTMLCanvasElement.mozPrintCallback")}}{{non-standard_inline}}</dt> <dd>Is a <code>function</code> that is Initially null, Web content can set this to a JavaScript function that will be called if the page is printed. This function can then redraw the canvas at a higher resolution that is suitable for the printer being used. <a href="https://blog.mozilla.org/labs/2012/09/a-new-way-to-control-printing-output/">See this blog post.</a></dd> </dl> @@ -40,11 +40,11 @@ translation_of: Web/API/HTMLCanvasElement <dt>{{domxref("HTMLCanvasElement.captureStream()")}} {{experimental_inline}}</dt> <dd>Возвращает {{domxref("CanvasCaptureMediaStream")}} — поток видео, которое захватывается в реальном времени с поверхности холста.</dd> <dt>{{domxref("HTMLCanvasElement.getContext()")}}</dt> - <dd>Возвращает связный с холстом контекст, который позволяет рисовать на холсте. Если context ID не поддерживается, возвращает null. Вызов getContext с параметром <code>"2d"</code> возвращает объект {{domxref("CanvasRenderingContext2D")}}, тогда так вызов с параметром <code>"experimental-webgl"</code> (или <code>"webgl"</code>) возвращает объект {{domxref("WebGLRenderingContext")}}. Этот контекст поддерживается толко в браузерах, в которых реализован <a href="/en-US/docs/Web/WebGL">WebGL</a>.</dd> + <dd>Возвращает связный с холстом контекст, который позволяет рисовать на холсте. Если context ID не поддерживается, возвращает null. Вызов getContext с параметром <code>"2d"</code> возвращает объект {{domxref("CanvasRenderingContext2D")}}, тогда так вызов с параметром <code>"experimental-webgl"</code> (или <code>"webgl"</code>) возвращает объект {{domxref("WebGLRenderingContext")}}. Этот контекст поддерживается только в браузерах, в которых реализован <a href="/en-US/docs/Web/WebGL">WebGL</a>.</dd> <dt>{{domxref("HTMLCanvasElement.toDataURL()")}}</dt> <dd>Возвращает data-URL, который содержит представление картинки в формате. указанном в параметре <code>type</code> (по умолчанию <code>png</code>). Возвращаемая картинка имеет разрешение 96dpi.</dd> <dt>{{domxref("HTMLCanvasElement.toBlob()")}}</dt> - <dd>Создаёт объект {{domxref("Blob")}}, представляющий картинку, которая содержится в холсте. Этот файл может быть кэширован на диске или сохранён в памяти наусмотрение user agent.</dd> + <dd>Создаёт объект {{domxref("Blob")}}, представляющий картинку, которая содержится в холсте. Этот файл может быть кэширован на диске или сохранён в памяти на усмотрение user agent.</dd> <dt>{{domxref("HTMLCanvasElement.transferControlToOffscreen()")}} {{experimental_inline}}</dt> <dd>Передаёт управление объекту {{domxref("OffscreenCanvas")}}, либо в main thread либо в worker.</dd> <dt>{{domxref("HTMLCanvasElement.mozGetAsFile()")}} {{non-standard_inline}} {{deprecated_inline}}</dt> diff --git a/files/ru/web/api/htmlcanvaselement/toblob/index.html b/files/ru/web/api/htmlcanvaselement/toblob/index.html index 56cd5c0369..3ec0c1e158 100644 --- a/files/ru/web/api/htmlcanvaselement/toblob/index.html +++ b/files/ru/web/api/htmlcanvaselement/toblob/index.html @@ -233,9 +233,9 @@ canvas.toBlob(blobCallback('passThisString'), 'image/vnd.microsoft.icon', <p>[1] See {{WebKitBug("71270")}}.</p> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> -<p>Полифилл, основанный на toDataURL, со слабой производительностью.</p> +<p>Полифил, основанный на toDataURL, со слабой производительностью.</p> <pre>if (!HTMLCanvasElement.prototype.toBlob) { Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', { diff --git a/files/ru/web/api/htmlcontentelement/index.html b/files/ru/web/api/htmlcontentelement/index.html index f3c59d4f27..fc0261db69 100644 --- a/files/ru/web/api/htmlcontentelement/index.html +++ b/files/ru/web/api/htmlcontentelement/index.html @@ -31,7 +31,7 @@ translation_of: Web/API/HTMLContentElement <p>This feature is no longer defined by any standards.</p> -<h2 id="Поддержка_бразуерами">Поддержка бразуерами</h2> +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> diff --git a/files/ru/web/api/htmldataelement/index.html b/files/ru/web/api/htmldataelement/index.html index 6dc1267d29..a286099ac1 100644 --- a/files/ru/web/api/htmldataelement/index.html +++ b/files/ru/web/api/htmldataelement/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/HTMLDataElement --- <div>{{ APIRef("HTML DOM") }}</div> -<p>Интерфейс <strong><code>HTMLDataElement</code></strong> предоставляет специальные свойства (после чего постоянный {{domxref("HTMLElement")}} интерфейстакже доступен еме по наследству) для манипуляции {{HTMLElement("data")}} элементами.</p> +<p>Интерфейс <strong><code>HTMLDataElement</code></strong> предоставляет специальные свойства (после чего постоянный {{domxref("HTMLElement")}} интерфейс также доступен еме по наследству) для манипуляции {{HTMLElement("data")}} элементами.</p> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/web/api/htmldialogelement/index.html b/files/ru/web/api/htmldialogelement/index.html index 81cb52cb72..fd7432b122 100644 --- a/files/ru/web/api/htmldialogelement/index.html +++ b/files/ru/web/api/htmldialogelement/index.html @@ -33,7 +33,7 @@ translation_of: Web/API/HTMLDialogElement <dt>{{domxref("HTMLDialogElement.close()")}}</dt> <dd>Закрывает диалоговое окно. Опциональный {{domxref("DOMString")}} может быть передан как аргумент, обновляющий <code>returnValue</code> диалогового окна.</dd> <dt>{{domxref("HTMLDialogElement.show()")}}</dt> - <dd>Показывает диалоговое окно modelessly, т.е. остается возможность взаимодействовать с контеном вне диалогового окна.</dd> + <dd>Показывает диалоговое окно modelessly, т.е. остается возможность взаимодействовать с контентом вне диалогового окна.</dd> <dt>{{domxref("HTMLDialogElement.showModal()")}}</dt> <dd>Показывает диалог как модальное окно поверх любых других диалоговых окон, которые также могут существовать в данный момент. Взаимодействие с контентом вне диалогового окна заблокировано.</dd> </dl> diff --git a/files/ru/web/api/htmldialogelement/open/index.html b/files/ru/web/api/htmldialogelement/open/index.html index a6208c8ac9..c2f089b452 100644 --- a/files/ru/web/api/htmldialogelement/open/index.html +++ b/files/ru/web/api/htmldialogelement/open/index.html @@ -24,7 +24,7 @@ var myOpenValue = dialogInstance.open;</pre> <h3 id="Значение">Значение</h3> -<p>{{domxref("Boolean")}} значение отражает состояние HTML атрибута {{htmlattrxref("open", "dialog")}}. <code>true</code> значит, что значение установлено и диалоговое окно показывается в настоящий момент. <code>false</code> указывает, что значение не установлено и далоговое окно не показывается.</p> +<p>{{domxref("Boolean")}} значение отражает состояние HTML атрибута {{htmlattrxref("open", "dialog")}}. <code>true</code> значит, что значение установлено и диалоговое окно показывается в настоящий момент. <code>false</code> указывает, что значение не установлено и диалоговое окно не показывается.</p> <p>Свойство доступно только для чтения — значение можно установить программно методы show и hide элемента {{htmlelement("dialog")}}.</p> diff --git a/files/ru/web/api/htmldivelement/index.html b/files/ru/web/api/htmldivelement/index.html index d309e5c1ae..2249c5f3b7 100644 --- a/files/ru/web/api/htmldivelement/index.html +++ b/files/ru/web/api/htmldivelement/index.html @@ -19,7 +19,7 @@ translation_of: Web/API/HTMLDivElement <dl> <dt>{{domxref("HTMLDivElement.align")}} {{obsolete_inline}}</dt> - <dd>Свойство типа {{domxref("DOMString")}} указывающее выравнивание содержимого элемента относительно окружающего контекста. Принемает следующие значения <code>"left"</code>, <code>"right"</code>, <code>"justify"</code>, <code>"center"</code>.</dd> + <dd>Свойство типа {{domxref("DOMString")}} указывающее выравнивание содержимого элемента относительно окружающего контекста. Принимает следующие значения <code>"left"</code>, <code>"right"</code>, <code>"justify"</code>, <code>"center"</code>.</dd> </dl> <h2 id="Методы">Методы</h2> @@ -33,22 +33,22 @@ translation_of: Web/API/HTMLDivElement <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('HTML WHATWG', "grouping-content.html#the-div-element", "HTMLDivElement")}}</td> <td>{{Spec2('HTML WHATWG')}}</td> - <td>Неимеет изменений от {{SpecName("HTML5 W3C")}}.</td> + <td>Не имеет изменений от {{SpecName("HTML5 W3C")}}.</td> </tr> <tr> <td>{{SpecName('HTML5 W3C', "grouping-content.html#the-div-element", "HTMLDivElement")}}</td> <td>{{Spec2('HTML5 W3C')}}</td> - <td>Неимеет изменений от {{SpecName("DOM2 HTML")}}.</td> + <td>Не имеет изменений от {{SpecName("DOM2 HTML")}}.</td> </tr> <tr> <td>{{SpecName('DOM2 HTML', 'html.html#ID-22445964', 'HTMLDivElement')}}</td> <td>{{Spec2('DOM2 HTML')}}</td> - <td>Неимеет изменений от {{SpecName("DOM1")}}.</td> + <td>Не имеет изменений от {{SpecName("DOM1")}}.</td> </tr> <tr> <td>{{SpecName('DOM1', 'level-one-html.html#ID-22445964', 'HTMLDivElement')}}</td> diff --git a/files/ru/web/api/htmlelement/accesskey/index.html b/files/ru/web/api/htmlelement/accesskey/index.html index 01b872003b..12df05982c 100644 --- a/files/ru/web/api/htmlelement/accesskey/index.html +++ b/files/ru/web/api/htmlelement/accesskey/index.html @@ -18,7 +18,7 @@ original_slug: Web/API/Element/accessKey </div> <div class="warning"> -<p>Данное свойство использовать не рекоммендуется, поскольку в браузерах уже заданы подобные привязки и неосторожное обращение может привести к жестокому конфликту.</p> +<p>Данное свойство использовать не рекомендуется, поскольку в браузерах уже заданы подобные привязки и неосторожное обращение может привести к жестокому конфликту.</p> </div> <h2 id="sect1"> </h2> diff --git a/files/ru/web/api/htmlelement/contenteditable/index.html b/files/ru/web/api/htmlelement/contenteditable/index.html index d231018d4a..e06587ea78 100644 --- a/files/ru/web/api/htmlelement/contenteditable/index.html +++ b/files/ru/web/api/htmlelement/contenteditable/index.html @@ -7,12 +7,12 @@ translation_of: Web/API/HTMLElement/contentEditable <div>{{ APIRef("HTML DOM") }}</div> </div> -<p>Свойство <strong><code>HTMLElement.contentEditable</code></strong> элемента - признак, указывающий можно или нет редактировать содержимое элемента. Своство может принимать следующие значения:</p> +<p>Свойство <strong><code>HTMLElement.contentEditable</code></strong> элемента - признак, указывающий можно или нет редактировать содержимое элемента. Свойство может принимать следующие значения:</p> <ul> <li><code>true или пустая строка - содержимое элемента доступно для редактирования</code>.</li> <li><code>false</code> - содержимое элемента не доступно для редактирования.</li> - <li><code>inherit</code> - наследуется значение занного свойства от родительского элемента.</li> + <li><code>inherit</code> - наследуется значение данного свойства от родительского элемента.</li> </ul> <p>Вы можете использовать свойство {{domxref("HTMLElement.isContentEditable")}}, чтобы проверить {{domxref("Boolean")}} значение этого свойства.</p> diff --git a/files/ru/web/api/htmlelement/hidden/index.html b/files/ru/web/api/htmlelement/hidden/index.html index 854f08e186..9f352647bf 100644 --- a/files/ru/web/api/htmlelement/hidden/index.html +++ b/files/ru/web/api/htmlelement/hidden/index.html @@ -4,7 +4,7 @@ slug: Web/API/HTMLElement/hidden translation_of: Web/API/HTMLElement/hidden --- <div> -<div>HTMLElement <span class="seoSummary">Свойство <strong><code>hidden</code></strong> является {{jsxref("Boolean")}} типом данных , который принимает значение true , если содержимое спрятано, в противном случае значение будет false. Это свойство соверешенно отличается от использования CSS свойства {{cssxref("display")}} , чтобы контролировать отображение элемента.Свойство </span><code>hidden</code> <span class="seoSummary">применимо ко всем режимам представления и не должно использоваться для скрытия содержимого предназначенного для прямого доступа к пользователю. Соответствующие варианты использования включают:</span></div> +<div>HTMLElement <span class="seoSummary">Свойство <strong><code>hidden</code></strong> является {{jsxref("Boolean")}} типом данных , который принимает значение true , если содержимое спрятано, в противном случае значение будет false. Это свойство совершенно отличается от использования CSS свойства {{cssxref("display")}} , чтобы контролировать отображение элемента.Свойство </span><code>hidden</code> <span class="seoSummary">применимо ко всем режимам представления и не должно использоваться для скрытия содержимого предназначенного для прямого доступа к пользователю. Соответствующие варианты использования включают:</span></div> </div> <ul> @@ -38,7 +38,7 @@ translation_of: Web/API/HTMLElement/hidden <h2 id="Example" name="Example">Пример</h2> -<p>Пример, где скрытий блок используется для хранения "thank you" сообщения, которое отображается после того, как пользователь соглашается с необычным запросом.</p> +<p>Пример, где скрытый блок используется для хранения "thank you" сообщения, которое отображается после того, как пользователь соглашается с необычным запросом.</p> <h3 id="JavaScript">JavaScript</h3> @@ -66,7 +66,7 @@ translation_of: Web/API/HTMLElement/hidden <h4 id="The_follow-up_panel">The follow-up panel</h4> -<p>После того, как пользователь нажимает OK в welcome panel, JavaScript код меняет две панели изменяя их значения hidden. Cледующая The follow-up panel представлена в этом HMTL:</p> +<p>После того, как пользователь нажимает OK в welcome panel, JavaScript код меняет две панели изменяя их значения hidden. Следующая The follow-up panel представлена в этом HMTL:</p> <pre class="brush: html"><div id="awesome" class="panel" hidden> <h1>Thanks!</h1> @@ -77,7 +77,7 @@ translation_of: Web/API/HTMLElement/hidden <h3 id="CSS">CSS</h3> -<p>Стилизованное содержимое использует CSS предсталвенное внизу.</p> +<p>Стилизованное содержимое использует CSS представленное внизу.</p> <pre class="brush: css">.panel { font: 16px "Open Sans", Helvetica, Arial, sans-serif; diff --git a/files/ru/web/api/htmlelement/innertext/index.html b/files/ru/web/api/htmlelement/innertext/index.html index cb530097c2..e0b3c9e230 100644 --- a/files/ru/web/api/htmlelement/innertext/index.html +++ b/files/ru/web/api/htmlelement/innertext/index.html @@ -8,7 +8,7 @@ original_slug: Web/API/Node/innerText <p><code><strong>Node.innerText</strong></code> - это свойство, позволяющее задавать или получать текстовое содержимое элемента и его потомков. В качестве геттера, свойство приближается к тексту, который пользователь получит, если он выделит содержимое элемента курсором, затем копирует его в буфер обмена.</p> -<p>Изначально, данное поведение было представленно Internet Explorer, и было формально специализированно в стандарте HTML в 2016 после того, как было адаптированно всеми ведущими браузерами.</p> +<p>Изначально, данное поведение было представлено Internet Explorer, и было формально специализированно в стандарте HTML в 2016 после того, как было адаптировано всеми ведущими браузерами.</p> <p>{{domxref("Node.textContent")}} - это альтернативное свойство, которое имеет ряд отличий:</p> diff --git a/files/ru/web/api/htmlelement/pointerover_event/index.html b/files/ru/web/api/htmlelement/pointerover_event/index.html index 300dbfe89c..cd2ca5ef5c 100644 --- a/files/ru/web/api/htmlelement/pointerover_event/index.html +++ b/files/ru/web/api/htmlelement/pointerover_event/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/HTMLElement/pointerover_event --- <div>{{APIRef}}</div> -<p>Событие <code>pointerover</code> когда указатель входит в границы элемента слушаюшего события.</p> +<p>Событие <code>pointerover</code> когда указатель входит в границы элемента слушающего события.</p> <table class="properties"> <tbody> @@ -30,7 +30,7 @@ translation_of: Web/API/HTMLElement/pointerover_event <h2 id="Примеры">Примеры</h2> -<p>С ипользованием <code>addEventListener()</code>:</p> +<p>С использованием <code>addEventListener()</code>:</p> <pre class="brush: js">const para = document.querySelector('p'); diff --git a/files/ru/web/api/htmlheadelement/index.html b/files/ru/web/api/htmlheadelement/index.html index 1dfb63025d..0e6cd02be8 100644 --- a/files/ru/web/api/htmlheadelement/index.html +++ b/files/ru/web/api/htmlheadelement/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/HTMLHeadElement --- <div>{{APIRef("HTML DOM")}}</div> -<p>Интерфейс <strong><code>HTMLHeadElement</code></strong> содержит описательную информацию, или метаданные, для документа. Этот объект наследует все свойства и методыописанные в {{domxref("HTMLElement")}} интерфейсе.</p> +<p>Интерфейс <strong><code>HTMLHeadElement</code></strong> содержит описательную информацию, или метаданные, для документа. Этот объект наследует все свойства и методы описанные в {{domxref("HTMLElement")}} интерфейсе.</p> <h2 id="Свойства">Свойства</h2> @@ -13,7 +13,7 @@ translation_of: Web/API/HTMLHeadElement <dl> <dt>{{domxref("HTMLHeadElement.profile")}} {{obsolete_inline}}</dt> - <dd>Это {{domxref("DOMString")}} представляющая URI одного или более профилей методанных (через запятую).</dd> + <dd>Это {{domxref("DOMString")}} представляющая URI одного или более профилей метаданных (через запятую).</dd> </dl> <h2 id="Методы">Методы</h2> diff --git a/files/ru/web/api/htmlimageelement/decoding/index.html b/files/ru/web/api/htmlimageelement/decoding/index.html index f1c6109bcb..7ae07b4249 100644 --- a/files/ru/web/api/htmlimageelement/decoding/index.html +++ b/files/ru/web/api/htmlimageelement/decoding/index.html @@ -14,14 +14,14 @@ translation_of: Web/API/HTMLImageElement/decoding <h3 id="Значения">Значения</h3> -<p>{{domxref("DOMString")}} предоствляет указания по декодированию. Возможные значения:</p> +<p>{{domxref("DOMString")}} предоставляет указания по декодированию. Возможные значения:</p> <dl> <dd> <ul> <li><strong><code>sync</code></strong>: Декодировать изображение синхронно для отображения одновременно с другим содержимым.</li> <li><strong><code>async</code></strong>: Декодировать содержимое асинхронно для уменьшения задержки в отображении другого содержимого.</li> - <li><strong><code>auto</code></strong>: Режим по умолчанию, который не отдаёт предпочтения ни одному режиму декодирования, предоставляя браузеру решать, какой режим для пользователя оптимальнее.</li> + <li><strong><code>auto</code></strong>: Режим по умолчанию, который не отдаёт предпочтения ни одному режиму декодирования, предоставляя браузеру решать, какой режим для пользователя оптимальное.</li> </ul> </dd> </dl> @@ -40,7 +40,7 @@ img.src = 'img/logo.png'; <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/htmlimageelement/index.html b/files/ru/web/api/htmlimageelement/index.html index 9aedb53ca9..f0f25fddac 100644 --- a/files/ru/web/api/htmlimageelement/index.html +++ b/files/ru/web/api/htmlimageelement/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/HTMLImageElement <tr> <td><code>alt</code></td> <td>{{domxref("DOMString")}}</td> - <td>Повторяет аттрибут HTML {{htmlattrxref("alt", "img")}} указывающий на запасной контекст картинки.</td> + <td>Повторяет атрибут HTML {{htmlattrxref("alt", "img")}} указывающий на запасной контекст картинки.</td> </tr> <tr> <td><code>border</code> {{obsolete_inline}}</td> diff --git a/files/ru/web/api/htmlinputelement/invalid_event/index.html b/files/ru/web/api/htmlinputelement/invalid_event/index.html index 505161cf4d..93da83aa20 100644 --- a/files/ru/web/api/htmlinputelement/invalid_event/index.html +++ b/files/ru/web/api/htmlinputelement/invalid_event/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/HTMLInputElement/invalid_event <h2 id="Общая_информация">Общая информация</h2> <dl> - <dt style="float: left; text-align: right; width: 120px;">Спецификаця</dt> + <dt style="float: left; text-align: right; width: 120px;">Спецификация</dt> <dd style="margin: 0 0 0 120px;"><a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#constraint-validation">HTML5</a></dd> <dt><strong>Взаимодействие </strong>{{domxref("Event")}}</dt> <dt style="float: left; text-align: right; width: 120px;">Всплытия</dt> diff --git a/files/ru/web/api/htmlinputelement/setselectionrange/index.html b/files/ru/web/api/htmlinputelement/setselectionrange/index.html index fec7276464..585f5e499f 100644 --- a/files/ru/web/api/htmlinputelement/setselectionrange/index.html +++ b/files/ru/web/api/htmlinputelement/setselectionrange/index.html @@ -31,7 +31,7 @@ translation_of: Web/API/HTMLInputElement/setSelectionRange <dt><em>selectionEnd</em></dt> <dd>Индекс символа <em>после</em> последнего выделенного символа.</dd> <dt><em>selectionDirection</em> {{optional_inline}}</dt> - <dd>Строка, определяющая направления произведенного выделения. Принимаются значения "forward", "backward" или "none", если направление выделение неизвество или неважно.</dd> + <dd>Строка, определяющая направления произведенного выделения. Принимаются значения "forward", "backward" или "none", если направление выделение неизвестно или неважно.</dd> </dl> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/htmlorforeignelement/tabindex/index.html b/files/ru/web/api/htmlorforeignelement/tabindex/index.html index 5844679d21..28df9b60bc 100644 --- a/files/ru/web/api/htmlorforeignelement/tabindex/index.html +++ b/files/ru/web/api/htmlorforeignelement/tabindex/index.html @@ -22,7 +22,7 @@ original_slug: Web/API/HTMLElement/tabIndex <div> </div> -<div><span style="font-size: 14px; line-height: 1.5;">Значения могут начинаться с любого числа, могут быть отрицательными и могут быть непоследовательными, однако разные браузеры можгут неправильно сработать при очень больших значениях.</span></div> +<div><span style="font-size: 14px; line-height: 1.5;">Значения могут начинаться с любого числа, могут быть отрицательными и могут быть непоследовательными, однако разные браузеры могут неправильно сработать при очень больших значениях.</span></div> <div> </div> </div> @@ -53,7 +53,7 @@ b1.tabIndex = 1; <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарии</th> + <th scope="col">Комментарии</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/htmlscriptelement/index.html b/files/ru/web/api/htmlscriptelement/index.html index 064a078e7f..82372ff2d2 100644 --- a/files/ru/web/api/htmlscriptelement/index.html +++ b/files/ru/web/api/htmlscriptelement/index.html @@ -102,7 +102,7 @@ translation_of: Web/API/HTMLScriptElement <h3 id="Динамическое_импортирование_скриптов">Динамическое импортирование скриптов</h3> -<p>Давайте создадим функцию. которая импортирует новый скрипт в документ, создавая ноду {{HTMLElement("script")}} <em>непосредственно перед</em> {{HTMLElement("script")}}, в котором размещается следующий код (через {{domxref("document.currentScript")}}). Эти скрипты будут выполняться <strong>асинхронно</strong>. Для получения пдробной информации смотрите свойства <a href="#defer_property"><code>defer</code></a> и <a href="#async_property"><code>async</code></a>.</p> +<p>Давайте создадим функцию. которая импортирует новый скрипт в документ, создавая ноду {{HTMLElement("script")}} <em>непосредственно перед</em> {{HTMLElement("script")}}, в котором размещается следующий код (через {{domxref("document.currentScript")}}). Эти скрипты будут выполняться <strong>асинхронно</strong>. Для получения подробной информации смотрите свойства <a href="#defer_property"><code>defer</code></a> и <a href="#async_property"><code>async</code></a>.</p> <pre class="brush: js">function loadError(oError) { throw new URIError("The script " + oError.target.src + " didn't load correctly."); diff --git a/files/ru/web/api/htmltableelement/index.html b/files/ru/web/api/htmltableelement/index.html index 6817ae949d..fd23c972b7 100644 --- a/files/ru/web/api/htmltableelement/index.html +++ b/files/ru/web/api/htmltableelement/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/HTMLTableElement <div>{{APIRef("HTML DOM")}}</div> </div> -<p>Объекты <code>table</code> описывают интерфейс <code><a class="external" href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64060425">HTMLTableElement</a></code>, который содержит дополнительные свойства и методы (по сравнению с обычным объектным интерфейсом <a href="/ru/docs/DOM/element"><code>element</code></a> которые также доступны вследствии наследования) для управления внешним видом таблиц HTML.</p> +<p>Объекты <code>table</code> описывают интерфейс <code><a class="external" href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64060425">HTMLTableElement</a></code>, который содержит дополнительные свойства и методы (по сравнению с обычным объектным интерфейсом <a href="/ru/docs/DOM/element"><code>element</code></a> которые также доступны вследствие наследования) для управления внешним видом таблиц HTML.</p> <h2 id=".D0.A1.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.B0" name=".D0.A1.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.B0">Свойства</h2> diff --git a/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html b/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html index 1864f35f8d..0960df9a9a 100644 --- a/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html +++ b/files/ru/web/api/indexeddb_api/basic_concepts_behind_indexeddb/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB <p>Оно может стать полезным для:</p> <ul> - <li>Общего понимания дизайна и страуктуры IndexedDB, смотри <a href="#concepts">Big Concepts</a>.</li> + <li>Общего понимания дизайна и структуры IndexedDB, смотри <a href="#concepts">Big Concepts</a>.</li> <li>Изучения большего о терминах в IndexedDB, смотри секцию <a href="#definitions">Definitions</a>.</li> <li>Детального руководства как использовать API, смотри <a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB" title="en/IndexedDB/IndexedDB primer">Using IndexedDB</a>.</li> <li>Рекомендованной документации по IndexedDB API, ссылаясь на основные статьи по <a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB API</a> и его подстраницы, описывающие, какие типы объектов используются в IndexedDB.</li> @@ -27,7 +27,7 @@ translation_of: Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB <p>IndexedDB позволяет сохранять и извлекать объекты, проиндексированные с помощью "ключа". Все манипуляции над базой данных происходят при помощи транзакций. Как и большинство решений для web-хранилищ, IndexedDB следует <a class="external" href="http://www.w3.org/Security/wiki/Same_Origin_Policy" title="http://www.w3.org/Security/wiki/Same_Origin_Policy">same-origin policy</a>. Поэтому, если получить доступ к сохраненным данным в пределах домена можно, то вне его - нет.</p> -<p>IndexedDB - <a href="/en/IndexedDB#Asynchronous_API" title="https://developer.mozilla.org/en/IndexedDB#Asynchronous_API">ассинхронное</a> API, которое может быть использовано в большинстве контекстов, включая <a href="/ru/docs/Web/API/Web_Workers_API/Using_web_workers" title="https://developer.mozilla.org/En/Using_web_workers">Web Workers</a>. Раньше оно включало <a href="/en/IndexedDB#Synchronous_API" title="https://developer.mozilla.org/en/IndexedDB#Synchronous_API">синхронную</a> версию, для использования в web workers, но это было удалено из спецификации в связи с недостатком интереса внутри web-сообщеста.</p> +<p>IndexedDB - <a href="/en/IndexedDB#Asynchronous_API" title="https://developer.mozilla.org/en/IndexedDB#Asynchronous_API">асинхронное</a> API, которое может быть использовано в большинстве контекстов, включая <a href="/ru/docs/Web/API/Web_Workers_API/Using_web_workers" title="https://developer.mozilla.org/En/Using_web_workers">Web Workers</a>. Раньше оно включало <a href="/en/IndexedDB#Synchronous_API" title="https://developer.mozilla.org/en/IndexedDB#Synchronous_API">синхронную</a> версию, для использования в web workers, но это было удалено из спецификации в связи с недостатком интереса внутри web-сообщества.</p> <p>Существует так же конкурирующая с IndexedDB спецификация, WebSQL Database, но W3C исключила ее 18 ноября 2010. Хотя IndexedDB и WebSQL оба являются решением для хранилищ, они предоставляют различный функционал. WebSQL Database - реляционная система доступа к базам данных, когда IndexedDB - система индексированной таблицы.</p> diff --git a/files/ru/web/api/indexeddb_api/index.html b/files/ru/web/api/indexeddb_api/index.html index 7c1afe25b8..5a951d7da7 100644 --- a/files/ru/web/api/indexeddb_api/index.html +++ b/files/ru/web/api/indexeddb_api/index.html @@ -40,7 +40,7 @@ translation_of: Web/API/IndexedDB_API <h3 id="Ограничения_памяти_и_критерии_освобождения">Ограничения памяти и критерии освобождения </h3> -<p>Существует несколько веб-технологий, которые хранят данные того или иного вида на стороне клиента (т.е. на вашем локальном диске). Под IndexedDB чаще всего подразумевают одно. Процесс, в котором браузер вычисляет сколько места нужно выделить для хранения веб-данных. <a href="https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria">Ограничение памяти браузера и критерии особождения </a>пытаются объяснить как это работает, по крайней мере в случае с Firefox.</p> +<p>Существует несколько веб-технологий, которые хранят данные того или иного вида на стороне клиента (т.е. на вашем локальном диске). Под IndexedDB чаще всего подразумевают одно. Процесс, в котором браузер вычисляет сколько места нужно выделить для хранения веб-данных. <a href="https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria">Ограничение памяти браузера и критерии освобождения </a>пытаются объяснить как это работает, по крайней мере в случае с Firefox.</p> <h2 id="Интерфейсы">Интерфейсы</h2> diff --git a/files/ru/web/api/indexeddb_api/using_indexeddb/index.html b/files/ru/web/api/indexeddb_api/using_indexeddb/index.html index 156ef5cded..4dd2313af8 100644 --- a/files/ru/web/api/indexeddb_api/using_indexeddb/index.html +++ b/files/ru/web/api/indexeddb_api/using_indexeddb/index.html @@ -36,7 +36,7 @@ translation_of: Web/API/IndexedDB_API/Using_IndexedDB <h2 id="open" name="open">Создание и структурирование хранилища</h2> -<p>Так как спецификация пока еще находится в процесе разработки, то текущие реализации IndexedDB отличаются у различных браузеров и могут содержать имена объектов, включающие в себя префиксы браузеров. Однако, как только стандарт будет принят, префиксы будут удалены. К настоящему моменту префиксы уже удалены в реализациях IndexedDB в Internet Explorer 10, Firefox 16 и Chrome 24. Браузеры, построенные на базе Gecko пока еще используют префикс <code>moz,</code> а браузеры на базе движка <code>webkit</code> используют префикс <code>webkit.</code></p> +<p>Так как спецификация пока еще находится в процессе разработки, то текущие реализации IndexedDB отличаются у различных браузеров и могут содержать имена объектов, включающие в себя префиксы браузеров. Однако, как только стандарт будет принят, префиксы будут удалены. К настоящему моменту префиксы уже удалены в реализациях IndexedDB в Internet Explorer 10, Firefox 16 и Chrome 24. Браузеры, построенные на базе Gecko пока еще используют префикс <code>moz,</code> а браузеры на базе движка <code>webkit</code> используют префикс <code>webkit.</code></p> <h3 id="Использование_экспериментальной_версии_IndexedDB">Использование экспериментальной версии IndexedDB</h3> @@ -140,7 +140,7 @@ request.onupgradeneeded = function(event) { <p>Когда вы увеличиваете номер версии, будет инициировано событие onupgradeneeded. В этот момент БД будет хранить старые объекты. Но для всякого объекта прошлой версии стоит создать новый объект, совместимый с новой версией. Если вам необходимо исправить существующий объект в БД (например, для изменения keyPath), то вы можете удалить объект и создать его вновь с новыми параметрами (помните, что удаление стирает информацию, так что не забывайте сохранять то, что вам нужно).</p> -<p>WebKit поддержимает текущую версию спецификации в Google Chrome 23 и старше. Так что там нет события <span style="font-family: Consolas,Monaco,'Andale Mono',monospace;">indexedDB.open(name, version).onupgradeneeded. Однако, вы можете ознакомиться с инструкцией <a href="/en/IndexedDB/IDBDatabase#setVersion()_.0A.0ADeprecated">о том, что делать со старым </a></span><a href="/en/IndexedDB/IDBDatabase#setVersion()_.0A.0ADeprecated">Webkit</a>.</p> +<p>WebKit поддерживает текущую версию спецификации в Google Chrome 23 и старше. Так что там нет события <span style="font-family: Consolas,Monaco,'Andale Mono',monospace;">indexedDB.open(name, version).onupgradeneeded. Однако, вы можете ознакомиться с инструкцией <a href="/en/IndexedDB/IDBDatabase#setVersion()_.0A.0ADeprecated">о том, что делать со старым </a></span><a href="/en/IndexedDB/IDBDatabase#setVersion()_.0A.0ADeprecated">Webkit</a>.</p> <h3 id="Структура_базы_данных">Структура базы данных</h3> diff --git a/files/ru/web/api/intersection_observer_api/index.html b/files/ru/web/api/intersection_observer_api/index.html index 40fbfc7443..46707b3d7b 100644 --- a/files/ru/web/api/intersection_observer_api/index.html +++ b/files/ru/web/api/intersection_observer_api/index.html @@ -23,13 +23,13 @@ translation_of: Web/API/Intersection_Observer_API <p>Рассмотрим веб-страницу с бесконечным скроллом. На ней используется библиотека для управления периодически размещаемой по всей странице рекламой, повсюду анимированная графика, а также библиотека для отображения всплывающих окон. И все эти вещи используют свои собственные правила для обнаружения пересечений, и все они запущены в основном потоке. Автор сайта может даже не подозревать об этой проблеме, а также может не знать, как работают сторонние библиотеки изнутри. В то же время пользователь по ходу прокрутки страницы сталкивается с тем, что работа сайта замедляется постоянным срабатыванием обнаружения пересечения, что в итоге приводит к тому, что пользователь недоволен браузером, сайтом и своим компьютером.</p> -<p>Intersection Observer API даёт возможность зарегистрировать callback-функцию, которая выполнится при пересечении наблюдаемым элементом границ другого элемента (или области видимости документа {{Glossary("viewport")}}), либо при изменении величины пересечения на опредённое значение. Таким образом, больше нет необходимости вычислять пересечение элементов в основном потоке, и браузер может оптимизировать эти процессы на своё усмотрение.</p> +<p>Intersection Observer API даёт возможность зарегистрировать callback-функцию, которая выполнится при пересечении наблюдаемым элементом границ другого элемента (или области видимости документа {{Glossary("viewport")}}), либо при изменении величины пересечения на определенное значение. Таким образом, больше нет необходимости вычислять пересечение элементов в основном потоке, и браузер может оптимизировать эти процессы на своё усмотрение.</p> <p>Observer API не позволит узнать точное число пикселей или определить конкретные пиксели в пересечении; однако, его использование покрывает наиболее частые сценарии вроде "Если элементы пересекаются на N%, сделай то-то".</p> <h2 id="Основные_понятия">Основные понятия</h2> -<p>Intersection Observer API позволяет указать функцию, которая будет вызвана всякий раз для элемента (<strong>target</strong>) при пересечении его с областью видимости документа (по-умолчанию) или заданным элементом (<strong>root</strong>).</p> +<p>Intersection Observer API позволяет указать функцию, которая будет вызвана всякий раз для элемента (<strong>target</strong>) при пересечении его с областью видимости документа (по умолчанию) или заданным элементом (<strong>root</strong>).</p> <p>В основном, используется отслеживание пересечения элемента с областью видимости (необходимо указать <code>null</code> в качестве корневого элемента).</p> diff --git a/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html b/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html index ba2d788cd7..6bfdc973f7 100644 --- a/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html +++ b/files/ru/web/api/intersection_observer_api/timing_element_visibility/index.html @@ -210,7 +210,7 @@ let refreshIntervalID = 0;</pre> <dt><code>adObserver</code></dt> <dd>Содержит экземпляр {{domxref("IntersectionObserver")}}, используемый для вычисления наложения рекламных блоков и границ элемента <code><main></code>.</dd> <dt><code>refreshIntervalID</code></dt> - <dd>Переменная для хранения ID интервала, который возвращается функцией {{domxref("WindowOrWorkerGlobalScope.setInterval", "setInterval()")}}. Этот интервал будет использоваться для запуска переодических обновлений рекламных блоков.</dd> + <dd>Переменная для хранения ID интервала, который возвращается функцией {{domxref("WindowOrWorkerGlobalScope.setInterval", "setInterval()")}}. Этот интервал будет использоваться для запуска периодических обновлений рекламных блоков.</dd> </dl> <h3 id="Установка">Установка</h3> @@ -276,7 +276,7 @@ function startup() { <p>Для остановки таймеров нам нужно удалить ссылки на рекламные блоки из коллекции <code>visibleAds</code> и пометить их как неактивные. Чтобы это сделать, мы начинаем с сохранения ссылок на текущие видимые элементы в переменную<code> previouslyVisibleAds</code>. Это нужно, чтобы в дальнейшем можно было восстановить счётчики для этих блоков. Так мы указываем приложению, что эту рекламу не надо считать активной. Затем, если пользователь вернулся в документ, мы вызываем функцию <code>updateAdTimer()</code> для каждого отложенного элемента. Эта функция обновляет общее время видимости элемента. После этого мы присваиваем переменной <code>dataset.lastViewStarted</code> значение 0, что означает, что таймер не запущен.</p> -<p>Если документ стал видимым, мы выполняем обратный процесс: сначала мы проходим через коллекцию <code>previouslyVisibleAds</code>. Для каждого элемента мы присваиваем <code>dataset.lastViewStarted</code> значение, соответствующее текущему времени документа (в миллисекундах с момента создания документа). Это время можно узнать с помощью метода {{domxref("Performance.now", "performance.now()")}}. Затем мы присваиваем переменной <code>visibleAds</code> закешированное ранее значение <code>previouslyVisibleAds</code>, с обнулением последней переменной. Теперь рекламные блоки перезапущены и настроены, так что время простоя не будет учиваться.</p> +<p>Если документ стал видимым, мы выполняем обратный процесс: сначала мы проходим через коллекцию <code>previouslyVisibleAds</code>. Для каждого элемента мы присваиваем <code>dataset.lastViewStarted</code> значение, соответствующее текущему времени документа (в миллисекундах с момента создания документа). Это время можно узнать с помощью метода {{domxref("Performance.now", "performance.now()")}}. Затем мы присваиваем переменной <code>visibleAds</code> закешированное ранее значение <code>previouslyVisibleAds</code>, с обнулением последней переменной. Теперь рекламные блоки перезапущены и настроены, так что время простоя не будет учитываться.</p> <h3 id="Обработчик_изменений_наложения">Обработчик изменений наложения</h3> @@ -302,7 +302,7 @@ function startup() { <p>Как мы упоминали ранее, функция обратного вызова {{domxref("IntersectionObserver")}} получает на вход массив элементов, которые активировали наблюдателя. В нашей функции мы итерируемся по этому массиву. Если элемент пересекается с корневым элементом, мы знаем, что он стал видимым. Если он становится видимым более, чем на 75%, мы считаем, что реклама видима и мы запускаем таймер, выставляя значение <code>dataset.lastViewStarted</code> равным времени изменения параметра перекрытия {{domxref("IntersectionObserverEntry.time", "entry.time")}}. Затем мы добавляем рекламный блок в набор <code>visibleAds</code>.</p> -<p>Если рекламный блок уходит из зоны видимости, мы удаляем его из набор видимых элементов. Затем, в зависимости от значения {{domxref("IntersectionObserverEntry.intersectionRatio", "entry.ratio")}}, мы либо меняем рекламу, либо ставим на паузу. Так, если значение равно 0.0 и реклама уже была видна минимум минуту, мы вызываем функцию <code>replaceAd()</code> . В этом случае пользоватль видит разные рекламные блоки, но сама реклама меняется незаметно для пользователя.</p> +<p>Если рекламный блок уходит из зоны видимости, мы удаляем его из набор видимых элементов. Затем, в зависимости от значения {{domxref("IntersectionObserverEntry.intersectionRatio", "entry.ratio")}}, мы либо меняем рекламу, либо ставим на паузу. Так, если значение равно 0.0 и реклама уже была видна минимум минуту, мы вызываем функцию <code>replaceAd()</code> . В этом случае пользователь видит разные рекламные блоки, но сама реклама меняется незаметно для пользователя.</p> <h3 id="Обработка_периодический_событий">Обработка периодический событий</h3> @@ -365,9 +365,9 @@ function startup() { <p>Функция начинается с выяснения времени, когда происходила последняя проверка видимости рекламы (<code>adBox.dataset.lastViewStarted</code>). Мы также получаем текущее время с момента создания документа с помощью {{domxref("Performance.now", "performance.now()")}} <code>currentTime</code>.</p> -<p>Если время последней проверки lastStarted не равно нулю - это значит, что таймер сейчас уже запущен. В этом случае мы вычисляем разницу между текущим временем и временем старта проверки. Это значение покажет, сколько реклама была видима с момента последнего старта детекции. Затем это значение прибавляем к уже имееющемуся <code>totalViewTime</code>. Обратите внимание не вызов {{jsxref("parseFloat()")}}: так как все значения из Dataset - строки, JavaScript пытается соединить строки вместо того, чтобы просуммировать числа.</p> +<p>Если время последней проверки lastStarted не равно нулю - это значит, что таймер сейчас уже запущен. В этом случае мы вычисляем разницу между текущим временем и временем старта проверки. Это значение покажет, сколько реклама была видима с момента последнего старта детекции. Затем это значение прибавляем к уже имеющемуся <code>totalViewTime</code>. Обратите внимание не вызов {{jsxref("parseFloat()")}}: так как все значения из Dataset - строки, JavaScript пытается соединить строки вместо того, чтобы просуммировать числа.</p> -<p>В конце мы присваеваем <code>lastViewStarted</code> текущее значение. Это делается вне зависимости от того, был ли элемент видим во время вызова функции или нет - это позволяет таймеру рекламных блоков срабатывать всегда, когда эта функция вызывается. Это имеет смысл, потому что вызов может сработать ровно в тот момент, когда реклама только появилась.</p> +<p>В конце мы присваиваем <code>lastViewStarted</code> текущее значение. Это делается вне зависимости от того, был ли элемент видим во время вызова функции или нет - это позволяет таймеру рекламных блоков срабатывать всегда, когда эта функция вызывается. Это имеет смысл, потому что вызов может сработать ровно в тот момент, когда реклама только появилась.</p> <h3 id="Показываем_таймер_рекламы">Показываем таймер рекламы</h3> @@ -525,7 +525,7 @@ function buildContents() { <p>Если никакое значение не указано для <code>replaceBox</code>, мы создаем новый элемент. Создаётся новый контейнер {{HTMLElement("div")}}. Его CSS-параметры задаются с помощью класса <code>"ad"</code>. Затем создаются заголовок рекламного блока, его текст и таймер. Соотстветвенно, это {{HTMLElement("h2")}}, {{HTMLElement("p")}} и {{HTMLElement("div")}}. Эти элементы применяются к контейнеру <code>adBox</code>.</p> -<p>После этого разветвления наш код вновь возвращается к единому. Фоновый цвет рекламных блоков присваевается соответственно записям. Элементам присваиваются классы и содержимое.</p> +<p>После этого разветвления наш код вновь возвращается к единому. Фоновый цвет рекламных блоков присваивается соответственно записям. Элементам присваиваются классы и содержимое.</p> <p>Наступаем время присвоить data-параметры, чтобы отслеживать видимость рекламных блоков с помощью установки <code>adBox.dataset.totalViewTime</code> и <code>adBox.dataset.lastViewStarted</code> равными нулю.</p> @@ -548,12 +548,12 @@ function buildContents() { loadRandomAd(adBox); }</pre> -<p><code>replaceAd()</code> начинается с вызова <code>updateAdTimer()</code> для существующего рекламного блока, чтобы убедиться, что таймер обновлён. С помощью этого вызова мы убеждаемся, что <code>totalViewTime</code>, который мы используем для обработки, действительно совпадает с тем, что видел пользователь. Мы логгируем это значение и загружаем в рекламный блок новые данные. Помните, что в реальном мире вы не должны логгировать подобные вещи, а скорее использовать API для сбор логов.</p> +<p><code>replaceAd()</code> начинается с вызова <code>updateAdTimer()</code> для существующего рекламного блока, чтобы убедиться, что таймер обновлён. С помощью этого вызова мы убеждаемся, что <code>totalViewTime</code>, который мы используем для обработки, действительно совпадает с тем, что видел пользователь. Мы логируем это значение и загружаем в рекламный блок новые данные. Помните, что в реальном мире вы не должны логировать подобные вещи, а скорее использовать API для сбор логов.</p> </div> <h2 id="Результат">Результат</h2> -<p>Вы можете увидеть результат в окне ниже. Попробуйте экспериментировать с прокрутой и понаблюдайте за тем, как изменение видимости затрагивает каждый таймер. Кроме того, обратите внимание, что каждый рекламный блок обновляется только в том случае, если он уже был видим в течение минуты.</p> +<p>Вы можете увидеть результат в окне ниже. Попробуйте экспериментировать с прокруткой и понаблюдайте за тем, как изменение видимости затрагивает каждый таймер. Кроме того, обратите внимание, что каждый рекламный блок обновляется только в том случае, если он уже был видим в течение минуты.</p> <p>{{EmbedLiveSample("fullpage_example", 750, 800)}}</p> diff --git a/files/ru/web/api/intersectionobserver/index.html b/files/ru/web/api/intersectionobserver/index.html index 707224cab5..06f62a55b8 100644 --- a/files/ru/web/api/intersectionobserver/index.html +++ b/files/ru/web/api/intersectionobserver/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/IntersectionObserver <dt>{{domxref("IntersectionObserver.rootMargin")}} {{readonlyinline}}</dt> <dd>Смещение прямоугольника (<em>пер.</em> "An offset rectangle"), применяемое к {{Glossary('bounding box')}} корня при расчёте пересечений, эффективно сжимает или увеличивает корень для целей расчёта. Возвращаемое этим свойством значение может не совпадать со значением, указанным при вызове конструктора, поскольку оно может быть изменено в соответствии с внутренними требованиями. Каждое смещение может быть выражено в пикселях (<code>px</code>) или в процентах (<code>%</code>). Значение по умолчанию "0px 0px 0px 0px".</dd> <dt>{{domxref("IntersectionObserver.thresholds")}} {{readonlyinline}}</dt> - <dd>Список порогов, отсотированный по возрастанию, где каждый порог представляет собой отношение площади пересечения к ограничивающей области наблюдаемой цели. Уведомления для цели генерируются, когда любое из пороговых значений пересекается для этой цели. Если в конструктор не было передано значения, используется 0.</dd> + <dd>Список порогов, отсортированный по возрастанию, где каждый порог представляет собой отношение площади пересечения к ограничивающей области наблюдаемой цели. Уведомления для цели генерируются, когда любое из пороговых значений пересекается для этой цели. Если в конструктор не было передано значения, используется 0.</dd> </dl> <h2 id="Methods">Methods</h2> diff --git a/files/ru/web/api/keyboardevent/altkey/index.html b/files/ru/web/api/keyboardevent/altkey/index.html index 0ac07c64c1..65ff69f379 100644 --- a/files/ru/web/api/keyboardevent/altkey/index.html +++ b/files/ru/web/api/keyboardevent/altkey/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/KeyboardEvent/altKey --- <p id="Summary">{{APIRef("DOM Events")}}</p> -<p><strong><code>KeyboardEvent.altKey</code></strong> свойство только для чтения, возвращет {{jsxref("Boolean")}}, если клавиша <kbd>alt</kbd> (<kbd>Option</kbd> или <kbd>⌥</kbd> на OS X) была нажата (<code>true</code>) или не нажата (<code>false</code>), когда событие произошло.</p> +<p><strong><code>KeyboardEvent.altKey</code></strong> свойство только для чтения, возвращает {{jsxref("Boolean")}}, если клавиша <kbd>alt</kbd> (<kbd>Option</kbd> или <kbd>⌥</kbd> на OS X) была нажата (<code>true</code>) или не нажата (<code>false</code>), когда событие произошло.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/keyboardevent/index.html b/files/ru/web/api/keyboardevent/index.html index 82f1f9d634..78e057c480 100644 --- a/files/ru/web/api/keyboardevent/index.html +++ b/files/ru/web/api/keyboardevent/index.html @@ -47,7 +47,7 @@ translation_of: Web/API/KeyboardEvent <dd>Возвращает {{domxref("DOMString")}}, представляющий символьное значение клавиши. Если клавиша соответствует печатному символу, то это значение будет непустой Unicode-строкой, содержащей этот символ. Если клавиша не имеет печатного представления, то значение будет пустой строкой. <div class="note"><strong>Примечание:</strong> Если клавиша использовалась как макрос, который вставляет несколько символов, то значением будет вся строка, а не только первый символ.</div> - <div class="warning"><strong>Предупреждение:</strong> Эта функция была удалена из событий "DOM Level 3 Events". Она поддержтвается только IE9+ и Microsoft Edge.</div> + <div class="warning"><strong>Предупреждение:</strong> Эта функция была удалена из событий "DOM Level 3 Events". Она поддерживается только IE9+ и Microsoft Edge.</div> </dd> <dt>{{domxref("KeyboardEvent.charCode")}} {{Deprecated_inline}}{{Readonlyinline}}</dt> <dd>Возвращает {{jsxref("Number")}}, представляющий Unicode-номер клавиши; этот атрибут использовался только с событием <code>keypress</code>. Для клавиш, чей <code>char</code>-атрибут содержит несколько символов, то значением этого атрибута будет Unicode-значение первого символа. В Firefox 26 этот атрибут возвращал коды для печатных символов. @@ -60,9 +60,9 @@ translation_of: Web/API/KeyboardEvent <dt>{{domxref("KeyboardEvent.isComposing")}} {{Readonlyinline}}</dt> <dd>Возвращает {{jsxref("Boolean")}}, которое <code>true</code>, если событие возникло между "после-<code>compositionstart</code>" и "до-<code>compositionend</code>".</dd> <dt>{{domxref("KeyboardEvent.key")}} {{Readonlyinline}}</dt> - <dd>Возвращает {{domxref("DOMString")}}, представлающее значение клавиши, на которой возникло событие.</dd> + <dd>Возвращает {{domxref("DOMString")}}, представляющее значение клавиши, на которой возникло событие.</dd> <dt>{{domxref("KeyboardEvent.keyCode")}} {{deprecated_inline}} {{Readonlyinline}}</dt> - <dd>Возвращает {{jsxref("Number")}}, представляющее системный и зависящий от конкретной реализации числовой код, идентифицирущий немодифицированное значение нажатой клавиши. + <dd>Возвращает {{jsxref("Number")}}, представляющее системный и зависящий от конкретной реализации числовой код, идентифицирующий немодифицированное значение нажатой клавиши. <div class="warning"><strong>Предупреждение:</strong> Это нерекомендуемый к эксплуатации атрибут; по возможности вам нужно использовать вместо него {{domxref("KeyboardEvent.key")}}.</div> </dd> <dt>{{domxref("KeyboardEvent.keyIdentifier")}} {{Non-standard_inline}}{{deprecated_inline}}{{Readonlyinline}}</dt> @@ -137,7 +137,7 @@ translation_of: Web/API/KeyboardEvent <li><code>keyup</code></li> </ol> -<p>В этих средах, к сожалению, нет возмодности сказать вэб-контенту, произошел автоповтор или клавиша быал нажата несколько раз.</p> +<p>В этих средах, к сожалению, нет возможности сказать веб-контенту, произошел автоповтор или клавиша была нажата несколько раз.</p> <h4 id="Обработка_автоповтора_на_системах_до_Gecko_5.0">Обработка автоповтора на системах до Gecko 5.0</h4> @@ -452,7 +452,7 @@ document.addEventListener('keyup', (event) => { <p>[1] Аргументы функции <code>initKeyboardEvent()</code> в WebKit и в Blink отличаются от определения в документе "DOM Level 3 Events". Эта функция выглядит так: <code>initKeyboardEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in views::AbstractView viewArg, in DOMString keyIdentifierArg, in number locationArg, in boolean ctrlKeyArg, in boolean altKeyArg, in boolean shiftKeyArg, in boolean metaKeyArg, in boolean altGraphKeyArg)</code></p> -<p>[2] Gecko-движок не будет поддерживать <code>initKeyboardEvent()</code>, потому что её поддержка полностью ломает определение фич вэб-приложений. Смотрите {{Bug(999645)}}.</p> +<p>[2] Gecko-движок не будет поддерживать <code>initKeyboardEvent()</code>, потому что её поддержка полностью ломает определение фич веб-приложений. Смотрите {{Bug(999645)}}.</p> <p>[3] Аргументы <code>initKeyboardEvent()</code> в IE отличаются от определения в документе "DOM Level 3 Events". Эта функция выглядит так: <code>initKeyboardEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in views::AbstractView viewArg, in DOMString keyArg, in number locationArg, in DOMString modifierListArg, in boolean repeatArt, in DOMString locationArg)</code>. Смотрите <a href="http://msdn.microsoft.com/en-us/library/ie/ff975297%28v=vs.85%29.aspx">документ о <code>initKeyboardEvent()</code> на сайте MSDN</a>.</p> 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 39e2b6c133..d899eb5c38 100644 --- a/files/ru/web/api/keyboardevent/key/key_values/index.html +++ b/files/ru/web/api/keyboardevent/key/key_values/index.html @@ -3,7 +3,7 @@ title: Значения клавиш slug: Web/API/KeyboardEvent/key/Key_Values translation_of: Web/API/KeyboardEvent/key/Key_Values --- -<p>В таблицах ниже перечислены стандартные значения различных категорий клавиш с объяснением того, для чего этота клавиша обычно используется. Соответствующие виртуальные коды клавиш для распространенных платформ включены там, где они доступны.</p> +<p>В таблицах ниже перечислены стандартные значения различных категорий клавиш с объяснением того, для чего этот клавиша обычно используется. Соответствующие виртуальные коды клавиш для распространенных платформ включены там, где они доступны.</p> <div class="pull-aside"> <div class="moreinfo">Узнайте, как использовать эти пары "ключ-значение" в JavaScript с помощью <a href="/docs/Web/API/KeyboardEvent/key">KeyboardEvent.key</a></div> @@ -166,7 +166,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values </tr> <tr> <td><code>"ScrollLock"</code> [2]</td> - <td>Клавиша<kbd>Scroll Lock</kbd> Перекключает между режимами прокрутки и перемещения курсора.</td> + <td>Клавиша<kbd>Scroll Lock</kbd> Переключает между режимами прокрутки и перемещения курсора.</td> <td><code>VK_SCROLL</code> (0x91)</td> <td></td> <td><code>GDK_KEY_Scroll_Lock</code> (0xFF14)<br> @@ -1062,7 +1062,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values <h3 id="Только_японские_клавиатуры">Только японские клавиатуры</h3> -<p>Эти клавиши достуны только на японских клавиатурах.</p> +<p>Эти клавиши доступны только на японских клавиатурах.</p> <table class="standard-table"> <thead> @@ -1179,7 +1179,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values <p>[2] <code>VK_HANGUL</code> и <code>VK_KANA</code> <span class="tlid-translation translation" lang="ru"><span title="">используют один и тот же числовой код клавиши</span></span> в Windows, также как <code>VK_HANJA</code> и <code>VK_KANJI</code>.</p> -<p>[3] До Firefox 37, клавиша <kbd>Hankaku</kbd> (half-width) генерировала значание <code>"HalfWidth"</code> в Firefox. Такжк, этак клавиша генерировала значаение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11).</p> +<p>[3] До Firefox 37, клавиша <kbd>Hankaku</kbd> (half-width) генерировала значение <code>"HalfWidth"</code> в Firefox. Также, этак клавиша генерировала значение <code>"Unidentified"</code> в Internet Explorer (проверено в версиях 9 и 11).</p> <p>[4] Internet Explorer (проверено в версиях 9 и 11) возвращал <code>"Unidentified"</code> для клавиши <kbd>Zenkaku</kbd>; Firefox 36 и более ранние определяли эту клавишу как <code>"FullWidth"</code> <span class="tlid-translation translation" lang="ru"><span title="">на японских раскладках клавиатуры</span></span> и <code>"Unidentified"</code> на всех остальных <span class="tlid-translation translation" lang="ru"><span title="">раскладках клавиатуры</span></span>. Firefox 37 и выше, а также все версии Google Chrome, корректно возвращают <code>"Zenkaku"</code>.</p> @@ -3444,7 +3444,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values <p>[1] Internet Explorer, Edge, и Firefox (36 и ранее) используют <code>"SelectMedia"</code> вместо <code>"LaunchMediaPlayer"</code>. Firefox 37 и Firefox 48 используют <code>"MediaSelect"</code>. Firefox 49 <span class="tlid-translation translation" lang="ru"><span title="">был обновлен в соответствии с последней спецификацией и теперь возвращает</span></span> <code>"LaunchMediaPlayer"</code>.</p> -<p>[2] Google Chrome 57 и ранние возращают <code>"LaunchMyComputer"</code> вместо <code>"LaunchApplication1"</code>. Смотри <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612743">Chrome Bug 612743</a> для дополнительной информации.</p> +<p>[2] Google Chrome 57 и ранние возвращают <code>"LaunchMyComputer"</code> вместо <code>"LaunchApplication1"</code>. Смотри <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612743">Chrome Bug 612743</a> для дополнительной информации.</p> <p>[3] Google Chrome 57 и ранние возвращают <code>"LaunchCalculator"</code> вместо <code>"LaunchApplication2"</code>. Смотри <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=612743">Chrome Bug 612743</a> для дополнительной информации.</p> diff --git a/files/ru/web/api/keyboardevent/which/index.html b/files/ru/web/api/keyboardevent/which/index.html index d06f71133f..0b78a32ab4 100644 --- a/files/ru/web/api/keyboardevent/which/index.html +++ b/files/ru/web/api/keyboardevent/which/index.html @@ -70,7 +70,7 @@ alert("onkeydown handler: \n" <table class="standard-table"> <thead> <tr> - <th scope="col">Специфиыкация</th> + <th scope="col">Спецификация</th> <th scope="col">Статус</th> <th scope="col">Комментарий</th> </tr> diff --git a/files/ru/web/api/location/assign/index.html b/files/ru/web/api/location/assign/index.html index 38cf76051a..e1b14a6934 100644 --- a/files/ru/web/api/location/assign/index.html +++ b/files/ru/web/api/location/assign/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Location/assign <p>Метод <code><strong>Location</strong></code><strong><code>.assign()</code></strong> запускает загрузку и отображение нового документа по указанному URL.</p> -<p>Если новый URL не удовлетворяет требованиям безопасности, выбрасывается {{domxref("DOMException")}} с типом <code>SECURITY_ERROR</code>. Это случается, если домен скрипта, вызвающего метод, не совпадает с доменом страницы, изначально содержащимся в {{domxref("Location")}}.</p> +<p>Если новый URL не удовлетворяет требованиям безопасности, выбрасывается {{domxref("DOMException")}} с типом <code>SECURITY_ERROR</code>. Это случается, если домен скрипта, вызывающего метод, не совпадает с доменом страницы, изначально содержащимся в {{domxref("Location")}}.</p> <p>Если новый URL некорректен, выбрасывается {{domxref("DOMException")}} с типом <code>SYNTAX_ERROR</code>.</p> diff --git a/files/ru/web/api/mediadevices/enumeratedevices/index.html b/files/ru/web/api/mediadevices/enumeratedevices/index.html index 8672793a83..ec2861cba5 100644 --- a/files/ru/web/api/mediadevices/enumeratedevices/index.html +++ b/files/ru/web/api/mediadevices/enumeratedevices/index.html @@ -39,7 +39,7 @@ navigator.mediaDevices.enumerateDevices() }); </pre> -<p>результат перичисления в цикле:</p> +<p>результат перечисления в цикле:</p> <pre>videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8= audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM= @@ -75,7 +75,7 @@ audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0= <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('Media Capture', '#mediadevices', 'mediaDevices.enumerateDevices')}}</td> diff --git a/files/ru/web/api/mediadevices/getusermedia/index.html b/files/ru/web/api/mediadevices/getusermedia/index.html index 1d9a8fe00e..57ba6e1501 100644 --- a/files/ru/web/api/mediadevices/getusermedia/index.html +++ b/files/ru/web/api/mediadevices/getusermedia/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/MediaDevices/getUserMedia <p>Метод {{domxref("MediaDevices")}}<code><strong>.getUserMedia()</strong></code>, при выполнении, вызывает всплывающий диалог, запрашивающий разрешение пользователя на использование медиа устройства (камера, микрофон). Результат возвращает промис, содержащий поток, который состоит из треков (дорожек), содержащих требуемые медиа типы. Этот поток может включать, к примеру, видеотрек, созданный либо аппаратным средством, либо виртуальным видеоисточником, такими как камера, устройство видеозаписи, сервис обмена изображениями и т.д); аудиотрек, созданный физическим или виртуальным аудиоисточником, к примеру, микрофоном, аналого-цифровым преобразователем звуков и возможно иные типы треков.</p> -<p>Он возвращает {{jsxref("Promise")}} , который, в случае согласия пользователя, разрешается {{domxref("MediaStream")}} объектом. Если пользователь отказывает в разрешении, или медиа устройсто не доступно, тогда промис отменяется с объектами типа <code>NotAllowedError</code> или <code>NotFoundError</code> соответственно.</p> +<p>Он возвращает {{jsxref("Promise")}} , который, в случае согласия пользователя, разрешается {{domxref("MediaStream")}} объектом. Если пользователь отказывает в разрешении, или медиа устройство не доступно, тогда промис отменяется с объектами типа <code>NotAllowedError</code> или <code>NotFoundError</code> соответственно.</p> <div class="note"> <p><strong>Примечание :</strong> Возможно, что промис ни разрешиться, ни отмениться, в случае, когда пользователь не сделает выбор и запрос проигнорирует.</p> @@ -61,7 +61,7 @@ translation_of: Web/API/MediaDevices/getUserMedia <p>Если определяется значение <code>true</code> для медиатипа, результирующий поток обязательно будет иметь в себе запрошенный медиатип. Если ни один из типов не включается в запрос, вызов метода <code>getUserMedia()</code> приведет к ошибке.</p> - <p>Если полная информация о камерах и микрофонах пользователя недоступна по причинам конфеденциальности, приложение может запросить доступ только к необходимым ему функциям, используя дополнительные условия. Следующий пример запрашивает видеотрек с разрешением камеры 1280x720 пикселей:</p> + <p>Если полная информация о камерах и микрофонах пользователя недоступна по причинам конфиденциальности, приложение может запросить доступ только к необходимым ему функциям, используя дополнительные условия. Следующий пример запрашивает видеотрек с разрешением камеры 1280x720 пикселей:</p> <pre class="brush: js notranslate">{ audio: true, @@ -112,7 +112,7 @@ translation_of: Web/API/MediaDevices/getUserMedia <pre class="brush: js notranslate">{ audio: true, video: { facingMode: { exact: "environment" } } }</pre> - <p>Следующее строковое свойство - <code>deviceId</code> (идентификатор устройства). Его значение может быть получено из метода {{domxref("mediaDevices.enumerateDevices()")}}, возвращающего список, имеющихся на машине устройств, с их идентификаторами, и может быть использовано для запроса определнного устройства по идентификатору этого устройства:</p> + <p>Следующее строковое свойство - <code>deviceId</code> (идентификатор устройства). Его значение может быть получено из метода {{domxref("mediaDevices.enumerateDevices()")}}, возвращающего список, имеющихся на машине устройств, с их идентификаторами, и может быть использовано для запроса определенного устройства по идентификатору этого устройства:</p> <pre class="brush: js notranslate">{ video: { deviceId: идентификаторНужнойКамеры } }</pre> @@ -137,11 +137,11 @@ translation_of: Web/API/MediaDevices/getUserMedia <dl> <dt><code>NotAllowedError (Доступ не разрешен)</code></dt> - <dd>Возникает если, одно или несколько запрашиваемых устройств не можут быть использованы в настоящее время. Это происходит тогда, когда контекст браузера является не безопасным (страница была загружена используя протокол HTTP вместо HTTPS), а также, если пользователь не разрешил доступ текущему экземпляру браузера к устройству, пользователь отказал в доступе в текущей сессии, или пользователь отказал в доступе к медиаустройствам глобально. Для браузеров, которые поддерживают управление медиаразрешениями с помощью <a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>, такая ошибка возвращается если Feature Policy не сконфигурирована для разрешение доступа к медиаустройству или устройствам + <dd>Возникает если, одно или несколько запрашиваемых устройств не может быть использованы в настоящее время. Это происходит тогда, когда контекст браузера является не безопасным (страница была загружена используя протокол HTTP вместо HTTPS), а также, если пользователь не разрешил доступ текущему экземпляру браузера к устройству, пользователь отказал в доступе в текущей сессии, или пользователь отказал в доступе к медиаустройствам глобально. Для браузеров, которые поддерживают управление медиаразрешениями с помощью <a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>, такая ошибка возвращается если Feature Policy не сконфигурирована для разрешение доступа к медиаустройству или устройствам <div class="note"> Более старые версии спецификации использовали вместо этого SecurityError. <code>SecurityError</code> имеет новое значение.</div> </dd> <dt><code>NotFoundError (Не найдено)</code></dt> - <dd>Возникает если, типы мидиа треков, удовлетворяющие переданным значениям, не найдены.</dd> + <dd>Возникает если, типы медиа треков, удовлетворяющие переданным значениям, не найдены.</dd> <dt><code>NotReadableError (Не читается)</code></dt> <dd>Хотя пользователь и предоставил разрешение на использование соответствующих устройств, произошла аппаратная ошибка на уровне операционной системы, браузера или веб-страницы, которая препятствовала доступу к устройству..</dd> <dt><code>OverconstrainedError (за границами ограничений)</code></dt> @@ -154,23 +154,23 @@ translation_of: Web/API/MediaDevices/getUserMedia <dd>Возникает если, список ограничений пустой или все ограничения установлены в <code>false</code>. Так же это происходит, если пытаться вызвать метод <code>getUserMedia()</code> в небезопасном контексте, поскольку в нем {{domxref("navigator.mediaDevices")}} равно <code>undefined</code>.</dd> </dl> -<h2 id="Конфеденциальность_и_безопасность">Конфеденциальность и безопасность</h2> +<h2 id="Конфиденциальность_и_безопасность">Конфиденциальность и безопасность</h2> -<p>Поскольку API могут существенно затрагивать вопросы конфеденциальности, спецификация <code>getUserMedia()</code> предъявляет широкий спекрт требований защиты конфеденциальности и безопасности, которым современные браузеры обязаны следовать.</p> +<p>Поскольку API могут существенно затрагивать вопросы конфиденциальности, спецификация <code>getUserMedia()</code> предъявляет широкий спектр требований защиты конфиденциальности и безопасности, которым современные браузеры обязаны следовать.</p> -<p><code>getUserMedia()</code> - это мощная функция, которая может быть использована только в <a href="/en-US/docs/Web/Security/Secure_Contexts">безопасном контексте</a> . В небезопасном контексте, <code>navigator.mediaDevices</code> равно <code>undefined</code>, предотвращая достук к методу <code>getUserMedia()</code>. Безопасный контекст - это, если кратко, страница, загружаемая по протоколу HTTPS или <code>file:///</code> URL схеме, или страница, загружаемая из <code>localhost</code>.</p> +<p><code>getUserMedia()</code> - это мощная функция, которая может быть использована только в <a href="/en-US/docs/Web/Security/Secure_Contexts">безопасном контексте</a> . В небезопасном контексте, <code>navigator.mediaDevices</code> равно <code>undefined</code>, предотвращая доступ к методу <code>getUserMedia()</code>. Безопасный контекст - это, если кратко, страница, загружаемая по протоколу HTTPS или <code>file:///</code> URL схеме, или страница, загружаемая из <code>localhost</code>.</p> <p>В нем обязательно запрашивается пользовательское разрешение к доступу <code>audio</code> или <code>video</code> источникам. Только контекст документа верхнего уровня, проверенного источника может запросить доступ, используя метод <code>getUserMedia()</code>. Если контексту верхнего уровня явно не дается разрешение для данного {{HTMLElement("iframe")}} используя <a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>, пользователю никогда не будет предложено выдать разрешение на использование устройств, пока пользователь самостоятельно не отменит запрет в настройках браузера.</p> -<p>Дополнительные подробности на тему требований и правил, и как они отражены в контексте выпоняемого кода, о том, как браузеры управляют вопросами конфеденциальности и безопасности читайте далее.</p> +<p>Дополнительные подробности на тему требований и правил, и как они отражены в контексте выполняемого кода, о том, как браузеры управляют вопросами конфиденциальности и безопасности читайте далее.</p> -<h3 id="Конфеденциальность_пользователя">Конфеденциальность пользователя</h3> +<h3 id="Конфиденциальность_пользователя">Конфиденциальность пользователя</h3> -<p>Поскольку, програмный интерфейс затрагивает вопросы конфеденциальности и безопасности, в спецификации, для метода <code>getUserMedia()</code> содержатся особенные требования для управления уведомлениями и разрешениями пользователя. Сначала метод <code>getUserMedia()</code> должен всегда запрашивать пользовательское разрешение до начала сбора данных потоков камеры и микрофона. Браузер может использовать функциональность одного разрешения на домен, но в первый раз браузер обязательно должен получить разрешение пользователя. </p> +<p>Поскольку, программный интерфейс затрагивает вопросы конфиденциальности и безопасности, в спецификации, для метода <code>getUserMedia()</code> содержатся особенные требования для управления уведомлениями и разрешениями пользователя. Сначала метод <code>getUserMedia()</code> должен всегда запрашивать пользовательское разрешение до начала сбора данных потоков камеры и микрофона. Браузер может использовать функциональность одного разрешения на домен, но в первый раз браузер обязательно должен получить разрешение пользователя. </p> -<p>Не менее важны правила уведомления. Браузеры обязательно отображают индикатор, который указывает на использование камеры или микрофона, выше или сверху любого, уже имеющегося индикатора аппартного средства (если присутствует). Они также должны отображать индикатор того, что разрешение уже выдано для использования устройств, даже, если устройства не используются в настоящий момент.</p> +<p>Не менее важны правила уведомления. Браузеры обязательно отображают индикатор, который указывает на использование камеры или микрофона, выше или сверху любого, уже имеющегося индикатора аппаратного средства (если присутствует). Они также должны отображать индикатор того, что разрешение уже выдано для использования устройств, даже, если устройства не используются в настоящий момент.</p> -<p>К примеру, в Firefox,<strong> </strong>в панели адреса отображается красная пульсирующая иконка, указывающая на использование аппаратного средства. Серая иконка указывает на выданное разрешение, но не использование аппаратного средства в данный момент. Физический (явный) свет устройства указывает на текущее использование (активизацию) аппаратного средства. Если отключить камеру програмно, свет активности камеры отключится, указывая на то, что она запись не производит, без отмены разрешение на использования, и включиться после запуска камеры в работу.</p> +<p>К примеру, в Firefox,<strong> </strong>в панели адреса отображается красная пульсирующая иконка, указывающая на использование аппаратного средства. Серая иконка указывает на выданное разрешение, но не использование аппаратного средства в данный момент. Физический (явный) свет устройства указывает на текущее использование (активизацию) аппаратного средства. Если отключить камеру программно, свет активности камеры отключится, указывая на то, что она запись не производит, без отмены разрешение на использования, и включиться после запуска камеры в работу.</p> <h3 id="Безопасность">Безопасность</h3> @@ -180,21 +180,21 @@ translation_of: Web/API/MediaDevices/getUserMedia <p><strong> Примечание :</strong> Модель безопасности для метода <code>getUserMedia()</code> находиться в процессе разработки. Первоначально спроектированный механизм безопасности находиться в процессе замещения Feature Policy, поэтому различные браузеры имеют разный уровень поддержки безопасности, используют различные механизмы. Вам необходимо осторожно тестировать свой код на различных устройствах и браузерах, чтобы удостовериться в его уверенной работоспособности.</p> </div> -<h4 id="Feature_Policy_Функцианальная_политика">Feature Policy (Функцианальная политика)</h4> +<h4 id="Feature_Policy_Функциональная_политика">Feature Policy (Функциональная политика)</h4> <p>Функция управление безопасностью (<a href="/en-US/docs/Web/HTTP/Feature_Policy">Feature Policy</a>) протокола {{Glossary("HTTP")}} находиться в процессе введения в браузеры, с поддержкой, доступной в различной степени во многих браузерах (но не всегда включенной в настройках по умолчанию, как в Firefox). Метод <code>getUserMedia()</code> - один из методов, требующий использования функциональной политики и вашему коду нужно быть готовым к работе с ним. К примеру, чтобы метод был доступен в документах не высокого уровня, разработчику нужно использовать либо атрибут {{htmlattrxref("allow", "iframe")}} на элементе {{HTMLElement("iframe")}} , который использует <code>getUserMedia()</code>, либо {{HTTPHeader("Feature-Policy")}} заголовок для страниц , передающихся с сервера, которые используют <code>getUserMedia()</code>.</p> <p>Два разрешения, которые обращаются к <code>getUserMedia()</code> - <code>camera</code> и <code>microphone</code>.</p> -<p>К примеру, строка HTTP заголовка позволит использовать камеру документу и любым встроенныем {{HTMLElement("iframe")}} элементам, которые загружаются из одного источника:</p> +<p>К примеру, строка HTTP заголовка позволит использовать камеру документу и любым встроенные {{HTMLElement("iframe")}} элементам, которые загружаются из одного источника:</p> <pre class="notranslate">Feature-Policy: camera 'self'</pre> -<p>Строка ниже, запрашивает доступ к микрофону для текушего источника и указанном в заголовке источнике <code>https://developer.mozilla.org</code>:</p> +<p>Строка ниже, запрашивает доступ к микрофону для текущего источника и указанном в заголовке источнике <code>https://developer.mozilla.org</code>:</p> <pre class="notranslate">Feature-Policy: microphone 'self' https://developer.mozilla.org</pre> -<p>Если используется <code>getUserMedia()</code> внутри элемента <code><iframe></code>, можно запросить разрешение только для этого фрейма, которое явно более безопасее, чем запрашивать более общее разрешение. Здесь нам нужно использовать и камеру и микрофон:</p> +<p>Если используется <code>getUserMedia()</code> внутри элемента <code><iframe></code>, можно запросить разрешение только для этого фрейма, которое явно более безопаснее, чем запрашивать более общее разрешение. Здесь нам нужно использовать и камеру и микрофон:</p> <pre class="brush: html notranslate"><iframe src="https://mycode.example.net/etc" allow="camera;microphone"> </iframe></pre> @@ -207,7 +207,7 @@ translation_of: Web/API/MediaDevices/getUserMedia <h4 id="Безопасность_источника_документа">Безопасность источника документа</h4> -<p>Существуют несколько небезопасных способа загрузить документ, который может попытыться вызвать метод <code>getUserMedia()</code>. Ниже представлены примеры ситуаций, в которых <code>getUserMedia()</code> не разрешается вызывать:</p> +<p>Существуют несколько небезопасных способа загрузить документ, который может попытаться вызвать метод <code>getUserMedia()</code>. Ниже представлены примеры ситуаций, в которых <code>getUserMedia()</code> не разрешается вызывать:</p> <ul> <li>Документ, загруженный в песочницу {{HTMLElement("iframe")}} элемента не может вызвать <code>getUserMedia()</code>, до тех пор пока, на элементе <code><iframe></code> находиться атрибут {{htmlattrxref("sandbox", "iframe")}}, установленный в значение <code>allow-same-origin</code>.</li> @@ -330,7 +330,7 @@ var constraints = { video: { facingMode: (front? "user" : "environment") } }; <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой страницы сгенерирована из структуры данных. Если вы хотите внести свой вклад в данные, пожалуйста, перейдите на <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправте нам запрос.</div> +<div class="hidden">Таблица совместимости на этой страницы сгенерирована из структуры данных. Если вы хотите внести свой вклад в данные, пожалуйста, перейдите на <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</div> <p>{{Compat("api.MediaDevices.getUserMedia")}}</p> diff --git a/files/ru/web/api/mediadevices/index.html b/files/ru/web/api/mediadevices/index.html index 3708d64823..18b3ea99da 100644 --- a/files/ru/web/api/mediadevices/index.html +++ b/files/ru/web/api/mediadevices/index.html @@ -27,7 +27,7 @@ translation_of: Web/API/MediaDevices <dl> <dt>{{ domxref("MediaDevices.ondevicechange") }}</dt> - <dd>Это обработчик события {{event("devicechange")}}. Это событие доставляется в объек <code>MediaDevices</code> когда медиа-устройство ввода или вывода подключается или отключается на компьютере пользователя.</dd> + <dd>Это обработчик события {{event("devicechange")}}. Это событие доставляется в объект <code>MediaDevices</code> когда медиа-устройство ввода или вывода подключается или отключается на компьютере пользователя.</dd> </dl> <h2 id="Методы">Методы</h2> diff --git a/files/ru/web/api/mediarecorder/index.html b/files/ru/web/api/mediarecorder/index.html index 4957359f56..1f0332b9b6 100644 --- a/files/ru/web/api/mediarecorder/index.html +++ b/files/ru/web/api/mediarecorder/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/MediaRecorder <dt>{{domxref("MediaRecorder.stream")}} {{readonlyInline}}</dt> <dd>Возвращает поток который был передан конструктору при создании объекта <code>MediaRecorder</code></dd> <dt>{{domxref("MediaRecorder.ignoreMutedMedia")}}</dt> - <dd>Показывает записывает ли <code>MediaRecorder </code>дорожку {{domxref("MediaStreamTrack")}} если она отключена. Если аттрибут равен<code> false, </code><code>MediaRecorder</code> будет записывать тишину для аудио и черные кадры для видео. По умолчанию равно <code>false</code></dd> + <dd>Показывает записывает ли <code>MediaRecorder </code>дорожку {{domxref("MediaStreamTrack")}} если она отключена. Если атрибут равен<code> false, </code><code>MediaRecorder</code> будет записывать тишину для аудио и черные кадры для видео. По умолчанию равно <code>false</code></dd> <dt>{{domxref("MediaRecorder.videoBitsPerSecond")}} {{readonlyInline}}</dt> <dd>Возвращает скорость кодирования видео. Она может отличаться от скорости, определенной в конструкторе (если была предоставлена).</dd> <dt>{{domxref("MediaRecorder.audioBitsPerSecond;")}} {{readonlyInline}}</dt> @@ -58,7 +58,7 @@ translation_of: Web/API/MediaRecorder <dt>{{domxref("MediaRecorder.onpause")}}</dt> <dd>{{domxref("EventHandler")}} вызывается для обработки события {{event("pause")}}, случившегося во время приостановки медиа.</dd> <dt>{{domxref("MediaRecorder.onresume")}}</dt> - <dd>{{domxref("EventHandler")}} вызывается для обработки события {{event("resume")}}, случившегося во время возбновления записи.</dd> + <dd>{{domxref("EventHandler")}} вызывается для обработки события {{event("resume")}}, случившегося во время возобновления записи.</dd> <dt>{{domxref("MediaRecorder.onstart")}}</dt> <dd>{{domxref("EventHandler")}}вызывается для обработки события {{event("start")}}, случившегося во время начала записи.</dd> <dt>{{domxref("MediaRecorder.onstop")}}</dt> @@ -169,7 +169,7 @@ if (navigator.getUserMedia) { </tbody> </table> -<h2 id="Совместимоть_с_браузерами">Совместимоть с браузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> diff --git a/files/ru/web/api/mediarecorder/mediarecorder/index.html b/files/ru/web/api/mediarecorder/mediarecorder/index.html index eaae4075bc..2f5217eda5 100644 --- a/files/ru/web/api/mediarecorder/mediarecorder/index.html +++ b/files/ru/web/api/mediarecorder/mediarecorder/index.html @@ -23,7 +23,7 @@ translation_of: Web/API/MediaRecorder/MediaRecorder <p>Объект, содержащий следующие свойства:</p> <ul> - <li><code>mimeType</code>: <code>mime</code> тип, определяет формат результата записи, который нужно использовать в качестве контейнера для создаваемого объекта <code>MediaRecorder</code>. Можно просто указать формат контейнера, а браузер сам выберет нужный кодек для записи аудио/видео, или испоьзуйте <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter">параметр codecs</a> или параметр<code> profiles</code> для расширения информации об использовании и тонкой конфигурации кодеков. Приложения, предварительно, могут проверять поддержку браузерами определенного типа из свойства <code>mimeType</code> , вызывая метод {{domxref("MediaRecorder.isTypeSupported()")}}.</li> + <li><code>mimeType</code>: <code>mime</code> тип, определяет формат результата записи, который нужно использовать в качестве контейнера для создаваемого объекта <code>MediaRecorder</code>. Можно просто указать формат контейнера, а браузер сам выберет нужный кодек для записи аудио/видео, или используйте <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter">параметр codecs</a> или параметр<code> profiles</code> для расширения информации об использовании и тонкой конфигурации кодеков. Приложения, предварительно, могут проверять поддержку браузерами определенного типа из свойства <code>mimeType</code> , вызывая метод {{domxref("MediaRecorder.isTypeSupported()")}}.</li> <li><code>audioBitsPerSecond</code>: Скорость записи медиа данных аудио.</li> <li><code>videoBitsPerSecond</code>: Скорость записи медиа данных видео.</li> <li><code>bitsPerSecond</code>: Скорость записи медиаданных аудио и видео. Может определяться вместо верхних двух. Если определяется вместе с одним из свойств выше, имеет меньший приоритет, и используется вместо отсутствующей настройки выше..</li> diff --git a/files/ru/web/api/mediarecorder/ondataavailable/index.html b/files/ru/web/api/mediarecorder/ondataavailable/index.html index e84e622f74..25d0607f41 100644 --- a/files/ru/web/api/mediarecorder/ondataavailable/index.html +++ b/files/ru/web/api/mediarecorder/ondataavailable/index.html @@ -11,9 +11,9 @@ translation_of: Web/API/MediaRecorder/ondataavailable <ul> <li>Когда медиа поток завершается, любые мультимедийные данные ещё не доставленные в обработчик <code>ondataavailable</code> немедленно передаются в объект {{domxref("Blob")}}.</li> - <li>При вызове метода {{domxref("MediaRecorder.stop()")}} , порция медиаданных, объем которых был захвачен с момента начала записи или после последнего вызова события <code>dataavailable</code> помещаються в объект {{domxref("Blob")}}; после этого захват завершается.</li> + <li>При вызове метода {{domxref("MediaRecorder.stop()")}} , порция медиаданных, объем которых был захвачен с момента начала записи или после последнего вызова события <code>dataavailable</code> помещаются в объект {{domxref("Blob")}}; после этого захват завершается.</li> <li>При вызове метода {{domxref("MediaRecorder.requestData()")}} порция медиаданных, объем которых был захвачен с момента начала записи, или после последнего вызова события <code>dataavailable</code> помещаются в вновь созданный объект типа <code>Blob</code> , и захват порций медиаданных продолжается уже в этот новый объект <code>blob</code>.</li> - <li>Если свойство <code>timeslice</code> передается в метод {{domxref("MediaRecorder.start()")}}, который запускает захват порций медиаданных, событие <code>dataavailable</code> запускается каждые <code>timeslice</code> миллисекунд. Это значит, что каждый объект типа <code>blob</code> будет иметь специфичиский размер (за исключением последнего, который может быть короче, содержащий все, что осталось с момента последнего события ). Поэтому, если метод выглядит так : <code>recorder.start(1000);</code> то событие <code>dataavailable</code> будет запускаться каждую секунду общего потока медиа захвата, и обработчик события будет вызываться каждую секунду, содержащий в параметре объект типа <code>blob</code> , который будет содержать объем порции записи медиаданных продолжительностью в одну секунду. Можно использовать свойство <code>timeslice</code> вместе с {{domxref("MediaRecorder.stop()")}} и {{domxref("MediaRecorder.requestData()")}} для создания нескольких объектов типа<code> blob</code> одинакового объема данных , плюс последние короткие объекты типа<code> blob.</code></li> + <li>Если свойство <code>timeslice</code> передается в метод {{domxref("MediaRecorder.start()")}}, который запускает захват порций медиаданных, событие <code>dataavailable</code> запускается каждые <code>timeslice</code> миллисекунд. Это значит, что каждый объект типа <code>blob</code> будет иметь специфический размер (за исключением последнего, который может быть короче, содержащий все, что осталось с момента последнего события ). Поэтому, если метод выглядит так : <code>recorder.start(1000);</code> то событие <code>dataavailable</code> будет запускаться каждую секунду общего потока медиа захвата, и обработчик события будет вызываться каждую секунду, содержащий в параметре объект типа <code>blob</code> , который будет содержать объем порции записи медиаданных продолжительностью в одну секунду. Можно использовать свойство <code>timeslice</code> вместе с {{domxref("MediaRecorder.stop()")}} и {{domxref("MediaRecorder.requestData()")}} для создания нескольких объектов типа<code> blob</code> одинакового объема данных , плюс последние короткие объекты типа<code> blob.</code></li> </ul> <div class="note"> diff --git a/files/ru/web/api/mediarecorder/requestdata/index.html b/files/ru/web/api/mediarecorder/requestdata/index.html index 07fb15a876..9b07ed480d 100644 --- a/files/ru/web/api/mediarecorder/requestdata/index.html +++ b/files/ru/web/api/mediarecorder/requestdata/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/MediaRecorder/requestData --- <p>{{APIRef("MediaStream Recording")}}</p> -<p><span class="seoSummary">Метод <strong><code>MediaRecorder.requestData()</code></strong> (часть <a href="/en-US/docs/Web/API/MediaRecorder_API">MediaRecorder API</a>) используется, чтобы поднять {{domxref("dataavailable")}} событие содержащее {{domxref("Blob")}} объект захваченных медиа-данных как это было когда метод был вызван.</span> This can then be grabbed и маниулировать как необходимо.</p> +<p><span class="seoSummary">Метод <strong><code>MediaRecorder.requestData()</code></strong> (часть <a href="/en-US/docs/Web/API/MediaRecorder_API">MediaRecorder API</a>) используется, чтобы поднять {{domxref("dataavailable")}} событие содержащее {{domxref("Blob")}} объект захваченных медиа-данных как это было когда метод был вызван.</span> This can then be grabbed и манипулировать как необходимо.</p> <p>When the <code>requestData()</code> method is invoked, the browser queues a task that runs the following steps:</p> diff --git a/files/ru/web/api/mediarecorder/state/index.html b/files/ru/web/api/mediarecorder/state/index.html index b153d0d1ae..746f433df1 100644 --- a/files/ru/web/api/mediarecorder/state/index.html +++ b/files/ru/web/api/mediarecorder/state/index.html @@ -78,7 +78,7 @@ translation_of: Web/API/MediaRecorder/state <ul> <li><a href="/ru/docs/Web/API/MediaRecorder_API/Using_the_MediaRecorder_API">Использование MediaRecorder API</a></li> - <li><a href="http://mdn.github.io/web-dictaphone/">Веб-диктафон</a>: MediaRecorder + getUserMedia + Web Audio API от <a href="https://twitter.com/chrisdavidmills">Chris Mills</a> (<a href="https://github.com/mdn/web-dictaphone/">исходники на Github</a>.)</li> + <li><a href="http://mdn.github.io/web-dictaphone/">Веб-диктофон</a>: MediaRecorder + getUserMedia + Web Audio API от <a href="https://twitter.com/chrisdavidmills">Chris Mills</a> (<a href="https://github.com/mdn/web-dictaphone/">исходники на Github</a>.)</li> <li><a href="http://simpl.info/mediarecorder/">simpl.info Демонстрация MediaStream Recording</a> от <a href="https://twitter.com/sw12">Sam Dutton</a>.</li> <li>{{domxref("Navigator.getUserMedia")}}</li> </ul> diff --git a/files/ru/web/api/mediastream/index.html b/files/ru/web/api/mediastream/index.html index 1ad0887194..b16bdd5ada 100644 --- a/files/ru/web/api/mediastream/index.html +++ b/files/ru/web/api/mediastream/index.html @@ -75,7 +75,7 @@ translation_of: Web/API/MediaStream <dt>{{domxref("MediaStream.getTrackById()")}}</dt> <dd>Возвращает трек с <code style="font-size: 14px;">trackid</code> соответствующем данному. Если в метод не передано аргументов или трека с данным ID нет, возвращает <code>null</code>. Если несколько треков имеют одинаковый ID, возвращает первый из них.</dd> <dt>{{domxref("MediaStream.getTracks()")}}</dt> - <dd>Возвращает список всех объектов {{domxref("MediaStreamTrack")}}, сохранённых в объекте <code>MediaStream</code>, вне зависимости от значения их свойства <code>kind</code>. Порядок не определён и может меняться между брауерами, а также между вызовами.</dd> + <dd>Возвращает список всех объектов {{domxref("MediaStreamTrack")}}, сохранённых в объекте <code>MediaStream</code>, вне зависимости от значения их свойства <code>kind</code>. Порядок не определён и может меняться между браузерами, а также между вызовами.</dd> </dl> <dl> diff --git a/files/ru/web/api/mediastream_recording_api/index.html b/files/ru/web/api/mediastream_recording_api/index.html index deafe13eed..7907634ec2 100644 --- a/files/ru/web/api/mediastream_recording_api/index.html +++ b/files/ru/web/api/mediastream_recording_api/index.html @@ -14,14 +14,14 @@ translation_of: Web/API/MediaStream_Recording_API <ol> <li>Установите {{domxref("MediaStream")}} или {{domxref("HTMLMediaElement")}} (в виде {{HTMLElement("audio")}} или {{HTMLElement("video")}} элемента), чтобы тот служил в качестве источника медиа-данных.</li> <li>Установите {{domxref("MediaRecorder.ondataavailable")}} обработчик событий для {{event("dataavailable")}} событий; он будет вызываться каждый раз, как данные будут доступны.</li> - <li>Создайте {{domxref("MediaRecorder")}} объект, указав исходный поток и любые опции по желанию (такие как MIME-тип контейнера или желаемый битрей его треков).</li> + <li>Создайте {{domxref("MediaRecorder")}} объект, указав исходный поток и любые опции по желанию (такие как MIME-тип контейнера или желаемый битрейт его треков).</li> <li>Как только исходная медиа запустится и будет достигнута точка, где вы будете готовы записать видео, вызовите {{domxref("MediaRecorder.start()")}} для начала записи.</li> - <li>Ваш {{event("dataavailable")}} обработчик будет вызываться каждый раз, как появлятся данные, готовые для выполнения вами над ними ожидаемых операций; событие имеет дата-атрибут, чье занчение {{domxref("Blob")}}, который содержит медиа-данные. Вы можете принудительно вызвать <code>dataavailable</code> событи, доставляя тем самым последние данные, чтобы вы могли отфильтровать их, сохранить и тд.</li> + <li>Ваш {{event("dataavailable")}} обработчик будет вызываться каждый раз, как появляются данные, готовые для выполнения вами над ними ожидаемых операций; событие имеет дата-атрибут, чье значение {{domxref("Blob")}}, который содержит медиа-данные. Вы можете принудительно вызвать <code>dataavailable</code> событие, доставляя тем самым последние данные, чтобы вы могли отфильтровать их, сохранить и тд.</li> <li>Запись останавливается автоматически, когда исходное медиа закончит проигрываться.</li> - <li>Вы можетет остановить запись в любое время, вызвав {{domxref("MediaRecorder.stop()")}}.</li> + <li>Вы можете остановить запись в любое время, вызвав {{domxref("MediaRecorder.stop()")}}.</li> </ol> -<p>Вы можете так же использовать свойства MediaRecorder объекта для опредления состояния процесса записи и его {{domxref("MediaRecorder.pause", "pause()")}} и {{domxref("MediaRecorder.resume", "resume()")}} методы, чтобы остановить и возобновить запись исходной медиа.</p> +<p>Вы можете так же использовать свойства MediaRecorder объекта для определения состояния процесса записи и его {{domxref("MediaRecorder.pause", "pause()")}} и {{domxref("MediaRecorder.resume", "resume()")}} методы, чтобы остановить и возобновить запись исходной медиа.</p> <p>Если вам нужно или вы хотите проверить, поддерживается ли определенный MIME-тип, это так же возможно. Просто вызовите {{domxref("MediaRecorder.isMimeTypeSupported()")}}.</p> diff --git a/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html b/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html index 7d3daa1d33..0ba9e31501 100644 --- a/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html +++ b/files/ru/web/api/mediastream_recording_api/recording_a_media_element/index.html @@ -31,7 +31,7 @@ translation_of: Web/API/MediaStream_Recording_API/Recording_a_media_element </div> </pre> -<p>Основной интерфейс представляется в двух колонках. В левой находиться кнопка старта и элемент {{HTMLElement("video")}} , который отображает предварительный просмотр видео. Это видео, воспроизводится камерой устройства. Заметте, что используется атрибут {{htmlattrxref("autoplay", "video")}}, что бы поток начал воспроизводиться немедленно, снимаясь прямо с камеры. Атрибут {{htmlattrxref("muted", "video")}} гарантирует отключение звука с микрофона, для предотвращения цикличного эхо эффекта.</p> +<p>Основной интерфейс представляется в двух колонках. В левой находиться кнопка старта и элемент {{HTMLElement("video")}} , который отображает предварительный просмотр видео. Это видео, воспроизводится камерой устройства. Заметьте, что используется атрибут {{htmlattrxref("autoplay", "video")}}, что бы поток начал воспроизводиться немедленно, снимаясь прямо с камеры. Атрибут {{htmlattrxref("muted", "video")}} гарантирует отключение звука с микрофона, для предотвращения цикличного эхо эффекта.</p> <pre class="brush: html"><div class="right"> <div id="stopButton" class="button"> diff --git a/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html b/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html index a054df7b8f..fb0c2b27b2 100644 --- a/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html +++ b/files/ru/web/api/mediastream_recording_api/using_the_mediastream_recording_api/index.html @@ -6,10 +6,10 @@ translation_of: Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recordin <p>{{DefaultAPISidebar("MediaStream Recording")}}</p> <div class="summary"> -<p><span class="seoSummary">Интерфейс <a href="/en-US/docs/Web/API/MediaStream_Recording_API">MediaStream Recording</a> позволяет записывать аудио и видео потоки. При использовании с методом {{domxref("MediaDevices.getUserMedia()","navigator.mediaDevices.getUserMedia()")}}, предлагает простой способ записи данных с устройств пользователя, и немедленное их использование в веб приложениях.И аудио и видео могут быть записаны вместе или по отдельности.Цель данной статьи - предоставить базовое руководство о том как использовать объект</span><code> MediaRecorder</code>, реализующий такой програмный интерфей.</p> +<p><span class="seoSummary">Интерфейс <a href="/en-US/docs/Web/API/MediaStream_Recording_API">MediaStream Recording</a> позволяет записывать аудио и видео потоки. При использовании с методом {{domxref("MediaDevices.getUserMedia()","navigator.mediaDevices.getUserMedia()")}}, предлагает простой способ записи данных с устройств пользователя, и немедленное их использование в веб приложениях.И аудио и видео могут быть записаны вместе или по отдельности.Цель данной статьи - предоставить базовое руководство о том как использовать объект</span><code> MediaRecorder</code>, реализующий такой программный интерфейс.</p> </div> -<h2 id="Пример_приложени_Веб_диктофон">Пример приложени: Веб диктофон</h2> +<h2 id="Пример_приложения_Веб_диктофон">Пример приложения: Веб диктофон</h2> <p><img alt="An image of the Web dictaphone sample app - a sine wave sound visualization, then record and stop buttons, then an audio jukebox of recorded tracks that can be played back." src="https://mdn.mozillademos.org/files/7885/web-dictaphone.png" style="display: block; margin: 0px auto;"></p> @@ -23,9 +23,9 @@ translation_of: Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recordin <h3 id="Сохраняйте_интерфейс_ограниченным_областью_просмотра_независимо_от_высоты_устройства_с_функцией_calc">Сохраняйте интерфейс ограниченным областью просмотра, независимо от высоты устройства, с функцией calc()</h3> -<p>Функция {{cssxref("calc")}} одна из полезных утилит возникших в CSS, которая не выглядет чем-то выдающимся, но в скоре заставит вас думать о том, почему вы не использовали её раньше?; и почему CSS2 макет такой неуклюжий? Она позволяет выполнять вычисления для определения значений из различных CSS единиц измерений, смешивая их в процессе вычисления.</p> +<p>Функция {{cssxref("calc")}} одна из полезных утилит возникших в CSS, которая не выглядеть чем-то выдающимся, но вскоре заставит вас думать о том, почему вы не использовали её раньше?; и почему CSS2 макет такой неуклюжий? Она позволяет выполнять вычисления для определения значений из различных CSS единиц измерений, смешивая их в процессе вычисления.</p> -<p>К примеру, в приложении веб диктафона мы создали три области интерфейса, расположенные вертикально. Первые две имеют фиксированную высоту (заголовок и элементы управления):</p> +<p>К примеру, в приложении веб диктофона мы создали три области интерфейса, расположенные вертикально. Первые две имеют фиксированную высоту (заголовок и элементы управления):</p> <pre class="brush: css">header { height: 70px; @@ -51,7 +51,7 @@ translation_of: Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recordin <h3 id="Хак_чекбокса_для_отображениескрытия">Хак чекбокса для отображение/скрытия</h3> -<p>Он уже хорошо документирован, но думаем его можно упоминуть, заключающийся в том, что можно кликнуть на элемент {{htmlelement("label")}} , содержащий элемент чекбокса для переключения самого чекбока. В нашем приложении веб диктафона он управляет отображением блока информации о приложении, при нажатии на иконку знака вопроса в правом верхнем углу. Сначала мы стилизуем элемент <code><label></code> , тем, что мы хотим, убеждаясь в том, что он имеет достаточно высокий <code>z-index</code> , всегда находящийся выше других элементов :</p> +<p>Он уже хорошо документирован, но думаем его можно упомянуть, заключающийся в том, что можно кликнуть на элемент {{htmlelement("label")}} , содержащий элемент чекбокса для переключения самого чекбокса. В нашем приложении веб диктофона он управляет отображением блока информации о приложении, при нажатии на иконку знака вопроса в правом верхнем углу. Сначала мы стилизуем элемент <code><label></code> , тем, что мы хотим, убеждаясь в том, что он имеет достаточно высокий <code>z-index</code> , всегда находящийся выше других элементов :</p> <pre class="brush: css">label { font-family: 'NotoColorEmoji'; @@ -93,7 +93,7 @@ translation_of: Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recordin <h2 id="Основные_настройки_приложения">Основные настройки приложения</h2> -<p>Для получения мелиапотока, который нужно захватить используется метод <code>getUserMedia()</code>. Затем используется интерфейс <code>MediaRecorder</code>, для записи потока и вывода каждого отрывка записи в атрибут элемента {{htmlelement("audio")}} для воспроизведения.</p> +<p>Для получения медиапотока, который нужно захватить используется метод <code>getUserMedia()</code>. Затем используется интерфейс <code>MediaRecorder</code>, для записи потока и вывода каждого отрывка записи в атрибут элемента {{htmlelement("audio")}} для воспроизведения.</p> <p>Объявим некоторые переменные для кнопок начала записи и остановки, а так же элемент {{htmlelement("article")}} , который будет содержать аудио плееры:</p> @@ -254,10 +254,10 @@ mediaRecorder.ondataavailable = function(e) { <p>{{Compat("api.MediaRecorder")}}</p> -<h2 id="Смтотри_так_же">Смтотри так же</h2> +<h2 id="Смотри_так_же">Смотри так же</h2> <ul> <li>Страница <a href="/en-US/docs/Web/API/MediaRecorder_API">MediaRecorder API</a> </li> <li><code>{{domxref("Navigator.getUserMedia()")}}</code></li> - <li>Интерфейс <a href="https://addpipe.com/blog/media-recorder-api-is-now-supported-by-65-of-all-desktop-internet-users/">MediaRecorder теперь поддерживают 65% вебсайтов</a></li> + <li>Интерфейс <a href="https://addpipe.com/blog/media-recorder-api-is-now-supported-by-65-of-all-desktop-internet-users/">MediaRecorder теперь поддерживают 65% веб-сайтов</a></li> </ul> diff --git a/files/ru/web/api/mediastreamtrack/index.html b/files/ru/web/api/mediastreamtrack/index.html index c4cde3ab2a..5a2bbeed09 100644 --- a/files/ru/web/api/mediastreamtrack/index.html +++ b/files/ru/web/api/mediastreamtrack/index.html @@ -15,21 +15,21 @@ translation_of: Web/API/MediaStreamTrack --- <div>{{APIRef("Media Capture and Streams")}}</div> -<p><span class="seoSummary">Интерфейс <strong><code>MediaStreamTrack</code></strong><strong> </strong>представляет один медиа трек в потоке; обычно это адуио или видео трек, но могут использоваться и другие типы.</span></p> +<p><span class="seoSummary">Интерфейс <strong><code>MediaStreamTrack</code></strong><strong> </strong>представляет один медиа трек в потоке; обычно это аудио или видео трек, но могут использоваться и другие типы.</span></p> <h2 id="Свойства">Свойства</h2> -<p>В дополнение к свойствам, перечисленным ниже, <code>MediaStreamTrack</code> имеет свойства с ограничениями, которые можноустановить с помощью {{domxref("MediaStreamTrack.applyConstraints", "applyConstraints()")}} и просмотреть с через {{domxref("MediaStreamTrack.getConstraints", "getConstraints()")}} и {{domxref("MediaStreamTrack.getSettings", "getSettings()")}}. Смотрите <a href="/en-US/docs/Web/API/Media_Streams_API/Constraints">capabilities, constraints, and settings</a>, чтобы узнать, как правильно работать со свойствами с ограничениями. Если использовать их неправильно, ваш код будет ненадёжным.</p> +<p>В дополнение к свойствам, перечисленным ниже, <code>MediaStreamTrack</code> имеет свойства с ограничениями, которые можно установить с помощью {{domxref("MediaStreamTrack.applyConstraints", "applyConstraints()")}} и просмотреть с через {{domxref("MediaStreamTrack.getConstraints", "getConstraints()")}} и {{domxref("MediaStreamTrack.getSettings", "getSettings()")}}. Смотрите <a href="/en-US/docs/Web/API/Media_Streams_API/Constraints">capabilities, constraints, and settings</a>, чтобы узнать, как правильно работать со свойствами с ограничениями. Если использовать их неправильно, ваш код будет ненадёжным.</p> <dl> <dt>{{domxref("MediaStreamTrack.contentHint")}}</dt> <dd>Строка, которую веб приложение может использовать для создания подсказок, какой тип данных содержит трек, чтобы их могли различать пользователи API.</dd> <dt>{{domxref("MediaStreamTrack.enabled")}}</dt> - <dd>Имеет значение <code>true</code>, если трек включён, то ечть может может отображать поток медиа; или <code>false</code>, если он выключен, то есть отображает не поток данных, а чёрное изображение без звука. Если трек отключён, это свойство можно менять, но это не будет давать никакого эффекта. + <dd>Имеет значение <code>true</code>, если трек включён, то есть может может отображать поток медиа; или <code>false</code>, если он выключен, то есть отображает не поток данных, а чёрное изображение без звука. Если трек отключён, это свойство можно менять, но это не будет давать никакого эффекта. <div class="note"><strong>Обратите внимание:</strong> Вы можете создать стандартную функцию "заглушить звук", устанавливая свойство <code>enabled</code> в значение <code>false</code>. Свойство <code>muted</code> используется, когда данные отсутствуют из-за технической проблемы.</div> </dd> <dt>{{domxref("MediaStreamTrack.id")}} {{readonlyInline}}</dt> - <dd>Возвразает объект {{domxref("DOMString")}}, содержащий уникальный идентификатор (GUID) трека; генерируется браузером.</dd> + <dd>Возвращает объект {{domxref("DOMString")}}, содержащий уникальный идентификатор (GUID) трека; генерируется браузером.</dd> <dt>{{domxref("MediaStreamTrack.isolated")}} {{readonlyInline}}</dt> <dd>Возвращает <code>true</code>, если трек <strong>изолирован</strong>, то есть не доступен документу, которому принадлежит. Это случается, когда устанавливается свойство {{domxref("MediaStreamTrack.peerIdentity", "peerIdentity")}} или трек исходит от cross-origin ресурса.</dd> <dt>{{domxref("MediaStreamTrack.kind")}} {{readonlyInline}}</dt> @@ -65,7 +65,7 @@ translation_of: Web/API/MediaStreamTrack <dt>{{domxref("MediaStreamTrack.getConstraints()")}}</dt> <dd>Возвращает объект {{domxref('MediaTrackConstraints')}}, содержащий установленные ограничения на трек; возвращаемое значение удовлетворяет ограничениям, установленным методом {{domxref("MediaStreamTrack.applyConstraints", "applyConstraints()")}}.</dd> <dt>{{domxref("MediaStreamTrack.getSettings()")}}</dt> - <dd>Возвращает объект {{domxref("MediaTrackSettings")}}, содержащий тукщее значение всех свойств с ограничениями объекта <code>MediaStreamTrack</code>.</dd> + <dd>Возвращает объект {{domxref("MediaTrackSettings")}}, содержащий текущее значение всех свойств с ограничениями объекта <code>MediaStreamTrack</code>.</dd> <dt>{{domxref("MediaStreamTrack.stop()")}}</dt> <dd>Останавливает проигрывание источника, к которому привязан трек. И источник, и трек отвязываются. Состояние трека устанавливается в значение <code>ended</code>.</dd> </dl> @@ -77,7 +77,7 @@ translation_of: Web/API/MediaStreamTrack <dd>Вызывается, когда проигрывание трека останавливается (когда значение {{domxref("MediaStreamTrack.readyState", "readyState")}} становится <code>ended</code>).<br> Обработчик может быть установлен как свойство <code><a href="/en-US/docs/Web/API/MediaStreamTrack/onended">onended</a></code>.</dd> <dt><code><a href="/en-US/docs/Web/API/MediaStreamTrack/mute_event">mute</a></code></dt> - <dd>Вызывается, когда {{domxref("MediaStreamTrack.muted", "muted")}} принимает значение <code>true</code>, что означает, что трек временно не может предоставлять данне (например, при плохом подключении сети).<br> + <dd>Вызывается, когда {{domxref("MediaStreamTrack.muted", "muted")}} принимает значение <code>true</code>, что означает, что трек временно не может предоставлять данные (например, при плохом подключении сети).<br> Обработчик может быть установлен как свойство <code><a href="/en-US/docs/Web/API/MediaStreamTrack/onmute">onmute</a></code>.</dd> <dt><code><a href="/en-US/docs/Web/API/MediaStreamTrack/isolationchange_event">isolationchange</a></code></dt> <dd>Вызывается, когда свойство {{domxref("MediaStreamTrack.isolated", "isolated")}} принимает значение <code>true</code> из-за того, что документ больше не имеет разрешение на доступ к треку.<br> diff --git a/files/ru/web/api/mediatrackconstraints/echocancellation/index.html b/files/ru/web/api/mediatrackconstraints/echocancellation/index.html index 060a3d8b05..861a556ad3 100644 --- a/files/ru/web/api/mediatrackconstraints/echocancellation/index.html +++ b/files/ru/web/api/mediatrackconstraints/echocancellation/index.html @@ -21,7 +21,7 @@ original_slug: Web/API/MediaTrackConstraints/Эхоподавление <p>При необходимости вы можете определить, поддерживается ли это ограничение, проверив значение {{domxref("MediaTrackSupportedConstraints.echoCancellation")}} как результат вызова {{domxref("MediaDevices.getSupportedConstraints()")}}. Однако, обычно в этом нет необходимости, поскольку браузеры просто игнорируют любые незнакомые им ограничения.</p> -<p>Поскольку {{Glossary("RTP")}} не содержит эту информцию, медиа-треки связанные с <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> {{domxref("RTCPeerConnection")}} некогда не будут включать это свойство.</p> +<p>Поскольку {{Glossary("RTP")}} не содержит эту информацию, медиа-треки связанные с <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> {{domxref("RTCPeerConnection")}} некогда не будут включать это свойство.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -34,7 +34,7 @@ original_slug: Web/API/MediaTrackConstraints/Эхоподавление <h3 id="Значение">Значение</h3> -<p>Если это значение является простым <code>true</code> или <code>false</code>, пользовательский агент попытается получить медиа с включенным или отключенным эхоподавлением, если это возможно, но не вернет ошибку, если это невозможно сделать. Иначе если значение передано как объект с полем <code>exact</code> , то логическое значение этого поля указывает обязательную настройку для эхоподавления; если это не может быть выполненым - запрос вернет ошибку.</p> +<p>Если это значение является простым <code>true</code> или <code>false</code>, пользовательский агент попытается получить медиа с включенным или отключенным эхоподавлением, если это возможно, но не вернет ошибку, если это невозможно сделать. Иначе если значение передано как объект с полем <code>exact</code> , то логическое значение этого поля указывает обязательную настройку для эхоподавления; если это не может быть выполнены - запрос вернет ошибку.</p> <h2 id="Example" name="Example">Пример</h2> diff --git a/files/ru/web/api/mouseevent/button/index.html b/files/ru/web/api/mouseevent/button/index.html index a5bd49e4b9..f68409984c 100644 --- a/files/ru/web/api/mouseevent/button/index.html +++ b/files/ru/web/api/mouseevent/button/index.html @@ -22,7 +22,7 @@ translation_of: Web/API/MouseEvent/button <h3 id="Возвращаемые_значения">Возвращаемые значения</h3> -<p>Число, соответстующее нажатой кнопке:</p> +<p>Число, соответствующее нажатой кнопке:</p> <ul> <li><code>0</code>: Нажата основная кнопка. Левая кнопка мыши или переназначенная пользователем другая кнопка</li> diff --git a/files/ru/web/api/mouseevent/index.html b/files/ru/web/api/mouseevent/index.html index 610f8aacef..23266c8feb 100644 --- a/files/ru/web/api/mouseevent/index.html +++ b/files/ru/web/api/mouseevent/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/MouseEvent --- <p id="Summary">{{APIRef("DOM Events")}}</p> -<p>Интерфейс <code><strong>MouseEvent</strong></code> представляет собой событие, которое происходит в результате взаимодествия пользователя с манипулятором ( например, мышью). Наиболее частые из таких событий: {{event("click")}}, {{event("dblclick")}}, {{event("mouseup")}}, {{event("mousedown")}}.</p> +<p>Интерфейс <code><strong>MouseEvent</strong></code> представляет собой событие, которое происходит в результате взаимодействия пользователя с манипулятором ( например, мышью). Наиболее частые из таких событий: {{event("click")}}, {{event("dblclick")}}, {{event("mouseup")}}, {{event("mousedown")}}.</p> <p><code>MouseEvent</code> выводится из метода {{domxref("UIEvent")}}, который в свою очередь происходит из метода {{domxref("Event")}}. Метод {{domxref("MouseEvent.initMouseEvent()")}} допустимо использовать для лучшей совместимости с предыдущими версиями, однако, для создания <code>MouseEvent </code>рекомендуется использовать конструктор метода {{domxref("MouseEvent.MouseEvent", "MouseEvent()")}}.</p> @@ -27,7 +27,7 @@ translation_of: Web/API/MouseEvent <h2 id="Свойства">Свойства</h2> -<p><em>Данный интерфес наследует свойства от родителей {{domxref("UIEvent")}} и {{domxref("Event")}}.</em></p> +<p><em>Данный интерфейс наследует свойства от родителей {{domxref("UIEvent")}} и {{domxref("Event")}}.</em></p> <dl> <dt>{{domxref("MouseEvent.altKey")}} {{readonlyinline}}</dt> @@ -71,7 +71,7 @@ translation_of: Web/API/MouseEvent <dt>{{domxref("MouseEvent.which")}} {{non-standard_inline}} {{readonlyinline}}</dt> <dd>Возвращает код последней нажатой клавиши, когда произошло событие мыши.</dd> <dt>{{domxref("MouseEvent.mozPressure")}} {{non-standard_inline()}} {{readonlyinline}}</dt> - <dd>Отображает давление которое было осуществленно при нажатии. Значение будет между <code>0.0</code> (минимальное давление) и <code>1.0</code> (максимальное давление).</dd> + <dd>Отображает давление которое было осуществлено при нажатии. Значение будет между <code>0.0</code> (минимальное давление) и <code>1.0</code> (максимальное давление).</dd> <dt>{{domxref("MouseEvent.mozInputSource")}} {{non-standard_inline()}} {{readonlyinline}}</dt> <dd> <p>The type of device that generated the event (one of the <code>MOZ_SOURCE_*</code> constants listed below). This lets you, for example, determine whether a mouse event was generated by an actual mouse or by a touch event (which might affect the degree of accuracy with which you interpret the coordinates associated with the event).</p> @@ -95,7 +95,7 @@ translation_of: Web/API/MouseEvent <h2 id="Методы">Методы</h2> -<p><em>Данный интерфес наследует свойства от родителей, {{domxref("UIEvent")}} and {{domxref("Event")}}.</em></p> +<p><em>Данный интерфейс наследует свойства от родителей, {{domxref("UIEvent")}} and {{domxref("Event")}}.</em></p> <dl> <dt>{{domxref("MouseEvent.getModifierState()")}}</dt> diff --git a/files/ru/web/api/mouseevent/offsetx/index.html b/files/ru/web/api/mouseevent/offsetx/index.html index 92b2f0105e..9e9a8bd70d 100644 --- a/files/ru/web/api/mouseevent/offsetx/index.html +++ b/files/ru/web/api/mouseevent/offsetx/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/MouseEvent/offsetX <table class="standard-table"> <tbody> <tr> - <th scope="col">Характеристка</th> + <th scope="col">Характеристика</th> <th scope="col">Статус</th> <th scope="col">Комментарий</th> </tr> diff --git a/files/ru/web/api/mouseevent/screenx/index.html b/files/ru/web/api/mouseevent/screenx/index.html index 3dfb626393..93b35759e8 100644 --- a/files/ru/web/api/mouseevent/screenx/index.html +++ b/files/ru/web/api/mouseevent/screenx/index.html @@ -14,11 +14,11 @@ translation_of: Web/API/MouseEvent/screenX <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Значение с плавающей точкой типа <code>double</code>. В ранних версиях этой спецификации определялось как целое число, соответсвующее количеству пикселей. Подробнее см. раздел "Совместимость с браузерами". </p> +<p>Значение с плавающей точкой типа <code>double</code>. В ранних версиях этой спецификации определялось как целое число, соответствующее количеству пикселей. Подробнее см. раздел "Совместимость с браузерами". </p> <h2 id="Пример">Пример</h2> -<p>Этом примерер демонстрирует координаты вашей мыши в случае получения события {{Event("mousemove")}}.</p> +<p>Этом примере демонстрирует координаты вашей мыши в случае получения события {{Event("mousemove")}}.</p> <h4 id="HTML">HTML</h4> @@ -42,7 +42,7 @@ function logKey(e) { <h3 id="Обработка_события">Обработка события</h3> -<p>Когда вы отлавливаете события на окне, документе или других элементах, имеющих размер, вы можете получить координаты этого события (например, клика), и обработать его соответсвующим образом, например, так, как в этом примере:</p> +<p>Когда вы отлавливаете события на окне, документе или других элементах, имеющих размер, вы можете получить координаты этого события (например, клика), и обработать его соответствующим образом, например, так, как в этом примере:</p> <pre class="brush: js">function checkClickMap(e) { if (e.screenX < 50) doRedButton(); diff --git a/files/ru/web/api/mouseevent/shiftkey/index.html b/files/ru/web/api/mouseevent/shiftkey/index.html index 81aebded0e..5e9412623e 100644 --- a/files/ru/web/api/mouseevent/shiftkey/index.html +++ b/files/ru/web/api/mouseevent/shiftkey/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/MouseEvent/shiftKey --- <p>{{APIRef("DOM Events")}}</p> -<p><strong><code>MouseEvent.shiftKey</code></strong>атрибут только для чтения , кторый указывает была ли нажата клваиша <kbd>shift</kbd> . Возвращает (<code>true</code>) если нажата <kbd>shift</kbd>, (<code>false</code>) если нет.</p> +<p><strong><code>MouseEvent.shiftKey</code></strong>атрибут только для чтения , который указывает была ли нажата клавиша <kbd>shift</kbd> . Возвращает (<code>true</code>) если нажата <kbd>shift</kbd>, (<code>false</code>) если нет.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/mouseevent/which/index.html b/files/ru/web/api/mouseevent/which/index.html index 83e4984abe..80194dcc2b 100644 --- a/files/ru/web/api/mouseevent/which/index.html +++ b/files/ru/web/api/mouseevent/which/index.html @@ -28,13 +28,13 @@ translation_of: Web/API/MouseEvent/which <li><code>3</code>: Права кнопка</li> </ul> -<p>Для мыши настроенной для левшей порядок значений будет изменён. В этом случае значению <code>1</code> будет соответствовать правай кнопка, а <code>3</code> – левая.</p> +<p>Для мыши настроенной для левшей порядок значений будет изменён. В этом случае значению <code>1</code> будет соответствовать правая кнопка, а <code>3</code> – левая.</p> <h2 id="Спецификация">Спецификация</h2> <p>Это свойство не является частью спецификации.</p> -<h2 id="Совместимость_с_бразуерами">Совместимость с бразуерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> diff --git a/files/ru/web/api/mutationobserver/index.html b/files/ru/web/api/mutationobserver/index.html index 61a16f69f0..30f1fbc2a7 100644 --- a/files/ru/web/api/mutationobserver/index.html +++ b/files/ru/web/api/mutationobserver/index.html @@ -44,7 +44,7 @@ translation_of: Web/API/MutationObserver <p><code>MutationObserverInit</code> — объект, который может содержать следующие свойства:</p> -<div class="note"><strong>Примечание:</strong> Так или иначе необходимо установить <code>true</code> для одного из следующих cвойств: <code>childList</code>, <code>attributes</code>, <code>characterData</code>. В противном случае будет вызвана ошибка "An invalid or illegal string was specified"</div> +<div class="note"><strong>Примечание:</strong> Так или иначе необходимо установить <code>true</code> для одного из следующих свойств: <code>childList</code>, <code>attributes</code>, <code>characterData</code>. В противном случае будет вызвана ошибка "An invalid or illegal string was specified"</div> <table class="standard-table"> <tbody> diff --git a/files/ru/web/api/namednodemap/index.html b/files/ru/web/api/namednodemap/index.html index 8ad92f6fa1..2ea97e0010 100644 --- a/files/ru/web/api/namednodemap/index.html +++ b/files/ru/web/api/namednodemap/index.html @@ -10,7 +10,7 @@ translation_of: Web/API/NamedNodeMap <p>Объект NamedNodeMap является "живым" и, таким образом, будет автоматически обновляться, если изменения будут внесены в его содержимое внутри или в другом месте.</p> <div class="note"> -<p>Хотя данный интерфейс и назвается <code>NamedNodeMap</code> , он не имеет ничего общего с объектом {{domxref("Node")}}, но до сих пор связан с объектом {{domxref(" Attr ")}}, который изначально был специализированным классом {{domxref("Node")}}.</p> +<p>Хотя данный интерфейс и называется <code>NamedNodeMap</code> , он не имеет ничего общего с объектом {{domxref("Node")}}, но до сих пор связан с объектом {{domxref(" Attr ")}}, который изначально был специализированным классом {{domxref("Node")}}.</p> </div> <h2 id="Свойства">Свойства</h2> diff --git a/files/ru/web/api/navigation_timing_api/index.html b/files/ru/web/api/navigation_timing_api/index.html index 81e84e72e6..444e3f47b5 100644 --- a/files/ru/web/api/navigation_timing_api/index.html +++ b/files/ru/web/api/navigation_timing_api/index.html @@ -86,7 +86,7 @@ translation_of: Web/API/Navigation_timing_API <p><code>window.performance.navigation.redirectCount</code> отображает количество переадресаций до последней страницы, если они происходили.</p> -<p>Navigation Timing API может быть использован для сбора данных о производительности на стороне клиента при отправке ассинхронных запросов на сервер, а также для получения данных, которые нельзя получить с помощью других средств, таких как время выгрузки предыдущей страницы, время DNS запроса, время полной загрузки страницы.</p> +<p>Navigation Timing API может быть использован для сбора данных о производительности на стороне клиента при отправке асинхронных запросов на сервер, а также для получения данных, которые нельзя получить с помощью других средств, таких как время выгрузки предыдущей страницы, время DNS запроса, время полной загрузки страницы.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/navigator/connection/index.html b/files/ru/web/api/navigator/connection/index.html index 76f086052f..48748d81ee 100644 --- a/files/ru/web/api/navigator/connection/index.html +++ b/files/ru/web/api/navigator/connection/index.html @@ -8,7 +8,7 @@ original_slug: Web/API/NetworkInformation/connection <p>{{ SeeCompatTable() }}</p> -<p><code><strong>NetworkInformation.connection</strong></code> свойство только для чтения представляющее собой {{domxref("Connection")}} содержащий информацию о системном подключении, таких как текущая пропускная способность пользовательского устройства или определено ли соеденение. Это может быть использовано для выбора контента высокой плотности или контента низкой плотности в соединении пользователя.</p> +<p><code><strong>NetworkInformation.connection</strong></code> свойство только для чтения представляющее собой {{domxref("Connection")}} содержащий информацию о системном подключении, таких как текущая пропускная способность пользовательского устройства или определено ли соединение. Это может быть использовано для выбора контента высокой плотности или контента низкой плотности в соединении пользователя.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -21,7 +21,7 @@ original_slug: Web/API/NetworkInformation/connection <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigator/cookieenabled/index.html b/files/ru/web/api/navigator/cookieenabled/index.html index cdf99a435b..ee1d6c8fcb 100644 --- a/files/ru/web/api/navigator/cookieenabled/index.html +++ b/files/ru/web/api/navigator/cookieenabled/index.html @@ -74,7 +74,7 @@ translation_of: Web/API/Navigator/cookieEnabled <h3 id="Заметки_для_Gecko">Заметки для Gecko</h3> -<p>До Gecko 8.0 {{ geckoRelease("8.0") }}, <code>window.navigator.cookieEnabled </code>сообщало неправильный результат, если положение исключения было в месте на странице на котором была выполннена проверка. Это было исправлено.</p> +<p>До Gecko 8.0 {{ geckoRelease("8.0") }}, <code>window.navigator.cookieEnabled </code>сообщало неправильный результат, если положение исключения было в месте на странице на котором была выполнена проверка. Это было исправлено.</p> <h2 id="Specification" name="Specification">Спецификация</h2> diff --git a/files/ru/web/api/navigator/donottrack/index.html b/files/ru/web/api/navigator/donottrack/index.html index 54f7b8f9e9..b425e800b6 100644 --- a/files/ru/web/api/navigator/donottrack/index.html +++ b/files/ru/web/api/navigator/donottrack/index.html @@ -22,7 +22,7 @@ translation_of: Web/API/Navigator/doNotTrack <h2 id="Specification" name="Specification">Спецификация</h2> -<p><a class="external" href="http://www.w3.org/TR/tracking-dnt/" title="http://www.w3.org/TR/tracking-dnt/">Tracking Preference Expression</a> (Working проект) основан на более ранней версии этой спецификации, где <code>navigator.doNotTrack</code> <strong>это </strong>значение<strong> </strong> посланое заголовком do-not-track.</p> +<p><a class="external" href="http://www.w3.org/TR/tracking-dnt/" title="http://www.w3.org/TR/tracking-dnt/">Tracking Preference Expression</a> (Working проект) основан на более ранней версии этой спецификации, где <code>navigator.doNotTrack</code> <strong>это </strong>значение<strong> </strong> посланное заголовком do-not-track.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/navigator/geolocation/index.html b/files/ru/web/api/navigator/geolocation/index.html index 5bc748ee47..c459c40672 100644 --- a/files/ru/web/api/navigator/geolocation/index.html +++ b/files/ru/web/api/navigator/geolocation/index.html @@ -23,7 +23,7 @@ translation_of: Web/API/Navigator/geolocation <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigator/index.html b/files/ru/web/api/navigator/index.html index d073d18ac4..b653f5af33 100644 --- a/files/ru/web/api/navigator/index.html +++ b/files/ru/web/api/navigator/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Navigator <p>Не наследует никаких других свойств, но реализует те, которые определены в <em>{{domxref("NavigatorID")}}, {{domxref("NavigatorLanguage")}}, {{domxref("NavigatorOnLine")}}, {{domxref("NavigatorPlugins")}}, {{domxref("NavigatorUserMedia")}}, и {{domxref("NetworkInformation")}}.</em></p> -<h3 id="Стандартиризованные">Стандартиризованные</h3> +<h3 id="Стандартизированные">Стандартизированные</h3> <dl> <dt>{{domxref("NavigatorID.appCodeName")}} {{readonlyInline}}{{experimental_inline}}</dt> @@ -35,7 +35,7 @@ translation_of: Web/API/Navigator <dt>{{domxref("NavigatorPlugins.javaEnabled")}} {{readonlyInline}}{{experimental_inline}}</dt> <dd>Возвращает {{domxref("Boolean")}} флаг, показывающий включен ли в браузере java или нет.</dd> <dt>{{domxref("NavigatorLanguage.language")}} {{readonlyInline}}</dt> - <dd>Возвращает {{domxref ("DOMString")}}, представляющий предпочитаемый пользователем язык, как правило это язык пользвательского интерфейса браузера. Значение <code>null</code> возвращается, когда язык неизвестен.</dd> + <dd>Возвращает {{domxref ("DOMString")}}, представляющий предпочитаемый пользователем язык, как правило это язык пользовательского интерфейса браузера. Значение <code>null</code> возвращается, когда язык неизвестен.</dd> <dt>{{domxref("NavigatorLanguage.languages")}} {{readonlyInline}}</dt> <dd>Возвращает массив {{domxref("DOMString")}}, представляющий собой языки, известные пользователю, в порядке предпочтения.</dd> <dt>{{domxref("NavigatorPlugins.mimeTypes")}} {{readonlyInline}}{{experimental_inline}}</dt> @@ -45,7 +45,7 @@ translation_of: Web/API/Navigator <dt>{{domxref("Navigator.oscpu")}}</dt> <dd>Возвращает строку, показывающую имеющуюся операционную систему.</dd> <dt>{{domxref("NavigatorID.platform")}} {{readonlyInline}}{{experimental_inline}}</dt> - <dd>Возвращает строку, показывающую платформму браузера. Не полагайтесь на эту функцию, чтобы получить нужное значение.</dd> + <dd>Возвращает строку, показывающую платформу браузера. Не полагайтесь на эту функцию, чтобы получить нужное значение.</dd> <dt>{{domxref("NavigatorPlugins.plugins")}} {{readonlyInline}}{{experimental_inline}}</dt> <dd>Возвращает {{domxref("PluginArray")}} листинг плагинов, установленных в браузере.</dd> <dt>{{domxref("NavigatorID.product")}} {{readonlyInline}} {{experimental_inline}}</dt> @@ -56,7 +56,7 @@ translation_of: Web/API/Navigator <dd>Возвращает {{domxref("ServiceWorkerContainer")}} объект, который обеспечивает доступ к регистрации, удалению, обновлению и связи с {{domxref("ServiceWorker")}} объектами для <a href="https://html.spec.whatwg.org/multipage/browsers.html#concept-document-window">соответствующего документа.</a></dd> </dl> -<h3 id="Methods" name="Methods">Не стандартиризованные</h3> +<h3 id="Methods" name="Methods">Не стандартизированные</h3> <dl> <dt>{{domxref("window.navigator.buildID", "navigator.buildID")}} {{non-standard_inline}}</dt> @@ -75,7 +75,7 @@ translation_of: Web/API/Navigator {{domxref("window.navigator.webkitNotification","navigator.webkitNotification")}}</dt> <dd>Возвращает {{domxref("navigator.mozNotification", "notification")}} объект, который можно использовать для доставки уведомлений пользователю из вашего веб-приложения.</dd> <dt>{{domxref("navigator.mozSocial")}} {{non-standard_inline}}</dt> - <dd>Объект, возвращающий <code>navigator.mozSocial</code> свойство, доступное в панели провайдера социальных медиадля для обеспечения требуемой функциональности.</dd> + <dd>Объект, возвращающий <code>navigator.mozSocial</code> свойство, доступное в панели провайдера социальных медиа для для обеспечения требуемой функциональности.</dd> <dt>{{domxref("window.navigator.productSub", "navigator.productSub")}} {{non-standard_inline}}</dt> <dd>Возвращает номер сборки текущего браузера(например: "20060909" ).</dd> <dt>{{domxref("window.navigator.securitypolicy", "navigator.securitypolicy")}} {{non-standard_inline}}</dt> @@ -94,13 +94,13 @@ translation_of: Web/API/Navigator <p>Не наследует никаких других свойств, но реализует те, которые определены в <em>{{domxref("NavigatorID")}}, {{domxref("NavigatorContentUtils")}}, <em>{{domxref("NavigatorUserMedia")}}, и</em> {{domxref("NavigatorStorageUtils")}}.</em></p> -<h3 id="Стандартиризованные_2">Стандартиризованные</h3> +<h3 id="Стандартизированные_2">Стандартизированные</h3> <dl> <dt>{{domxref("NavigatorUserMedia.getUserMedia()")}}</dt> <dd>После запроса разрешения у пользователя возвращает аудио или видео поток, взаимодействующий с камерой или микрофоном на локальном компьютере.</dd> <dt>{{domxref("window.navigator.registerContentHandler", "navigator.registerContentHandler")}}</dt> - <dd>Разарешает веб-сайту зарегистрировать себя в качестве возможного обработчика для данного MIME типа.</dd> + <dd>Разрешает веб-сайту зарегистрировать себя в качестве возможного обработчика для данного MIME типа.</dd> <dt>{{domxref("navigator.registerProtocolHandler", "navigator.registerProtocolHandler")}}</dt> <dd>Разрешает веб-сайту зарегистрировать себя в качестве возможного обработчика для данного протокола.</dd> <dt>{{domxref("NavigatorID.taintEnabled()")}} {{deprecated_inline("1.7.8")}} {{obsolete_inline("9.0")}} {{experimental_inline}}</dt> @@ -109,7 +109,7 @@ translation_of: Web/API/Navigator <dd>Причина вибрации устройства с поддержкой ее. Не делает ничего, если нет поддержки вибрации.</dd> </dl> -<h3 id="Specification" name="Specification">Не стандартиризованные</h3> +<h3 id="Specification" name="Specification">Не стандартизированные</h3> <dl> <dt>{{domxref("window.navigator.mozIsLocallyAvailable", "navigator.mozIsLocallyAvailable")}} {{non-standard_inline}}</dt> diff --git a/files/ru/web/api/navigator/registerprotocolhandler/index.html b/files/ru/web/api/navigator/registerprotocolhandler/index.html index 4a15615d8d..a09dc87fea 100644 --- a/files/ru/web/api/navigator/registerprotocolhandler/index.html +++ b/files/ru/web/api/navigator/registerprotocolhandler/index.html @@ -38,7 +38,7 @@ translation_of: Web/API/Navigator/registerProtocolHandler </pre> <p><br> - Это создаст обработчик, который разрешает <code>burger://</code>ссылки, направляющие пользователя на ваше веб-приложение, вставляя burger информацию <span id="result_box" lang="ru"><span>указанную в ссылке</span> <span class="hps">на</span> <span class="hps">URL.</span></span> <span id="result_box" lang="ru"><span class="hps">Напомним, что</span> <span class="hps">этот скрипт</span> <span class="hps">должен быть запущен</span> <span class="hps">с того же домена </span></span>(так и слюбой странице расположенной в <code>google.co.uk</code>) и второе, переданный аргумент должен быть <code>http </code>или <code>https</code> схемы (в этом примере это <code>http</code>) .</p> + Это создаст обработчик, который разрешает <code>burger://</code>ссылки, направляющие пользователя на ваше веб-приложение, вставляя burger информацию <span id="result_box" lang="ru"><span>указанную в ссылке</span> <span class="hps">на</span> <span class="hps">URL.</span></span> <span id="result_box" lang="ru"><span class="hps">Напомним, что</span> <span class="hps">этот скрипт</span> <span class="hps">должен быть запущен</span> <span class="hps">с того же домена </span></span>(так и любой странице расположенной в <code>google.co.uk</code>) и второе, переданный аргумент должен быть <code>http </code>или <code>https</code> схемы (в этом примере это <code>http</code>) .</p> <p><span id="result_box" lang="ru"><span>Пользователь</span> <span class="hps">будет уведомлен</span> <span class="hps">о</span> <span class="hps">регистрации этого</span> <span class="hps">протокола</span></span>, для примера смотрите на изображение ниже.</p> @@ -52,7 +52,7 @@ translation_of: Web/API/Navigator/registerProtocolHandler <p>Specified by the WHATWG's <a class="external" href="http://whatwg.org/specs/web-apps/current-work/#custom-handlers">Web Applications 1.0 working draft</a> (HTML5).</p> -<h2 id="See_also" name="See_also">Совместимомть с браузерами</h2> +<h2 id="See_also" name="See_also">Совместимость с браузерами</h2> <p>{{ CompatibilityTable() }}</p> diff --git a/files/ru/web/api/navigator/sendbeacon/index.html b/files/ru/web/api/navigator/sendbeacon/index.html index c4db690393..529ad0d059 100644 --- a/files/ru/web/api/navigator/sendbeacon/index.html +++ b/files/ru/web/api/navigator/sendbeacon/index.html @@ -46,7 +46,7 @@ translation_of: Web/API/Navigator/sendBeacon <p>Для решения этой проблемы ранее использовали синхронный <code>XMLHttpRequest</code> вызванный в событии <code>unload</code> или {{event("beforeunload")}} с данными для передачи. Синхронный <code>XMLHttpRequest</code> блокирует процесс выгрузки документа и текущая страница закрывается не сразу. Ситуация усугубляется, если пользователь уходит с вашей страницы по ссылке или нажимает кнопку "назад". Новая страница не будет загружена в этой вкладке, пока не выгрузится старая. В глазах пользователя, новая страница выглядит заторможенной, хотя на самом деле, это связанно с текущей, выгружаемой, страницей.</p> -<p>Существуют и другие способы обойти эту проблему. Один из них - создание элемента {{HTMLElement("img")}} и установка аттрибута <code>src</code> в событии выгрузки. Это может сработать, потому что большинство браузеров остановят основной процесс, а вместе с ним и выгрузку страницы, до загрузки изображения. Ещё один способ - создать пустой цикл на несколько секунд, таким образом придержав основной поток и дав асинхронному <code>XMLHttpRequest</code> выполниться.</p> +<p>Существуют и другие способы обойти эту проблему. Один из них - создание элемента {{HTMLElement("img")}} и установка атрибута <code>src</code> в событии выгрузки. Это может сработать, потому что большинство браузеров остановят основной процесс, а вместе с ним и выгрузку страницы, до загрузки изображения. Ещё один способ - создать пустой цикл на несколько секунд, таким образом придержав основной поток и дав асинхронному <code>XMLHttpRequest</code> выполниться.</p> <p>Но, проблема в том, что все эти методы не надёжны и приводят к значительным задержкам отклика интерфейса браузера. Не говоря о том, что всё это - плохой стиль написания кода.</p> diff --git a/files/ru/web/api/navigator/vibrate/index.html b/files/ru/web/api/navigator/vibrate/index.html index 94c9f00334..691330d85e 100644 --- a/files/ru/web/api/navigator/vibrate/index.html +++ b/files/ru/web/api/navigator/vibrate/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Navigator/vibrate --- <p>{{APIRef("HTML DOM")}}</p> -<p>Метод <strong><code>Navigator.vibrate()</code></strong> пульсирует вибрационным обурудованием на устройстве, <span id="result_box" lang="ru"><span class="hps">если</span> <span class="hps">такое аппаратное обеспечение</span> <span class="hps">существует. Если устройство не поддерживает вибрацию, этот метод не имиеет ни какого эффекта.</span></span> Если шаблон вибрации уже в процессе выполнения, когда метод вызван, предыдущий шаблон останавливается и вместо него начинается новый.</p> +<p>Метод <strong><code>Navigator.vibrate()</code></strong> пульсирует вибрационным оборудованием на устройстве, <span id="result_box" lang="ru"><span class="hps">если</span> <span class="hps">такое аппаратное обеспечение</span> <span class="hps">существует. Если устройство не поддерживает вибрацию, этот метод не имеет ни какого эффекта.</span></span> Если шаблон вибрации уже в процессе выполнения, когда метод вызван, предыдущий шаблон останавливается и вместо него начинается новый.</p> <p><span id="result_box" lang="ru"><span class="hps">Если</span> <span class="hps">метод</span> <span class="hps">не в состоянии</span> <span class="hps">вибрировать</span> <span class="hps">из-за</span> <span class="hps">недействительных</span> <span class="hps">параметров</span><span>,</span></span> он вернет <code>false</code>, иначе вернет <code>true</code>. Если шаблон ведет к слишком длинной вибрации, он усекается: <span id="result_box" lang="ru"><span class="hps">максимальная длина</span> <span class="hps">зависит</span> <span class="hps">от</span> <span class="hps">конкретной реализации</span><span>.</span></span></p> @@ -16,10 +16,10 @@ translation_of: Web/API/Navigator/vibrate <dl> <dt><em>pattern</em></dt> - <dd><span class="short_text" id="result_box" lang="ru">Определяет <span class="hps">шаблон</span> <span class="hps">вибрации и</span> <span class="hps">интервал паузы</span><span>.</span></span> <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 id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">указать либо</span> <span class="hps">одно значение</span> <span class="atn hps">(</span><span>вибрировать</span> <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 class="hps">вибрировать</span><span class="hps">.</span></span> См. <a href="/en-US/docs/WebAPI/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibration API</a> для уточнения деталей.</dd> + <dd><span class="short_text" id="result_box" lang="ru">Определяет <span class="hps">шаблон</span> <span class="hps">вибрации и</span> <span class="hps">интервал паузы</span><span>.</span></span> <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 id="result_box" lang="ru"><span class="hps">Вы можете</span> <span class="hps">указать либо</span> <span class="hps">одно значение</span> <span class="atn hps">(</span><span>вибрировать</span> <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 class="hps">вибрировать</span><span class="hps">.</span></span> См. <a href="/en-US/docs/WebAPI/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibration API</a> для уточнения деталей.</dd> </dl> -<p>Переданное значение 0 или пустой массив, или массив содержащий все нули отменяет любой шаблон вибрации запущеный в текущий момент.</p> +<p>Переданное значение 0 или пустой массив, или массив содержащий все нули отменяет любой шаблон вибрации запущенный в текущий момент.</p> <h2 id="Примеры">Примеры</h2> @@ -34,7 +34,7 @@ window.navigator.vibrate([100,30,100,30,100,200,200,30,200,30,200,200,100,30,100 <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/appcodename/index.html b/files/ru/web/api/navigatorid/appcodename/index.html index 7f215df4c3..369fba1b41 100644 --- a/files/ru/web/api/navigatorid/appcodename/index.html +++ b/files/ru/web/api/navigatorid/appcodename/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/NavigatorID/appCodeName <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/appname/index.html b/files/ru/web/api/navigatorid/appname/index.html index 536708fca2..f45c906c22 100644 --- a/files/ru/web/api/navigatorid/appname/index.html +++ b/files/ru/web/api/navigatorid/appname/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/NavigatorID/appName <p>Свойство <strong><code>NavigatorID.appName </code></strong>возвращает название браузера. HTML5 спецификация также позволяет любому браузеру вернуть <code>Netscape</code>", по причине совместимости.</p> -<p><strong>Примечание:</strong> не полагайтесь на это свойство для получения коректного имени браузера.<span id="result_box" lang="ru"><span class="hps">В большинстве браузеров</span> <span class="atn hps">(</span><span>Firefox</span><span>, как</span><span>, Chrome</span><span>, Safari</span><span>, Opera</span> <span class="hps">и</span> <span class="hps">Internet Explorer</span><span>)</span> <span class="hps">возвращаемой строкой будет</span> <span class="atn hps">"</span><span>Netscape</span><span>"</span><span>.</span></span></p> +<p><strong>Примечание:</strong> не полагайтесь на это свойство для получения корректного имени браузера.<span id="result_box" lang="ru"><span class="hps">В большинстве браузеров</span> <span class="atn hps">(</span><span>Firefox</span><span>, как</span><span>, Chrome</span><span>, Safari</span><span>, Opera</span> <span class="hps">и</span> <span class="hps">Internet Explorer</span><span>)</span> <span class="hps">возвращаемой строкой будет</span> <span class="atn hps">"</span><span>Netscape</span><span>"</span><span>.</span></span></p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -31,7 +31,7 @@ translation_of: Web/API/NavigatorID/appName <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/appversion/index.html b/files/ru/web/api/navigatorid/appversion/index.html index 676e3cf881..565442d496 100644 --- a/files/ru/web/api/navigatorid/appversion/index.html +++ b/files/ru/web/api/navigatorid/appversion/index.html @@ -36,7 +36,7 @@ translation_of: Web/API/NavigatorID/appVersion <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/index.html b/files/ru/web/api/navigatorid/index.html index 4366e145b4..b539aa91f4 100644 --- a/files/ru/web/api/navigatorid/index.html +++ b/files/ru/web/api/navigatorid/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/NavigatorID <h2 id="Свойства">Свойства</h2> -<p><em>Интерфей <code>NavigatorID</code></em><em> не наследует никаких других свойств.</em></p> +<p><em>Интерфейс <code>NavigatorID</code></em><em> не наследует никаких других свойств.</em></p> <dl> <dt>{{domxref("NavigatorID.appCodeName")}} {{readonlyInline}}{{deprecated_inline}}</dt> diff --git a/files/ru/web/api/navigatorid/platform/index.html b/files/ru/web/api/navigatorid/platform/index.html index 27636a7722..bbed801cd9 100644 --- a/files/ru/web/api/navigatorid/platform/index.html +++ b/files/ru/web/api/navigatorid/platform/index.html @@ -42,7 +42,7 @@ translation_of: Web/API/NavigatorID/platform <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/product/index.html b/files/ru/web/api/navigatorid/product/index.html index 8abf33f7b1..65aa5faa88 100644 --- a/files/ru/web/api/navigatorid/product/index.html +++ b/files/ru/web/api/navigatorid/product/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/NavigatorID/product <p>Свойство <strong><code>NavigatorID.product </code></strong>возвращает имя продукта текущего браузера.</p> -<div class="note"><strong>Примечание:</strong> Не полагайтесь на это свойство для получения настоящего имени продукта. Все браузеры возвращаеют "Gecko" в качестве значения этого свойства.</div> +<div class="note"><strong>Примечание:</strong> Не полагайтесь на это свойство для получения настоящего имени продукта. Все браузеры возвращает "Gecko" в качестве значения этого свойства.</div> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -34,7 +34,7 @@ function prod() { <h2 id="Notes" name="Notes">Примечание</h2> -<p>В браузерах на основе Gecko <code>product</code> соостветствует части полной строки агента пользователя которая идет первой после платформы. В пользовательском агенте Netscape 6.1, к примеру, <code>product</code> это "Gecko" а полная строка пользовательского агента будет: <code>Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape6/6.1</code></p> +<p>В браузерах на основе Gecko <code>product</code> соответствует части полной строки агента пользователя которая идет первой после платформы. В пользовательском агенте Netscape 6.1, к примеру, <code>product</code> это "Gecko" а полная строка пользовательского агента будет: <code>Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape6/6.1</code></p> <p>В браузере на основе WebKit <code>product </code>вернет "<code>Gecko</code>", хотя часть полной строки пользовательского агента непосредственно после после платформы на самом деле следующая: <code>(KHTML, like Gecko)</code>.</p> @@ -45,7 +45,7 @@ function prod() { <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/taintenabled/index.html b/files/ru/web/api/navigatorid/taintenabled/index.html index 1d7b8a1698..528756b317 100644 --- a/files/ru/web/api/navigatorid/taintenabled/index.html +++ b/files/ru/web/api/navigatorid/taintenabled/index.html @@ -27,7 +27,7 @@ translation_of: Web/API/NavigatorID/taintEnabled <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorid/useragent/index.html b/files/ru/web/api/navigatorid/useragent/index.html index 57654d7e50..952c7aca04 100644 --- a/files/ru/web/api/navigatorid/useragent/index.html +++ b/files/ru/web/api/navigatorid/useragent/index.html @@ -49,7 +49,7 @@ Application-Name Application-Name-version <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> @@ -120,5 +120,5 @@ Application-Name Application-Name-version <li><a href="/en-US/docs/Using_Web_Standards_in_your_Web_Pages/Developing_cross-browser_and_cross-platform_pages" title="Using_Web_Standards_in_your_Web_Pages/Developing_cross-browser_and_cross-platform_pages">Идентификация браузера (сниффинг браузера) — не лучший и не надёжный способ</a></li> <li><a href="/en-US/docs/Browser_Detection_and_Cross_Browser_Support#Limit_the_use_of_User_Agent_String_based_Detection" title="Browser_Detection_and_Cross_Browser_Support#Limit_the_use_of_User_Agent_String_based_Detection">Ограничивайте распознавания по строке User Agent</a></li> <li><a href="/en-US/docs/Browser_Detection_and_Cross_Browser_Support#Use_feature_oriented_object_detection" title="Browser_Detection_and_Cross_Browser_Support#Use_feature_oriented_object_detection">Использование особенностей объектов обнаружения</a></li> - <li><a href="http://www.gtalbot.org/DHTMLSection/ListAllAttributesAndMethodsOfObjects.html">Интерактивное крос-браузерное демо по свойствам навигатора</a></li> + <li><a href="http://www.gtalbot.org/DHTMLSection/ListAllAttributesAndMethodsOfObjects.html">Интерактивное кросс-браузерное демо по свойствам навигатора</a></li> </ul> diff --git a/files/ru/web/api/navigatorlanguage/index.html b/files/ru/web/api/navigatorlanguage/index.html index 0a5a5340e6..6b31eba632 100644 --- a/files/ru/web/api/navigatorlanguage/index.html +++ b/files/ru/web/api/navigatorlanguage/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/NavigatorLanguage <dl> <dt>{{domxref("NavigatorLanguage.language")}} {{readonlyInline}}</dt> - <dd>Возвращает {{domxref("DOMString")}} представлящий собой предпочитаемый язык пользователя, как правило, язык пользовательского интерфейса браузера.</dd> + <dd>Возвращает {{domxref("DOMString")}} представляющий собой предпочитаемый язык пользователя, как правило, язык пользовательского интерфейса браузера.</dd> <dt>{{domxref("NavigatorLanguage.languages")}} {{readonlyInline}}</dt> <dd>Возвращает массив {{domxref("DOMString")}} представляющий собой языки известные пользователю в порядке предпочтения.</dd> </dl> @@ -31,7 +31,7 @@ translation_of: Web/API/NavigatorLanguage <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorlanguage/language/index.html b/files/ru/web/api/navigatorlanguage/language/index.html index 4ad6500fb0..6d1c542e1b 100644 --- a/files/ru/web/api/navigatorlanguage/language/index.html +++ b/files/ru/web/api/navigatorlanguage/language/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/NavigatorLanguage/language --- <p>{{ APIRef("HTML DOM") }}</p> -<p><span id="result_box" lang="ru"><span>Свойство <code><strong>NavigatorLanguage.language</strong></code></span> <span class="hps">только для чтения, оно</span> <span class="hps">возвращает</span> <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></p> +<p><span id="result_box" lang="ru"><span>Свойство <code><strong>NavigatorLanguage.language</strong></code></span> <span class="hps">только для чтения, оно</span> <span class="hps">возвращает</span> <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></p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -30,7 +30,7 @@ translation_of: Web/API/NavigatorLanguage/language <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{ SpecName('HTML5 Web application', '#dom-navigator-language', 'navigator.language') }}</td> @@ -67,12 +67,12 @@ translation_of: Web/API/NavigatorLanguage/language <p>До Gecko 2.0 {{ geckoRelease("2.0") }}, значение этого свойства было частью строки пользовательского агента, таким как передает {{ domxref("window.navigator.userAgent", "navigator.userAgent") }}.</p> - <p>Начиная с Gecko 5.0 {{ geckoRelease("5.0") }}, значение этого свойства основыванно на значении <code>Accept-Language</code> <a href="/en/HTTP/Headers" title="en/HTTP/Headers">HTTP header</a>.</p> + <p>Начиная с Gecko 5.0 {{ geckoRelease("5.0") }}, значение этого свойства основано на значении <code>Accept-Language</code> <a href="/en/HTTP/Headers" title="en/HTTP/Headers">HTTP header</a>.</p> </td> <td> <p><span style="font-size: 12px; line-height: 18px;">11.0</span></p> - <p>Ближайщее доступное(не стандартиризованное) свойство<a href="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx">userLanguage</a> и <a href="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx">browserLanguage</a>.</p> + <p>Ближайшее доступное(не стандартизированное) свойство<a href="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx">userLanguage</a> и <a href="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx">browserLanguage</a>.</p> </td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> @@ -109,7 +109,7 @@ translation_of: Web/API/NavigatorLanguage/language <td> <p>{{ CompatNo() }}</p> - <p>Ближайщее доступное(не стандартиризованное) свойство <a href="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx">userLanguage</a> и <a href="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx">browserLanguage</a>.</p> + <p>Ближайшее доступное(не стандартизированное) свойство <a href="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms534713.aspx">userLanguage</a> и <a href="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx" title="http://msdn.microsoft.com/en-us/library/ie/ms533542.aspx">browserLanguage</a>.</p> </td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> diff --git a/files/ru/web/api/navigatorlanguage/languages/index.html b/files/ru/web/api/navigatorlanguage/languages/index.html index 560874e85d..aa983c642e 100644 --- a/files/ru/web/api/navigatorlanguage/languages/index.html +++ b/files/ru/web/api/navigatorlanguage/languages/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/NavigatorLanguage/languages --- <p>{{APIRef("HTML DOM")}}{{SeeCompatTable}}</p> -<p>Свойство <code><strong>NavigatorLanguage.languages</strong></code> только для чтения, возвращающее массив {{domxref("DOMString")}} показывающее предпочитаемые пользователем языки. language описывает использование языковых тегов <a href="http://tools.ietf.org/html/bcp47">BCP 47</a>.<span id="result_box" lang="ru"><span class="hps"> В</span> <span class="hps">возвращаемом</span> <span class="hps">массиве</span> <span class="hps">они</span> <span class="hps">отсортированы по</span> <span class="hps">предпочтению с</span> <span class="hps">наиболее предпочтитаемым</span> <span class="hps">языком</span> <span class="hps">в первую очередь.</span></span></p> +<p>Свойство <code><strong>NavigatorLanguage.languages</strong></code> только для чтения, возвращающее массив {{domxref("DOMString")}} показывающее предпочитаемые пользователем языки. language описывает использование языковых тегов <a href="http://tools.ietf.org/html/bcp47">BCP 47</a>.<span id="result_box" lang="ru"><span class="hps"> В</span> <span class="hps">возвращаемом</span> <span class="hps">массиве</span> <span class="hps">они</span> <span class="hps">отсортированы по</span> <span class="hps">предпочтению с</span> <span class="hps">наиболее предпочитаемые</span> <span class="hps">языком</span> <span class="hps">в первую очередь.</span></span></p> <p>Значение {{domxref("NavigatorLanguage.language","navigator.language")}} это первый элемент в полученном массиве.</p> @@ -31,7 +31,7 @@ navigator.languages //["en-US", "zh-CN", "ja-JP"] <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{ SpecName('HTML5.1', '#dom-navigator-languages', 'NavigatorLanguage.languages') }}</td> diff --git a/files/ru/web/api/navigatoronline/index.html b/files/ru/web/api/navigatoronline/index.html index 5274cf363f..620ed33b40 100644 --- a/files/ru/web/api/navigatoronline/index.html +++ b/files/ru/web/api/navigatoronline/index.html @@ -29,7 +29,7 @@ translation_of: Web/API/NavigatorOnLine <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> @@ -41,7 +41,7 @@ translation_of: Web/API/NavigatorOnLine <tr> <td>{{SpecName('HTML5 W3C', '#navigatoronline', 'NavigatorOnLine')}}</td> <td>{{Spec2('HTML5 W3C')}}</td> - <td>Снимок {{SpecName('HTML WHATWG')}} с перврначальной спецификацией.</td> + <td>Снимок {{SpecName('HTML WHATWG')}} с первоначальной спецификацией.</td> </tr> </tbody> </table> diff --git a/files/ru/web/api/navigatorplugins/index.html b/files/ru/web/api/navigatorplugins/index.html index 2273585e11..3ab846b1c6 100644 --- a/files/ru/web/api/navigatorplugins/index.html +++ b/files/ru/web/api/navigatorplugins/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/NavigatorPlugins <p><span id="result_box" lang="ru"><span>Интерфейс</span> <code><strong><span class="hps">NavigatorPlugins</span></strong></code> <span class="hps">содержит методы и</span> <span class="hps">свойства, связанные</span> <span class="hps">с</span> <span class="hps">установленными плагинами</span> <span class="hps">в браузере</span><span>.</span></span></p> -<p><code>NavigatorPlugins</code> не содержит в себе объектов другово типа, но другие интерфейсы, такие как {{domxref("Navigator")}} реализуют его<code>.</code></p> +<p><code>NavigatorPlugins</code> не содержит в себе объектов другого типа, но другие интерфейсы, такие как {{domxref("Navigator")}} реализуют его<code>.</code></p> <h2 id="Свойства">Свойства</h2> @@ -34,7 +34,7 @@ translation_of: Web/API/NavigatorPlugins <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/navigatorplugins/javaenabled/index.html b/files/ru/web/api/navigatorplugins/javaenabled/index.html index 742f650c2c..5d3ce42232 100644 --- a/files/ru/web/api/navigatorplugins/javaenabled/index.html +++ b/files/ru/web/api/navigatorplugins/javaenabled/index.html @@ -25,4 +25,4 @@ translation_of: Web/API/NavigatorPlugins/javaEnabled <h2 id="Specification" name="Specification">Спецификация</h2> -<p><span class="short_text" id="result_box" lang="ru">Не является <span class="hps">частю</span> <span class="hps">какой-либо</span> <span class="hps">спецификации</span><span>.</span></span></p> +<p><span class="short_text" id="result_box" lang="ru">Не является <span class="hps">частью</span> <span class="hps">какой-либо</span> <span class="hps">спецификации</span><span>.</span></span></p> diff --git a/files/ru/web/api/navigatorplugins/plugins/index.html b/files/ru/web/api/navigatorplugins/plugins/index.html index bf9b5bebda..a30df60e7c 100644 --- a/files/ru/web/api/navigatorplugins/plugins/index.html +++ b/files/ru/web/api/navigatorplugins/plugins/index.html @@ -5,9 +5,9 @@ translation_of: Web/API/NavigatorPlugins/plugins --- <p>{{APIRef("HTML DOM")}}</p> -<p>Возвращает объект {{domxref("PluginArray")}}, список плагинов установленых в приложении.</p> +<p>Возвращает объект {{domxref("PluginArray")}}, список плагинов установленных в приложении.</p> -<div class="note">Приложения, которые должны проверять наличие плагинов у браузера должны запросить navigator.plugins или {{domxref("navigator.mimeTypes")}} с точным названием плагина, а не перебирать массив navigator.plugins сравненивая имя каждого плагина. Это изменение конфиденциальности не отключает все плагины; оно просто скрывает некоторые имена плагинов от перебора.</div> +<div class="note">Приложения, которые должны проверять наличие плагинов у браузера должны запросить navigator.plugins или {{domxref("navigator.mimeTypes")}} с точным названием плагина, а не перебирать массив navigator.plugins сравнения имя каждого плагина. Это изменение конфиденциальности не отключает все плагины; оно просто скрывает некоторые имена плагинов от перебора.</div> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/api/networkinformation/index.html b/files/ru/web/api/networkinformation/index.html index a19e2ba12a..4efcc90c13 100644 --- a/files/ru/web/api/networkinformation/index.html +++ b/files/ru/web/api/networkinformation/index.html @@ -29,7 +29,7 @@ translation_of: Web/API/NetworkInformation <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> @@ -94,8 +94,8 @@ translation_of: Web/API/NetworkInformation <h3 id="Заметки_для_Gecko"><span class="short_text" id="result_box" lang="ru"><span class="hps">Заметки для Gecko</span></span></h3> <ul> - <li>Сетевое API может быть отключено с помощьюc <code>dom.network.enabled</code>.</li> - <li>Как и в Gecko 12.0, сетевое API реализованно только для Android. Поддержка для Linux ({{ bug("712442") }}) и Windows ({{ bug("721306") }}) систем находится в процессе разработки.</li> + <li>Сетевое API может быть отключено с помощью <code>dom.network.enabled</code>.</li> + <li>Как и в Gecko 12.0, сетевое API реализовано только для Android. Поддержка для Linux ({{ bug("712442") }}) и Windows ({{ bug("721306") }}) систем находится в процессе разработки.</li> </ul> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/node/baseuri/index.html b/files/ru/web/api/node/baseuri/index.html index fad808069b..f525625033 100644 --- a/files/ru/web/api/node/baseuri/index.html +++ b/files/ru/web/api/node/baseuri/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Node/baseURI <p>Базовый URL используется для <a href="http://developers.whatwg.org/urls.html#resolving-urls">разрешения</a> относительных URLs, когда браузеру нужно получить абсолютный URL, например, когда обрабатывает элемент HTML {{HTMLElement("img")}}, <code>src</code> атрибут или XML <code><a href="/en-US/docs/XLink">xlink</a>:href</code> атрибут.</p> -<p>В самом простом случае, базовывый URL это просто местонахождение документа, но это может зависеть от многих факторов, включая элемент {{HTMLElement("base")}} в HTML и атрибут <code><a href="/en-US/docs/XML/xml:base">xml:base</a></code> в XML.</p> +<p>В самом простом случае, базовый URL это просто местонахождение документа, но это может зависеть от многих факторов, включая элемент {{HTMLElement("base")}} в HTML и атрибут <code><a href="/en-US/docs/XML/xml:base">xml:base</a></code> в XML.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -37,7 +37,7 @@ translation_of: Web/API/Node/baseURI <p>Смотрите <a href="http://developers.whatwg.org/urls.html#base-urls">Раздел базовый URLs в действующем стандарте HTML</a> для уточнения деталей.</p> -<p>Вы можите использовать <code><em>{{domxref("document")}}</em>.baseURI</code> для получения базового URL документа. Заметим, что получение базового URL для документа, может возвращать различные URLs в течение долгого времени, если {{HTMLElement("base")}} теги или местонахождение документа изменилось.</p> +<p>Вы можете использовать <code><em>{{domxref("document")}}</em>.baseURI</code> для получения базового URL документа. Заметим, что получение базового URL для документа, может возвращать различные URLs в течение долгого времени, если {{HTMLElement("base")}} теги или местонахождение документа изменилось.</p> <h3 id="Базовый_URL_элемента">Базовый URL элемента</h3> @@ -45,7 +45,7 @@ translation_of: Web/API/Node/baseURI <p>Если документ содержит атрибуты <code><a href="/en-US/docs/XML/xml:base">xml:base</a></code> (которые вы не должны использовать в документах HTML), <code><em>element</em>.baseURI</code> принимает во внимание <code>xml:base</code> атрибуты родительского элемента, когда вычисляет базовый URL. Для уточнения деталей смотрите <a href="/en-US/docs/XML/xml:base">xml:base</a>.</p> -<p>Вы можите использовать <code><em>{{domxref("element")}}</em>.baseURI</code> для получения базового URL of элемента.</p> +<p>Вы можете использовать <code><em>{{domxref("element")}}</em>.baseURI</code> для получения базового URL of элемента.</p> <h2 id="Specification" name="Specification">Спецификация</h2> diff --git a/files/ru/web/api/node/clonenode/index.html b/files/ru/web/api/node/clonenode/index.html index 5f1f77d5ed..fbb7f327e7 100644 --- a/files/ru/web/api/node/clonenode/index.html +++ b/files/ru/web/api/node/clonenode/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/Node/cloneNode <div class="note"> <p><strong>Примечание:</strong> в спецификации DOM4 (как реализовано в Gecko 13.0 {{geckoRelease(13)}}), <code>deep</code> необязательный аргумент. Если он опущен, метод действует как если бы значение <code>deep</code> было <strong><code>true</code></strong>, по умолчанию используется глубокое клонирование. Для создания поверхностного клонирования, <code>deep</code> должен быть установлен как <code>false</code>.</p> -<p>Это поведение было изменено в последней спецификации, и если опущено значение, метод будет действовать как если бы <code>deep</code> было <strong><code>false</code></strong>. Хотя, это все еще не обязательно, вы всегда должны обеспечить агрументом <code>deep</code>, для прямой и обратной совместимости. С Gecko 28.0 {{geckoRelease(28)}}), консоль предупреждает разработчиков не опускать аргумент. Начиная с Gecko 29.0 {{geckoRelease(29)}}), поверхностный клон, по умолчанию, вместо глубокого клона.</p> +<p>Это поведение было изменено в последней спецификации, и если опущено значение, метод будет действовать как если бы <code>deep</code> было <strong><code>false</code></strong>. Хотя, это все еще не обязательно, вы всегда должны обеспечить аргументом <code>deep</code>, для прямой и обратной совместимости. С Gecko 28.0 {{geckoRelease(28)}}), консоль предупреждает разработчиков не опускать аргумент. Начиная с Gecko 29.0 {{geckoRelease(29)}}), поверхностный клон, по умолчанию, вместо глубокого клона.</p> </div> <h2 id="Example" name="Example">Пример</h2> @@ -35,7 +35,7 @@ translation_of: Web/API/Node/cloneNode <h2 id="Notes" name="Notes">Примечание</h2> -<p id="not-event-listeners">Клонирование узлов копирует все атрибуты и их значения, в том числе собственных (в линию) перехватчиков. Это не копирует пререхватчики событий, добавленных используя <a href="/en-US/docs/DOM/element.addEventListener" title="/en-US/docs/DOM/element.addEventListener"><code>addEventListener()</code></a> или тех что назначены через свойства элемента (т.е <code>node.onclick = fn</code>).</p> +<p id="not-event-listeners">Клонирование узлов копирует все атрибуты и их значения, в том числе собственных (в линию) перехватчиков. Это не копирует перехватчики событий, добавленных используя <a href="/en-US/docs/DOM/element.addEventListener" title="/en-US/docs/DOM/element.addEventListener"><code>addEventListener()</code></a> или тех что назначены через свойства элемента (т.е <code>node.onclick = fn</code>).</p> <p>Дубликат узла, возвращенного <code>cloneNode()</code> не является частью документа, пока не будет добавлен в другой узел, который является частью документа, используя {{domxref("Node.appendChild()")}} или другой метод. Кроме того, не имеет родителя, пока не будет добавлен к другому узлу.</p> @@ -43,7 +43,7 @@ translation_of: Web/API/Node/cloneNode <p>Если <code>deep</code> установлено как <code>true</code>, все поддеревья (включая текст, который может быть потомком узла {{domxref("Text")}}) копируется тоже. Для пустых узлов (т.е {{HTMLElement("img")}} и {{HTMLElement("input")}} элементов) это не имеет значения установлен ли <code>deep</code> как <code>true</code> или <code>false</code>.</p> -<div class="warning"><strong>Внимание:</strong> <code>cloneNode()</code> может привести к дублированию идентфикаторов элементов в документе.</div> +<div class="warning"><strong>Внимание:</strong> <code>cloneNode()</code> может привести к дублированию идентификаторов элементов в документе.</div> <p>Если исходный узел имеет идентификатор и клон размещен в том же документе, идентификатор должен быть изменен, для того что бы быть уникальным. Имя атрибута также может нуждаться в изменении, <span id="result_box" lang="ru"><span>в зависимости</span> <span class="hps">от</span></span> будущего имени дубликата.</p> diff --git a/files/ru/web/api/node/firstchild/index.html b/files/ru/web/api/node/firstchild/index.html index b17ea4fb29..f273add41f 100644 --- a/files/ru/web/api/node/firstchild/index.html +++ b/files/ru/web/api/node/firstchild/index.html @@ -35,7 +35,7 @@ translation_of: Web/API/Node/firstChild <p>Другой #text узел вставляется между закрывающими тегами </span> и </p>.</p> -<p>Если эти пробелы удаляются из источника, #text узлы не вставляются и элемент span становится первым потомком обзаца.</p> +<p>Если эти пробелы удаляются из источника, #text узлы не вставляются и элемент span становится первым потомком абзаца.</p> <pre class="brush:html"><p id="para-01"><span>First span</span></p> diff --git a/files/ru/web/api/node/getuserdata/index.html b/files/ru/web/api/node/getuserdata/index.html index 869ef2618a..43a766ed8d 100644 --- a/files/ru/web/api/node/getuserdata/index.html +++ b/files/ru/web/api/node/getuserdata/index.html @@ -33,7 +33,7 @@ alert(document.getUserData('key')); // 15</pre> <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/node/index.html b/files/ru/web/api/node/index.html index 5e314a339c..e3b01ed097 100644 --- a/files/ru/web/api/node/index.html +++ b/files/ru/web/api/node/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/Node <dt>{{domxref("Node.localName")}} {{obsolete_inline}}{{readonlyInline}}</dt> <dd>Возвращает {{domxref("DOMString")}} представляющий локальную часть условного имени элемента. В Firefox 3.5 и более ранних версиях, свойство локального имени в верхнем регистре для HTML элементов (но не XHTML элементов). В более поздних версиях, такого не произошло, и свойство находится в нижнем регистре для HTML и XHTML {{ gecko_minversion_inline("1.9.2") }}. Хотя недавние спецификации требуют от <code>localName</code> быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.</dd> <dt>{{domxref("Node.namespaceURI")}} {{obsolete_inline}}{{readonlyInline}}</dt> - <dd>Пространство имен URI данного узла или <code>null,</code> если нет пространства имен. В Firefox 3.5 и более ранних версиях, HTML элементы не имееют пространства имен. В более поздних версиях, HTML элементы находятся в пространстве имен <code><a class="linkification-ext external" 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") }}<br> + <dd>Пространство имен URI данного узла или <code>null,</code> если нет пространства имен. В Firefox 3.5 и более ранних версиях, HTML элементы не имеют пространства имен. В более поздних версиях, HTML элементы находятся в пространстве имен <code><a class="linkification-ext external" 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") }}<br> Хотя недавние спецификации требуют <code>namespaceURI</code> быть определенным как интерфейс {{domxref("Element")}}, но браузеры основанные на Gecko все еще реализуют его как интерфейс {{domxref("Node")}}.</dd> <dt>{{domxref("Node.nextSibling")}} {{readonlyInline}}</dt> <dd>Возвращает {{domxref("Node")}} представляющий следующий узел в древе или <code>null,</code> если не такого узла.</dd> @@ -102,7 +102,7 @@ translation_of: Web/API/Node <dt>{{domxref("Node.nodeValue")}}</dt> <dd>Это {{domxref("DOMString")}}, представляющее значение объектов. Для большинства типов <code>Node</code>, возвращает <code>null</code> и любой набор операция игнорируется. Для узлов типа <code>TEXT_NODE</code> ({{domxref("Text")}} objects), <code>COMMENT_NODE</code> ({{domxref("Comment")}} objects), и <code>PROCESSING_INSTRUCTION_NODE</code> ({{domxref("ProcessingInstruction")}} objects), значение соответствует текстовым данным, содержащихся в объекте.</dd> <dt>{{domxref("Node.ownerDocument")}} {{readonlyInline}}</dt> - <dd>Возвращает {{domxref("Document")}} к которому принадлежит этот узел. Если нет связанного сним документа, возвращает <code>null</code>.</dd> + <dd>Возвращает {{domxref("Document")}} к которому принадлежит этот узел. Если нет связанного с ним документа, возвращает <code>null</code>.</dd> <dt>{{domxref("Node.parentNode")}} {{readonlyInline}}</dt> <dd>Возвращает {{domxref("Node")}} который является родителем этого узла. Если нет такого узла, по причине того, что узел находится вверху древа или не относится к древу, данное свойство вернет<code> null</code>.</dd> <dt>{{domxref("Node.parentElement")}} {{readonlyInline}}</dt> @@ -223,9 +223,9 @@ document.body.removeAll();</pre> <table class="standard-table"> <thead> <tr> - <th scope="col">Сецификация</th> + <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/node/insertbefore/index.html b/files/ru/web/api/node/insertbefore/index.html index f28d388147..1ca87864c8 100644 --- a/files/ru/web/api/node/insertbefore/index.html +++ b/files/ru/web/api/node/insertbefore/index.html @@ -20,7 +20,7 @@ translation_of: Web/API/Node/insertBefore <pre class="syntaxbox">var <em>insertedElement</em> = <em>parentElement</em>.insertBefore(<em>newElement</em>, <em>referenceElement</em>); </pre> -<p>В Mozilla Firefox, если <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">referenceElement</span> не задан или равен <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">null</span>, <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">newElement</span> вcтавляется в конец списка дочерних элеметнов. В IE, <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">referenceElement</span> равный <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">undefined</span>, сгенерируется исключение <span style="line-height: 1.5;">"</span>Invalid argument", в то время как Chrome сгенерирует исключение "Uncaught TypeError", ожидая 2 аргумента.</p> +<p>В Mozilla Firefox, если <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">referenceElement</span> не задан или равен <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">null</span>, <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">newElement</span> вставляется в конец списка дочерних элементов. В IE, <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">referenceElement</span> равный <span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">undefined</span>, сгенерируется исключение <span style="line-height: 1.5;">"</span>Invalid argument", в то время как Chrome сгенерирует исключение "Uncaught TypeError", ожидая 2 аргумента.</p> <ul> <li><code>insertedElement</code> Вставленный элемент.</li> @@ -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/isdefaultnamespace/index.html b/files/ru/web/api/node/isdefaultnamespace/index.html index 941474c135..88f139a5a0 100644 --- a/files/ru/web/api/node/isdefaultnamespace/index.html +++ b/files/ru/web/api/node/isdefaultnamespace/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/Node/isDefaultNamespace </pre> <ul> - <li><code>result</code> содержит в себе возращаемое значение <code>true</code> или <code>false</code>.</li> + <li><code>result</code> содержит в себе возвращаемое значение <code>true</code> или <code>false</code>.</li> <li><code>namespaceURI</code> это строка представляющая собой пространство имен, на которое элемент будет проверен.</li> </ul> diff --git a/files/ru/web/api/node/issamenode/index.html b/files/ru/web/api/node/issamenode/index.html index b8050e92d6..628627e458 100644 --- a/files/ru/web/api/node/issamenode/index.html +++ b/files/ru/web/api/node/issamenode/index.html @@ -34,7 +34,7 @@ node1 == node2</pre> <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/node/issupported/index.html b/files/ru/web/api/node/issupported/index.html index 0581349b24..a5fc7e0279 100644 --- a/files/ru/web/api/node/issupported/index.html +++ b/files/ru/web/api/node/issupported/index.html @@ -39,7 +39,7 @@ translation_of: Web/API/Node/isSupported <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/node/localname/index.html b/files/ru/web/api/node/localname/index.html index 2942a8fa66..da553936f9 100644 --- a/files/ru/web/api/node/localname/index.html +++ b/files/ru/web/api/node/localname/index.html @@ -64,7 +64,7 @@ translation_of: Web/API/Node/localName <p><strong>Примечание:</strong> В {{Gecko("1.9.2")}} и ранее, свойство возвращает версию локального имени в верхнем регистре для HTML элементов в HTML DOMs (в отличии от XHTML элементов в XML DOMs). В более поздних версиях, в соответствии с HTML5, свойство возвращает, в случае внутреннего хранилища DOM, в нижнем регистре для HTML элементов в HTML DOMs и XHTML элементов в XML DOMs. {{domxref("element.tagName","tagName")}} свойство продолжает возвращать в верхнем регистре для HTML элементов в HTML DOMs.</p> </div> -<p>Для узла другово <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node.nodeType">типа</a> отличного от <code>ELEMENT_NODE</code> и <code>ATTRIBUTE_NODE</code> <code>localName</code> всегда <code>null</code>.</p> +<p>Для узла другого <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node.nodeType">типа</a> отличного от <code>ELEMENT_NODE</code> и <code>ATTRIBUTE_NODE</code> <code>localName</code> всегда <code>null</code>.</p> <h2 id="Specification" name="Specification">Спецификации</h2> diff --git a/files/ru/web/api/node/namespaceuri/index.html b/files/ru/web/api/node/namespaceuri/index.html index 4e4c75e59e..f65ae369db 100644 --- a/files/ru/web/api/node/namespaceuri/index.html +++ b/files/ru/web/api/node/namespaceuri/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/Node/namespaceURI <p>Для узлов любого <a href="/en-US/docs/DOM/Node.nodeType" title="DOM/Node/NodeType/Node.nodeType">nodeType</a> кроме <code>ELEMENT_NODE</code> и <code>ATTRIBUTE_NODE</code> значение <code>namespaceURI</code> всегда <code>null</code>.</p> -<p>Вы можите создать элемент с конкретным <code>namespaceURI</code> используйте метод DOM Level 2 <a href="/en-US/docs/DOM/document.createElementNS" title="DOM/document.createElementNS">document.createElementNS</a>.</p> +<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> diff --git a/files/ru/web/api/node/nodename/index.html b/files/ru/web/api/node/nodename/index.html index 36962d050a..94cc1259b5 100644 --- a/files/ru/web/api/node/nodename/index.html +++ b/files/ru/web/api/node/nodename/index.html @@ -91,9 +91,9 @@ var text_field = document.getElementById("t"); text_field.value = div1.nodeName; </pre> -<p>В XHTML (или любых других форматов XML), значение <code>text_field</code> будет прочитано как "div". Тем не мение, в HTML, значение <code>text_field</code> будет прочитано как "DIV", потому что <code>nodeName</code> и <code>tagName</code> возвращают в верхнем регистре элементы HTML в DOM помеченом как HTML документ. Узнайте больше <a href="http://ejohn.org/blog/nodename-case-sensitivity/">деталей о чувствительности регистра nodeName в различных браузерах.</a></p> +<p>В XHTML (или любых других форматов XML), значение <code>text_field</code> будет прочитано как "div". Тем не менее, в HTML, значение <code>text_field</code> будет прочитано как "DIV", потому что <code>nodeName</code> и <code>tagName</code> возвращают в верхнем регистре элементы HTML в DOM помеченном как HTML документ. Узнайте больше <a href="http://ejohn.org/blog/nodename-case-sensitivity/">деталей о чувствительности регистра nodeName в различных браузерах.</a></p> -<p>Обратите внимание, что свойство <code><a href="/en-US/docs/DOM/element.tagName" title="DOM/element.tagName">tagName</a></code> можно было бы использовать вместо него, поскольку <code>nodeName</code> имеет тоже значение что и <code>tagName</code> для элемента. Однако имейте в виду, что <code>nodeName</code> будет возвращать <code>#text</code> для текстого узла, в то время как <code>tagName</code> будет возвращать <code>undefined</code>.</p> +<p>Обратите внимание, что свойство <code><a href="/en-US/docs/DOM/element.tagName" title="DOM/element.tagName">tagName</a></code> можно было бы использовать вместо него, поскольку <code>nodeName</code> имеет тоже значение что и <code>tagName</code> для элемента. Однако имейте в виду, что <code>nodeName</code> будет возвращать <code>#text</code> для текстово узла, в то время как <code>tagName</code> будет возвращать <code>undefined</code>.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/api/node/nodevalue/index.html b/files/ru/web/api/node/nodevalue/index.html index 62655c1875..aba6e43755 100644 --- a/files/ru/web/api/node/nodevalue/index.html +++ b/files/ru/web/api/node/nodevalue/index.html @@ -18,7 +18,7 @@ translation_of: Web/API/Node/nodeValue <h2 id="Notes" name="Notes">Примечания</h2> -<p>Для самого документа, <code>nodeValue</code> возвращает <code>null</code>. Для текста, коментария и CDATA узлов, <code>nodeValue</code> возвращает содержимое узла. Для узла атрибута, вернется значение атрибута.</p> +<p>Для самого документа, <code>nodeValue</code> возвращает <code>null</code>. Для текста, комментария и CDATA узлов, <code>nodeValue</code> возвращает содержимое узла. Для узла атрибута, вернется значение атрибута.</p> <p>Следующая таблица, показывает возвращаемые значения различных элементов:</p> diff --git a/files/ru/web/api/node/parentelement/index.html b/files/ru/web/api/node/parentelement/index.html index da4c085552..d26c852be1 100644 --- a/files/ru/web/api/node/parentelement/index.html +++ b/files/ru/web/api/node/parentelement/index.html @@ -39,7 +39,7 @@ translation_of: Web/API/Node/parentElement <th>Safari</th> </tr> <tr> - <td>Базовая подержка</td> + <td>Базовая поддержка</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoDesktop("9.0")}}</td> <td>{{CompatVersionUnknown}} (only on {{domxref("Element")}})</td> diff --git a/files/ru/web/api/node/prefix/index.html b/files/ru/web/api/node/prefix/index.html index f0db5aa76f..404f245f65 100644 --- a/files/ru/web/api/node/prefix/index.html +++ b/files/ru/web/api/node/prefix/index.html @@ -23,9 +23,9 @@ translation_of: Web/API/Node/prefix <h2 id="Notes" name="Notes">Примечание</h2> -<p>Это будет работать только когда используется соответствующий парсер пространства имен. т.е. когда документ обработан как XML mime-type. Это не будет роботать для документов HTML.</p> +<p>Это будет работать только когда используется соответствующий парсер пространства имен. т.е. когда документ обработан как XML mime-type. Это не будет работать для документов HTML.</p> -<h2 id="Specification" name="Specification">Спицификация</h2> +<h2 id="Specification" name="Specification">Спецификация</h2> <ul> <li><a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-NodeNSPrefix">Node.prefix</a> (введено в употребление в DOM2)</li> @@ -52,7 +52,7 @@ translation_of: Web/API/Node/prefix <td> <p>{{CompatVersionUnknown}}</p> - <p>До Gecko 5.0 {{geckoRelease("5.0")}}, это свойство было для чтения-записи; Специфифкация говорит что должно быть, толко для чтения и теперь это так.</p> + <p>До Gecko 5.0 {{geckoRelease("5.0")}}, это свойство было для чтения-записи; Спецификация говорит что должно быть, только для чтения и теперь это так.</p> </td> <td>{{CompatUnknown}}</td> <td>{{CompatUnknown}}</td> diff --git a/files/ru/web/api/node/previoussibling/index.html b/files/ru/web/api/node/previoussibling/index.html index 7da55e04c3..db712f76b3 100644 --- a/files/ru/web/api/node/previoussibling/index.html +++ b/files/ru/web/api/node/previoussibling/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/Node/previousSibling <div>{{APIRef("DOM")}}</div> </div> -<p>Свойство <code><strong>Node.previousSibling</strong></code> используется только для чтения, оно возвращает узел предшедствующий указанному в родительском элементе {{domxref("Node.childNodes", "childNodes")}}, или <code>null</code>, если указанный узел первый в своём родителе.</p> +<p>Свойство <code><strong>Node.previousSibling</strong></code> используется только для чтения, оно возвращает узел предшествующий указанному в родительском элементе {{domxref("Node.childNodes", "childNodes")}}, или <code>null</code>, если указанный узел первый в своём родителе.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -33,7 +33,7 @@ alert(document.getElementById("b2").previousSibling.id); // "b1" <h2 id="Notes" name="Notes">Примечание</h2> <div><p>Браузеры, основанные на Gecko, вставляют текстовые узлы в документ для представления пробелов в разметке. - Поэтому узел, полученный, например, при использовании <a href="/ru/docs/Web/API/Node/firstChild" title="Свойство Node.firstChild только для чтения, возвращающее первый потомок узла в древе или null, если узел является бездетным. Если узел это документ, он возвращает первый узел в списке своих прямых детей."><code>Node.firstChild</code></a> или <a href="/ru/docs/Web/API/Node/previousSibling" title="Свойство Node.previousSibling используется только для чтения, оно возвращает узел предшедствующий указанному в родительском элементе childNodes, или null, если указанный узел первый в своём родителе."><code>Node.previousSibling</code></a> может относиться к + Поэтому узел, полученный, например, при использовании <a href="/ru/docs/Web/API/Node/firstChild" title="Свойство Node.firstChild только для чтения, возвращающее первый потомок узла в древе или null, если узел является бездетным. Если узел это документ, он возвращает первый узел в списке своих прямых детей."><code>Node.firstChild</code></a> или <a href="/ru/docs/Web/API/Node/previousSibling" title="Свойство Node.previousSibling используется только для чтения, оно возвращает узел предшествующий указанному в родительском элементе childNodes, или null, если указанный узел первый в своём родителе."><code>Node.previousSibling</code></a> может относиться к пробелу, а не к тому элементу, который автор хотел получить.</p> <p>Смотрите <a class="new" href="/ru/docs/Web/Guide/DOM/Whitespace_in_the_DOM" rel="nofollow">Пробел в DOM</a> и diff --git a/files/ru/web/api/nodelist/index.html b/files/ru/web/api/nodelist/index.html index 3deb328f99..1e3bf20fff 100644 --- a/files/ru/web/api/nodelist/index.html +++ b/files/ru/web/api/nodelist/index.html @@ -31,13 +31,13 @@ translation_of: Web/API/NodeList <dt><code><a href="/en-US/docs/DOM/NodeList.item" title="DOM/NodeList.item">item</a> ( idx )</code></dt> <dd>Возвращает элемент из списка по его индексу или <code>null</code>, если индекс выходит за границы допустимого диапазона. Может быть использован как альтернатива <code>nodeList[idx]</code>, возвращающему <code>undefined</code> при недопустимом <code>idx.</code></dd> <dt><code>entries()</code></dt> - <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}}, позволяя перебрать все пары ключ/значение, содержащиеся в обьекте.</dd> + <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}}, позволяя перебрать все пары ключ/значение, содержащиеся в объекте.</dd> <dt><code>forEach()</code></dt> <dd>Выполняет указанную функцию один раз для каждого элемента <code>NodeList</code></dd> <dt><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">keys()</span></font></dt> - <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}}, позволяя перебрать все ключи каждой пары ключ/значение, содержащейся в обьекте.</dd> + <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}}, позволяя перебрать все ключи каждой пары ключ/значение, содержащейся в объекте.</dd> <dt><code>values()</code></dt> - <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}}, позволяя перебрать все значения каждой пары ключ/значение, содержащейся в обьекте.</dd> + <dd>Возвращает {{jsxref("Iteration_protocols","iterator")}}, позволяя перебрать все значения каждой пары ключ/значение, содержащейся в объекте.</dd> <dt> </dt> </dl> diff --git a/files/ru/web/api/notification/index.html b/files/ru/web/api/notification/index.html index ceeee1905f..0ba6b0d4d1 100644 --- a/files/ru/web/api/notification/index.html +++ b/files/ru/web/api/notification/index.html @@ -53,7 +53,7 @@ translation_of: Web/API/Notification <dt>{{domxref("Notification.lang")}} {{readonlyinline}}</dt> <dd>Код языка уведомления, указывается в опциях как параметр конструктора.</dd> <dt>{{domxref("Notification.tag")}} {{readonlyinline}}</dt> - <dd>Инденцификатор (ID) уведомления, если есть, указывается в опциях как параметр конструктора.</dd> + <dd>Идентификатор (ID) уведомления, если есть, указывается в опциях как параметр конструктора.</dd> <dt>{{domxref("Notification.icon")}} {{readonlyinline}}</dt> <dd>URL изображения, используемого в качестве иконки уведомления, указывается в опциях как параметр конструктора.</dd> <dt>{{domxref("Notification.image")}} {{readonlyinline}}</dt> diff --git a/files/ru/web/api/notifications_api/index.html b/files/ru/web/api/notifications_api/index.html index e7963229e2..5641358a8a 100644 --- a/files/ru/web/api/notifications_api/index.html +++ b/files/ru/web/api/notifications_api/index.html @@ -23,10 +23,10 @@ translation_of: Web/API/Notifications_API <p>{{AvailableInWorkers}}</p> -<p>В дополнение, спецификация Notifications API определет несколько дополнений для <a href="/en-US/docs/Web/API/ServiceWorker_API">ServiceWorker API</a>, чтобы позволить им отправлять уведомления.</p> +<p>В дополнение, спецификация Notifications API определить несколько дополнений для <a href="/en-US/docs/Web/API/ServiceWorker_API">ServiceWorker API</a>, чтобы позволить им отправлять уведомления.</p> <div class="note"> -<p><strong>Заметка</strong>: Чтобы найти больше об использовани уведомлений в вашем приложении, читайте <a href="/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API">Использование Notifications API</a>.</p> +<p><strong>Заметка</strong>: Чтобы найти больше об использовании уведомлений в вашем приложении, читайте <a href="/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API">Использование Notifications API</a>.</p> </div> <h2 id="Интерфейс_уведомлений">Интерфейс уведомлений</h2> @@ -44,7 +44,7 @@ translation_of: Web/API/Notifications_API <dt>{{domxref("ServiceWorkerGlobalScope")}}</dt> <dd>Включает обработчик {{domxref("ServiceWorkerGlobalScope.onnotificationclick")}} для вызова встроенных функций, когда был выполнен клик на уведомлении.</dd> <dt>{{domxref("NotificationEvent")}}</dt> - <dd>Особый тип объекта событий, осованный на {{domxref("ExtendableEvent")}}, который представляет уведомление, которое было вызвано.</dd> + <dd>Особый тип объекта событий, основанный на {{domxref("ExtendableEvent")}}, который представляет уведомление, которое было вызвано.</dd> </dl> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/api/page_visibility_api/index.html b/files/ru/web/api/page_visibility_api/index.html index 9fc21bfaba..7cfb82fdba 100644 --- a/files/ru/web/api/page_visibility_api/index.html +++ b/files/ru/web/api/page_visibility_api/index.html @@ -18,7 +18,7 @@ original_slug: Web/API/Видимость_страницы_API <p><strong>Notes:</strong> The Page Visibility API особенно полезно для сбережения ресурсов и улучшения производительности, позволяя странице остановить выполнение не нужных задач, когда она не видна.</p> </div> -<p>Когда пользователь сворачивает окно или переключается на другую вкладку, API отправляет {{event("visibilitychange")}} событие обработчикам, что состояние страницы изменилось. Вы можете отследить это событие и выполнить какие-то действия. Например, если ваше app проигрывает видео, его можно поставить на паузу, когда пользователь переключил вкладку (страница ушла в фон), а затем возобновить видео, когда пользователь вернулся на вкладку. Пользователь не теряет место на котором остановил просмотр, звук от видео не конфликтует с аудио новой вкладки, пользователь комфортно просмотрить оба видео.</p> +<p>Когда пользователь сворачивает окно или переключается на другую вкладку, API отправляет {{event("visibilitychange")}} событие обработчикам, что состояние страницы изменилось. Вы можете отследить это событие и выполнить какие-то действия. Например, если ваше app проигрывает видео, его можно поставить на паузу, когда пользователь переключил вкладку (страница ушла в фон), а затем возобновить видео, когда пользователь вернулся на вкладку. Пользователь не теряет место на котором остановил просмотр, звук от видео не конфликтует с аудио новой вкладки, пользователь комфортно просмотреть оба видео.</p> <p>Состояния видимости для {{HTMLElement("iframe")}} такие же как и для родительской страницы. Скрытие <code><iframe></code> используя CSS стили (такие как {{cssxref("display", "display: none;")}}) не вызывают события видимости и не изменяют состояние документа, содержащегося во фрейме.</p> @@ -27,7 +27,7 @@ original_slug: Web/API/Видимость_страницы_API <p>Давайте рассмотрим несколько способов использования Page Visibility API.</p> <ul> - <li>На сайте есть слайдер изображений с автопрокрутрой, которую можно поставить на паузу, когда пользователь перешел на другую вкладку</li> + <li>На сайте есть слайдер изображений с автопрокруткой, которую можно поставить на паузу, когда пользователь перешел на другую вкладку</li> <li>Приложение выводит информацию в реальном времени, которую можно не обновлять, пока страница не видна, тем самым уменьшить количество запросов на сервер</li> <li>Странице нужно понять, когда она должна быть отрисована, так что можно вести точный подсчет количества просмотров</li> <li>Сайту нужно выключить звук, когда устройство в режиме ожидания (пользователь нажал кнопку включения, чтобы погасить экран)</li> diff --git a/files/ru/web/api/parentnode/append/index.html b/files/ru/web/api/parentnode/append/index.html index 02d0995fc4..05552ce622 100644 --- a/files/ru/web/api/parentnode/append/index.html +++ b/files/ru/web/api/parentnode/append/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/ParentNode/append <ul> <li><code>ParentNode.append()</code> позволяет добавлять {{domxref("DOMString")}} объекты, в то время как <code>Node.appendChild()</code> принимает только {{domxref("Node")}}.</li> <li><code>ParentNode.append()</code> ничего не возвращает, в то время как <code>Node.appendChild()</code> возвращает добавленный объект {{domxref("Node")}}.</li> - <li><code>ParentNode.append()</code> позволяет добавить несколько узлов (node) или строк, в то время как <code>Node.appendChild()</code> может добавть только один узел (node).</li> + <li><code>ParentNode.append()</code> позволяет добавить несколько узлов (node) или строк, в то время как <code>Node.appendChild()</code> может добавить только один узел (node).</li> </ul> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/parentnode/childelementcount/index.html b/files/ru/web/api/parentnode/childelementcount/index.html index 6dcc3711dd..39329d5842 100644 --- a/files/ru/web/api/parentnode/childelementcount/index.html +++ b/files/ru/web/api/parentnode/childelementcount/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/ParentNode/childElementCount <p>Свойство<code><strong> Node.childElementCount</strong></code> предназначено только для чтения и возвращает число дочерних<u> элементов</u> узла.</p> </div> -<h2 id="Syntax" name="Syntax">Синтакисис</h2> +<h2 id="Syntax" name="Syntax">Синтаксис</h2> <pre class="syntaxbox">var <var>elCount</var> = Node.childElementCount; </pre> diff --git a/files/ru/web/api/parentnode/firstelementchild/index.html b/files/ru/web/api/parentnode/firstelementchild/index.html index 472732452a..9a7275fcc4 100644 --- a/files/ru/web/api/parentnode/firstelementchild/index.html +++ b/files/ru/web/api/parentnode/firstelementchild/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/ParentNode/firstElementChild --- <p>{{ APIRef("DOM") }}</p> -<p>Доступное только для чтения свойство <strong><code>ParentNode.firstElementChild</code></strong> возвращает первый дочерный элемент объекта ({{domxref("Element")}}) или <code>null</code> если дочерних элементов нет.</p> +<p>Доступное только для чтения свойство <strong><code>ParentNode.firstElementChild</code></strong> возвращает первый дочерний элемент объекта ({{domxref("Element")}}) или <code>null</code> если дочерних элементов нет.</p> <div class="note"> <p>This property was initially defined in the {{domxref("ElementTraversal")}} pure interface. As this interface contained two distinct set of properties, one aimed at {{domxref("Node")}} that have children, one at those that are children, they have been moved into two separate pure interfaces, {{domxref("ParentNode")}} and {{domxref("ChildNode")}}. In this case, <code>firstElementChild</code> moved to {{domxref("ParentNode")}}. This is a fairly technical change that shouldn't affect compatibility.</p> diff --git a/files/ru/web/api/performance/index.html b/files/ru/web/api/performance/index.html index bebba70e41..624dec94b9 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/performance/now/index.html b/files/ru/web/api/performance/now/index.html index ca825b059f..bf7359c969 100644 --- a/files/ru/web/api/performance/now/index.html +++ b/files/ru/web/api/performance/now/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Performance/now <h2 id="Краткое_описание">Краткое описание</h2> -<p>Метод <code><strong>performance.now()</strong></code> возращает временную метку {{domxref("DOMHighResTimeStamp")}}, измеряемую в миллисекундах, с точностью до одной тысячной миллисекунды.</p> +<p>Метод <code><strong>performance.now()</strong></code> возвращает временную метку {{domxref("DOMHighResTimeStamp")}}, измеряемую в миллисекундах, с точностью до одной тысячной миллисекунды.</p> <p>Значение, представленное типом {{domxref("DOMHighResTimeStamp")}}, изменяется в зависимости от контекста. Стоит иметь ввиду следующее:</p> @@ -35,7 +35,7 @@ console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.") <p>В отличие от других временны́х типов данных, доступных в JavaScript (таких как <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Date/now" title="/en-US/docs/JavaScript/Reference/Global_Objects/Date/now"><code>Date.now</code></a>), метки времени, возвращенные из <code>performance.now(),</code> не ограничены кратностью в одну миллисекунду, а представляют значение времени как число с плавающей запятой, с точностью до микросекунд.</p> -<p>Также, в противоположность <code>Date.now</code>, значение, возвращаемое из <code>performance.now(), всегда возрастает с постоянной скоростью, независимо от системного времени </code>(которое может быть установленно вручную или изменено программами наподобие NTP).</p> +<p>Также, в противоположность <code>Date.now</code>, значение, возвращаемое из <code>performance.now(), всегда возрастает с постоянной скоростью, независимо от системного времени </code>(которое может быть установлено вручную или изменено программами наподобие NTP).</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/api/pointer_events/index.html b/files/ru/web/api/pointer_events/index.html index 4108763c30..ba9bcc287e 100644 --- a/files/ru/web/api/pointer_events/index.html +++ b/files/ru/web/api/pointer_events/index.html @@ -11,17 +11,17 @@ translation_of: Web/API/Pointer_events <p><em><a href="#term_pointer">Указывающее устройство</a> – </em>это устройство, способное нацеливаться на определённый набор координат экрана. Наличие единой модели событий для указывающих устройств позволяет разработчикам проще создавать веб-сайты и приложения, а пользователям обеспечивает удобство использования вне зависимости от устройства.</p> -<p>События, необходимые для обработки общего ввода указывающих устройств, аналогичны {{domxref("MouseEvent","событиям мыши")}} (<code>mousedown</code>/<code>pointerdown</code>, <code>mousemove</code>/<code>pointermove</code>, и так далее.). Следовательно, типы событий указывающих устройтв намеренно похожи на события мыши.</p> +<p>События, необходимые для обработки общего ввода указывающих устройств, аналогичны {{domxref("MouseEvent","событиям мыши")}} (<code>mousedown</code>/<code>pointerdown</code>, <code>mousemove</code>/<code>pointermove</code>, и так далее.). Следовательно, типы событий указывающих устройств намеренно похожи на события мыши.</p> <p>В дополнение к обычным свойствам, представленным и в событиях мыши (координаты, целевой элемент, состояния кнопок и так далее) события ввода у разных указывающих устройств содержат и уникальные свойства: степень давления, форма области контакта, наклон и так далее. На самом деле, интерфейс {{domxref("PointerEvent")}} наследует все свойства {{domxref("MouseEvent")}}, облегчая так образом перенос содержимого из событий мыши в события указывающего устройства.</p> <h2 id="Терминология">Терминология</h2> <dl> - <dt>Cостояние активных кнопок</dt> + <dt>Состояние активных кнопок</dt> <dd>Ситуация, когда <em><a href="#term_pointer">указывающее устройство</a> </em>имеет ненулевое значение свойства <code>buttons</code>. Например, в случае с пером, это ситуация, когда перо физически контактирует с сенсорной поверхностью. или хотя бы одна кнопка нажата при наведении курсора.</dd> <dt>Активное указывающее устройство</dt> - <dd>Любое <em><a href="#term_pointer">указывающее</a></em> устройство ввода, которое может производить события. Указывающее устройство считается активным, пока может производить события. Например, перо, которым консулись экрана, считается активным, поскольку может производить дополнительные события при поднятии или перемещении.</dd> + <dd>Любое <em><a href="#term_pointer">указывающее</a></em> устройство ввода, которое может производить события. Указывающее устройство считается активным, пока может производить события. Например, перо, которым коснулись экрана, считается активным, поскольку может производить дополнительные события при поднятии или перемещении.</dd> <dt id="term_digitizer">Графический планшет (диджитайзер)</dt> <dd>Устройство с чувствительным покрытием, которое может фиксировать контакт. Чаще всего, это устройство с сенсорным экраном, который может распознавать касания указывающего устройства, такого как перо, стилус или палец. Некоторые сенсорные устройства могут определять приближение указателя и представлять это состояние как наведение мыши.</dd> <dt id="term_hit_test">Тест попадания (hit test)</dt> diff --git a/files/ru/web/api/pointer_lock_api/index.html b/files/ru/web/api/pointer_lock_api/index.html index 7c70e8f15b..f02441f710 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/positionoptions/index.html b/files/ru/web/api/positionoptions/index.html index 3b0653b12b..9f0fb0b77d 100644 --- a/files/ru/web/api/positionoptions/index.html +++ b/files/ru/web/api/positionoptions/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/PositionOptions <dt>{{domxref("PositionOptions.enableHighAccuracy")}}</dt> <dd>{{domxref("Boolean")}} сообщает приложению, что нужно получить максимально уточненный результат. Если <code>true</code> и устройство поддерживает расширенный поиск локации, то он будет осуществлен. Нужно учитывать, что это может привести к замедлению времени отклика или увеличению потребляемых ресурсов (например расширенному использованию GPS на мобильных устройствах). Если <code>false</code>, устройство будет искать максимально быстро и экономично, что уменьшает точность. По умолчанию: <code>false</code>.</dd> <dt>{{domxref("PositionOptions.timeout")}}</dt> - <dd>Положительное число в милисекундах, устанавливающее время, за которое устройство должно вернуть результат. По умолчанию это значение <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a></code>, что значит, <code>getCurrentPosition()</code> будет работать до тех пор пока не определит положение устройства.</dd> + <dd>Положительное число в миллисекундах, устанавливающее время, за которое устройство должно вернуть результат. По умолчанию это значение <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a></code>, что значит, <code>getCurrentPosition()</code> будет работать до тех пор пока не определит положение устройства.</dd> <dt>{{domxref("PositionOptions.maximumAge")}}</dt> <dd>Положительное число указывающее максимально возможное время для кэширования результатов поиска положения устройства. Если установить <code>0</code>, это будет означать, что устройство не будет кэшировать позицию и будет всегда возвращать результат нового поиска. Если установить <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Infinity">Infinity</a>,</code> устройство всегда будет возвращать результат первого поиска. По умолчанию: 0.</dd> </dl> diff --git a/files/ru/web/api/push_api/index.html b/files/ru/web/api/push_api/index.html index 2581e73e03..138ca1fb86 100644 --- a/files/ru/web/api/push_api/index.html +++ b/files/ru/web/api/push_api/index.html @@ -63,11 +63,11 @@ translation_of: Web/API/Push_API <h2 id="Служебный_работник_дополнения">Служебный работник дополнения</h2> -<p>Следущие дополнения к <a href="/en-US/docs/Web/API/Service_Worker_API">Service Worker API</a> описанные в спецификации Push API, представляют собой первостепенные действия для использования Push сообщений, а также для обработки push событий.</p> +<p>Следующие дополнения к <a href="/en-US/docs/Web/API/Service_Worker_API">Service Worker API</a> описанные в спецификации Push API, представляют собой первостепенные действия для использования Push сообщений, а также для обработки push событий.</p> <dl> <dt>{{domxref("ServiceWorkerRegistration.pushManager")}} {{readonlyinline}}</dt> - <dd>Возвращает ссылку на интерфейс {{domxref("PushManager")}} для манипулирования push подписок включая подписование, получение активной подписки и доступ к статусу push разрешения. Это входная точка к обмену push сообщениями.</dd> + <dd>Возвращает ссылку на интерфейс {{domxref("PushManager")}} для манипулирования push подписок включая подписывание, получение активной подписки и доступ к статусу push разрешения. Это входная точка к обмену push сообщениями.</dd> <dt>{{domxref("ServiceWorkerGlobalScope.onpush")}}</dt> <dd>Данный обработчик событий вызывается всякий раз когда происходит событие {{Event("push")}}; то есть всегда когда принимается push сообщение сервера.</dd> <dt>{{domxref("ServiceWorkerGlobalScope.onpushsubscriptionchange")}}</dt> diff --git a/files/ru/web/api/range/collapsed/index.html b/files/ru/web/api/range/collapsed/index.html index b91eed643c..8b557be944 100644 --- a/files/ru/web/api/range/collapsed/index.html +++ b/files/ru/web/api/range/collapsed/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Range/collapsed <p>{{ APIRef("DOM") }}</p> </div> -<p>Доступное только для чтения свойство <code><strong>Range.collapsed</strong></code> возвращает флаг {{domxref("Boolean")}}, который указывает, в одной ли и той же позиции находятся начало и конец диапазона {{domxref("Range")}}. Оно возвращает <code>true</code>, если начало и конец граничных точех диапазона {{domxref("Range")}} являются одной и той же точкой в DOM, <code>false</code> – в противном случае.</p> +<p>Доступное только для чтения свойство <code><strong>Range.collapsed</strong></code> возвращает флаг {{domxref("Boolean")}}, который указывает, в одной ли и той же позиции находятся начало и конец диапазона {{domxref("Range")}}. Оно возвращает <code>true</code>, если начало и конец граничных точек диапазона {{domxref("Range")}} являются одной и той же точкой в DOM, <code>false</code> – в противном случае.</p> <p>Свёрнутый диапазон {{domxref("Range")}} является пустым, не имеет содержимого, определяет единую точку в древе DOM. Для того, чтобы свернуть диапазон, смотрите метод {{domxref("Range.collapse()")}}.</p> diff --git a/files/ru/web/api/range/getboundingclientrect/index.html b/files/ru/web/api/range/getboundingclientrect/index.html index 9948c1d820..897e93253e 100644 --- a/files/ru/web/api/range/getboundingclientrect/index.html +++ b/files/ru/web/api/range/getboundingclientrect/index.html @@ -4,7 +4,7 @@ slug: Web/API/Range/getBoundingClientRect translation_of: Web/API/Range/getBoundingClientRect --- <p>{{ ApiRef("Range") }}{{SeeCompatTable}}</p> -<p>Метод <strong><code>Range.getBoundingClientRect()</code></strong> возвращает объект {{ domxref("ClientRect") }}, соотвествующий фрагменту документа, на основе которого создан объект Range; это прямоугольник, непосредственно обрамляющий объединение прямоугольников для каждого элемента фрагмента документа.</p> +<p>Метод <strong><code>Range.getBoundingClientRect()</code></strong> возвращает объект {{ domxref("ClientRect") }}, соответствующий фрагменту документа, на основе которого создан объект Range; это прямоугольник, непосредственно обрамляющий объединение прямоугольников для каждого элемента фрагмента документа.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> <pre class="syntaxbox"><em>boundingRect</em> = <em>range</em>.getBoundingClientRect() </pre> diff --git a/files/ru/web/api/range/index.html b/files/ru/web/api/range/index.html index b46091e373..a54c8848b0 100644 --- a/files/ru/web/api/range/index.html +++ b/files/ru/web/api/range/index.html @@ -63,7 +63,7 @@ translation_of: Web/API/Range <dt>{{ domxref("Range.selectNodeContents()")}}</dt> <dd>Выбирает <code>Range</code> содержащий контент {{ domxref("Node") }}.</dd> <dt>{{ domxref("Range.collapse()")}}</dt> - <dd>Схлопавыет <code>Range</code> до одной из граничных точек.</dd> + <dd>Схлопывает <code>Range</code> до одной из граничных точек.</dd> <dt>{{ domxref("Range.cloneContents()")}}</dt> <dd>Возвращает {{ domxref("DocumentFragment") }} содержащийся в узле <code>Range</code>.</dd> <dt>{{ domxref("Range.deleteContents()")}}</dt> diff --git a/files/ru/web/api/range/surroundcontents/index.html b/files/ru/web/api/range/surroundcontents/index.html index fd9e2d515a..5108735c19 100644 --- a/files/ru/web/api/range/surroundcontents/index.html +++ b/files/ru/web/api/range/surroundcontents/index.html @@ -7,9 +7,9 @@ translation_of: Web/API/Range/surroundContents <p>Метод <strong><code>Range.surroundContents()</code></strong> перемещает содержимое {{ domxref("Range") }} в новый элемент, который расположится в начале указанного диапазона.</p> -<p>Этот медод приблизительно эквивалентен коду <code>newNode.appendChild(<a href="/en/DOM/range.extractContents" title="en/DOM/range.extractContents">range.extractContents()</a>); <a href="/en-US/docs/DOM/range.insertNode" title="/en-US/docs/DOM/range.insertNode">range.insertNode</a>(newNode)</code>. После его работы крайние точки диапазона будут включать в себя <code>newNode</code>.</p> +<p>Этот метод приблизительно эквивалентен коду <code>newNode.appendChild(<a href="/en/DOM/range.extractContents" title="en/DOM/range.extractContents">range.extractContents()</a>); <a href="/en-US/docs/DOM/range.insertNode" title="/en-US/docs/DOM/range.insertNode">range.insertNode</a>(newNode)</code>. После его работы крайние точки диапазона будут включать в себя <code>newNode</code>.</p> -<p>Если {{ domxref("Range") }} разделяет любой не <a href="https://developer.mozilla.org/en-US/docs/Web/API/Text">текстовый</a> элемент хотя бы одной точкой, произойдет исключение. В отличие от альтернативы выше, если в диапазоне есть частично выделенные элементы, они не будут клонированы, а вместо этого произовдет ошибка.</p> +<p>Если {{ domxref("Range") }} разделяет любой не <a href="https://developer.mozilla.org/en-US/docs/Web/API/Text">текстовый</a> элемент хотя бы одной точкой, произойдет исключение. В отличие от альтернативы выше, если в диапазоне есть частично выделенные элементы, они не будут клонированы, а вместо этого производит ошибка.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/api/request/index.html b/files/ru/web/api/request/index.html index 500b80cf55..a17540856e 100644 --- a/files/ru/web/api/request/index.html +++ b/files/ru/web/api/request/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/Request <dt>{{domxref("Request.cache")}} {{readonlyInline}}</dt> <dd>Содержит кэшированное состояние запроса (напр., <code>default</code>, <code>reload</code>, <code>no-cache</code>).</dd> <dt>{{domxref("Request.context")}} {{readonlyInline}} {{deprecated_inline()}}</dt> - <dd>Содержит контекст запроса (напр., <code>audio</code>, <code>image</code>, <code>iframe</code>, итд.)</dd> + <dd>Содержит контекст запроса (напр., <code>audio</code>, <code>image</code>, <code>iframe</code>, и т.д..)</dd> <dt>{{domxref("Request.credentials")}} {{readonlyInline}}</dt> <dd>Содержит данные идентификации запроса (напр., <code>"omit"</code>, <code>"same-origin"</code>, <code>"include"</code>). Значение по умолчанию: <code>"same-origin"</code>.</dd> <dt>{{domxref("Request.destination")}} {{ReadOnlyInline}}</dt> @@ -120,7 +120,7 @@ const bodyUsed = request.bodyUsed; </pre> <div class="note"> -<p><strong>Примечание:</strong> Типом тела может быть только {{domxref("Blob")}}, {{domxref("BufferSource")}}, {{domxref("FormData")}}, {{domxref("URLSearchParams")}}, {{domxref("USVString")}} или {{domxref("ReadableStream")}} поэтому, для добавления объекта JSON в полезную нагрузку вам необходимо структуировать этот объект.</p> +<p><strong>Примечание:</strong> Типом тела может быть только {{domxref("Blob")}}, {{domxref("BufferSource")}}, {{domxref("FormData")}}, {{domxref("URLSearchParams")}}, {{domxref("USVString")}} или {{domxref("ReadableStream")}} поэтому, для добавления объекта JSON в полезную нагрузку вам необходимо структурировать этот объект.</p> </div> diff --git a/files/ru/web/api/request/mode/index.html b/files/ru/web/api/request/mode/index.html index 335261f175..e89ea1e322 100644 --- a/files/ru/web/api/request/mode/index.html +++ b/files/ru/web/api/request/mode/index.html @@ -20,7 +20,7 @@ translation_of: Web/API/Request/mode <p>Значения <code>RequestMode</code>.</p> </dt> <dd> - <p>Соотвествующие доступные значения:</p> + <p>Соответствующие доступные значения:</p> <ul> <li><code>same-origin</code> — Если запрос сделан к другому origin в этом режиме, то это вызовет ошибку. Можно использовать этот режим, чтобы проверить, что запрос всегда будет обращён к тому же origin, что и текущий.</li> @@ -37,7 +37,7 @@ translation_of: Web/API/Request/mode <p>Например, когда объект <code>Request</code> создаётся с помощью конструктора {{domxref("Request.Request")}}, свойство <code>mode</code> этого <code>Request</code> будет иметь значение <code>cors</code>.</p> -<p>Однако, запросы созданные не конструктором {{domxref("Request.Request")}}, будут использовать режим <code>no-cors</code>. Например, для встроенных ресурсов, где запрос инициируется из разметки, если отсуствует атрибут <code><a href="/en-US/docs/Web/HTML/CORS_settings_attributes">crossorigin</a></code>, то запрос в большинстве случаев будет выполнен в режиме <code>no-cors</code> — то есть для элементов {{HTMLElement("link")}} или {{HTMLElement("script")}} (кроме использования с модулями), или {{HTMLElement("img")}}, {{HTMLElement("audio")}}, {{HTMLElement("video")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, или {{HTMLElement("iframe")}}.</p> +<p>Однако, запросы созданные не конструктором {{domxref("Request.Request")}}, будут использовать режим <code>no-cors</code>. Например, для встроенных ресурсов, где запрос инициируется из разметки, если отсутствует атрибут <code><a href="/en-US/docs/Web/HTML/CORS_settings_attributes">crossorigin</a></code>, то запрос в большинстве случаев будет выполнен в режиме <code>no-cors</code> — то есть для элементов {{HTMLElement("link")}} или {{HTMLElement("script")}} (кроме использования с модулями), или {{HTMLElement("img")}}, {{HTMLElement("audio")}}, {{HTMLElement("video")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, или {{HTMLElement("iframe")}}.</p> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/response/index.html b/files/ru/web/api/response/index.html index 25726a3f0a..30f50ac1a0 100644 --- a/files/ru/web/api/response/index.html +++ b/files/ru/web/api/response/index.html @@ -29,7 +29,7 @@ translation_of: Web/API/Response <dt>{{domxref("Response.headers")}} {{readonlyinline}}</dt> <dd>Объект {{domxref("Headers")}}, который описывает заголовок ответа.</dd> <dt>{{domxref("Response.ok")}} {{readonlyinline}}</dt> - <dd>Булевское значение, которое указывает, выполнился ли запрос успешно или нет (то есть находится ли код ответа в диапозоне <code>200</code>–<code>299</code>).</dd> + <dd>Булевское значение, которое указывает, выполнился ли запрос успешно или нет (то есть находится ли код ответа в диапазоне <code>200</code>–<code>299</code>).</dd> <dt>{{domxref("Response.redirected")}} {{ReadOnlyInline}}</dt> <dd>Указывает, является ли результат запроса перенаправлением.</dd> <dt>{{domxref("Response.status")}} {{readonlyinline}}</dt> diff --git a/files/ru/web/api/response/response/index.html b/files/ru/web/api/response/response/index.html index 6a6b37cfe1..ff10437ff2 100644 --- a/files/ru/web/api/response/response/index.html +++ b/files/ru/web/api/response/response/index.html @@ -21,7 +21,7 @@ translation_of: Web/API/Response/Response <dl> <dt><em>body</em> {{optional_inline}}</dt> - <dd>Объект, который определяет тело запроса. Может быть <code>null</code> (является значением по-умолчанию), или: + <dd>Объект, который определяет тело запроса. Может быть <code>null</code> (является значением по умолчанию), или: <ul> <li>{{domxref("Blob")}}</li> <li>{{domxref("BufferSource")}}</li> diff --git a/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html b/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html index d1eaadc337..227387085a 100644 --- a/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html +++ b/files/ru/web/api/rtcpeerconnection/cantrickleicecandidates/index.html @@ -21,10 +21,10 @@ translation_of: Web/API/RTCPeerConnection/canTrickleIceCandidates <h3 id="Значение">Значение</h3> -<p>Тип {{jsxref("Boolean")}} содержит <code>true</code> , если удаленный пир может принимать просачивающие ICE кандидаты, и <code>false</code> , если не может. Если удаленный пир еще не инициализирован, свойство возвращает <code>null</code>.</p> +<p>Тип {{jsxref("Boolean")}} содержит <code>true</code> , если удаленный пир может принимать просвечивающие ICE кандидаты, и <code>false</code> , если не может. Если удаленный пир еще не инициализирован, свойство возвращает <code>null</code>.</p> <div class="note"> -<p><strong>Примечание :</strong> Значение свойсва инициализируется после того, как локальный пир вызовет метод {{domxref("RTCPeerConnection.setRemoteDescription()")}}; Возвращаемый объект описания используется агентом ICE для определения возможности удаленного пира поддерживать просачивающихся ICE кандидатов.</p> +<p><strong>Примечание :</strong> Значение свойства инициализируется после того, как локальный пир вызовет метод {{domxref("RTCPeerConnection.setRemoteDescription()")}}; Возвращаемый объект описания используется агентом ICE для определения возможности удаленного пира поддерживать просачивающихся ICE кандидатов.</p> </div> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html b/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html index 52aa9ccd2c..a894369844 100644 --- a/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html +++ b/files/ru/web/api/rtcpeerconnection/currentremotedescription/index.html @@ -19,7 +19,7 @@ translation_of: Web/API/RTCPeerConnection/currentRemoteDescription <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Текущий объект описания, представляющий удаленную сторону соединения, если она присутстует. Если ни один объект описания не установлен, значением будет <code>null</code>.</p> +<p>Текущий объект описания, представляющий удаленную сторону соединения, если она присутствует. Если ни один объект описания не установлен, значением будет <code>null</code>.</p> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html b/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html index f74735a97e..8bd86fa3e5 100644 --- a/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html +++ b/files/ru/web/api/rtcpeerconnection/icecandidate_event/index.html @@ -34,7 +34,7 @@ translation_of: Web/API/RTCPeerConnection/icecandidate_event <h3 id="Делимся_Sharing_новым_кандидатом">Делимся (Sharing) новым кандидатом</h3> -<p>В основном события <code>icecandidate</code> происходят, чтобы указать, что новый кандидат был построен (gathered). Этого кондидата нужно доставить удаленному клиенту (remote peer) через канал сигнализации (signaling channel), которым управляет ваш код.</p> +<p>В основном события <code>icecandidate</code> происходят, чтобы указать, что новый кандидат был построен (gathered). Этого кандидата нужно доставить удаленному клиенту (remote peer) через канал сигнализации (signaling channel), которым управляет ваш код.</p> <pre class="brush: js notranslate">rtcPeerConnection.onicecandidate = (event) => { if (event.candidate) { diff --git a/files/ru/web/api/rtcpeerconnection/index.html b/files/ru/web/api/rtcpeerconnection/index.html index 3eae7b0faa..85d37aeeb1 100644 --- a/files/ru/web/api/rtcpeerconnection/index.html +++ b/files/ru/web/api/rtcpeerconnection/index.html @@ -26,13 +26,13 @@ translation_of: Web/API/RTCPeerConnection <dl> <dt>{{domxref("RTCPeerConnection.connectionstatechange_event", "connectionstatechange")}}</dt> - <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда общий статус объекта сосединения <code>RTCPeerConnection</code> изменился.<br> + <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда общий статус объекта соединения <code>RTCPeerConnection</code> изменился.<br> Так же, доступно через свойство установки обработчика события {{domxref("RTCPeerConnection.onconnectionstatechange", "onconnectionstatechange")}}.</dd> <dt>{{domxref("RTCPeerConnection.datachannel_event", "datachannel")}}</dt> <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда удаленный пир (участник соединения) добавляет объект данных {{domxref("RTCDataChannel")}} в текущее соединение.<br> Так же, доступно через свойство установки обработчика события {{domxref("RTCPeerConnection.ondatachannel", "ondatachannel")}}.</dd> <dt>{{domxref("RTCPeerConnection.icecandidate_event", "icecandidate")}}</dt> - <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда специальный объект ICE кандидата (<a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate">RTCIceCandidate</a>) сгенерирован <code>RTCPeerConnection</code> и готов для передачи удаленному пиру по каналу сигнализации.Сам сгененрированный объект кандидата передается в параметр вызванного обработчика. <br> + <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда специальный объект ICE кандидата (<a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate">RTCIceCandidate</a>) сгенерирован <code>RTCPeerConnection</code> и готов для передачи удаленному пиру по каналу сигнализации.Сам сгенерированный объект кандидата передается в параметр вызванного обработчика. <br> Так же, доступно через свойство установки обработчика события {{domxref("RTCPeerConnection.onicecandidate", "onicecandidate")}}.</dd> <dt>{{domxref("RTCPeerConnection.icecandidateerror_event", "icecandidateerror")}}</dt> <dd>Событие типа ошибки {{domxref("RTCPeerConnectionIceErrorEvent")}} , возникает на объекте соединения при генерации ICE кандидата (<a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate">RTCIceCandidate</a>), если при этом возникла ошибка. Свойства объекта ошибки, возвращаемого в обработчик, описывают подробности ошибки.<br> @@ -41,7 +41,7 @@ translation_of: Web/API/RTCPeerConnection <dd>Событие объекта <code>RTCPeerConnection</code> возникает при изменении статуса ICE соединения. К примеру, <a href="https://developer.mozilla.org/en-US/docs/Glossary/ICE">ICE</a> соединение разорвано.<br> Так же, доступно через свойство установки обработчика события{{domxref("RTCPeerConnection.oniceconnectionstatechange", "oniceconnectionstatechange")}} .</dd> <dt>{{domxref("RTCPeerConnection.icegatheringstatechange_event", "icegatheringstatechange")}}</dt> - <dd>Событие объекта <code>RTCPeerConnection,</code> возникает, когда статус сборки, представленный классом {{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}, изменяется. Это указывает на то, что : согласование соединения ICE еще не началось (статус равен значению "<code>new</code>"); согласование соединения ICE началось (статус равен значеню "<code>gathering</code>"); согласование ICE соединения завершено (статус равен значению "<code>complete</code>").<br> + <dd>Событие объекта <code>RTCPeerConnection,</code> возникает, когда статус сборки, представленный классом {{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}, изменяется. Это указывает на то, что : согласование соединения ICE еще не началось (статус равен значению "<code>new</code>"); согласование соединения ICE началось (статус равен значению "<code>gathering</code>"); согласование ICE соединения завершено (статус равен значению "<code>complete</code>").<br> Так же, доступно через свойство установки обработчика {{domxref("RTCPeerConnection.onicegatheringstatechange", "onicegatheringstatechange")}} .</dd> <dt>{{domxref("RTCPeerConnection.isolationchange_event", "isolationchange")}}</dt> <dd>Событие объекта <code>RTCPeerConnection</code> возникает, когда свойство {{domxref("MediaStreamTrack.isolated", "isolated")}} на одном из объектов {{domxref("MediaStreamTrack")}} , связанного с соединением изменяет свое значение. Объект трека является изолированным {{domxref("MediaStreamTrack.isolated", "isolated")}}, если его содержимое не может быть доступно содержащему его документу, по причине невозможности аутентификации, или объект трека прибыл не из источника происхождения страницы.<br> @@ -148,7 +148,7 @@ translation_of: Web/API/RTCPeerConnection </tr> <tr> <td><code>"disconnected"</code></td> - <td>Проверяет, что компоненты все еще подключены, хотябы для одного объекта {{domxref("RTCPeerConnection")}}. Это менее строгий тест, чем <code>"failed"</code>, и он может периодически запускаться и разрешаться спонтанно в менее надежных сетях, или во время временного отключения. Когда проблема исчезнет, соединение может вернуться в состояние <code>"connected".</code> </td> + <td>Проверяет, что компоненты все еще подключены, хотя бы для одного объекта {{domxref("RTCPeerConnection")}}. Это менее строгий тест, чем <code>"failed"</code>, и он может периодически запускаться и разрешаться спонтанно в менее надежных сетях, или во время временного отключения. Когда проблема исчезнет, соединение может вернуться в состояние <code>"connected".</code> </td> </tr> <tr> <td><code>"closed"</code></td> @@ -159,7 +159,7 @@ translation_of: Web/API/RTCPeerConnection <h3 id="Перечисление_RTCIceGatheringState">Перечисление RTCIceGatheringState</h3> -<p>Перечисление <code>RTCIceGatheringState</code> определяет строковые константы, которые описывают текущий статус ICE сборки, возвращаемый свойством {{domxref("RTCPeerConnection.iceGatheringState")}}. Для определения изменнения этого свойства можно подписаться на событие {{event("icegatheringstatechange")}}.</p> +<p>Перечисление <code>RTCIceGatheringState</code> определяет строковые константы, которые описывают текущий статус ICE сборки, возвращаемый свойством {{domxref("RTCPeerConnection.iceGatheringState")}}. Для определения изменения этого свойства можно подписаться на событие {{event("icegatheringstatechange")}}.</p> <table class="standard-table"> <thead> diff --git a/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html b/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html index 9bf73d45a5..072496379e 100644 --- a/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html +++ b/files/ru/web/api/rtcpeerconnection/rtcpeerconnection/index.html @@ -52,7 +52,7 @@ translation_of: Web/API/RTCPeerConnection/RTCPeerConnection <h2 id="Смотри_так_же">Смотри так же</h2> <ul> - <li><a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Сигнализирование и видеовызов</a></li> + <li><a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Сигнализированные и видеовызов</a></li> <li><a href="/en-US/docs/Web/API/WebRTC_API/Architecture">Обзор архитектуры WebRTC</a></li> <li><a href="/en-US/docs/Web/API/WebRTC_API/Session_lifetime">Жизненный цикл сессии WebRTC</a></li> <li>{{domxref("RTCPeerConnection")}}</li> diff --git a/files/ru/web/api/screen_capture_api/using_screen_capture/index.html b/files/ru/web/api/screen_capture_api/using_screen_capture/index.html index 43d7ace93d..d9d89652c2 100644 --- a/files/ru/web/api/screen_capture_api/using_screen_capture/index.html +++ b/files/ru/web/api/screen_capture_api/using_screen_capture/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture --- <p>{{DefaultAPISidebar("Screen Capture API")}}</p> -<p><span class="seoSummary">В этой статье изучается использование програмного интерфейса Screen Capture и его метода {{domxref("MediaDevices.getDisplayMedia", "getDisplayMedia()")}} для захвата потока экрана (всего или его части), его записи или передачи через сессию <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> .</span></p> +<p><span class="seoSummary">В этой статье изучается использование программного интерфейса Screen Capture и его метода {{domxref("MediaDevices.getDisplayMedia", "getDisplayMedia()")}} для захвата потока экрана (всего или его части), его записи или передачи через сессию <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC</a> .</span></p> <div class="blockIndicator note"> <p><strong>Примечание :</strong> Полезно отметить, что последние версии библиотеки <a href="https://github.com/webrtcHacks/adapter">WebRTC adapter.js</a> включают реализацию метода <code>getDisplayMedia()</code> для обмена изображениями с экрана на браузерах, которые его поддерживают, но еще не реализуют текущий стандартный интерфейс, который реализован в последних версиях Chrome, Edge, и Firefox.</p> @@ -71,7 +71,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture <p><strong>Примечание :</strong> В отличие от большинства применений ограничений в медиа-API, здесь он используется исключительно для определения конфигурации потока, а не для фильтрации доступных вариантов.</p> </div> -<p>Существуют три новых ограничения, добавленныех в объект типа <code>MediaTrackConstraints</code> (а так же в {{domxref("MediaTrackSupportedConstraints")}} и {{domxref("MediaTrackSettings")}}) для конфигурирования потока захвата экрана:</p> +<p>Существуют три новых ограничения, добавленные в объект типа <code>MediaTrackConstraints</code> (а так же в {{domxref("MediaTrackSupportedConstraints")}} и {{domxref("MediaTrackSettings")}}) для конфигурирования потока захвата экрана:</p> <dl> <dt>{{domxref("MediaTrackConstraints.cursor", "cursor")}}</dt> @@ -84,7 +84,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture <dt><code>motion</code> </dt> <dd>(в движении) Курсор должен быть видимым при его движении, и (на усмотрение {{Glossary("user agent")}} ) на короткое время до и после движения. В покое курсор удаляется из потока.</dd> <dt><code>never</code> </dt> - <dd> (никогда) Курсор не появляетсяв результирующем потоке..</dd> + <dd> (никогда) Курсор не появляется в результирующем потоке..</dd> </dl> </dd> <dt>{{domxref("MediaTrackConstraints.logicalSurface", "logicalSurface")}}</dt> @@ -109,7 +109,7 @@ translation_of: Web/API/Screen_Capture_API/Using_Screen_Capture <p>Метод {{domxref("MediaDevices.getDisplayMedia", "getDisplayMedia()")}} в основном используется для захвата видео пользовательского экрана или его части. Однако {{Glossary("user agent", "user agents")}} может позволить захватить аудио вместе с видео контентом. Источником аудио может быть выбранное окно, вся аудио система компьютера, или пользовательский микрофон (или их комбинация) .</p> -<p>До запуска скрипта, который будет запрашивать возможность обмена аудио, проверте реализацию {{SectionOnPage("/en-US/docs/Web/API/MediaDevices/getDisplayMedia", "Browser compatibility", "code")}} , для понимания браузерной совместимости с функциональностью захвата аудио в поток захвата экрана.</p> +<p>До запуска скрипта, который будет запрашивать возможность обмена аудио, проверьте реализацию {{SectionOnPage("/en-US/docs/Web/API/MediaDevices/getDisplayMedia", "Browser compatibility", "code")}} , для понимания браузерной совместимости с функциональностью захвата аудио в поток захвата экрана.</p> <p>Чтобы запросить доступ к экрану с включенным звуком, параметры ниже передаются в метод <code>getDisplayMedia()</code>:</p> diff --git a/files/ru/web/api/selection/tostring/index.html b/files/ru/web/api/selection/tostring/index.html index 9726f381b9..63899ce9d7 100644 --- a/files/ru/web/api/selection/tostring/index.html +++ b/files/ru/web/api/selection/tostring/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/Selection/toString <h2 id="Description" name="Description">Description</h2> -<p>Этото метод возвращает выделенный текст.</p> +<p>Этот метод возвращает выделенный текст.</p> <p>В <a href="en/JavaScript">JavaScript</a>, этот метод вызывается автоматически, когда функция, которой он передается, требует строку:</p> diff --git a/files/ru/web/api/server-sent_events/using_server-sent_events/index.html b/files/ru/web/api/server-sent_events/using_server-sent_events/index.html index 8aeb349c50..dc94c72a33 100644 --- a/files/ru/web/api/server-sent_events/using_server-sent_events/index.html +++ b/files/ru/web/api/server-sent_events/using_server-sent_events/index.html @@ -106,7 +106,7 @@ while (1) { <div class="note"><strong>Примечание:</strong> Строка комментария может использоваться, чтобы предотвратить тайм-аут соединений; сервер может периодически отправлять комментарий, чтобы поддерживать соединение.</div> -<p>Каждое сообщение содержит одну или более строчек текста, которые перечиляют поля этого сообщения. Каждое имеет свое имя, за которым следует двоеточие, после которого идут текстовые данные для значения этого поля. </p> +<p>Каждое сообщение содержит одну или более строчек текста, которые перечисляют поля этого сообщения. Каждое имеет свое имя, за которым следует двоеточие, после которого идут текстовые данные для значения этого поля. </p> <h3 id="Поля">Поля</h3> @@ -123,7 +123,7 @@ while (1) { <dd>Время переподключения, используемое при попытке отправить событие. Это должно быть целое число, указывающее время переподключения в миллисекундах. Если указано нецелое значение, поле игнорируется.</dd> </dl> -<p>Другия названия полей игнорируются.</p> +<p>Другие названия полей игнорируются.</p> <div class="note"><strong>Примечание:</strong> If a line doesn't contain a colon, the entire line is treated as the field name with an empty value string.</div> diff --git a/files/ru/web/api/service_worker_api/index.html b/files/ru/web/api/service_worker_api/index.html index be8e729086..5b4bdf1e13 100644 --- a/files/ru/web/api/service_worker_api/index.html +++ b/files/ru/web/api/service_worker_api/index.html @@ -25,14 +25,14 @@ translation_of: Web/API/Service_Worker_API <p>Service worker запускается в контексте worker'ов, поэтому он не имеет доступа к DOM и работает в потоке отдельном от основного потока JavaScript, управляющего вашим приложением, а следовательно — не блокирует его. Он призван быть полностью асинхронным; как следствие, синхронные API, такие как <a href="/en-US/docs/Web/API/XMLHttpRequest">XHR</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage">localStorage</a>, в Service Worker'е использовать нельзя.</p> -<p>Из соображений безопасности service worker'ы работают только по HTTPS (либо, в целях разработки, на <code>localhost</code>). Давать сторонним людям возможность измененять сетевые запросы крайне опасно. Кроме того, Service Worker API недоступен в <a href="https://support.mozilla.org/ru/kb/privatnyj-prosmotr-prosmotr-veb-stranic-bez-sohran">режиме приватного просмотра</a> браузера Firefox.</p> +<p>Из соображений безопасности service worker'ы работают только по HTTPS (либо, в целях разработки, на <code>localhost</code>). Давать сторонним людям возможность изменять сетевые запросы крайне опасно. Кроме того, Service Worker API недоступен в <a href="https://support.mozilla.org/ru/kb/privatnyj-prosmotr-prosmotr-veb-stranic-bez-sohran">режиме приватного просмотра</a> браузера Firefox.</p> <div class="note"> <p><strong>Заметка</strong>: Service Worker'ы выигрывают у предыдущих решений, таких как <a href="http://alistapart.com/article/application-cache-is-a-douchebag">AppCache,</a> потому что не делают предположений о том, что вы пытаетесь сделать, и не ломаются, в случаях если их предположения не оказываются верными; вы имеете полный контроль над всем.</p> </div> <div class="note"> -<p><strong>Заметка</strong>: Service worker'ы широко используют промисы (<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promises</a>). В общем случае они будут ждать ответа, после которого вернутся с успешным или неудачным завершением. Архитектура на промисах для этого подоходит идеально.</p> +<p><strong>Заметка</strong>: Service worker'ы широко используют промисы (<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promises</a>). В общем случае они будут ждать ответа, после которого вернутся с успешным или неудачным завершением. Архитектура на промисах для этого подходит идеально.</p> </div> <h3 id="Регистрация">Регистрация</h3> @@ -85,7 +85,7 @@ translation_of: Web/API/Service_Worker_API <li>Улучшение производительности, с помощью предварительной загрузки ресурсов, которые понадобятся пользователю в ближайшем будущем, например несколько последующих картинок в фотоальбоме.</li> </ul> -<p>В будущем service worker'ы будут способны на многие другие полезные вещи для веб-платформ, приближая их к нативным приложеням. Примечательно, что другие спецификации могут и будут использовать контекст service worker, к примеру для:</p> +<p>В будущем service worker'ы будут способны на многие другие полезные вещи для веб-платформ, приближая их к нативным приложениям. Примечательно, что другие спецификации могут и будут использовать контекст service worker, к примеру для:</p> <ul> <li><a href="https://github.com/slightlyoff/BackgroundSync">Фоновой синхронизации</a>: запускать service worker даже когда ни одного пользователя нет на сайте, чтобы обновить кеш.</li> @@ -100,27 +100,27 @@ translation_of: Web/API/Service_Worker_API <dt>{{domxref("Cache") }}</dt> <dd>Представляет хранилище для объектов {{domxref("Request")}} / {{domxref("Response")}}, которые кешируются, как часть жизненного цикла {{domxref("ServiceWorker")}}.</dd> <dt>{{domxref("CacheStorage") }}</dt> - <dd>Представляет хранилище для объектов {{domxref("Cache")}}. Он создает главную директорию для всех именовынных кешей, к которым {{domxref("ServiceWorker")}} имеет доступ, и поддерживает отображение строковых имен соответствующего объекта {{domxref("Cache")}}.</dd> + <dd>Представляет хранилище для объектов {{domxref("Cache")}}. Он создает главную директорию для всех именованных кешей, к которым {{domxref("ServiceWorker")}} имеет доступ, и поддерживает отображение строковых имен соответствующего объекта {{domxref("Cache")}}.</dd> <dt>{{domxref("Client") }}</dt> <dd>Представляет область видимости клиента service worker. Это либо документ в контексте браузера, либо {{domxref("SharedWorker")}}, который контролируется активным worker'ом.</dd> <dt>{{domxref("Clients") }}</dt> - <dd>Представлет контейнер для списка объектов {{domxref("Client")}}; основной способ получить доступ к клиентам активного service worker'а текущего источника.</dd> + <dd>Представляет контейнер для списка объектов {{domxref("Client")}}; основной способ получить доступ к клиентам активного service worker'а текущего источника.</dd> <dt>{{domxref("ExtendableEvent") }}</dt> <dd>Расширяет жизненный цикл событий <code>install</code> и <code>activate</code>, отправляемых {{domxref("ServiceWorkerGlobalScope")}} как часть жизненного цикла service worker'а. Это гарантирует, что любое функциональное событие (как {{domxref("FetchEvent")}}) не отправится в {{domxref("ServiceWorker")}}, пока он не обновит шаблон данных, удалив устаревшие данные кеша.</dd> <dt>{{domxref("ExtendableMessageEvent") }}</dt> - <dd>Обект событий {{event("message_(ServiceWorker)","message")}} запускается в service worker (когда канал сообщений в {{domxref("ServiceWorkerGlobalScope")}} получил новое сообщение из другого контекста) — расширяет жизненный цикл таких событий.</dd> + <dd>Объект событий {{event("message_(ServiceWorker)","message")}} запускается в service worker (когда канал сообщений в {{domxref("ServiceWorkerGlobalScope")}} получил новое сообщение из другого контекста) — расширяет жизненный цикл таких событий.</dd> <dt>{{domxref("FetchEvent") }}</dt> <dd>Параметр, передающийся в обработчик {{domxref("ServiceWorkerGlobalScope.onfetch")}}, <code>FetchEvent</code> представляет собой событие получения, которое отправляется в {{domxref("ServiceWorkerGlobalScope")}} {{domxref("ServiceWorker")}}. Он содержит информацию о запросе и результирующем ответе и обеспечивает {{domxref("FetchEvent.respondWith", "FetchEvent.respondWith()")}} метод, который позволяет отправить произвольный ответ обратно контролируемой странице.</dd> <dt>{{domxref("InstallEvent") }}</dt> - <dd>Параметр, передющийся в {{domxref("ServiceWorkerGlobalScope.oninstall", "oninstall")}} обработчик, <code>InstallEvent</code> представляет сообой событие установки, которое отправляется {{domxref("ServiceWorkerGlobalScope")}} {{domxref("ServiceWorker")}}. Как наследник {{domxref("ExtendableEvent")}}, он гарантирует, что функциональные события, такие как {{domxref("FetchEvent")}}, не будут отправлены во время установки. </dd> + <dd>Параметр, передающийся в {{domxref("ServiceWorkerGlobalScope.oninstall", "oninstall")}} обработчик, <code>InstallEvent</code> представляет собой событие установки, которое отправляется {{domxref("ServiceWorkerGlobalScope")}} {{domxref("ServiceWorker")}}. Как наследник {{domxref("ExtendableEvent")}}, он гарантирует, что функциональные события, такие как {{domxref("FetchEvent")}}, не будут отправлены во время установки. </dd> <dt>{{domxref("Navigator.serviceWorker") }}</dt> <dd>Возвращает объект {{domxref("ServiceWorkerContainer")}}, который обеспечивает доступ к регистрации, удалению, обновлению и коммуникации с объектами {{domxref("ServiceWorker")}}<a href="https://html.spec.whatwg.org/multipage/browsers.html#concept-document-window">ассоциируемого документа</a>.</dd> <dt>{{domxref("NotificationEvent") }}</dt> - <dd>Параметр, передаваемый в обработчик {{domxref("ServiceWorkerGlobalScope.onnotificationclick", "onnotificationclick")}}, интерфейс <code>NotificationEvent</code> представляет событие уведомления на клик, которое отправлется в {{domxref("ServiceWorkerGlobalScope")}} service worker'а.</dd> + <dd>Параметр, передаваемый в обработчик {{domxref("ServiceWorkerGlobalScope.onnotificationclick", "onnotificationclick")}}, интерфейс <code>NotificationEvent</code> представляет событие уведомления на клик, которое отправляется в {{domxref("ServiceWorkerGlobalScope")}} service worker'а.</dd> <dt>{{domxref("ServiceWorker") }}</dt> <dd>Представляет service worker. Несколько контекстов браузера (страницы, worker'ы, и т.д.) могут быть ассоциированы с одним объектом <code>ServiceWorker</code>.</dd> <dt>{{domxref("ServiceWorkerContainer") }}</dt> - <dd>Предоставляет объект, описывающий service worker как общий блок в экосистеме сети, включая возможность регистрировать, отключать и обновлять service worker'ы, и предоставляет доступ к состоянию текущего и других зарагестрованных service worker'ов.</dd> + <dd>Предоставляет объект, описывающий service worker как общий блок в экосистеме сети, включая возможность регистрировать, отключать и обновлять service worker'ы, и предоставляет доступ к состоянию текущего и других зарегистрированных service worker'ов.</dd> <dt>{{domxref("ServiceWorkerGlobalScope") }}</dt> <dd>Представляет глобальный контекст исполнения service worker'а.</dd> <dt>{{domxref("ServiceWorkerMessageEvent")}}</dt> @@ -129,12 +129,12 @@ translation_of: Web/API/Service_Worker_API <dd>Представляет регистрацию service worker'а.</dd> <dt>{{domxref("SyncEvent")}} {{non-standard_inline}}</dt> <dd> - <p>SyncEvent предсталяет синхронное действие, котрое отправляется {{domxref("ServiceWorkerGlobalScope")}} ServiceWorker. </p> + <p>SyncEvent представляет синхронное действие, которое отправляется {{domxref("ServiceWorkerGlobalScope")}} ServiceWorker. </p> </dd> <dt>{{domxref("SyncManager")}} {{non-standard_inline}}</dt> - <dd>Обеспечивает интерфейс регистрации и перечисления синхронных рагистраций.</dd> + <dd>Обеспечивает интерфейс регистрации и перечисления синхронных регистрации.</dd> <dt>{{domxref("WindowClient") }}</dt> - <dd>Предствляет область видимости клинетского service worker'а, представленного в виде документа в контекте браузера, контролируемого активным worker'ом. Это особый тип объекта {{domxref("Client")}} с некоторыми дополнительными методами и свойствами.</dd> + <dd>Представляет область видимости клиентского service worker'а, представленного в виде документа в контакте браузера, контролируемого активным worker'ом. Это особый тип объекта {{domxref("Client")}} с некоторыми дополнительными методами и свойствами.</dd> </dl> <h2 id="Спецификации_характеристики">Спецификации (характеристики)</h2> 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 4eaa4dfc01..d188f08738 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 @@ -180,7 +180,7 @@ imgLoad('myLittleVader.jpg').then((response) => { <li>Ну и наконец, в конец нашего промиса мы добавляем функцию <code>.catch()</code>, которая будет выполнена в случае, если промис будет отклонен.</li> </ol> -<p>Предыдущий код регистрирует сервис-воркера, который работает в worker-контексте, и следовательно, не имеет доступа к DOM. Затем вы запускате код в сервис-воркере, вне ваших страниц, чтобы контролировать их загрузку.</p> +<p>Предыдущий код регистрирует сервис-воркера, который работает в worker-контексте, и следовательно, не имеет доступа к DOM. Затем вы запускаете код в сервис-воркере, вне ваших страниц, чтобы контролировать их загрузку.</p> <p>Один сервис-воркер может контролировать несколько страниц. Каждый раз, когда загружается страница, находящаяся в пределах области видимости, сервис-воркер будет установлен на ней и начнет работу. Поэтому будьте осторожны с применением глобальных переменных в скриптах сервис-воркеров, потому как у каждой страницы нет своего уникального экземпляра сервис-воркера.</p> @@ -374,7 +374,7 @@ event.request.body</pre> ); });</pre> -<p>Здесь мы решили обрабатывать только картинки, потому что единственные запросы, которые могут не удасться — это загрузка новых картинок, так как все остальное было закешировано во время обработки события <code>install</code>, которое мы обсуждали ранее.</p> +<p>Здесь мы решили обрабатывать только картинки, потому что единственные запросы, которые могут не удастся — это загрузка новых картинок, так как все остальное было закешировано во время обработки события <code>install</code>, которое мы обсуждали ранее.</p> <h2 id="Обновление_вашего_сервис-воркера"><a id="Updating your service worker" name="Updating your service worker">Обновление вашего сервис-воркера</a></h2> @@ -447,7 +447,7 @@ event.request.body</pre> <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарии</th> + <th scope="col">Комментарии</th> </tr> <tr> <td>{{SpecName('Service Workers', '')}}</td> diff --git a/files/ru/web/api/serviceworkercontainer/index.html b/files/ru/web/api/serviceworkercontainer/index.html index a8bf9f324e..a590454c5b 100644 --- a/files/ru/web/api/serviceworkercontainer/index.html +++ b/files/ru/web/api/serviceworkercontainer/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/ServiceWorkerContainer --- <p>{{SeeCompatTable}}{{APIRef("Service Workers API")}}</p> -<p><a href="/en-US/docs/Web/API/ServiceWorker_API">ServiceWorker API</a> предоставляет интерфейс <code>ServiceWorkerContainer</code>, являющийся объектом (объект предствляет собой сервис воркер, как единое целое в сетевой экосистеме) влючающим следующие средства:<br> +<p><a href="/en-US/docs/Web/API/ServiceWorker_API">ServiceWorker API</a> предоставляет интерфейс <code>ServiceWorkerContainer</code>, являющийся объектом (объект представляет собой сервис воркер, как единое целое в сетевой экосистеме) включающим следующие средства:<br> Регистрация;<br> Отмена регистрации;<br> Обновление сервис воркеров;<br> diff --git a/files/ru/web/api/serviceworkercontainer/register/index.html b/files/ru/web/api/serviceworkercontainer/register/index.html index a885e08102..7fd83f836c 100644 --- a/files/ru/web/api/serviceworkercontainer/register/index.html +++ b/files/ru/web/api/serviceworkercontainer/register/index.html @@ -20,16 +20,16 @@ translation_of: Web/API/ServiceWorkerContainer/register <dt><code>scriptURL</code></dt> <dd>URL скрипта service worker - а.</dd> <dt><code>options</code> <code>{{optional_inline}}</code></dt> - <dd>Опции — это обьект необходимый для регистрации service worker-a. В данный момент доступные опции: + <dd>Опции — это объект необходимый для регистрации service worker-a. В данный момент доступные опции: <ul> - <li><code>scope</code>: {{domxref("USVString")}} представляет собой URL, который определяет scope service worker-a; Какой диапазон URL может контролировать service worker. Это обычно относительный URL. Значение по умолчанию — это URL, который соответствует корню, т.е. './', используя дирректорию расположения js скрипта service worker-а как основу.</li> + <li><code>scope</code>: {{domxref("USVString")}} представляет собой URL, который определяет scope service worker-a; Какой диапазон URL может контролировать service worker. Это обычно относительный URL. Значение по умолчанию — это URL, который соответствует корню, т.е. './', используя директорию расположения js скрипта service worker-а как основу.</li> </ul> </dd> </dl> <h3 id="Возвращает">Возвращает</h3> -<p>{{domxref("Promise")}} который резолвится в {{domxref("ServiceWorkerRegistration")}} обьект.</p> +<p>{{domxref("Promise")}} который резолвится в {{domxref("ServiceWorkerRegistration")}} объект.</p> <h2 id="Пример_использования">Пример использования</h2> diff --git a/files/ru/web/api/serviceworkerregistration/pushmanager/index.html b/files/ru/web/api/serviceworkerregistration/pushmanager/index.html index ceaa0bc41e..9ef0d95a7d 100644 --- a/files/ru/web/api/serviceworkerregistration/pushmanager/index.html +++ b/files/ru/web/api/serviceworkerregistration/pushmanager/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/ServiceWorkerRegistration/pushManager --- <div>{{SeeCompatTable}}{{APIRef("Service Workers API")}}</div> -<p>Свойство <strong><code>pushManager</code></strong> интерфейса {{domxref("ServiceWorkerRegistration")}} возвращает ссылку на интерфейс {{domxref("PushManager")}}, позволяющий управлять подписками на push-уведомления. Включает поддержку процедуры подписки, получения активной подписки, а также предоставляет доступ к стутусу разрешений на push-уведомления.</p> +<p>Свойство <strong><code>pushManager</code></strong> интерфейса {{domxref("ServiceWorkerRegistration")}} возвращает ссылку на интерфейс {{domxref("PushManager")}}, позволяющий управлять подписками на push-уведомления. Включает поддержку процедуры подписки, получения активной подписки, а также предоставляет доступ к статусу разрешений на push-уведомления.</p> <h2 id="Syntax" name="Syntax" style="line-height: 30px; font-size: 2.14285714285714rem;">Синтакс</h2> diff --git a/files/ru/web/api/serviceworkerregistration/update/index.html b/files/ru/web/api/serviceworkerregistration/update/index.html index 5a2180581a..9ae3e6d00c 100644 --- a/files/ru/web/api/serviceworkerregistration/update/index.html +++ b/files/ru/web/api/serviceworkerregistration/update/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/ServiceWorkerRegistration/update --- <div>{{SeeCompatTable}}{{APIRef("Service Workers API")}}</div> -<p>Метод <code><strong>update</strong></code> интерфейса {{domxref("ServiceWorkerRegistration")}} предназначен для обновления service worker. Он обращаетя по URL service worker-a, и если новый worker побайтно не совпадает с текущим, инсталирует новую версию. Обращение за новой версией worker обходит любые кеши браузера, если предыдущее обращение произошло более 24 часов назад..</p> +<p>Метод <code><strong>update</strong></code> интерфейса {{domxref("ServiceWorkerRegistration")}} предназначен для обновления service worker. Он обращается по URL service worker-a, и если новый worker побайтно не совпадает с текущим, инсталлирует новую версию. Обращение за новой версией worker обходит любые кеши браузера, если предыдущее обращение произошло более 24 часов назад..</p> <div class="note"> <p><strong>Заметка</strong>: Эта возможность доступна в <a href="/en-US/docs/Web/API/Web_Workers_API">Web Workers</a>.</p> diff --git a/files/ru/web/api/speechrecognition/index.html b/files/ru/web/api/speechrecognition/index.html index 011774ea9a..061a6014e3 100644 --- a/files/ru/web/api/speechrecognition/index.html +++ b/files/ru/web/api/speechrecognition/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/SpeechRecognition <h2 id="Свойства">Свойства</h2> -<p><em><code>SpeechRecognition</code> наследует свойства от своего родителського интерфейса, {{domxref("EventTarget")}}.</em></p> +<p><em><code>SpeechRecognition</code> наследует свойства от своего родительского интерфейса, {{domxref("EventTarget")}}.</em></p> <dl> <dt>{{domxref("SpeechRecognition.grammars")}}</dt> @@ -24,11 +24,11 @@ translation_of: Web/API/SpeechRecognition <dt>{{domxref("SpeechRecognition.lang")}}</dt> <dd>Задает и возвращает язык текущего <code>SpeechRecognition</code>. Если данное свойство не указано по умолчанию, то используется из HTML кода значение атрибута {{htmlattrxref("lang","html")}} , или настройки языка агента текущего пользователя.</dd> <dt>{{domxref("SpeechRecognition.continuous")}}</dt> - <dd>Проверяет возвращается ли непрерывные результаты или вернулся только один. По-умолчанию для одиночного значение (<code>false</code>.)</dd> + <dd>Проверяет возвращается ли непрерывные результаты или вернулся только один. По умолчанию для одиночного значение (<code>false</code>.)</dd> <dt>{{domxref("SpeechRecognition.interimResults")}}</dt> <dd>Контроллирует, следует ли возвращать промежуточные результаты (<code>true</code>) или нет (<code>false</code>.) Промежуточные результаты это результаты которые еще не завершены ( например {{domxref("SpeechRecognitionResult.isFinal")}} свойство <font face="consolas, Liberation Mono, courier, monospace">ложно</font>.)</dd> <dt>{{domxref("SpeechRecognition.maxAlternatives")}}</dt> - <dd>Устанавливает максимальное количество предоставленных результатов {{domxref("SpeechRecognitionAlternative")}}. По-умолчанию значение 1.</dd> + <dd>Устанавливает максимальное количество предоставленных результатов {{domxref("SpeechRecognitionAlternative")}}. По умолчанию значение 1.</dd> <dt>{{domxref("SpeechRecognition.serviceURI")}}</dt> <dd>Определяет местоположение службы распознавания речи, используемой текущим SpeechRecognition, для обработки фактического распознавания. По умолчанию используется речевая служба агента пользователя.</dd> </dl> @@ -41,15 +41,15 @@ translation_of: Web/API/SpeechRecognition <dt>{{domxref("SpeechRecognition.onaudioend")}}</dt> <dd>Вызывается когда пользовательский агент закончил захват аудио.</dd> <dt>{{domxref("SpeechRecognition.onend")}}</dt> - <dd>Вызывается когда служба распознавания речи отключилилась.</dd> + <dd>Вызывается когда служба распознавания речи отключилась.</dd> <dt>{{domxref("SpeechRecognition.onerror")}}</dt> <dd>Вызывается когда произошла ошибка распознавания речи.</dd> <dt>{{domxref("SpeechRecognition.onnomatch")}}</dt> <dd>Вызывается, когда служба распознавания речи возвращает окончательный результат без существенного распознавания. Это может включать определенную степень признания {{domxref("SpeechRecognitionAlternative.confidence","confidence")}} которая не соответствует пороговому значению или превышает его.</dd> <dt>{{domxref("SpeechRecognition.onresult")}}</dt> - <dd>Вызывается когдавозвращает результат — слово или фраза были распознаны положительно, и это было передано обратно в приложение.</dd> + <dd>Вызывается когда возвращает результат — слово или фраза были распознаны положительно, и это было передано обратно в приложение.</dd> <dt>{{domxref("SpeechRecognition.onsoundstart")}}</dt> - <dd>Вызывается при любом звуке — рапозназнаваемая речь или нет — будеь обнаружено.</dd> + <dd>Вызывается при любом звуке — рапозназнаваемая речь или нет — будешь обнаружено.</dd> <dt>{{domxref("SpeechRecognition.onsoundend")}}</dt> <dd>Вызывается когда любой звук — распознаваемая речь или нет — перестала распознаваться.</dd> <dt>{{domxref("SpeechRecognition.onspeechstart")}}</dt> @@ -77,7 +77,7 @@ translation_of: Web/API/SpeechRecognition <p>В нашем простом примере <a href="https://github.com/mdn/web-speech-api/tree/master/speech-color-changer">Speech color changer</a> , мы создаем новый объект экземпляра <code>SpeechRecognition</code> используя этот конструктор {{domxref("SpeechRecognition.SpeechRecognition", "SpeechRecognition()")}} , создание нового {{domxref("SpeechGrammarList")}}, И установить его в качестве грамматики, которая будет распознаваться экземпляром распознавание речи с использованием свойства {{domxref("SpeechRecognition.grammars")}}.</p> -<p>После определения некоторых других значений мы затем устанавливаем их так, чтобы служба распознавания началась когда произошло собыстие по клику ( {{domxref("SpeechRecognition.start()")}}.) Когда результат был успешно распознан, the {{domxref("SpeechRecognition.onresult")}} обработчик извлекаем цвет, который был произнесен из события, а затем меняем цвет фона на данный цвет {{htmlelement("html")}}.</p> +<p>После определения некоторых других значений мы затем устанавливаем их так, чтобы служба распознавания началась когда произошло событие по клику ( {{domxref("SpeechRecognition.start()")}}.) Когда результат был успешно распознан, the {{domxref("SpeechRecognition.onresult")}} обработчик извлекаем цвет, который был произнесен из события, а затем меняем цвет фона на данный цвет {{htmlelement("html")}}.</p> <pre class="brush: js">var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new SpeechRecognition(); @@ -194,7 +194,7 @@ recognition.onresult = function(event) { <ul> <li>[1] Интерфейсы распознавания речи в настоящее время префиксные в Chrome, поэтому вам нужно указать имена интерфейсов, например, префикс. WebkitSpeechRecognition; Вы также должны будете обслуживать свой код через веб-сервер для распознавания работы</li> - <li>[2] Может быть активированна через <code>media.webspeech.recognition.enable</code> флаг в <a>about:config</a> на телефоне. Не реализовано вообще на рабочем столе Firefox - см.{{bug(1248897)}}.</li> + <li>[2] Может быть активирована через <code>media.webspeech.recognition.enable</code> флаг в <a>about:config</a> на телефоне. Не реализовано вообще на рабочем столе Firefox - см.{{bug(1248897)}}.</li> </ul> <h3 id="Firefox_OS_разрешения">Firefox OS разрешения</h3> diff --git a/files/ru/web/api/storage/getitem/index.html b/files/ru/web/api/storage/getitem/index.html index 1780f54ec3..cc066d8334 100644 --- a/files/ru/web/api/storage/getitem/index.html +++ b/files/ru/web/api/storage/getitem/index.html @@ -9,13 +9,13 @@ translation_of: Web/API/Storage/getItem <h2 id="Синтаксис">Синтаксис</h2> -<pre class="syntaxbox">var <em>aValue</em> = <em>storage</em>.getItem(<em>названиеКлюча</em>); +<pre class="syntaxbox">var <em>aValue</em> = <em>storage</em>.getItem(<em>название Ключа</em>); </pre> <h3 id="Параметры">Параметры</h3> <dl> - <dt><font face="Consolas, Liberation Mono, Courier, monospace"><em>названиеКлюча</em></font></dt> + <dt><font face="Consolas, Liberation Mono, Courier, monospace"><em>название Ключа</em></font></dt> <dd>Является строкой {{domxref("DOMString")}}, содержащей название ключа, по которому получается значение из хранилища.</dd> </dl> diff --git a/files/ru/web/api/storage/length/index.html b/files/ru/web/api/storage/length/index.html index 70722e9e11..559673f403 100644 --- a/files/ru/web/api/storage/length/index.html +++ b/files/ru/web/api/storage/length/index.html @@ -111,7 +111,7 @@ translation_of: Web/API/Storage/length </table> </div> -<p>Все браузеры имют различный уровень объема для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p> +<p>Все браузеры имеют различный уровень объема для localStorage и sessionStorage. Здесь <a class="external" href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">подробное описание объема хранилищ для разных браузеров</a>.</p> <div class="note"> <p><strong>Примечание: </strong>начиная с версии iOS 5.1, Safari Mobile хранит данные localStorage в папке с кэшем, которая может быть очищена случайно по требованию OS, обычно это происходит, когда мало доступного места.</p> diff --git a/files/ru/web/api/storage/removeitem/index.html b/files/ru/web/api/storage/removeitem/index.html index d5b1a628e4..12fbd2c7a4 100644 --- a/files/ru/web/api/storage/removeitem/index.html +++ b/files/ru/web/api/storage/removeitem/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/Storage/removeItem --- <p>{{APIRef("Web Storage API")}}</p> -<p>Если методу <code>removeItem()</code> интерфейса {{domxref("Storage")}} передать ключ, то из хранилища будет удален элемент с указанным ключем. </p> +<p>Если методу <code>removeItem()</code> интерфейса {{domxref("Storage")}} передать ключ, то из хранилища будет удален элемент с указанным ключом. </p> <h2 id="Синтаксис">Синтаксис</h2> @@ -18,7 +18,7 @@ translation_of: Web/API/Storage/removeItem <h3 id="Параметры">Параметры</h3> <dl> - <dt><em><u>названиеКлюча</u></em></dt> + <dt><em><u>название Ключа</u></em></dt> <dd>{{domxref("DOMString")}} содержит в себе название ключа.</dd> </dl> diff --git a/files/ru/web/api/storage/setitem/index.html b/files/ru/web/api/storage/setitem/index.html index 981eedf10f..fe3540e3d6 100644 --- a/files/ru/web/api/storage/setitem/index.html +++ b/files/ru/web/api/storage/setitem/index.html @@ -15,14 +15,14 @@ translation_of: Web/API/Storage/setItem <h2 id="Синтаксис">Синтаксис</h2> -<pre class="syntaxbox"><em>storage</em>.setItem(<em>названиеКлюча</em>, <em>значениеКлюча</em>);</pre> +<pre class="syntaxbox"><em>storage</em>.setItem(<em>название Ключа</em>, <em>значение Ключа</em>);</pre> <h3 id="Параметры">Параметры</h3> <dl> - <dt><em>названиеКлюча</em></dt> + <dt><em>название Ключа</em></dt> <dd>Является строкой {{domxref("DOMString")}} содержащей название ключа, значение которого будет добавлено/обновлено.</dd> - <dt><em>значениеКлюча</em></dt> + <dt><em>значение Ключа</em></dt> <dd>Является строкой {{domxref("DOMString")}} содержащей значение ключа, которое будет добавлено/обновлено.</dd> </dl> diff --git a/files/ru/web/api/storage_access_api/index.html b/files/ru/web/api/storage_access_api/index.html index f9c79c5704..b25793e407 100644 --- a/files/ru/web/api/storage_access_api/index.html +++ b/files/ru/web/api/storage_access_api/index.html @@ -43,7 +43,7 @@ translation_of: Web/API/Storage_Access_API <p>When <code>requestStorageAccess()</code> is called by an embedded, cross-origin document, the user agent may choose to involve the user in the decision of whether to grant storage access to the requesting origin. Prompting heuristics currently vary across the two implementers of the Storage Access API — Safari shows prompts for all embedded tracking content that has not previously received storage access, while Firefox only prompts users after a tracking origin has requested storage access on more than a threshold number of sites. See {{domxref("Document.requestStorageAccess()")}} for more details.</p> -<h2 id="Отичия_реализации_в_Safari">Отичия реализации в Safari</h2> +<h2 id="Отличия_реализации_в_Safari">Отличия реализации в Safari</h2> <p>Although the API surface is the same, websites using the Storage Access API should expect differences in the level and extent of storage access they receive between Firefox and Safari. This is caused by differences in the storage access policies implemented in the two browsers. Design properties unique to Firefox are summarized here:</p> @@ -74,7 +74,7 @@ translation_of: Web/API/Storage_Access_API <h2 id="Расширение_<iframe>_sandbox">Расширение <iframe> sandbox</h2> -<p>{{htmlelement("iframe")}} <code>sandbox</code> появился новый признак, <code>allow-storage-access-by-user-activation</code>, который позволяет изолированому <code><iframe></code> использовать Storage Access API для запроса доступа к хранилищу.</p> +<p>{{htmlelement("iframe")}} <code>sandbox</code> появился новый признак, <code>allow-storage-access-by-user-activation</code>, который позволяет изолированному <code><iframe></code> использовать Storage Access API для запроса доступа к хранилищу.</p> <h2 id="Спецификации">Спецификации</h2> @@ -90,4 +90,4 @@ translation_of: Web/API/Storage_Access_API <h2 id="Смотрите_также">Смотрите также</h2> -<p><a href="/en-US/docs/Web/API/Storage_Access_API/Using">Использоваие Storage Access API</a></p> +<p><a href="/en-US/docs/Web/API/Storage_Access_API/Using">Использование Storage Access API</a></p> diff --git a/files/ru/web/api/streams_api/index.html b/files/ru/web/api/streams_api/index.html index 94959b7eba..777342b3bd 100644 --- a/files/ru/web/api/streams_api/index.html +++ b/files/ru/web/api/streams_api/index.html @@ -5,21 +5,21 @@ translation_of: Web/API/Streams_API --- <div>{{SeeCompatTable}}{{APIRef("Streams")}}</div> -<p class="summary">Streams API (АПИ обработки потоков) позволяет програмно получить доступ с помощью JavaScript к полученным по сети потокам данных и обработать их по желанию разработчика.</p> +<p class="summary">Streams API (АПИ обработки потоков) позволяет программно получить доступ с помощью JavaScript к полученным по сети потокам данных и обработать их по желанию разработчика.</p> <h2 id="Концепция_и_использование">Концепция и использование</h2> -<p>Потоковая передача данных предполагает разбивку ресура, который вы хотите получить через сеть, на мелкие кусочки и затем их обработку часть за частью. Это то, что браузеры делают в любом случае получения ассетов, чтобы показать их на страницах — видео буфер и другие ресурсы доступные для воспроизведения, и иногда это заметно на изображениях, загружающихся частями.</p> +<p>Потоковая передача данных предполагает разбивку ресурса, который вы хотите получить через сеть, на мелкие кусочки и затем их обработку часть за частью. Это то, что браузеры делают в любом случае получения ассетов, чтобы показать их на страницах — видео буфер и другие ресурсы доступные для воспроизведения, и иногда это заметно на изображениях, загружающихся частями.</p> <p>Но методы работы с этим и данные никогда прежде не были доступны для JavaScript. Раньше, если мы хотели обработать часть ресурса, нам все равно пришлось бы загрузить весь файл (будь то видео, текстовый файл и т.п.), мы были бы обязаны скачать файл целиком, дождаться пока он будет приведен к необходимому формату и только потом работать с файлом после его полной загрузки.</p> -<p>С помощью потоков доступных в JavaScript меняется все — вы можете начать обрабатывать данные бит за битом как только данные появляются на стороне клиента, без необходимости генерировать буффер, строку или какой либо объект из потока.</p> +<p>С помощью потоков доступных в JavaScript меняется все — вы можете начать обрабатывать данные бит за битом как только данные появляются на стороне клиента, без необходимости генерировать буфер, строку или какой либо объект из потока.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/15817/Concept.png" style="display: block; height: 382px; margin: 0px auto; width: 1000px;"></p> <p>Но это не все преимущества — вы можете отловить процессы старта и завершения потока, связывать потоки в цепочки, обрабатывать ошибки или прерывать их если это необходимо, реагировать на скорость с которой поток считывается.</p> -<p>Основное использование потоков крутиться вокруг создания ответов доступными в виде потоков. Например, тело ответа {{domxref("Body")}} возвращенного успешным <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросом</a> может быть представлено как {{domxref("ReadableStream")}}, и вы можете прочитать его используя ридер полученный методом {{domxref("ReadableStream.getReader()")}}, отменить его с помошью {{domxref("ReadableStream.cancel()")}}, и тп.</p> +<p>Основное использование потоков крутиться вокруг создания ответов доступными в виде потоков. Например, тело ответа {{domxref("Body")}} возвращенного успешным <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросом</a> может быть представлено как {{domxref("ReadableStream")}}, и вы можете прочитать его используя ридер полученный методом {{domxref("ReadableStream.getReader()")}}, отменить его с помощью {{domxref("ReadableStream.cancel()")}}, и тп.</p> <p>Более сложные примеры задействуют создание ваших собственных потоков с помощью конструктора {{domxref("ReadableStream.ReadableStream", "ReadableStream()")}}, например чтобы обработать данные внутри <a href="/en-US/docs/Web/API/Service_Worker_API">service worker</a>.</p> @@ -66,7 +66,7 @@ translation_of: Web/API/Streams_API <dl> <dt>{{domxref("Request")}}</dt> - <dd>При создании нового объекта типа <code>Request</code>, вы можете добавить {{domxref("ReadableStream")}} в свойство <code>body</code> его словаря <code>RequestInit</code>. Этот обект типа <code>Request</code> может быть отправлен в {{domxref("WindowOrWorkerGlobalScope.fetch()")}}, чтобы начать загрузку потока.</dd> + <dd>При создании нового объекта типа <code>Request</code>, вы можете добавить {{domxref("ReadableStream")}} в свойство <code>body</code> его словаря <code>RequestInit</code>. Этот объект типа <code>Request</code> может быть отправлен в {{domxref("WindowOrWorkerGlobalScope.fetch()")}}, чтобы начать загрузку потока.</dd> <dt>{{domxref("Body")}}</dt> <dd>Ответ {{domxref("Body")}} возвращенный успешному <a href="/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch">fetch запросу</a> вывешивается по умолчанию как {{domxref("ReadableStream")}}, и может иметь получателя прикрепленного к нему и тп.</dd> </dl> diff --git a/files/ru/web/api/stylesheet/disabled/index.html b/files/ru/web/api/stylesheet/disabled/index.html index 6533b03241..d293e79f53 100644 --- a/files/ru/web/api/stylesheet/disabled/index.html +++ b/files/ru/web/api/stylesheet/disabled/index.html @@ -10,7 +10,7 @@ translation_of: Web/API/StyleSheet/disabled <p class="summary">Свойство <code><strong>disabled</strong></code> интерфейса {{domxref("StyleSheet")}} определяет будет ли таблица стилей защищена от применения в документе</p> -<p>Тааблицу стилей можно отключить, установив для этого свойства значение <code>true</code>, или, если она неактивна, с помощью <a href="/en-US/docs/Web/CSS/Alternative_style_sheets">альтернативной таблице стилей</a>. Заметьте, что <code>disabled == false</code> не гарантирует применение таблице стилей (она может быть удалена из документа, к примеру).</p> +<p>Таблицу стилей можно отключить, установив для этого свойства значение <code>true</code>, или, если она неактивна, с помощью <a href="/en-US/docs/Web/CSS/Alternative_style_sheets">альтернативной таблице стилей</a>. Заметьте, что <code>disabled == false</code> не гарантирует применение таблице стилей (она может быть удалена из документа, к примеру).</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/stylesheet/index.html b/files/ru/web/api/stylesheet/index.html index 07740ac283..74f0b2227c 100644 --- a/files/ru/web/api/stylesheet/index.html +++ b/files/ru/web/api/stylesheet/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/StyleSheet <dt>{{domxref("StyleSheet.ownerNode")}} {{readonlyInline}}</dt> <dd>Свойство возвращает ссылку на объект (узел){{domxref("Node")}}, ссылающийся на данную таблицу стилей текущего документа. Свойство не изменяется.</dd> <dt>{{domxref("StyleSheet.parentStyleSheet")}} {{readonlyInline}}</dt> - <dd>Свойство возвращает ссылку на родительскую таблицу стилей {{domxref("StyleSheet")}}, включаюущую данную таблицу стилей; если таковой нет, возвращает значение <code>null</code>. Свойство не изменяется.</dd> + <dd>Свойство возвращает ссылку на родительскую таблицу стилей {{domxref("StyleSheet")}}, включающую данную таблицу стилей; если таковой нет, возвращает значение <code>null</code>. Свойство не изменяется.</dd> <dt>{{domxref("StyleSheet.title")}} {{readonlyInline}}</dt> <dd>Свойство возвращает строку {{domxref("DOMString")}}, указывающую на заголовок текущей таблицы стилей. Свойство не изменяется.</dd> <dt>{{domxref("StyleSheet.type")}}{{readonlyInline}}</dt> diff --git a/files/ru/web/api/subtlecrypto/index.html b/files/ru/web/api/subtlecrypto/index.html index 7070db0af1..721c150bef 100644 --- a/files/ru/web/api/subtlecrypto/index.html +++ b/files/ru/web/api/subtlecrypto/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/SubtleCrypto --- <p>{{APIRef("Web Crypto API")}}</p> -<p>Интерфейс <code><strong>SubtileCrypto</strong></code> представляет набор криптографическиз примитивов. Эземпляр <code><strong>SubtileCrypto</strong></code> доступен как {{domxref("Crypto.subtle")}}, в контексте window ({{domxref("Window.crypto")}}).</p> +<p>Интерфейс <code><strong>SubtileCrypto</strong></code> представляет набор криптографическиз примитивов. Экземпляр <code><strong>SubtileCrypto</strong></code> доступен как {{domxref("Crypto.subtle")}}, в контексте window ({{domxref("Window.crypto")}}).</p> <div class="warning"> <p>Per the spec: "Developers making use of the SubtleCrypto interface are expected to be aware of the security concerns associated with both the design and implementation of the various algorithms provided. The raw algorithms are provided in order to allow developers maximum flexibility in implementing a variety of protocols and applications, each of which may represent the composition and security parameters in a unique manner that necessitate the use of the raw algorithms."</p> @@ -19,19 +19,19 @@ translation_of: Web/API/SubtleCrypto <dl> <dt>{{domxref("SubtleCrypto.encrypt()")}}</dt> - <dd>Возврщает {{jsxref("Promise")}} с данными, зашифрованными на основании исходного текста, алгоритма шифровани и ключа, переданных в качества аргументов.</dd> + <dd>Возвращает {{jsxref("Promise")}} с данными, зашифрованными на основании исходного текста, алгоритма шифрования и ключа, переданных в качества аргументов.</dd> <dt>{{domxref("SubtleCrypto.decrypt()")}}</dt> - <dd>Возврщает {{jsxref("Promise")}} с исходным текстом. В качества аргументов принимает зашифрованную строку, алгоритм шифрования и ключ.</dd> + <dd>Возвращает {{jsxref("Promise")}} с исходным текстом. В качества аргументов принимает зашифрованную строку, алгоритм шифрования и ключ.</dd> <dt>{{domxref("SubtleCrypto.sign()")}}</dt> <dd>Возвращает {{jsxref("Promise")}} с сигнатурой, полученной на основании текста, алгоритма шифрования и ключа, переданных в качества аргументов.</dd> <dt>{{domxref("SubtleCrypto.verify()")}}</dt> - <dd>Возврашает {{jsxref("Promise")}} с {{jsxref("Boolean")}} значением, определяющим соответствует ли переданная сигнатура тексу, алгоритму шифрования и ключу, также переданным в качества аргументов.</dd> + <dd>Возвращает {{jsxref("Promise")}} с {{jsxref("Boolean")}} значением, определяющим соответствует ли переданная сигнатура тексу, алгоритму шифрования и ключу, также переданным в качества аргументов.</dd> <dt>{{domxref("SubtleCrypto.digest()")}}</dt> <dd>Возвращает {{jsxref("Promise")}} с хеш-суммой сгенерированной на основании алгоритма шифрования и исходного текста, переданных в качества аргументов</dd> <dt>{{domxref("SubtleCrypto.generateKey()")}}</dt> - <dd>Возаращает {{jsxref("Promise")}} с сгенерированным {{domxref("CryptoKey")}} для симметричных алгоритмов, или {{domxref("CryptoKeyPair")}} для асимметричных алгоритмов.</dd> + <dd>Возвращает {{jsxref("Promise")}} с сгенерированным {{domxref("CryptoKey")}} для симметричных алгоритмов, или {{domxref("CryptoKeyPair")}} для асимметричных алгоритмов.</dd> <dt>{{domxref("SubtleCrypto.deriveKey()")}}</dt> - <dd>Возвращает {{jsxref("Promise")}} с сгенерированным {{domxref("CryptoKey")}}, на основе переданных в качесва аргументов мастер-ключа и алгоритма шифрования.</dd> + <dd>Возвращает {{jsxref("Promise")}} с сгенерированным {{domxref("CryptoKey")}}, на основе переданных в качестве аргументов мастер-ключа и алгоритма шифрования.</dd> <dt>{{domxref("SubtleCrypto.deriveBits()")}}</dt> <dd>Возвращает {{jsxref("Promise")}} с буфером псевдо-случайных бит, полученных на основании мастер-ключа и алгоритма шифрования, переданных в качества аргументов.</dd> <dt>{{domxref("SubtleCrypto.importKey()")}}</dt> diff --git a/files/ru/web/api/svgaelement/index.html b/files/ru/web/api/svgaelement/index.html index 22ec57c774..7bd391a9ff 100644 --- a/files/ru/web/api/svgaelement/index.html +++ b/files/ru/web/api/svgaelement/index.html @@ -31,7 +31,7 @@ translation_of: Web/API/SVGAElement <dt>{{domxref("SVGAElement.relList")}}</dt> <dd>См. {{domxref("HTMLAnchorElement.relList")}}.</dd> <dt>{{domxref("SVGAElement.target")}} {{readonlyInline}}</dt> - <dd>соответствует аттрибуту {{SVGAttr("target")}} данного элемента. </dd> + <dd>соответствует атрибуту {{SVGAttr("target")}} данного элемента. </dd> <dt>{{domxref("SVGAElement.text")}}</dt> <dd>Является {{domxref("DOMString")}} синонимом свойства {{domxref("Node.textContent")}}. </dd> <dt>{{domxref("SVGAElement.type")}}</dt> diff --git a/files/ru/web/api/touch/index.html b/files/ru/web/api/touch/index.html index c7d6df32b8..fd1aa9d965 100644 --- a/files/ru/web/api/touch/index.html +++ b/files/ru/web/api/touch/index.html @@ -38,9 +38,9 @@ translation_of: Web/API/Touch <dt><strong>{{ domxref("Touch.clientY") }} </strong>{{readonlyInline}}</dt> <dd>Возвращает координату Y точки касания относительно верхнего края окна браузера, не учитывая прокрутку.</dd> <dt>{{ domxref("Touch.pageX") }} {{readonlyInline}}</dt> - <dd>Возвращает коодринату X точки касания относительно левого края документа. В отличие от <code>clientX</code>, это значение учитывает горизонтальную прокрутку, если она есть.</dd> + <dd>Возвращает координату X точки касания относительно левого края документа. В отличие от <code>clientX</code>, это значение учитывает горизонтальную прокрутку, если она есть.</dd> <dt>{{ domxref("Touch.pageY") }} {{readonlyInline}}</dt> - <dd>Возвращает коодринату Y точки касания относительно верхнего края документа. В отличие от <code>clientY</code>, это значение учитывает вертикальную прокрутку, если она есть.</dd> + <dd>Возвращает координату Y точки касания относительно верхнего края документа. В отличие от <code>clientY</code>, это значение учитывает вертикальную прокрутку, если она есть.</dd> <dt>{{ domxref("Touch.target") }} {{readonlyInline}}</dt> <dd>Возвращает элемент ({{ domxref("Element")}}), на который попала точка касания, когда впервые появилась на сенсорной поверхности, даже если потом она была смещена за пределы данного элемента или даже была удалена из документа.</dd> </dl> @@ -51,9 +51,9 @@ translation_of: Web/API/Touch <dl> <dt>{{ domxref("Touch.radiusX") }} {{readonlyInline}} {{experimental_inline}}</dt> - <dd>Возвращает радиус элипса по оси X, наиболее близко соответствующий области контакта с экраном. Значение в пикселях того же масштаба, что и <code>screenX</code>.</dd> + <dd>Возвращает радиус эллипса по оси X, наиболее близко соответствующий области контакта с экраном. Значение в пикселях того же масштаба, что и <code>screenX</code>.</dd> <dt>{{ domxref("Touch.radiusY") }} {{readonlyInline}} {{experimental_inline}}</dt> - <dd>Возвращает радиус элипса по оси Y, наиболее близко соответствующий области контакта с экраном. Значение в пикселях того же масштаба, что и <code>screenY</code>.</dd> + <dd>Возвращает радиус эллипса по оси Y, наиболее близко соответствующий области контакта с экраном. Значение в пикселях того же масштаба, что и <code>screenY</code>.</dd> <dt>{{ domxref("Touch.rotationAngle") }} {{readonlyInline}} {{experimental_inline}}</dt> <dd>Возвращает угол (в градусах), на который описываемый эллипс должен быть повёрнут по часовой стрелке, чтобы наиболее точно покрыть область контакта пользователя с сенсорной поверхностью.</dd> <dt>{{ domxref("Touch.force") }}{{readonlyInline}} {{experimental_inline}}</dt> diff --git a/files/ru/web/api/touch_events/index.html b/files/ru/web/api/touch_events/index.html index be6d85889a..0784963a41 100644 --- a/files/ru/web/api/touch_events/index.html +++ b/files/ru/web/api/touch_events/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Touch_events <p>Чтобы предоставить качественную поддержку пользовательского интерфейса, связанного с касаниями, тач-события предлагают возможность интерпретировать действия пальца (или стилуса) на сенсорных экранах или трекпадах.</p> -<p>Интерфейсы событий касания - это относительно низкоуровневые API, которые можно использовать для поддержки приложений со специфическими мультитач-взаимодействиями, например жестом двумя пальцами. Мультитач взаимодействие запускается, когда палец (или стилус) впервые касается контакной поверхности. Другие пальцы могут следом коснуться поверхности и, если нужно, перемещаться по ней. Взаимодействие считается завершённым, когда пальцы с поверхности убираются. Во время взаимодействия, события касания срабатывают на начальном этапе (первое прикосновение), этапе перемещения по поверхности, и завершающем этапе (когда пальцы убираются с поверхности)..</p> +<p>Интерфейсы событий касания - это относительно низкоуровневые API, которые можно использовать для поддержки приложений со специфическими мультитач-взаимодействиями, например жестом двумя пальцами. Мультитач взаимодействие запускается, когда палец (или стилус) впервые касается контактной поверхности. Другие пальцы могут следом коснуться поверхности и, если нужно, перемещаться по ней. Взаимодействие считается завершённым, когда пальцы с поверхности убираются. Во время взаимодействия, события касания срабатывают на начальном этапе (первое прикосновение), этапе перемещения по поверхности, и завершающем этапе (когда пальцы убираются с поверхности)..</p> <p>События касаний подобны событиям мыши за исключением того, что они поддерживают несколько одновременных касаний в разных местах сенсорной поверхности. Интерфейс {{domxref("TouchEvent")}} содержит все активные в данный момент точки прикосновения. Интерфейс {{domxref("Touch")}}, который представляет одну точку касания, включает такую информацию, как позиция точки касания относительно области видимости браузера.</p> @@ -99,7 +99,7 @@ Log: <pre id="log" style="border: 1px solid #ccc;"></pre></pre> <h4 id="Рисование_движением">Рисование движением</h4> -<p>Каждый раз, когда двигается один или несколько пальцев, срабатывает событие {{event("touchmove")}}, в результаете чего вызывается наша функция <code>handleMove()</code>.В этом примере данная функция ответственна за обновление данных о касании и рисование линии от предыдущей до текущей точки касания.</p> +<p>Каждый раз, когда двигается один или несколько пальцев, срабатывает событие {{event("touchmove")}}, в результате чего вызывается наша функция <code>handleMove()</code>.В этом примере данная функция ответственна за обновление данных о касании и рисование линии от предыдущей до текущей точки касания.</p> <pre class="brush: js notranslate">function handleMove(evt) { evt.preventDefault(); @@ -139,7 +139,7 @@ Log: <pre id="log" style="border: 1px solid #ccc;"></pre></pre> <h4 id="Обработка_завершения_касания">Обработка завершения касания</h4> -<p>Когда пользователь убирает палец с сенсорной поверхности, срабатывает событие {{domxref("Element/touchend_event", "touchend")}}. Мы обрататываем его, вызывая фунцию <code>handleEnd()</code>, которая представлена ниже. Ее задача - рисовать последний отрезок линии для каждого касания, которое завершилось, и удалять точку касания из текущего списка касаний.</p> +<p>Когда пользователь убирает палец с сенсорной поверхности, срабатывает событие {{domxref("Element/touchend_event", "touchend")}}. Мы обрабатываем его, вызывая функцию <code>handleEnd()</code>, которая представлена ниже. Ее задача - рисовать последний отрезок линии для каждого касания, которое завершилось, и удалять точку касания из текущего списка касаний.</p> <pre class="brush: js notranslate">function handleEnd(evt) { evt.preventDefault(); @@ -167,7 +167,7 @@ Log: <pre id="log" style="border: 1px solid #ccc;"></pre></pre> } </pre> -<p>Она очень похожа на предыдущюю функцию; единственное отличие заключается в том, что,что теперь мы рисуем маленький квадрат, чтобы обозначить конец, и в том, что когда мы мы вызываем <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/splice">Array.splice()</a></code>, мы просто удаляем старую запись из текущего списка касаний без добавления обновленной информации. В результате мы прекращаем отслеживать эту точку касания.</p> +<p>Она очень похожа на предыдущую функцию; единственное отличие заключается в том, что,что теперь мы рисуем маленький квадрат, чтобы обозначить конец, и в том, что когда мы мы вызываем <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/splice">Array.splice()</a></code>, мы просто удаляем старую запись из текущего списка касаний без добавления обновленной информации. В результате мы прекращаем отслеживать эту точку касания.</p> <h4 id="Обработка_отмененных_касаний">Обработка отмененных касаний</h4> @@ -288,7 +288,7 @@ Log: <pre id="log" style="border: 1px solid #ccc;"></pre></pre> <h3 id="Вызов_preventDefault_только_при_втором_касании">Вызов preventDefault() только при втором касании</h3> -<p>Один из способов запретить использовать на странице <code>pinchZoom</code> (зум с помощью щипка), – вызвать <code>preventDefault()</code> для второго касания, когда одно касание уже активно. Такое поведение плохо прописано в спецификации событий касаний и приводит к разному поведению в разных браузерах. Например, iOS предотвратит зум, но всё ещё будт позволять перетискивание (panning) двумя пальцами; в Android, наоборот, можно будет осуществлять перетаскивание (panning), но не зум; Opera и Firefox на данный момент предотвращают и перетаскивание (panning) и зум. На данный момент для запрета использования зума рекомендуется полагаться не на какое-то конкретное поведение, а на meta-данные для "viewport".</p> +<p>Один из способов запретить использовать на странице <code>pinchZoom</code> (зум с помощью щипка), – вызвать <code>preventDefault()</code> для второго касания, когда одно касание уже активно. Такое поведение плохо прописано в спецификации событий касаний и приводит к разному поведению в разных браузерах. Например, iOS предотвратит зум, но всё ещё будет позволять перетаскивание (panning) двумя пальцами; в Android, наоборот, можно будет осуществлять перетаскивание (panning), но не зум; Opera и Firefox на данный момент предотвращают и перетаскивание (panning) и зум. На данный момент для запрета использования зума рекомендуется полагаться не на какое-то конкретное поведение, а на meta-данные для "viewport".</p> <h2 id="Спецификация">Спецификация</h2> @@ -318,7 +318,7 @@ Log: <pre id="log" style="border: 1px solid #ccc;"></pre></pre> <p>События касаний обычно доступны на устройствах с сенсорными экранами, но многие браузеры делают API событий касаний недоступными на всех компьютерах, даже имеющих сенсорный экран.</p> -<p>Прочина этого заключается в том, что некоторые веб-сайты используют поддержку данного API в качестве показателя того, что браузер запущен на мобильном устройстве. Если API событий касания доступен, значит эти сайты будут предполагать работу с мобильного устройства и предоставлять соответствующее содержимое, оптимизированное для мобильных устройств. Это может существенно усложнить работу для пользователей десктопов с сенсорными экранами.</p> +<p>Причина этого заключается в том, что некоторые веб-сайты используют поддержку данного API в качестве показателя того, что браузер запущен на мобильном устройстве. Если API событий касания доступен, значит эти сайты будут предполагать работу с мобильного устройства и предоставлять соответствующее содержимое, оптимизированное для мобильных устройств. Это может существенно усложнить работу для пользователей десктопов с сенсорными экранами.</p> <p>Для поддержки и касаний и мыши на всех типах устройств, используйте вместо этого <a href="/en-US/docs/Web/API/Pointer_events">события указателя</a></p> diff --git a/files/ru/web/api/touch_events/supporting_both_touchevent_and_mouseevent/index.html b/files/ru/web/api/touch_events/supporting_both_touchevent_and_mouseevent/index.html index 51bbda0a17..a535d4d054 100644 --- a/files/ru/web/api/touch_events/supporting_both_touchevent_and_mouseevent/index.html +++ b/files/ru/web/api/touch_events/supporting_both_touchevent_and_mouseevent/index.html @@ -26,7 +26,7 @@ function process_touchmove(ev) { <h2 id="Последовательность_событий">Последовательность событий</h2> -<p>Хотя фактическая последовательность событий касания и мыши зависит от используемого программного обеспечания, спецификация предписывает придерживаться следующей последовательности:</p> +<p>Хотя фактическая последовательность событий касания и мыши зависит от используемого программного обеспечения, спецификация предписывает придерживаться следующей последовательности:</p> <ul> <li><code>touchstart</code></li> diff --git a/files/ru/web/api/touch_events/using_touch_events/index.html b/files/ru/web/api/touch_events/using_touch_events/index.html index 420a059e64..03f0bd3698 100644 --- a/files/ru/web/api/touch_events/using_touch_events/index.html +++ b/files/ru/web/api/touch_events/using_touch_events/index.html @@ -22,7 +22,7 @@ translation_of: Web/API/Touch_events/Using_Touch_Events <p>Интерфейс {{domxref("Touch")}} представляет собой одну точка контакта с сенсорной поверхностью. Точка контакта обычно называется точкой касания или просто касанием. Касание обычно генерируется пальцем или стилусом на сенсорной поверхности. <a href="/Web/API/Touch#Properties">Свойства</a> точки касания включают уникальный идентификатор, целевой элемент точки касания, а также координаты X и Y точки касания относительно области видимости, страницы или экрана.</p> -<p>Интерфейс {{domxref("TouchList")}} представляет список точек контакта с сенсорной поверхностью, по одной точке касания на каждый контакт с поверхностью. Таким образом, если пользователь активировал сенсорную поверхность одним пальцем, список будет содержать один элемент, а если пользователь прикоснулся к поверхности требя пальцами, в списке будет три элемента.</p> +<p>Интерфейс {{domxref("TouchList")}} представляет список точек контакта с сенсорной поверхностью, по одной точке касания на каждый контакт с поверхностью. Таким образом, если пользователь активировал сенсорную поверхность одним пальцем, список будет содержать один элемент, а если пользователь прикоснулся к поверхности тремя пальцами, в списке будет три элемента.</p> <p>Интерфейс {{domxref("TouchEvent")}} представляет событие, которое отправляется, когда меняется состояние контактов с сенсорной поверхностью. Изменения состояния включают начальный контакт с сенсорной поверхностью, перемещение точки касания при сохранении контакта с поверхностью, отпускание точки касания и прерывание события касания. Атрибуты интерфейса включают состояние нескольких клавиш-модификаторов (например, клавиши <kbd>Shift</kbd>) и следующий список данных:</p> @@ -46,11 +46,11 @@ translation_of: Web/API/Touch_events/Using_Touch_Events <p>Списки касаний, которые использует приложение, зависят от семантики его жестов. Например, если приложение поддерживает однократное касание (тап) одного элемента, будет использоваться список {{domxref("TouchEvent.targetTouches","targetTouches")}} в обработчике события {{event("touchstart")}} для обработки точки касания в свойственной приложению манере. Если приложение поддерживает свайп двумя пальцами для любых двух точек касания, оно будет использовать список {{domxref("TouchEvent.changedTouches","changedTouches")}} в обработчике {{event("touchmove")}} для того, чтобы определить, были ли перемещены эти две точки касания, а затем реализовать семантику этого жеста в свойственной приложению манере.</p> -<p>Когда есть только одна активная точка касания, браузер обычно отправляет эмулированные события и мыши и клика. Мультитач-действия, включающие две и больше активных точек касания, обычно генерируют только события касания. Чтобы предотвратить отправку эмулированных событий мыши, используйте метод {{domxref("Event.preventDefault()","preventDefault()")}} в обработчиках событий касания. Дополнительную информацию о взаимодействии между себытиями мыши и событиями касаний можно найти в статье {{domxref("Touch_events.Supporting_both_TouchEvent_and_MouseEvent", "Поддержка TouchEvent и MouseEvent")}}.</p> +<p>Когда есть только одна активная точка касания, браузер обычно отправляет эмулированные события и мыши и клика. Мультитач-действия, включающие две и больше активных точек касания, обычно генерируют только события касания. Чтобы предотвратить отправку эмулированных событий мыши, используйте метод {{domxref("Event.preventDefault()","preventDefault()")}} в обработчиках событий касания. Дополнительную информацию о взаимодействии между событиями мыши и событиями касаний можно найти в статье {{domxref("Touch_events.Supporting_both_TouchEvent_and_MouseEvent", "Поддержка TouchEvent и MouseEvent")}}.</p> <h2 id="Основные_шаги">Основные шаги</h2> -<p>Этот раздел содержит пример базового использованиея приведённых выше интерфейсов. Более подробный пример можно найти в статье {{domxref ("Touch_events", "События касаний (тач-события)")}}.</p> +<p>Этот раздел содержит пример базового использования приведённых выше интерфейсов. Более подробный пример можно найти в статье {{domxref ("Touch_events", "События касаний (тач-события)")}}.</p> <p>Назначьте обработчик событий для каждого типа события касания.</p> @@ -111,7 +111,7 @@ function process_touchmove(ev) { <p>Согласно <a href="/Web/API/Touch_events#Browser_compatibility">данным о совместимости с браузерами</a>, поддержка событий касания среди мобильных браузеров относительно неплохая. Десктопные браузеры немного отстают, хотя над этим уже ведётся работа. </p> -<p>Некоторые новые функции, связанные с областью касания (областью контакта между пользователем и сенсорной поверхностью) - находятся в процессе стандартизации. Новый функционал включает в себя радиусы эллипса по осям X и Y, которые наиболее точно описывают область контакта с сенсорной поверхностью. <em>Угол поворота</em> точки касания - градус, на который нужно повернуть упомянутый эллипс, чтобы соотвествовать области контакта - также стандартизирован, как и степень давления в точке касания.</p> +<p>Некоторые новые функции, связанные с областью касания (областью контакта между пользователем и сенсорной поверхностью) - находятся в процессе стандартизации. Новый функционал включает в себя радиусы эллипса по осям X и Y, которые наиболее точно описывают область контакта с сенсорной поверхностью. <em>Угол поворота</em> точки касания - градус, на который нужно повернуть упомянутый эллипс, чтобы соответствовать области контакта - также стандартизирован, как и степень давления в точке касания.</p> <h2 id="А_что_насчёт_Событий_Указателя">А что насчёт Событий Указателя?</h2> diff --git a/files/ru/web/api/touchevent/changedtouches/index.html b/files/ru/web/api/touchevent/changedtouches/index.html index 0d710b6ad7..7b5299d12c 100644 --- a/files/ru/web/api/touchevent/changedtouches/index.html +++ b/files/ru/web/api/touchevent/changedtouches/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/TouchEvent/changedTouches <h2 id="Summary" name="Summary">Сводка</h2> -<p>{{ domxref("TouchList") }} список точек касания (обьекта {{domxref("Touch")}}), <span id="result_box" lang="ru"><span>смысл которых зависит от типа события</span></span>:</p> +<p>{{ domxref("TouchList") }} список точек касания (объекта {{domxref("Touch")}}), <span id="result_box" lang="ru"><span>смысл которых зависит от типа события</span></span>:</p> <ul> <li>Для события <code>touchstart</code>, это список точек касания, в которых появилось взаимодействие с поверхностью экрана.</li> @@ -26,12 +26,12 @@ translation_of: Web/API/TouchEvent/changedTouches <dl> <dt><code>changes</code></dt> - <dd>Список {{ domxref("TouchList") }} обьекта {{ domxref("Touch") }} в котором содержатся все точки касания для данного события.</dd> + <dd>Список {{ domxref("TouchList") }} объекта {{ domxref("Touch") }} в котором содержатся все точки касания для данного события.</dd> </dl> <h2 id="Пример">Пример</h2> -<p>Этот пример демонстрирует свойство {{domxref("TouchEvent.changedTouches")}} обьекта {{domxref("TouchEvent")}}. Свойство {{domxref("TouchEvent.changedTouches")}} это — обьект {{domxref("TouchList")}}, который содержит обьект {{domxref("Touch")}} для каждой точки, где произошло событие.</p> +<p>Этот пример демонстрирует свойство {{domxref("TouchEvent.changedTouches")}} объекта {{domxref("TouchEvent")}}. Свойство {{domxref("TouchEvent.changedTouches")}} это — объект {{domxref("TouchList")}}, который содержит объект {{domxref("Touch")}} для каждой точки, где произошло событие.</p> <p>В этом фрагменте кода обработчик события {{event("touchmove")}} выполняет перебор списка <code>changedTouches</code> и выводит в консоль <span id="result_box" lang="ru"><span>идентификатор каждой точки касания, где произошло изменение с последнего события.</span></span></p> diff --git a/files/ru/web/api/touchevent/index.html b/files/ru/web/api/touchevent/index.html index 761204b552..2f5fa25eee 100644 --- a/files/ru/web/api/touchevent/index.html +++ b/files/ru/web/api/touchevent/index.html @@ -89,7 +89,7 @@ translation_of: Web/API/TouchEvent <p>Важно отметить, что во многих случаях происходят и события касаний, и события мыши (чтобы код, не использующий касания, мог продолжать взаимодействовать с пользователем). Если вы используете события касания, вам следует вызывать {{domxref("Event.preventDefault","preventDefault()")}} для предотвращения отправки событий мыши.</p> -<p>Исключением из этого правила является браузер Chrome, начиная с версии 56 (настольный, Chrome для android, и android webview), в которой значение по-умолчанию для {{event("touchstart")}} и {{event("touchmove")}} равно <code>true</code> и вызовы метода {{domxref("Event.preventDefault","preventDefault()")}} не требуются. Чтобы переопределить такое поведение, просто установите значение опции <code>passive</code> равным <code>false</code> как показано в примере ниже. Это изменение <span class="tlid-translation translation" lang="ru"><span title="">запрещает обработчику блокировать отрисовку страницы во время прокрутки пользователем</span></span>. Демонстрация этого доступна на сайте <a href="https://developers.google.com/web/updates/2016/06/passive-event-listeners">Google Developer</a>.</p> +<p>Исключением из этого правила является браузер Chrome, начиная с версии 56 (настольный, Chrome для android, и android webview), в которой значение по умолчанию для {{event("touchstart")}} и {{event("touchmove")}} равно <code>true</code> и вызовы метода {{domxref("Event.preventDefault","preventDefault()")}} не требуются. Чтобы переопределить такое поведение, просто установите значение опции <code>passive</code> равным <code>false</code> как показано в примере ниже. Это изменение <span class="tlid-translation translation" lang="ru"><span title="">запрещает обработчику блокировать отрисовку страницы во время прокрутки пользователем</span></span>. Демонстрация этого доступна на сайте <a href="https://developers.google.com/web/updates/2016/06/passive-event-listeners">Google Developer</a>.</p> <h2 id="GlobalEventHandlers">GlobalEventHandlers</h2> diff --git a/files/ru/web/api/touchevent/touches/index.html b/files/ru/web/api/touchevent/touches/index.html index 090fa66e70..e0628978c6 100644 --- a/files/ru/web/api/touchevent/touches/index.html +++ b/files/ru/web/api/touchevent/touches/index.html @@ -23,7 +23,7 @@ translation_of: Web/API/TouchEvent/touches <h2 id="Пример">Пример</h2> -<p>Этот пример демонтсрирует свойство {{domxref("TouchEvent.touches")}} объекта {{domxref("TouchEvent")}}. Свойство {{domxref("TouchEvent.touches")}} это объект {{domxref("TouchList")}}, который содержит список объектов {{domxref("Touch")}} для каждой активной точки контакта с сенсорной поверхностью.</p> +<p>Этот пример демонстрирует свойство {{domxref("TouchEvent.touches")}} объекта {{domxref("TouchEvent")}}. Свойство {{domxref("TouchEvent.touches")}} это объект {{domxref("TouchList")}}, который содержит список объектов {{domxref("Touch")}} для каждой активной точки контакта с сенсорной поверхностью.</p> <p>В следующем фрагменте кода обработчик события {{event("touchstart")}} проверяет длину списка {{domxref("TouchEvent.touches")}} для определения количества точек касаний, которые были активированы, а затем вызывает разные обработчики в зависимости от количества таких точек.</p> diff --git a/files/ru/web/api/urlsearchparams/delete/index.html b/files/ru/web/api/urlsearchparams/delete/index.html index a9a41726ed..64d0ab694c 100644 --- a/files/ru/web/api/urlsearchparams/delete/index.html +++ b/files/ru/web/api/urlsearchparams/delete/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/URLSearchParams/delete --- <p>{{ApiRef("URL API")}}</p> -<p>Метод <strong><code>delete()</code> </strong>интерфейса {{domxref("URLSearchParams")}} удаляет все указанные параметры и все связанные с ним значения из списка найденых параметров.</p> +<p>Метод <strong><code>delete()</code> </strong>интерфейса {{domxref("URLSearchParams")}} удаляет все указанные параметры и все связанные с ним значения из списка найденных параметров.</p> <p>{{availableinworkers}}</p> diff --git a/files/ru/web/api/urlsearchparams/index.html b/files/ru/web/api/urlsearchparams/index.html index a72525e018..d669853cfd 100644 --- a/files/ru/web/api/urlsearchparams/index.html +++ b/files/ru/web/api/urlsearchparams/index.html @@ -82,7 +82,7 @@ searchParams.toString(); // "q=URLUtils.searchParams" <tr> <th scope="col">Спецификации</th> <th scope="col">Статус</th> - <th scope="col">Комментраий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/api/usb/index.html b/files/ru/web/api/usb/index.html index 423ffc90da..e5b0ed2ff3 100644 --- a/files/ru/web/api/usb/index.html +++ b/files/ru/web/api/usb/index.html @@ -12,9 +12,9 @@ translation_of: Web/API/USB --- <p>{{APIRef("WebUSB API")}}{{SeeCompatTable}}{{securecontext_header}}</p> -<p>Интерфейс <strong><code>USB</code></strong> <a href="/en-US/docs/Web/API/WebUSB_API">WebUSB API</a> представляет аттрибуты и методы для поиска и подключения USB устройств из WEB страницы.</p> +<p>Интерфейс <strong><code>USB</code></strong> <a href="/en-US/docs/Web/API/WebUSB_API">WebUSB API</a> представляет атрибуты и методы для поиска и подключения USB устройств из WEB страницы.</p> -<h2 id="Свойтсва">Свойтсва</h2> +<h2 id="Свойства">Свойства</h2> <p>Нет.</p> @@ -33,7 +33,7 @@ translation_of: Web/API/USB <dt>{{domxref("USB.getDevices()")}}</dt> <dd>Возвращает {{jsxref("Promise")}}, который разрешается массивов объектов {{domxref("USBDevice")}} сопряжённых устройств.</dd> <dt>{{domxref("USB.requestDevice()")}}</dt> - <dd>Возвращает {{jsxref("Promise")}}, который разрешается экземпляром {{domxref("USBDevice")}}, если указаннное устройство найдено. Вызов этой функции запускает поток сопряжения агента пользователя.</dd> + <dd>Возвращает {{jsxref("Promise")}}, который разрешается экземпляром {{domxref("USBDevice")}}, если указанное устройство найдено. Вызов этой функции запускает поток сопряжения агента пользователя.</dd> </dl> <h2 id="Спецификация">Спецификация</h2> diff --git a/files/ru/web/api/vrdisplayevent/display/index.html b/files/ru/web/api/vrdisplayevent/display/index.html index 318bd97188..35deeeab90 100644 --- a/files/ru/web/api/vrdisplayevent/display/index.html +++ b/files/ru/web/api/vrdisplayevent/display/index.html @@ -6,7 +6,7 @@ tags: translation_of: Web/API/VRDisplayEvent/display --- <div>{{APIRef("WebVR API")}}{{SeeCompatTable}}<br> - Cвойство <strong><code>display</code></strong>только для чтения интерфейса {{domxref ("VRDisplayEvent")}} возвращает параметр {{domxref ("VRDisplay")}}, связанный с этим событием.</div> + Свойство <strong><code>display</code></strong>только для чтения интерфейса {{domxref ("VRDisplayEvent")}} возвращает параметр {{domxref ("VRDisplay")}}, связанный с этим событием.</div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/vrpose/position/index.html b/files/ru/web/api/vrpose/position/index.html index 2db5c476d2..ba2d4ab6cd 100644 --- a/files/ru/web/api/vrpose/position/index.html +++ b/files/ru/web/api/vrpose/position/index.html @@ -64,5 +64,5 @@ translation_of: Web/API/VRPose/position <ul> <li><a href="/en-US/docs/Web/API/WebVR_API">WebVR API homepage</a></li> - <li><a href="http://mozvr.com/">MozVr.com</a> — дeмонстрационные, материалы для загрузки и другие ресурсы команды Mozilla VR team.</li> + <li><a href="http://mozvr.com/">MozVr.com</a> — демонстрационные, материалы для загрузки и другие ресурсы команды Mozilla VR team.</li> </ul> diff --git a/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html b/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html index 78975958c6..f061c5e714 100644 --- a/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html +++ b/files/ru/web/api/web_animations_api/using_the_web_animations_api/index.html @@ -58,7 +58,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API <h4 id="Представляя_кадры">Представляя кадры</h4> -<p>В первую очередь мы должны сосздать <a href="/en-US/docs/Web/API/Web_Animations_API/Keyframe_Formats">Keyframe Object</a> соответствующего нашему CSS <a href="/en-US/docs/Web/CSS/@keyframes">@keyframes</a> блоку:</p> +<p>В первую очередь мы должны создать <a href="/en-US/docs/Web/API/Web_Animations_API/Keyframe_Formats">Keyframe Object</a> соответствующего нашему CSS <a href="/en-US/docs/Web/CSS/@keyframes">@keyframes</a> блоку:</p> <pre class="brush: js notranslate">var aliceTumbling = [ { transform: 'rotate(0) translate3D(-50%, -50%, 0)', color: '#000' }, @@ -91,7 +91,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API </ul> <div class="note"> -<p>Существует ряд небольших различий между терминологией, используемой в анимации CSS и терминологии, которая используется в веб-анимации. Например, веб-анимации не используется строка "бесконечное", а вместо этого использует JavaScript код бесконечность. И вместо временной-функции мы используем ослабление. Мы не будем перечислять здесь значение ослабления, потому что, в отличие от CSS анимации, где по умолчанию <a href="/en-US/docs/Web/CSS/animation-timing-function">animation-timing-function</a> это просто, в веб-анимации API для ослаблеия по умолчанию используется линейная зависимость - котрые мы используем здесь</p> +<p>Существует ряд небольших различий между терминологией, используемой в анимации CSS и терминологии, которая используется в веб-анимации. Например, веб-анимации не используется строка "бесконечное", а вместо этого использует JavaScript код бесконечность. И вместо временной-функции мы используем ослабление. Мы не будем перечислять здесь значение ослабления, потому что, в отличие от CSS анимации, где по умолчанию <a href="/en-US/docs/Web/CSS/animation-timing-function">animation-timing-function</a> это просто, в веб-анимации API для ослабления по умолчанию используется линейная зависимость - которые мы используем здесь</p> </div> <h4 id="Собираем_части_вместе.">Собираем части вместе.</h4> @@ -129,7 +129,7 @@ translation_of: Web/API/Web_Animations_API/Using_the_Web_Animations_API <h2 id="Управление_воспроизведением_с_помощью_play_pause_reverse_and_playbackRate">Управление воспроизведением с помощью play(), pause(), reverse() and playbackRate</h2> -<p>Хотя мы можем писать CSS анимацию с Web Animations API, где API действительно хорошо подходит в качестве воздействия для воспроизведения анимации. Web Animations API обеспечивает несколько удобных методов для контроля воспроизведения анимации. Давайте посмотрим на паузу и воспроизведение анимации в росте/уменьшении Алисы в игре (провериить полный код можно на сайте <a href="http://codepen.io/rachelnabors/pen/PNYGZQ">full code on Codepen</a>):</p> +<p>Хотя мы можем писать CSS анимацию с Web Animations API, где API действительно хорошо подходит в качестве воздействия для воспроизведения анимации. Web Animations API обеспечивает несколько удобных методов для контроля воспроизведения анимации. Давайте посмотрим на паузу и воспроизведение анимации в росте/уменьшении Алисы в игре (проверить полный код можно на сайте <a href="http://codepen.io/rachelnabors/pen/PNYGZQ">full code on Codepen</a>):</p> <p><a href="http://codepen.io/rachelnabors/pen/PNYGZQ?editors=0010"><img alt="Playing the growing and shrinking game with Alice." src="https://mdn.mozillademos.org/files/13845/growing-shrinking_article_optimized.gif" style="display: block; height: 374px; margin-left: auto; margin-right: auto; width: 700px;"></a></p> @@ -262,7 +262,7 @@ document.addEventListener("touchstart", goFaster);</pre> <pre class="brush: js notranslate">aliceChange.currentTime = aliceChange.effect.timing.duration / 2;</pre> -<p>эффекты позволяют нам получить доступ к анимации keyframe (кадров) и синхронности объектов - aliceChange.effect.timing , указывающий на время Алисиных элементов (котрые имеют тип {{domxref("AnimationEffectTimingReadOnly")}}) — в этом содержиться ее {{domxref("AnimationEffectTimingReadOnly.duration")}}. Мы можем распределить ее длительность на два раза, чтобы получить среднюю точку во временной шкале для установки нормального роста.</p> +<p>эффекты позволяют нам получить доступ к анимации keyframe (кадров) и синхронности объектов - aliceChange.effect.timing , указывающий на время Алисиных элементов (которые имеют тип {{domxref("AnimationEffectTimingReadOnly")}}) — в этом содержится ее {{domxref("AnimationEffectTimingReadOnly.duration")}}. Мы можем распределить ее длительность на два раза, чтобы получить среднюю точку во временной шкале для установки нормального роста.</p> <p>Теперь мы можем запустить ее в обратном порядке и играться анимацией в любом направлении, чтобы заставить ее расти или уменьшаться</p> @@ -280,7 +280,7 @@ drinking.pause();</pre> <p>Теперь все три анимации связаны только с одной продолжительности, и мы можем легко переходить из одного места.</p> -<p>Мы также можем использовать веб-анимации API, чтобы выяснить Текущее время анимации. Игра заканчивается, когда вы бежите от съеденого торта или выпитой бутылки. Изображение у игрока будет зависить от анимации Алисы. Стала ли она слишком большой на фоне крошечной двери и не может в нее пройти или слишком маленькой и не может достать ключ, чтобы открыть дверь. Мы можем выяснить, стала она большой или маленький в конце ее анимация, получая текущее время ее анимации <code><a href="/en-US/docs/Web/API/Animation/currentTime">currentTime</a></code> и разделив ее на activeDuration:</p> +<p>Мы также можем использовать веб-анимации API, чтобы выяснить Текущее время анимации. Игра заканчивается, когда вы бежите от съеденного торта или выпитой бутылки. Изображение у игрока будет зависеть от анимации Алисы. Стала ли она слишком большой на фоне крошечной двери и не может в нее пройти или слишком маленькой и не может достать ключ, чтобы открыть дверь. Мы можем выяснить, стала она большой или маленький в конце ее анимация, получая текущее время ее анимации <code><a href="/en-US/docs/Web/API/Animation/currentTime">currentTime</a></code> и разделив ее на activeDuration:</p> <pre class="brush: js notranslate">var endGame = function() { @@ -319,8 +319,8 @@ drinking.pause();</pre> <p>CSS Animations и Transitions (переходы) имеют свои события и они также могут быть воспроизведены и в Web Animations API:</p> <ul> - <li><code><a href="/en-US/docs/Web/API/Animation/onfinish">onfinish</a></code> это обработчик событий для завершения события и он может быть запущена вручную в функйи/команды <code><a href="/en-US/docs/Web/API/Animation/finish">finish()</a></code>.</li> - <li><code><a href="/en-US/docs/Web/API/Animation/oncancel">oncancel</a></code> это обработчик для отмены события и может быть запуен с помощью функции/команды <code><a href="/en-US/docs/Web/API/Animation/cancel">cancel()</a></code>.</li> + <li><code><a href="/en-US/docs/Web/API/Animation/onfinish">onfinish</a></code> это обработчик событий для завершения события и он может быть запущена вручную в функции/команды <code><a href="/en-US/docs/Web/API/Animation/finish">finish()</a></code>.</li> + <li><code><a href="/en-US/docs/Web/API/Animation/oncancel">oncancel</a></code> это обработчик для отмены события и может быть запущен с помощью функции/команды <code><a href="/en-US/docs/Web/API/Animation/cancel">cancel()</a></code>.</li> </ul> <p>Здесь мы устанавливаем обратный вызов для бутылки, кекса и Алисы, чтобы запустить функцию endGame.</p> diff --git a/files/ru/web/api/web_audio_api/index.html b/files/ru/web/api/web_audio_api/index.html index 1cdd6d43b5..ba3df973e4 100644 --- a/files/ru/web/api/web_audio_api/index.html +++ b/files/ru/web/api/web_audio_api/index.html @@ -17,34 +17,34 @@ translation_of: Web/API/Web_Audio_API <h2 id="Общие_концепции_и_использование_Web_Audio">Общие концепции и использование Web Audio</h2> -<p>Web audio API позволяет обрабатывать операции над аудио с помощью специального аудио контекста (audio context), и был спроектирован на использование модульной маршрутизации (modular routing). Базовые операции выполняются с помощью аудио узлов (audio nodes), которые объединяются вместе, формируя аудио-маршрутизаторную *таблицу (audio routing graph). Несколько источников - с разными видами поточных схем - поддерживаются даже изнутри простого контекста. Эта модульная концепция обеспечивает гибкость в создании сложных функций для динамических эффектов.</p> +<p>Web audio API позволяет обрабатывать операции над аудио с помощью специального аудио контекста (audio context), и был спроектирован на использование модульной маршрутизации (modular routing). Базовые операции выполняются с помощью аудио узлов (audio nodes), которые объединяются вместе, формируя аудио-маршрутизатору *таблицу (audio routing graph). Несколько источников - с разными видами поточных схем - поддерживаются даже изнутри простого контекста. Эта модульная концепция обеспечивает гибкость в создании сложных функций для динамических эффектов.</p> -<p>Аудио узлы объединяются в цепи и простые сети их вводами и выводами. Они, как правило, запускаются с одним или более источниками. Источники представляют собой массивы сэмплов на единицу времени. Например, при частоте дискретизации 44100 Гц, в каждой секунде каждого канала расположено 22050 сэмплов. Они могут быть либо обработаны математически (смотрите : OscillatorNode), либо считаны с звуко/видео файлов (смотрите : AudioBufferSourceNode и MediaElementAudioSourceNode) или с аудио потоков (смотрите : MediaStreamAudioSourceNode). По факту, звуковые файлы - просто запись звуковых колебаний, которые поступают от микрофона и музыкальных инструментов, смешиваясь в одну сложную волну. Выводные данные этих узлов могут быть связаны с вводными других, что смешивают или модифицируют потоки звуковых образцов в инные потоки. Популярная модификация - умножение образца на значение, чтобы сделать выходной звук менее или более громким (смотрите : GainMode). Когда звук был успешно обработан предназначеным ему эффектом, он может быть привязан к выходному потоку (смотрите : AudioContext.destination), что направляет звук в динамики или микрофон. Данный шаг нужен лишь если вы предпочтёте дать возможность пользователю услышать ваши шедевры.</p> +<p>Аудио узлы объединяются в цепи и простые сети их вводами и выводами. Они, как правило, запускаются с одним или более источниками. Источники представляют собой массивы сэмплов на единицу времени. Например, при частоте дискретизации 44100 Гц, в каждой секунде каждого канала расположено 22050 сэмплов. Они могут быть либо обработаны математически (смотрите : OscillatorNode), либо считаны с звуко/видео файлов (смотрите : AudioBufferSourceNode и MediaElementAudioSourceNode) или с аудио потоков (смотрите : MediaStreamAudioSourceNode). По факту, звуковые файлы - просто запись звуковых колебаний, которые поступают от микрофона и музыкальных инструментов, смешиваясь в одну сложную волну. Выводные данные этих узлов могут быть связаны с вводными других, что смешивают или модифицируют потоки звуковых образцов в иные потоки. Популярная модификация - умножение образца на значение, чтобы сделать выходной звук менее или более громким (смотрите : GainMode). Когда звук был успешно обработан предназначенным ему эффектом, он может быть привязан к выходному потоку (смотрите : AudioContext.destination), что направляет звук в динамики или микрофон. Данный шаг нужен лишь если вы предпочтёте дать возможность пользователю услышать ваши шедевры.</p> <p>Простой, типичный порядок действий выполнения манипуляций над аудио выглядит так :</p> <ol> <li>Создадим аудио контекст</li> <li>Внутри нашего контекста определим источники - такие как <audio>, генератор (oscillator), поток</li> - <li>Определим узлы эффектов, такие как реверберация (reverb), биквадратный фильтр (biquad filter), панораммирование (panner), сжатие (compressor)</li> + <li>Определим узлы эффектов, такие как реверберация (reverb), биквадратный фильтр (biquad filter), панорамирование (panner), сжатие (compressor)</li> <li>Выберем конечную точку аудио сигнала, например ваши системные звуковые устройства</li> <li>Привяжем наши источники к эффектам, и эффекты к конечному сигналу.</li> </ol> <p><img alt="A simple box diagram with an outer box labeled Audio context, and three inner boxes labeled Sources, Effects and Destination. The three inner boxes have arrow between them pointing from left to right, indicating the flow of audio information." src="https://mdn.mozillademos.org/files/7893/web-audio-api-flowchart.png" style="display: block; height: 113px; margin: 0px auto; width: 635px;"></p> -<p>Распределение времени контролируется с высокой точностью и низкими задержками, позволяя разработчикам писать код, что точно реагирует на события и в состоянии обработать образец даже на высокой оценке образцов (sample rate). Так что такие приложения как ритм-компьютер и програмный автомат всегда под рукой.</p> +<p>Распределение времени контролируется с высокой точностью и низкими задержками, позволяя разработчикам писать код, что точно реагирует на события и в состоянии обработать образец даже на высокой оценке образцов (sample rate). Так что такие приложения как ритм-компьютер и программный автомат всегда под рукой.</p> <p>Web audio API также даёт нам возможность контролировать то, каким аудио является в пространстве. Используя особую систему, что базируется<br> - на модели source-listener, он позволяет контролировать модель панораммирования и обходиться без дистанционно-вызваного ослабления (distance-induced attenuation) или duppler shift, вызванного сдвигом источника (или сдвигом слушателя).</p> + на модели source-listener, он позволяет контролировать модель панорамирования и обходиться без дистанционно-вызванного ослабления (distance-induced attenuation) или duppler shift, вызванного сдвигом источника (или сдвигом слушателя).</p> <div class="note"> -<p>Помните: Вы можете прочитать более детальный теоритический материал о Web audio API в нашей статье<a href="/en-US/docs/Web/API/Web_Audio_API/Basic_concepts_behind_Web_Audio_API"> Basic concepts behind Web Audio API</a>.</p> +<p>Помните: Вы можете прочитать более детальный теоретический материал о Web audio API в нашей статье<a href="/en-US/docs/Web/API/Web_Audio_API/Basic_concepts_behind_Web_Audio_API"> Basic concepts behind Web Audio API</a>.</p> </div> <h2 id="Web_Audio_API_интерфейсы">Web Audio API интерфейсы</h2> -<p>В Web audio API есть всего 28 интерфейсов и соответствующих событий, которые мы cгруппировали в 9 категорий по функциональности.</p> +<p>В Web audio API есть всего 28 интерфейсов и соответствующих событий, которые мы сгруппировали в 9 категорий по функциональности.</p> <h3 id="Главные_объекты_определения_аудио">Главные объекты определения аудио</h3> @@ -52,9 +52,9 @@ translation_of: Web/API/Web_Audio_API <dl> <dt>{{domxref("AudioContext")}}</dt> - <dd>AudioContext представляет собой некий аудио обрабатывающий объект, сооруженный из аудио модулей связаных вместе, где каждый является экземпляром класса {{domxref("AudioNode")}}. AudioContext управляет созданием узлов, содержащихся в нём и выполняет обработку или декодирование аудио данных.</dd> + <dd>AudioContext представляет собой некий аудио обрабатывающий объект, сооруженный из аудио модулей связанных вместе, где каждый является экземпляром класса {{domxref("AudioNode")}}. AudioContext управляет созданием узлов, содержащихся в нём и выполняет обработку или декодирование аудио данных.</dd> <dt>{{domxref("AudioNode")}}</dt> - <dd>Интерфейс AudioNode представляет собой некий обрабатывающий модуль такой как источник аудио (то есть HTML <audio> или <video> елемент), конечный аудио объект, модуль непосредственной обработки (например фильтр BiquadFilterNode или звуковой контроллер такой как GainNode).</dd> + <dd>Интерфейс AudioNode представляет собой некий обрабатывающий модуль такой как источник аудио (то есть HTML <audio> или <video> элемент), конечный аудио объект, модуль непосредственной обработки (например фильтр BiquadFilterNode или звуковой контроллер такой как GainNode).</dd> <dt>{{domxref("AudioParam")}}</dt> <dd><code>Интерфейс </code><strong><code>AudioParam </code></strong><code>представляет аудио-параметры связанные с </code>{{domxref("AudioNode")}}. Он может содержать как точное значение параметра, так и параметры изменяющиеся во времени.</dd> <dt>{{event("ended_(Web_Audio)", "ended")}} (event)</dt> diff --git a/files/ru/web/api/web_audio_api/using_web_audio_api/index.html b/files/ru/web/api/web_audio_api/using_web_audio_api/index.html index 056ebde044..ac5db4ae58 100644 --- a/files/ru/web/api/web_audio_api/using_web_audio_api/index.html +++ b/files/ru/web/api/web_audio_api/using_web_audio_api/index.html @@ -4,7 +4,7 @@ slug: Web/API/Web_Audio_API/Using_Web_Audio_API translation_of: Web/API/Web_Audio_API/Using_Web_Audio_API --- <div class="summary"> -<p><span class="seoSummary"><a href="/en-US/docs/Web_Audio_API">Web Audio API</a> обеспечивает простой, но мощный механизм реализации и управления аудио-контентом внутри web приложения. Это позволяет разрабатывать сложные аудио миксины, эффекты и т.д. В этой статье мы постараемся обьяснить основы использования Web Audio API, посредством пары простых примеров.</span></p> +<p><span class="seoSummary"><a href="/en-US/docs/Web_Audio_API">Web Audio API</a> обеспечивает простой, но мощный механизм реализации и управления аудио-контентом внутри web приложения. Это позволяет разрабатывать сложные аудио миксины, эффекты и т.д. В этой статье мы постараемся объяснить основы использования Web Audio API, посредством пары простых примеров.</span></p> </div> <div> 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 732bc7add5..b1352cccd6 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,9 +127,9 @@ 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> +<p>Сначала мы снова создаем анализатор и массив для данных, затем очищаем холст при помощи <code>clearRect()</code>. Единственное отличие от того, что мы делали раньше - ы том, что мы можем установить намного меньший размер fft. Таким образом, каждый столбец в диаграмме будет выглядеть как столбец, а не как тонкая полоска.</p> <pre class="brush: js notranslate"> analyser.fftSize = 256; var bufferLength = analyser.frequencyBinCount; @@ -156,9 +156,9 @@ var dataArray = new Uint8Array(bufferLength);</pre> var barHeight; var x = 0;</pre> -<p>Как и раньше, мы в цикле проходим по каждому значению в <code>dataArray</code>. Для каждого значения мы устанавливаем высоту <code>barHeight</code> на уровне значения в массиве, устанавливаем заливку в зависимости от <code>barHeight</code> (Чем выше столбец, тем он ярче), и рисуем столбец в <code>x</code> пикселях от левой стороны холста. Ширина столбца равна <code>barWidth</code> , а выстоа - <code>barHeight/2</code> (чтобы столбцы помещались на холсте, мы уменьшили высоту в два раза)</p> +<p>Как и раньше, мы в цикле проходим по каждому значению в <code>dataArray</code>. Для каждого значения мы устанавливаем высоту <code>barHeight</code> на уровне значения в массиве, устанавливаем заливку в зависимости от <code>barHeight</code> (Чем выше столбец, тем он ярче), и рисуем столбец в <code>x</code> пикселях от левой стороны холста. Ширина столбца равна <code>barWidth</code> , а высота - <code>barHeight/2</code> (чтобы столбцы помещались на холсте, мы уменьшили высоту в два раза)</p> -<p>Одна переменная, требующая объяснения, - это вертикальный сдвиг, с которым мы рисуем каждый столбец: <code>HEIGHT-barHeight/2</code>. Это делается для того, чтобы столбцы начинались в нижней части холста, а не в верхней, как было бы, если бы вертикальное положение было установлена в 0 0. Поэтому мы каждый раз устанавливаем вертикальное поожение в разность высоты холста и <code>barHeight/2</code>, чтобы столбцы начинались где-то между верхом и низом холста и заканчивались снизу.</p> +<p>Одна переменная, требующая объяснения, - это вертикальный сдвиг, с которым мы рисуем каждый столбец: <code>HEIGHT-barHeight/2</code>. Это делается для того, чтобы столбцы начинались в нижней части холста, а не в верхней, как было бы, если бы вертикальное положение было установлена в 0 0. Поэтому мы каждый раз устанавливаем вертикальное положение в разность высоты холста и <code>barHeight/2</code>, чтобы столбцы начинались где-то между верхом и низом холста и заканчивались снизу.</p> <pre class="brush: js notranslate"> for(var i = 0; i < bufferLength; i++) { barHeight = dataArray[i]/2; diff --git a/files/ru/web/api/web_authentication_api/index.html b/files/ru/web/api/web_authentication_api/index.html index 19162bf4f9..d7951c18d6 100644 --- a/files/ru/web/api/web_authentication_api/index.html +++ b/files/ru/web/api/web_authentication_api/index.html @@ -9,7 +9,7 @@ translation_of: Web/API/Web_Authentication_API <h2 id="Принципы_и_использование_веб-аутентификации">Принципы и использование веб-аутентификации</h2> -<p>API Web Authentication (также называемое WebAuthn) использует {{interwiki("wikipedia", "Public-key_cryptography", "ассметричную криптографию (систему с открытым ключом)")}} вместо паролей или SMS-сообщений для регистрации, входа и {{interwiki("wikipedia", "Multi-factor_authentication", "двухфакторной аутентификации")}} на веб-сайтах. Это устраняет многие значительные проблемы безопасности, такие как {{interwiki("wikipedia", "Phishing", "фишинг")}}, {{interwiki("wikipedia", "Data_breach", "утечки данных")}} и атаки на SMS или иные методы двухфакторной аутентификации, при этом сильно упрощая использование, т.к. пользователям не нужно запоминать десятки сложных паролей.</p> +<p>API Web Authentication (также называемое WebAuthn) использует {{interwiki("wikipedia", "Public-key_cryptography", "ассиметричную криптографию (систему с открытым ключом)")}} вместо паролей или SMS-сообщений для регистрации, входа и {{interwiki("wikipedia", "Multi-factor_authentication", "двухфакторной аутентификации")}} на веб-сайтах. Это устраняет многие значительные проблемы безопасности, такие как {{interwiki("wikipedia", "Phishing", "фишинг")}}, {{interwiki("wikipedia", "Data_breach", "утечки данных")}} и атаки на SMS или иные методы двухфакторной аутентификации, при этом сильно упрощая использование, т.к. пользователям не нужно запоминать десятки сложных паролей.</p> <p>На многих сайтах уже есть страницы для регистрации и входа в существующие учетные записи, и Web Authentication API может быть как заменой, так и дополнением для них. Как и остальные виды <a href="/en-US/docs/Web/API/Credential_Management_API">Credential Management API</a>, Web Authentication API содержит два базовых метода: для регистрации и для входа:</p> @@ -42,7 +42,7 @@ translation_of: Web/API/Web_Authentication_API <ol start="0"> <li><strong>Приложение запрашивает регистрацию</strong> - The application makes the initial registration request. The protocol and format of this request is outside of the scope of the Web Authentication API.</li> <li><strong>Server Sends Challenge, User Info, and Relying Party Info</strong> - The server sends a challenge, user information, and relying party information to the JavaScript program. The protocol for communicating with the server is not specified and is outside of the scope of the Web Authentication API. Typically, server communications would be <a href="/en-US/docs/Glossary/REST">REST</a> over https (probably using <a href="/en-US/docs/User:maybe/webidl_mdn/XMLHttpRequest_API">XMLHttpRequest</a> or <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a>), but they could also be <a href="/en-US/docs/Glossary/SOAP">SOAP</a>, <a href="https://tools.ietf.org/html/rfc2549">RFC 2549</a> or nearly any other protocol provided that the protocol is secure. The parameters received from the server will be passed to the <a href="/en-US/docs/Web/API/CredentialsContainer/create">create()</a> call, typically with little or no modification and returns a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a> that will resolve to a {{domxref("PublicKeyCredential")}} containing an {{domxref("AuthenticatorAttestationResponse")}}. <strong>Note that it is absolutely critical that the challenge be a buffer of random information (at least 16 bytes) and it MUST be generated on the server in order to ensure the security of the registration process.</strong></li> - <li><strong>Браузер вызвает authenticatorMakeCredential() для аутентификатора</strong> - Internally, the browser will validate the parameters and fill in any defaults, which become the {{domxref("AuthenticatorResponse.clientDataJSON")}}. One of the most important parameters is the origin, which is recorded as part of the clientData so that the origin can be verified by the server later. The parameters to the create() call are passed to the authenticator, along with a SHA-256 hash of the clientDataJSON (only a hash is sent because the link to the authenticator may be a low-bandwidth NFC or Bluetooth link and the authenticator is just going to sign over the hash to ensure that it isn't tampered with).</li> + <li><strong>Браузер вызывает authenticatorMakeCredential() для аутентификатора</strong> - Internally, the browser will validate the parameters and fill in any defaults, which become the {{domxref("AuthenticatorResponse.clientDataJSON")}}. One of the most important parameters is the origin, which is recorded as part of the clientData so that the origin can be verified by the server later. The parameters to the create() call are passed to the authenticator, along with a SHA-256 hash of the clientDataJSON (only a hash is sent because the link to the authenticator may be a low-bandwidth NFC or Bluetooth link and the authenticator is just going to sign over the hash to ensure that it isn't tampered with).</li> <li><strong>Аутентификатор создает новую пару ключей и Attestation</strong> - Before doing anything, the authenticator will typically ask for some form of user verification. This could be entering a PIN, using a fingerprint, doing an iris scan, etc. to prove that the user is present and consenting to the registration. After the user verification, the authenticator will create a new asymmetric key pair and safely store the private key for future reference. The public key will become part of the attestation, which the authenticator will sign over with a private key that was burned into the authenticator during its manufacturing process and that has a certificate chain that can be validated back to a root of trust.</li> <li><strong>Аутентификатор передает информацию в браузер</strong> - The new public key, a globally unique credential id, and other attestation data are returned to the browser where they become the attestationObject.</li> <li><strong>Браузер создаёт итоговый набор данных, приложение отвечает серверу</strong> - The create() Promise resolves to an {{domxref("PublicKeyCredential")}}, which has a {{domxref("PublicKeyCredential.rawId")}} that is the globally unique credential id along with a response that is the {{domxref("AuthenticatorAttestationResponse")}} containing the {{domxref("AuthenticatorResponse.clientDataJSON")}} and {{domxref("AuthenticatorAttestationResponse.attestationObject")}}. The {{domxref("PublicKeyCredential")}} is sent back to the server using any desired formatting and protocol (note that the ArrayBuffer properties need to be be base64 encoded or similar).</li> 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 f869af47d3..27aa08113f 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 @@ -219,7 +219,7 @@ recognition.onresult = function(event) { <h3 id="Демо_2">Демо</h3> <p>То же самое приложение из предыдущего примера.<br> - <a href="https://ru.web-speech-api-example.cheliz.top/">Ccылка на приложение</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> + <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> @@ -351,7 +351,7 @@ let voices = [];</pre> <p>Внутри функции <code>speak()</code> мы выполняем проверку на то, воспроизводится ли речь в данный момент, с помощью свойства <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/speaking">SpeechSynthesis.speaking</a></code> <br> Если да, то останавливаем процесс функцией <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/cancel" title="The cancel() method of the SpeechSynthesis interface removes all utterances from the utterance queue.">SpeechSynthesis.cancel()</a></code> и запускаем рекурсивно заново.</p> -<p>В последней части функции мы включаем обработчик <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/onpause">SpeechSynthesisUtterance.onpause</a></code>, чтобыпоказать пример применения <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisEvent">SpeechSynthesisEvent</a></code> в различных ситуациях. Вызов <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/pause">SpeechSynthesis.pause() </a></code>возвращает сообщение с информацией о номере символа и слове, на котором была вызвана пауза.</p> +<p>В последней части функции мы включаем обработчик <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance/onpause">SpeechSynthesisUtterance.onpause</a></code>, чтобы показать пример применения <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisEvent">SpeechSynthesisEvent</a></code> в различных ситуациях. Вызов <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/pause">SpeechSynthesis.pause() </a></code>возвращает сообщение с информацией о номере символа и слове, на котором была вызвана пауза.</p> <p>Наконец, мы назовем <code>blur()</code> у текстового поля. Это, прежде всего, для того, чтобы скрыть клавиатуру в ОС Firefox.</p> diff --git a/files/ru/web/api/web_storage_api/index.html b/files/ru/web/api/web_storage_api/index.html index 79f5954012..f7bccc6ac9 100644 --- a/files/ru/web/api/web_storage_api/index.html +++ b/files/ru/web/api/web_storage_api/index.html @@ -32,7 +32,7 @@ translation_of: Web/API/Web_Storage_API <dl> <dt>{{domxref("Storage")}}</dt> - <dd>Позволяет присваивать, извлекать (читать) и удалять данные для специфического домена и типа хранилща (сессии или локального).</dd> + <dd>Позволяет присваивать, извлекать (читать) и удалять данные для специфического домена и типа хранилища (сессии или локального).</dd> <dt>{{domxref("Window")}}</dt> <dd>Web Storage API расширяет {{domxref("Window")}} объект, добавляя к нему два новых свойства — {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} — которые предоставляют доступ к сессии текущего домена и к соответствующим локальным {{domxref("Storage")}} объектам, и {{domxref("Window.onstorage")}} обработчик событий, который срабатывает при изменении объекта хранилища (например, при сохранении нового элемента)</dd> <dt>{{domxref("StorageEvent")}}</dt> @@ -41,9 +41,9 @@ translation_of: Web/API/Web_Storage_API <h2 id="Примеры">Примеры</h2> -<p>Чтобы проиллюстрировать типичное использование веб хранилища, мы создали простейший пример и назвали его <a href="https://github.com/mdn/dom-examples/tree/master/web-storage">Web Storage Demo</a>. На <a href="https://mdn.github.io/dom-examples/web-storage/">лендинге</a> нашего примера вы найдете элементы управления для изменения фонового цвета, шрифта и изображения. Когда вы выбираете разные опции, страница мнгновенно меняется. В дополнение, ваш выбор сохраняется в локальном хранилище, чтобы, если вы покинете страницу и потом загрузите ее снова, ваши настройки восстановились. </p> +<p>Чтобы проиллюстрировать типичное использование веб хранилища, мы создали простейший пример и назвали его <a href="https://github.com/mdn/dom-examples/tree/master/web-storage">Web Storage Demo</a>. На <a href="https://mdn.github.io/dom-examples/web-storage/">лендинге</a> нашего примера вы найдете элементы управления для изменения фонового цвета, шрифта и изображения. Когда вы выбираете разные опции, страница мгновенно меняется. В дополнение, ваш выбор сохраняется в локальном хранилище, чтобы, если вы покинете страницу и потом загрузите ее снова, ваши настройки восстановились. </p> -<p>Также, мы сделали <a href="http://mdn.github.io/dom-examples/web-storage/event.html">страницу вывода событий</a>, которая выводит информацию о хранилище, каждый раз когда срабатывает событие {{domxref("StorageEvent")}}. Загрузите эту страницу в другой вкладке браузера, затем вернитесь на лендинг и поменяйте значения цвета, шрифта или изображения и понаблюдайте, как меняется выводимая иформация.</p> +<p>Также, мы сделали <a href="http://mdn.github.io/dom-examples/web-storage/event.html">страницу вывода событий</a>, которая выводит информацию о хранилище, каждый раз когда срабатывает событие {{domxref("StorageEvent")}}. Загрузите эту страницу в другой вкладке браузера, затем вернитесь на лендинг и поменяйте значения цвета, шрифта или изображения и понаблюдайте, как меняется выводимая информация.</p> <h2 id="Спецификации">Спецификации</h2> @@ -132,7 +132,7 @@ translation_of: Web/API/Web_Storage_API <p>Многие браузеры выбрали стратегию, когда API хранилища доступно и кажется полностью функциональным, с одним большим отличием - все данные хранилища стираются после закрытия браузера. Для этих браузеров есть ещё другие интерпретации того, что следует делать с хранимыми данными (от обычного режима браузера). Следует ли им быть доступными в приватном режиме? Затем, есть несколько браузеров, особенно Safari, которые выбрали решение, в котором хранилище доступно, но пустое и имеет квоту 0 байт, фактически, делая невозможной запись туда данных.</p> -<p>Разработчики должны быть осведомлены об этих различных реализациях и принимать их во внимание при разработке веб-сайтов, зависящих от API Веб хранилища. Для получения более подробной информации, пожалуйста, посмотрите на <a href="https://blog.whatwg.org/tag/localstorage">этот пост блога WHATWG</a>, специонально посвященный этой теме.</p> +<p>Разработчики должны быть осведомлены об этих различных реализациях и принимать их во внимание при разработке веб-сайтов, зависящих от API Веб хранилища. Для получения более подробной информации, пожалуйста, посмотрите на <a href="https://blog.whatwg.org/tag/localstorage">этот пост блога WHATWG</a>, специально посвященный этой теме.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html b/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html index 584cacef31..2048019f7c 100644 --- a/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html +++ b/files/ru/web/api/web_storage_api/using_the_web_storage_api/index.html @@ -4,7 +4,7 @@ slug: Web/API/Web_Storage_API/Using_the_Web_Storage_API translation_of: Web/API/Web_Storage_API/Using_the_Web_Storage_API --- <div class="summary"> -<p>Web Storage API предоставляет механизм, при помощи которого браузер может безопасно хранить пары ключей/значениий в намного более интуитивной форме, чем используя cookies. Эта статья предоставляет пошаговое руководство о том, как использовать эту простую технологию.</p> +<p>Web Storage API предоставляет механизм, при помощи которого браузер может безопасно хранить пары ключей/значений в намного более интуитивной форме, чем используя cookies. Эта статья предоставляет пошаговое руководство о том, как использовать эту простую технологию.</p> </div> <h2 id="Основные_концепции">Основные концепции</h2> @@ -23,7 +23,7 @@ localStorage.setItem('colorSetting', '#a4509b'); <li><code>(localStorage)</code> делает то же самое, но сохраняет данные даже в случае, если переоткрыть браузер. </li> </ul> -<p>Оба механизма доступны через {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} свойства (если быть более точным, в броузерах, поддерживающих хранилища объект <code>Window</code> выполняет объекты <code>WindowLocalStorage</code>и <code>WindowSessionStorage</code>, которые содержат свойства <code>localStorage</code>и <code>sessionStorage</code>) — вызов одного из них создает экземляр объекта Storage, через который можно устанавливать, редактировать и удалять данные. Разные Storage объекты будут использовать <code>sessionStorage</code> и <code>localStorage поэтому они используются и управляются раздельно </code></p> +<p>Оба механизма доступны через {{domxref("Window.sessionStorage")}} и {{domxref("Window.localStorage")}} свойства (если быть более точным, в броузерах, поддерживающих хранилища объект <code>Window</code> выполняет объекты <code>WindowLocalStorage</code>и <code>WindowSessionStorage</code>, которые содержат свойства <code>localStorage</code>и <code>sessionStorage</code>) — вызов одного из них создает экземпляр объекта Storage, через который можно устанавливать, редактировать и удалять данные. Разные Storage объекты будут использовать <code>sessionStorage</code> и <code>localStorage поэтому они используются и управляются раздельно </code></p> <p>Так, например, изначально вызов <code>localStorage</code> в документе возвращает {{domxref("Storage")}} объект; вызов <code>sessionStorage</code> в документе возвращает другой {{domxref("Storage")}} объект. Оба объекта могут управляться одинаково, но отдельно.</p> @@ -35,7 +35,7 @@ localStorage.setItem('colorSetting', '#a4509b'); <p>Браузеры поддерживаемые localStorage будут иметь свойство localStorage объекта window. Тем не менее по различным причинам, простое утверждение, что это свойство существует, может вызывать исключение. Если localStorage существует это еще не дает гарантии, что оно доступно, т.к. различные броузеры обладают настройками которые отключают его. Поэтому браузер может поддерживать localStorage, но не делает его доступным для скриптов на странице. Один из таких примеров браузер Safari, который в Private Browsing mode возвращает нам пустой localStorage объект, фактически делая его непригодным для использования . Наша функция должна принимать во внимание этот сценарий. </p> -<p>Функция, которая проверяет браузеры на подержку и доступность localStorage:</p> +<p>Функция, которая проверяет браузеры на поддержку и доступность localStorage:</p> <pre class="brush: js notranslate">function storageAvailable(type) { try { @@ -63,7 +63,7 @@ else { <h2 id="Пример">Пример</h2> -<p>Чтобы проилюстрировать типичное использование Web storage, мы создали простой пример, назвав его <strong>Web Storage Demo. </strong>На <a href="https://mdn.github.io/dom-examples/web-storage/">целевой странице</a> представлены элементы управления, которые можно использовать для настройки цвета, шрифта и декоративного изображения:</p> +<p>Чтобы проиллюстрировать типичное использование Web storage, мы создали простой пример, назвав его <strong>Web Storage Demo. </strong>На <a href="https://mdn.github.io/dom-examples/web-storage/">целевой странице</a> представлены элементы управления, которые можно использовать для настройки цвета, шрифта и декоративного изображения:</p> <p><img alt="" src="https://mdn.mozillademos.org/files/9685/landing.png" style="display: block; height: 482px; margin: 0px auto; width: 700px;">Когда вы выбираете различные опции, страница немедленно перезагружается; в дополнение, ваш выбор сохраняется в localStorage, таким образом когда вы покидаете страницу и загружаете ее снова спустя некоторое время, ваши параметры сохраняются.</p> @@ -86,7 +86,7 @@ else { } </pre> -<p>Метод {{domxref("Storage.getItem()")}} используется для получения данных из storage; в этом примере мы проверяем, чтобы увидеть существует ли bgcolor; если нет, мы запускаем <code>populateStorage(), чтобы добавить значение по-умолчанию в storage. Если значения уже есть там, мы запускаем setStyles(), для обновления стиля страница с сохраненными значениями.</code><br> +<p>Метод {{domxref("Storage.getItem()")}} используется для получения данных из storage; в этом примере мы проверяем, чтобы увидеть существует ли bgcolor; если нет, мы запускаем <code>populateStorage(), чтобы добавить значение по умолчанию в storage. Если значения уже есть там, мы запускаем setStyles(), для обновления стиля страница с сохраненными значениями.</code><br> <strong>Примечание</strong>: Вы можете также использовать {{domxref("Storage.length")}} для проверки storage object.</p> <h2 id="Получение_данных_из_Storage">Получение данных из Storage</h2> diff --git a/files/ru/web/api/web_workers_api/index.html b/files/ru/web/api/web_workers_api/index.html index 706dab35cb..7edfe0ce2e 100644 --- a/files/ru/web/api/web_workers_api/index.html +++ b/files/ru/web/api/web_workers_api/index.html @@ -218,6 +218,6 @@ translation_of: Web/API/Web_Workers_API <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker">Интерфейс SharedWorker</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API">ServiceWorker API</a></li> <li><a href="/en-US/docs/Web/API/Worker/Functions_and_classes_available_to_workers">Функции и классы доступные воркерам</a></li> - <li><a href="/en-US/docs/Web/API/Web_Workers_API/Advanced_concepts_and_examples">Продвинутые конфепции и примеры</a></li> + <li><a href="/en-US/docs/Web/API/Web_Workers_API/Advanced_concepts_and_examples">Продвинутые концепции и примеры</a></li> <li><a href="/en-US/docs/Web/API/ChromeWorker">ChromeWorker</a>: для использования воркеров в привелегированном/chrome коде</li> </ul> diff --git a/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html b/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html index 883d5d3122..e53a1144ba 100644 --- a/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html +++ b/files/ru/web/api/web_workers_api/structured_clone_algorithm/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Web_Workers_API/Structured_clone_algorithm --- <p>Алгоритм структурированного клонирования — это новый алгоритм, <a class="external" href="http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#safe-passing-of-structured-data" title="http://www.w3.org/TR/html5/common-dom-interfaces.html#safe-passing-of-structured-data">определенный спецификацией HTML5</a> для сериализации комплексных JavaScript объектов. Он более функционален, чем <a href="/en/JSON" title="en/JSON">JSON</a> в том что способен поддерживать сериализацию объектов содержащих циклические графы — первичные объекты, которые ссылаются на другие объекты у которых есть ссылка на первичные объекты в том же графе. В дополнение, в некоторых других случаях алгоритм структурированного клонирования может быть более эффективен, чем JSON.</p> -<p>Аглоритм, по существу, перебирает все поля оригинального объекта, дублируя значения каждого поля в новый объект. Если поле представляет из себя объект с собственными полями, то эти дочерние поля также перебираются рекурсивно, пока каждое поле и все дочерние поля не будут продублированы в новый объект.</p> +<p>Алгоритм, по существу, перебирает все поля оригинального объекта, дублируя значения каждого поля в новый объект. Если поле представляет из себя объект с собственными полями, то эти дочерние поля также перебираются рекурсивно, пока каждое поле и все дочерние поля не будут продублированы в новый объект.</p> <h2 id="Преимущества_перед_JSON">Преимущества перед JSON</h2> diff --git a/files/ru/web/api/web_workers_api/using_web_workers/index.html b/files/ru/web/api/web_workers_api/using_web_workers/index.html index 8fd2faebd3..9767a15c43 100644 --- a/files/ru/web/api/web_workers_api/using_web_workers/index.html +++ b/files/ru/web/api/web_workers_api/using_web_workers/index.html @@ -23,7 +23,7 @@ original_slug: DOM/Using_web_workers <p>Вы можете запускать любой код внутри потока worker-а, за некоторыми исключениями. Например, вы не можете прямо манипулировать DOM внутри worker-а, или использовать некоторые методы по умолчанию и свойства объекта {{domxref("window")}}. Но вы можете использовать большой набор опций, доступный под <code>Window</code>, включая <a href="/en-US/docs/Web/API/WebSockets_API">WebSockets</a>, и механизмы хранения данных, таких как <a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a> и относящихся только к Firefox OS <a href="/en-US/docs/Web/API/Data_Store_API">Data Store API</a>. Для дополнительной информации смотрите <a href="/en-US/docs/Web/API/Worker/Functions_and_classes_available_to_workers">Functions and classes available to workers</a>.</p> -<p>Данные передаются между worker-ами и главным потоком через систему сообщений — обе стороны передают свои сообщения, используя метод <code>postMessage()</code> и отвечают на сообщения при помощи обработчика событий <code>onmessage</code> (сообщение хранится в аттрибуте data события {{event("Message")}}). Данные при этом копируются, а не делятся.</p> +<p>Данные передаются между worker-ами и главным потоком через систему сообщений — обе стороны передают свои сообщения, используя метод <code>postMessage()</code> и отвечают на сообщения при помощи обработчика событий <code>onmessage</code> (сообщение хранится в атрибуте data события {{event("Message")}}). Данные при этом копируются, а не делятся.</p> <p>Объекты Workers могут, в свою очередь, создавать новые объекты workers, и так до тех пор, пока всё работает в рамках текущей страницы. Плюс к этому, объекты workers могут использовать <a class="internal" href="/en-US/docs/Web/API/XMLHttpRequest"><code>XMLHttpRequest</code></a> для сетевого ввода/вывода, но есть исключение - атрибуты <code>responseXML</code> и <code>channel</code> объекта <code>XMLHttpRequest</code> всегда возвращают <code>null</code>.</p> @@ -138,7 +138,7 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */ <p>Разделяемый worker доступен нескольким разным скриптам — даже если они находятся в разных окнах, фреймах или даже worker-ах. В этом разделе мы обсудим JavaScript, который можно найти в нашем <a class="external external-icon" href="https://github.com/mdn/simple-shared-worker">базовом примере разделяемых worker-ов</a> (<a class="external external-icon" href="http://mdn.github.io/simple-shared-worker/">запустить разделяемый worker</a>): Он очень похож на базовый пример выделенных worker-ов, за исключением двух функций, которые доступны из разных скриптовых файлов: <em>умножение двух чисел</em> или <em>возведение числа в степень.</em> Оба скрипта используют один и тот же worker для необходимых вычислений.</p> -<p>Здесь мы сосредоточимся на разнице между выделенными и раздялемыми worker-ами. Обратите внимание, что в данном примере есть две HTML страницы с JavaScript кодом, которые используют один и тот же файл worker-а.</p> +<p>Здесь мы сосредоточимся на разнице между выделенными и разделенными worker-ами. Обратите внимание, что в данном примере есть две HTML страницы с JavaScript кодом, которые используют один и тот же файл worker-а.</p> <div class="note"> <p><strong>Заметка</strong>: Если разделяемый worker может быть доступен из нескольких контекстов просмотра, то все они должны иметь одно и то же происхождение (одни и те же протокол, хост и порт).</p> @@ -168,7 +168,7 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */ <h3 id="Передача_сообщений_виз_разделяемого_worker-а">Передача сообщений в/из разделяемого worker-а</h3> -<p>Теперь сообщения могут быть отправлены worker-у, как и прежде, но метод <code>postMessage()</code> должен вызываться из объекта <code>port</code> (еще раз, вы можете увидеть схожие кострукции в <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/multiply.js">multiply.js</a> и <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/square.js">square.js</a>):</p> +<p>Теперь сообщения могут быть отправлены worker-у, как и прежде, но метод <code>postMessage()</code> должен вызываться из объекта <code>port</code> (еще раз, вы можете увидеть схожие конструкции в <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/multiply.js">multiply.js</a> и <a href="https://github.com/mdn/simple-shared-worker/blob/gh-pages/square.js">square.js</a>):</p> <pre class="brush: js notranslate">squareNumber.onchange = function() { myWorker.port.postMessage([squareNumber.value,squareNumber.value]); @@ -516,7 +516,7 @@ onmessage = function(oEvent) { <h3 id="Передача_данных_с_помощью_передачи_владения_передаваемые_объекты">Передача данных с помощью передачи владения (передаваемые объекты)</h3> -<p>Google Chrome 17+ and Firefox 18+ имеют дополнительную возможность передачи определенных типов объектов (передаваемые объекты реализующие {{domxref("Transferable")}} интерфейс) к или из worker-а с высокой призводительностью. Эти объекты передаются из одного контекста в другой без операций копирования, что приводит к значительному повышению производительности при отправке больших наборов данных. Думайте об этом как о передаче по ссылке в мире C/C++. Однако в отличии от передачи по ссылке, "версия" из вызывающего контекста больше недоступна после передачи. Владельцем становится новый контекст. Для примера, после передачи {{domxref("ArrayBuffer")}} из главной страницы к worker-у, исходный {{domxref("ArrayBuffer")}} очищается и более недоступен для использования. Его содержание (в буквальном смысле) переносится в рабочий контекст.</p> +<p>Google Chrome 17+ and Firefox 18+ имеют дополнительную возможность передачи определенных типов объектов (передаваемые объекты реализующие {{domxref("Transferable")}} интерфейс) к или из worker-а с высокой производительностью. Эти объекты передаются из одного контекста в другой без операций копирования, что приводит к значительному повышению производительности при отправке больших наборов данных. Думайте об этом как о передаче по ссылке в мире C/C++. Однако в отличии от передачи по ссылке, "версия" из вызывающего контекста больше недоступна после передачи. Владельцем становится новый контекст. Для примера, после передачи {{domxref("ArrayBuffer")}} из главной страницы к worker-у, исходный {{domxref("ArrayBuffer")}} очищается и более недоступен для использования. Его содержание (в буквальном смысле) переносится в рабочий контекст.</p> <pre class="brush: js notranslate">// Create a 32MB "file" and fill it. var uInt8Array = new Uint8Array(1024*1024*32); // 32MB @@ -533,7 +533,7 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]); <h2 id="Встроенные_worker-ы">Встроенные worker-ы</h2> -<p>Не существует утвержденного способа встроить код worker-а в рамках веб-страницы, как элемент {{HTMLElement("script")}} делает для обычных скриптов. Но элемент {{HTMLElement("script")}}, который не имеет аттрибута <code>src</code> и аттрибута <code>type</code>, которому не назначен выполняемый MIME type, можно считать блоком данных для использования JavaScript. Блок данных "Data blocks" — это более общее свойство HTML5, может содержать любые текстовые данные. Так, worker может быть встроен следующим образом:</p> +<p>Не существует утвержденного способа встроить код worker-а в рамках веб-страницы, как элемент {{HTMLElement("script")}} делает для обычных скриптов. Но элемент {{HTMLElement("script")}}, который не имеет атрибута <code>src</code> и атрибута <code>type</code>, которому не назначен выполняемый MIME type, можно считать блоком данных для использования JavaScript. Блок данных "Data blocks" — это более общее свойство HTML5, может содержать любые текстовые данные. Так, worker может быть встроен следующим образом:</p> <pre class="brush: html line-numbers language-html notranslate"><code class="language-html"><span class="doctype token"><!DOCTYPE html></span> <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>html</span><span class="punctuation token">></span></span> @@ -856,7 +856,7 @@ onmessage = function(event) { <p>[1] Chrome и Opera выдают ошибку "<code>Uncaught SecurityError: Failed to construct 'Worker': Script at 'file:///Path/to/worker.js' cannot be accessed from origin 'null'.</code>" когда вы пытаетесь запустить worker локально. Нужно быть на надлежащем домене.</p> -<p>[2] Начиная с Safari 7.1.2, вы можете вызывать <code>console.log</code> изнутри worker-а, но он ничего не выведет в консоль. Более старые версии Safari не ползволяют вызывать <code>console.log</code> изнутри worker-а</p> +<p>[2] Начиная с Safari 7.1.2, вы можете вызывать <code>console.log</code> изнутри worker-а, но он ничего не выведет в консоль. Более старые версии Safari не позволяют вызывать <code>console.log</code> изнутри worker-а</p> <p>[3] Эта функция реализована с префиксом как <code>webkitURL</code>.</p> diff --git a/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html b/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html index 98198d8f7e..55ea7cad8c 100644 --- a/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html +++ b/files/ru/web/api/webgl_api/tutorial/adding_2d_content_to_a_webgl_context/index.html @@ -44,7 +44,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context <p>Этой процедурой загружаются две шейдерные программы. Первая - фрагментный шейдер, загружается из элемента <a href="/en/HTML/Element/Script" title="En/HTML/Element/Script"><code>script</code></a> с ID "shader-fs". Вторая - вершинный шейдер, загружается из элемента <a href="/en/HTML/Element/Script" title="En/HTML/Element/Script"><code>script</code></a> с ID "shader-vs". Мы рассмотрим функцию <code>getShader()</code> чуть ниже. Эта процедура фактически отвечает за извлечение шейдерных программ из DOM.</p> -<p>Затем мы создаем шейдерную программу, вызывая функцию <code>createProgram()</code> объекта WebGL, присоединяя два шейдера к нему, и связывая шейдерную программу. После выполнения этого, проверяется значение параметра <code>LINK_STATUS</code> объекта <code>gl</code> для того, чтобы убедиться, что программа успешно скомпанована. Если это так, мы активируем новую шейдерную программу.</p> +<p>Затем мы создаем шейдерную программу, вызывая функцию <code>createProgram()</code> объекта WebGL, присоединяя два шейдера к нему, и связывая шейдерную программу. После выполнения этого, проверяется значение параметра <code>LINK_STATUS</code> объекта <code>gl</code> для того, чтобы убедиться, что программа успешно скомпонована. Если это так, мы активируем новую шейдерную программу.</p> <h3 id="Загрузка_шейдеров_из_DOM">Загрузка шейдеров из DOM</h3> diff --git a/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html index 6d18ab5490..919d3fccff 100644 --- a/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html +++ b/files/ru/web/api/webgl_api/tutorial/animating_objects_with_webgl/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Animating_objects_with_WebGL --- <p>{{WebGLSidebar("Tutorial")}} {{PreviousNext("Web/API/WebGL_API/Tutorial/Using_shaders_to_apply_color_in_WebGL", "Web/API/WebGL_API/Tutorial/Creating_3D_objects_using_WebGL") }}</p> -<p>Наш код оставшийся от предыдущего примера уже насроен на перерисовку нашей WebGL сцены каждые 15 миллисекунд. До сих пор мы просто отрисовывали в точности одно и то же каждый раз. Пришло время изменить это так, чтобы наш квадрат начал двигаться.</p> +<p>Наш код оставшийся от предыдущего примера уже настроен на перерисовку нашей WebGL сцены каждые 15 миллисекунд. До сих пор мы просто отрисовывали в точности одно и то же каждый раз. Пришло время изменить это так, чтобы наш квадрат начал двигаться.</p> <p>В этом примере мы заставим наш двумерный квадрат вращаться и двигаться во всех трёх направлениях. Это докажет, что не смотря на то, что мы создавали всего-лишь двумерный объект, он всё ещё существует в трёхмерном пространстве.</p> @@ -18,7 +18,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Animating_objects_with_WebGL <pre class="brush: js">var squareRotation = 0.0; </pre> -<p>Теперь нам надо изменить процедуру <code>drawScene()</code> и добавить в неё код, который бы учитывал этот угол поворота при отрисовке квадрата в нашей сцене. После первоначального рассчёта матрицы положения для квадрата мы применяем условия поворота следующим образом:</p> +<p>Теперь нам надо изменить процедуру <code>drawScene()</code> и добавить в неё код, который бы учитывал этот угол поворота при отрисовке квадрата в нашей сцене. После первоначального расчета матрицы положения для квадрата мы применяем условия поворота следующим образом:</p> <pre class="brush: js">mvPushMatrix(); mvRotate(squareRotation, [1, 0, 1]); diff --git a/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html index 298613d533..0684b89016 100644 --- a/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html +++ b/files/ru/web/api/webgl_api/tutorial/creating_3d_objects_using_webgl/index.html @@ -15,7 +15,7 @@ original_slug: Web/API/WebGL_API/Tutorial/Создание_3D_объектов_ <h2 id="Определение_позиций_вершин_куба">Определение позиций вершин куба</h2> -<p>Во первых, давайте построим буффер позиций вершин куба, обновив код в <code>initBuffers()</code>. Это в значительной степени то же самое как это было для квадрата, но несколько длиннее, так как здесь 24 вершины (4 с каждой стороны):</p> +<p>Во первых, давайте построим буфер позиций вершин куба, обновив код в <code>initBuffers()</code>. Это в значительной степени то же самое как это было для квадрата, но несколько длиннее, так как здесь 24 вершины (4 с каждой стороны):</p> <pre class="brush: js">var vertices = [ // Передняя грань @@ -114,7 +114,7 @@ gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, <h2 id="Рисование_куба">Рисование куба</h2> -<p>Далее нам нужно обновить код нашей функции <code>drawScene()</code> , чтобы рисовать, используя буффер индексов куба, добавив новые вызовы {{domxref("WebGLRenderingContext.bindBuffer()", "gl.bindBuffer()")}} и {{domxref("WebGLRenderingContext.drawElements()", "gl.drawElements()")}}:</p> +<p>Далее нам нужно обновить код нашей функции <code>drawScene()</code> , чтобы рисовать, используя буфер индексов куба, добавив новые вызовы {{domxref("WebGLRenderingContext.bindBuffer()", "gl.bindBuffer()")}} и {{domxref("WebGLRenderingContext.drawElements()", "gl.drawElements()")}}:</p> <pre class="brush: js">gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cubeVerticesIndexBuffer); setMatrixUniforms(); diff --git a/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html index 74299aa620..0c01467385 100644 --- a/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html +++ b/files/ru/web/api/webgl_api/tutorial/using_shaders_to_apply_color_in_webgl/index.html @@ -88,7 +88,7 @@ translation_of: Web/API/WebGL_API/Tutorial/Using_shaders_to_apply_color_in_WebGL gl.vertexAttribPointer(vertexColorAttribute, 4, gl.FLOAT, false, 0, 0); </pre> -<p>На этом этапе, вы можете посмотреть <a href="/samples/webgl/sample3/index.html" title="https://developer.mozilla.org/samples/webgl/sample3/index.html">результат работы написанного кода</a>, если используете браузер, поддерживающий WebGL. Вы увидете нечто похожее на следующий рисунок (расположенный по центру в большом черном поле):</p> +<p>На этом этапе, вы можете посмотреть <a href="/samples/webgl/sample3/index.html" title="https://developer.mozilla.org/samples/webgl/sample3/index.html">результат работы написанного кода</a>, если используете браузер, поддерживающий WebGL. Вы увидите нечто похожее на следующий рисунок (расположенный по центру в большом черном поле):</p> <p><img alt="screenshot.png" class="default internal" src="/@api/deki/files/4081/=screenshot.png"></p> diff --git a/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html b/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html index adbc0ff443..706bf00786 100644 --- a/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html +++ b/files/ru/web/api/webgl_api/tutorial/using_textures_in_webgl/index.html @@ -149,7 +149,7 @@ const texture = loadTexture(gl, 'cubetexture.png');</code></pre> <p>Массив <code>textureCoordinates</code> определяет координаты текстуры, соответствующие каждой вершине каждой грани. Заметьте, что координаты текстуры лежат в промежутке между 0.0 и 1.0. Размерность текстуры нормализуется в пределах между 0.0 и 1.0, независимо от реального размера изображения.</p> -<p>После опредения массива координат текстуры, мы копируем его в буфер, и теперь WebGL имеет данные для отрисовки.</p> +<p>После определения массива координат текстуры, мы копируем его в буфер, и теперь WebGL имеет данные для отрисовки.</p> <h2 id="Обновление_шейдеров">Обновление шейдеров</h2> @@ -246,7 +246,7 @@ const texture = loadTexture(gl, 'cubetexture.png');</code></pre> ... function drawScene(gl, programInfo, buffers, texture, deltaTime) {</code></pre> -<p>Сейчас вращающийся куб должен именть текстуру на гранях.</p> +<p>Сейчас вращающийся куб должен иметь текстуру на гранях.</p> @@ -271,7 +271,7 @@ function drawScene(gl, programInfo, buffers, texture, deltaTime) {</code></pre> </div> <div class="blockIndicator note"> -<p><strong>Обратите внимание:</strong> Поддрежка CORS для кросс-доменного видео и атрибут <code>crossorigin</code> для HTML-элемента {{ HTMLElement("video") }} реализованы в {{Gecko("12.0")}}.</p> +<p><strong>Обратите внимание:</strong> Поддержка CORS для кросс-доменного видео и атрибут <code>crossorigin</code> для HTML-элемента {{ HTMLElement("video") }} реализованы в {{Gecko("12.0")}}.</p> </div> <p>{{PreviousNext("Web/API/WebGL_API/Tutorial/Creating_3D_objects_using_WebGL", "Web/API/WebGL_API/Tutorial/Lighting_in_WebGL")}}</p> diff --git a/files/ru/web/api/webgl_api/webgl_best_practices/index.html b/files/ru/web/api/webgl_api/webgl_best_practices/index.html index 90b595c096..64dee04e13 100644 --- a/files/ru/web/api/webgl_api/webgl_best_practices/index.html +++ b/files/ru/web/api/webgl_api/webgl_best_practices/index.html @@ -41,6 +41,6 @@ translation_of: Web/API/WebGL_API/WebGL_best_practices <li>Однако сегодня даже мобильные устройства обладают мощными графическими процессорами которые способны быстро обрабатывать относительно сложные шейдерные программы. Более того, шейдеры компилируются в машинные коды, которые могут быть оптимизированы под конкретный процессор. Может оказаться, что дорогой вызов функции может быть скомпилирован в несколько (или даже в одну) процессорную инструкцию. Частично это справедливо для функций {{Glossary("GLSL")}}, выполняющих операции над векторами, таких как <code>normalize()</code>, <code>dot()</code> и <code>mix()</code>. Лучшим советом будет использовать встроенные функции, нежели пытаться реализовать, например, собственную версию скалярного произведения или линейной интерполяции, которые будут скомпилированы в набор сложных и неоптимальных инструкций процессора.</li> </ul> </li> - <li>Выносите как можно больше операций в вершинный шейдер. Из-за того, что в процессе отрисовки фрагментные шейдеры выполняются гораздо чаще, чем вершинные, любые вычисления, которые можно выполнить с вершинами и интерполировать между пикселями, будут работать быстрее (интерполяция будет "бесплатна", т.к. это этап конвеера WebGL). Например, простая анимация текстурированной поверхности может быть реализована с помощью преобразований текстурных координат (простейший вариант - прибавлять значение uniform-вектора к attribute-вектору текстурных координат). Если результат будет визуально приемлем, то такой вариант будет работать быстрее, чем реализация во фрагментном шейдере.</li> + <li>Выносите как можно больше операций в вершинный шейдер. Из-за того, что в процессе отрисовки фрагментные шейдеры выполняются гораздо чаще, чем вершинные, любые вычисления, которые можно выполнить с вершинами и интерполировать между пикселями, будут работать быстрее (интерполяция будет "бесплатна", т.к. это этап конвейера WebGL). Например, простая анимация текстурированной поверхности может быть реализована с помощью преобразований текстурных координат (простейший вариант - прибавлять значение uniform-вектора к attribute-вектору текстурных координат). Если результат будет визуально приемлем, то такой вариант будет работать быстрее, чем реализация во фрагментном шейдере.</li> <li>Всегда задействуйте атрибут вершин c нулевым индексом. Отрисовка с неактивным вершинным атрибутом с индексом 0 вынуждает браузер выполнять сложную эмуляцию настольного OpenGL (например, как на Mac OSX). Вызывайте функцию <code>bindAttribLocation()</code> чтобы вершинный атрибут использовал нулевой индекс и активируйте сам атрибут с помощью функции<code> enableVertexAttribArray().</code></li> </ul> diff --git a/files/ru/web/api/webgl_compressed_texture_pvrtc/index.html b/files/ru/web/api/webgl_compressed_texture_pvrtc/index.html index 9beee4bd5b..64a2f812b9 100644 --- a/files/ru/web/api/webgl_compressed_texture_pvrtc/index.html +++ b/files/ru/web/api/webgl_compressed_texture_pvrtc/index.html @@ -7,21 +7,21 @@ translation_of: Web/API/WEBGL_compressed_texture_pvrtc <p>Расширение <code><strong>WEBGL_compressed_texture_pvrtc</strong></code> часть <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> и представляет четыре <a href="https://en.wikipedia.org/wiki/PVRTC">сжатых формата текстур PVRTC</a>.</p> -<p>Сжатые текстуры уменьшают количество памяти, использовуемые в GPU для хранения, позволяя большее разрешение для текстур или большее количество текстур с одинаковым разрешением.</p> +<p>Сжатые текстуры уменьшают количество памяти, используемые в GPU для хранения, позволяя большее разрешение для текстур или большее количество текстур с одинаковым разрешением.</p> <p>WebGL расширения доступны через метод {{domxref("WebGLRenderingContext.getExtension()")}}. Для подробностей смотри также <a href="/en-US/docs/Web/API/WebGL_API/Using_Extensions">Использование расширений</a> в <a href="/en-US/docs/Web/API/WebGL_API/Tutorial">туториале по WebGL.</a></p> <div class="note"> -<p><strong>Доступность: </strong>Обычно PVRTC доступен тоько на мобильных устройсвах с чипсетом PowerVR. Используется во всех поколениях iPhone, iPod Touch и iPad и поддерживается на определённых Android устройствах, использующих PowerVR GPU.</p> +<p><strong>Доступность: </strong>Обычно PVRTC доступен только на мобильных устройствах с чипсетом PowerVR. Используется во всех поколениях iPhone, iPod Touch и iPad и поддерживается на определённых Android устройствах, использующих PowerVR GPU.</p> <p>Версии контекста, поддерживающие расширение: {{domxref("WebGLRenderingContext", "WebGL1", "", 1)}} , и {{domxref("WebGL2RenderingContext", "WebGL2", "", 1)}}.</p> </div> <h2 id="Константы">Константы</h2> -<p>Форматы сжатых текстур представлены четырьмя константми и могут быть использованы в двух функциях:<br> - {{domxref("WebGLRenderingContext.compressedTexImage2D", "compressedTexImage2D()")}} — параметры высота и ширина должны соотвествовать степени 2<br> - {{domxref("WebGLRenderingContext.compressedTexSubImage2D", "compressedTexSubImage2D()")}} — парметры высоты и ширины должны быть равны размеру текстуры, а значения параметров <code>xoffset</code> и <code>yoffset</code> должны быть 0.</p> +<p>Форматы сжатых текстур представлены четырьмя константами и могут быть использованы в двух функциях:<br> + {{domxref("WebGLRenderingContext.compressedTexImage2D", "compressedTexImage2D()")}} — параметры высота и ширина должны соответствовать степени 2<br> + {{domxref("WebGLRenderingContext.compressedTexSubImage2D", "compressedTexSubImage2D()")}} — параметры высоты и ширины должны быть равны размеру текстуры, а значения параметров <code>xoffset</code> и <code>yoffset</code> должны быть 0.</p> <dl> <dt><code>ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG</code></dt> diff --git a/files/ru/web/api/webglrenderingcontext/activetexture/index.html b/files/ru/web/api/webglrenderingcontext/activetexture/index.html index 06b71db1a1..4bbea586ed 100644 --- a/files/ru/web/api/webglrenderingcontext/activetexture/index.html +++ b/files/ru/web/api/webglrenderingcontext/activetexture/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/WebGLRenderingContext/activeTexture <dl> <dt><code>texture</code></dt> - <dd>Номер текстуры которую необходимо активировать. Значение <code>gl.TEXTURE<em>I</em></code> где <em>I</em> значение в диапозоне от 0 до <code>gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1</code>.</dd> + <dd>Номер текстуры которую необходимо активировать. Значение <code>gl.TEXTURE<em>I</em></code> где <em>I</em> значение в диапазоне от 0 до <code>gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1</code>.</dd> </dl> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> @@ -25,7 +25,7 @@ translation_of: Web/API/WebGLRenderingContext/activeTexture <h3 id="Исключения">Исключения</h3> -<p>Если <em>texture</em> не относится к <code>gl.TEXTURE<em>I</em></code>, где <em>I</em> значение в диапозоне от 0 до <code>gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1</code>, то получаем исключение <code>gl.INVALID_ENUM</code> .</p> +<p>Если <em>texture</em> не относится к <code>gl.TEXTURE<em>I</em></code>, где <em>I</em> значение в диапазоне от 0 до <code>gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1</code>, то получаем исключение <code>gl.INVALID_ENUM</code> .</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html b/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html index bb65be620b..8a0b5edb57 100644 --- a/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html +++ b/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html @@ -18,7 +18,7 @@ translation_of: Web/API/WebGLRenderingContext/bindBuffer <dt>target</dt> <dd>{{domxref("GLenum")}} определяет точку связывания (target). Возможные значения: <ul> - <li><code>gl.ARRAY_BUFFER</code>: Буфер содержащий вершинные атрибуты, такие как координаты, текстурные коориднаты(UV) или цвет вершины.</li> + <li><code>gl.ARRAY_BUFFER</code>: Буфер содержащий вершинные атрибуты, такие как координаты, текстурные координаты(UV) или цвет вершины.</li> <li><code>gl.ELEMENT_ARRAY_BUFFER</code>: Буфер использующий для индексирования элементов.</li> <li>When using a {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values are available additionally: <ul> diff --git a/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html b/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html index f05a98534f..e91fa4e851 100644 --- a/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html +++ b/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/WebGLRenderingContext/getShaderInfoLog --- <div>{{APIRef("WebGL")}}</div> -<p><strong>WebGLRenderingContext.getShaderInfoLog</strong> возвращает логи для указаной шейдерной программы {{domxref("WebGLShader")}}. Оно содержит предупреждения, информацию для отладки и информацию о компиляции.</p> +<p><strong>WebGLRenderingContext.getShaderInfoLog</strong> возвращает логи для указанной шейдерной программы {{domxref("WebGLShader")}}. Оно содержит предупреждения, информацию для отладки и информацию о компиляции.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/api/webglrenderingcontext/index.html b/files/ru/web/api/webglrenderingcontext/index.html index 338784a8a1..2db54961f0 100644 --- a/files/ru/web/api/webglrenderingcontext/index.html +++ b/files/ru/web/api/webglrenderingcontext/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/WebGLRenderingContext <p>Интерфейс <strong>WebGLRenderingContext </strong>обеспечивает доступ к контексту рендеринга OpenGL ES 2.0 (<strong>OpenGL</strong> for <strong>E</strong>mbedded <strong>S</strong>ystems — OpenGL для встраиваемых систем) для использования его с помощью HTML {{HTMLElement("canvas")}} элемента.</p> -<p>Чтобы получить объект с помощью этого интерфейса вызовите метод {{domxref("HTMLCanvasElement.getContext()", "getContext()")}} элемена <canvas> , используя "webgl" в качестве аргумента.</p> +<p>Чтобы получить объект с помощью этого интерфейса вызовите метод {{domxref("HTMLCanvasElement.getContext()", "getContext()")}} элемента <canvas> , используя "webgl" в качестве аргумента.</p> <pre class="brush: js">var canvas = document.getElementById('myCanvas'); var gl = canvas.getContext('webgl'); diff --git a/files/ru/web/api/webglrenderingcontext/uniform/index.html b/files/ru/web/api/webglrenderingcontext/uniform/index.html index 010da6fc8e..91a02ac2b9 100644 --- a/files/ru/web/api/webglrenderingcontext/uniform/index.html +++ b/files/ru/web/api/webglrenderingcontext/uniform/index.html @@ -5,10 +5,10 @@ translation_of: Web/API/WebGLRenderingContext/uniform --- <div>{{APIRef("WebGL")}}</div> -<p><strong><code>WebGLRenderingContext.uniform[1234][fi][v]()</code></strong> метод <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> устонавливает значение для постоянных переменных Uniform.</p> +<p><strong><code>WebGLRenderingContext.uniform[1234][fi][v]()</code></strong> метод <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> устанавливает значение для постоянных переменных Uniform.</p> <div class="note"> -<p>Иногие из описаных в этом разделе функцию имеют расширенные интерфейсы WebGL 2, которые можно найти {{domxref("WebGL2RenderingContext.uniform","WebGL2RenderingContext.uniform[1234][uif][v]()")}}.</p> +<p>Многие из описанных в этом разделе функцию имеют расширенные интерфейсы WebGL 2, которые можно найти {{domxref("WebGL2RenderingContext.uniform","WebGL2RenderingContext.uniform[1234][uif][v]()")}}.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> @@ -49,7 +49,7 @@ gl.uniform1iv(samplerCubeUniformLoc, [v]); // для samplerCube или масс <dd>Новое значение для uniform переменной. Допустимые типы: <ul> <li>Тип float {{jsxref("Number")}} для этого типа (методы с "f").</li> - <li>Последовательность чисел с плавающей точкой (пример {{jsxref("Float32Array")}} или {{jsxref("Array")}} чисел) fдля векторных методов с плавающей точкой (методы с "fv").</li> + <li>Последовательность чисел с плавающей точкой (пример {{jsxref("Float32Array")}} или {{jsxref("Array")}} чисел) для векторных методов с плавающей точкой (методы с "fv").</li> <li>Тип {{jsxref("Number")}} для этого типа (методы с "i").</li> <li>{{jsxref("Int32Array")}} вектор чисел {{jsxref("Number")}} (методы с "iv").</li> </ul> diff --git a/files/ru/web/api/webrtc_api/adapter.js/index.html b/files/ru/web/api/webrtc_api/adapter.js/index.html index 97e09d25e2..efe5581fc2 100644 --- a/files/ru/web/api/webrtc_api/adapter.js/index.html +++ b/files/ru/web/api/webrtc_api/adapter.js/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/WebRTC_API/adapter.js --- <p>{{WebRTCSidebar}}</p> -<p>Несмотря на то, что WebRTC <a href="http://www.w3.org/TR/webrtc/">спецификация</a> относительно стабильна, не все еще браузеры полностью реализуют её функциональность. Некоторые реализации в браузерах все еще содержат префексы производителей в некоторых, или даже всех WebRTC интерфейсах, и разработчик может самостоятельно, в ручную, учесть вопросы несовместимости в своем коде. Но есть более простой выход. Организация <span class="seoSummary">WebRTC</span> <span class="seoSummary"><a href="https://github.com/webrtc/adapter/">предлагает библиотеку adapter.js</a> для обработки вопросов несовместимостей в различных браузерных реализациях WebRTC. Эта библиотека является JavaScript клином, позволяющим писать код в соответствии со спецификацией, чтобы он работал во всех браузерах с различным уровнем поддержки WebRTC. С ней нет необходимости условно использовать префиксные интерфейсы или реализовывать обходные пути</span></p> +<p>Несмотря на то, что WebRTC <a href="http://www.w3.org/TR/webrtc/">спецификация</a> относительно стабильна, не все еще браузеры полностью реализуют её функциональность. Некоторые реализации в браузерах все еще содержат префиксы производителей в некоторых, или даже всех WebRTC интерфейсах, и разработчик может самостоятельно, в ручную, учесть вопросы несовместимости в своем коде. Но есть более простой выход. Организация <span class="seoSummary">WebRTC</span> <span class="seoSummary"><a href="https://github.com/webrtc/adapter/">предлагает библиотеку adapter.js</a> для обработки вопросов несовместимостей в различных браузерных реализациях WebRTC. Эта библиотека является JavaScript клином, позволяющим писать код в соответствии со спецификацией, чтобы он работал во всех браузерах с различным уровнем поддержки WebRTC. С ней нет необходимости условно использовать префиксные интерфейсы или реализовывать обходные пути</span></p> <div class="note"> <p><strong>Примечание :</strong> Поскольку функциональность и названия API-терминов в WebRTC и поддерживаемых браузерах постоянно изменяются, обычно рекомендуется использовать этот адаптер.</p> @@ -17,7 +17,7 @@ translation_of: Web/API/WebRTC_API/adapter.js <h2 id="Как_работает_adapter.js">Как работает adapter.js</h2> -<p>Для каждой версии браузера, поддерживающего WebRTC, <code>adapter.js</code> реализует необходимые полизаполнители, устанавливает имена API без префиксов и применяет любые другие изменения, необходимые для того, чтобы браузер выполнял код, в сообтветствии со спецификацией WebRTC.</p> +<p>Для каждой версии браузера, поддерживающего WebRTC, <code>adapter.js</code> реализует необходимые полизаполнители, устанавливает имена API без префиксов и применяет любые другие изменения, необходимые для того, чтобы браузер выполнял код, в соответствии со спецификацией WebRTC.</p> <p>Например, в версиях Firefox старше 38 адаптер добавляет свойство {{domxref ("RTCPeerConnection.urls")}}; Firefox изначально не поддерживает это свойство до Firefox 38, а в Chrome адаптер добавляет поддержку API {{jsxref ("Promise")}}, если он отсутствует. Это всего лишь пара примеров. Вот в кратце, какие корректировки производит библиотека.</p> diff --git a/files/ru/web/api/webrtc_api/index.html b/files/ru/web/api/webrtc_api/index.html index 78971cd1df..1c3d082d99 100644 --- a/files/ru/web/api/webrtc_api/index.html +++ b/files/ru/web/api/webrtc_api/index.html @@ -49,7 +49,7 @@ translation_of: Web/API/WebRTC_API <dt>{{domxref("RTCPeerConnectionIceEvent")}}</dt> <dd>Представляет события, которые происходят в отношении кандидатов ICE, обычно {{domxref ("RTCPeerConnection")}}. Один тип передается данному объекту события: {{event ("icecandidate")}}.</dd> <dt>{{domxref("RTCRtpSender")}}</dt> - <dd>Управляет кродированием и передачей данных через объект типа {{domxref("MediaStreamTrack")}} для объекта типа {{domxref("RTCPeerConnection")}}.</dd> + <dd>Управляет кодированием и передачей данных через объект типа {{domxref("MediaStreamTrack")}} для объекта типа {{domxref("RTCPeerConnection")}}.</dd> <dt>{{domxref("RTCRtpReceiver")}}</dt> <dd>Управляет получением и декодированием данных через объект типа {{domxref("MediaStreamTrack")}} для объекта типа {{domxref("RTCPeerConnection")}}.</dd> <dt>{{domxref("RTCTrackEvent")}}</dt> @@ -57,19 +57,19 @@ translation_of: Web/API/WebRTC_API <dt>{{domxref("RTCCertificate")}}</dt> <dd>Представляет сертификат, который использует объект {{domxref("RTCPeerConnection")}}.</dd> <dt>{{domxref("RTCDataChannel")}}</dt> - <dd>Представляет двунапрвленный канал данных между двумя узлами соединения.</dd> + <dd>Представляет двунаправленный канал данных между двумя узлами соединения.</dd> <dt>{{domxref("RTCDataChannelEvent")}}</dt> <dd>Представляет события, которые возникают при присоединении объекта типа {{domxref("RTCDataChannel")}} к объекту типа {{domxref("RTCPeerConnection")}}. Один тип передается этому событию {{event("datachannel")}}.</dd> <dt>{{domxref("RTCDTMFSender")}}</dt> - <dd>Управляет кодированием и передачей двутональной мультичастотной (DTMF) сигнализацией для объекта типа {{domxref("RTCPeerConnection")}}.</dd> + <dd>Управляет кодированием и передачей двухтональной мультичастотной (DTMF) сигнализацией для объекта типа {{domxref("RTCPeerConnection")}}.</dd> <dt>{{domxref("RTCDTMFToneChangeEvent")}}</dt> <dd>Указывает на входящее событие изменение тона двутоновой мультичастотной сигнализации (DTMF). Это событие не всплывает (если не указано иначе) и не является отменяемым (если не указано иначе).</dd> <dt>{{domxref("RTCStatsReport")}}</dt> - <dd>Ассинхронно сообщает статус для переданного объекта типа {{domxref("MediaStreamTrack")}} .</dd> + <dd>Асинхронно сообщает статус для переданного объекта типа {{domxref("MediaStreamTrack")}} .</dd> <dt>{{domxref("RTCIdentityProviderRegistrar")}}</dt> <dd>Регистрирует провайдер идентификации (idP).</dd> <dt>{{domxref("RTCIdentityProvider")}}</dt> - <dd>Активирует возможность браузеру запросить создание или проверку обяъвления идентификации.</dd> + <dd>Активирует возможность браузеру запросить создание или проверку объявления идентификации.</dd> <dt>{{domxref("RTCIdentityAssertion")}}</dt> <dd>Представляет идентификатор удаленного узла текущего соединения. Если узел еще не установлен и подтвержден, ссылка на интерфейс вернет <code>null</code>. После установки не изменяется.</dd> <dt>{{domxref("RTCIdentityEvent")}}</dt> diff --git a/files/ru/web/api/webrtc_api/session_lifetime/index.html b/files/ru/web/api/webrtc_api/session_lifetime/index.html index 958fd99136..0b052b5475 100644 --- a/files/ru/web/api/webrtc_api/session_lifetime/index.html +++ b/files/ru/web/api/webrtc_api/session_lifetime/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime </dl> </div> -<p>Эта статья не вдается в детали фактически использованных API в установке и обработке WebRTC-соединения. Это просто обзор процесса вцелом с некоторой информацией о том, для чего нужен каждый шаг. Смотрите статью <a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Signaling and video calling</a>, чтобы получить пример с пошаговым объяснением того, что делает код.</p> +<p>Эта статья не вдается в детали фактически использованных API в установке и обработке WebRTC-соединения. Это просто обзор процесса в целом с некоторой информацией о том, для чего нужен каждый шаг. Смотрите статью <a href="/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling">Signaling and video calling</a>, чтобы получить пример с пошаговым объяснением того, что делает код.</p> <div class="note"> <p>Эта страница находится в стадии разработки, и некоторое из содержания будут перемещаться на другие страницы, как направляющий материал. </p> @@ -23,7 +23,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime <p>Интернет большой. Реально большой. Умные люди, несколько лет назад, заметив то, насколько он велик, каким большим он может стать и то как быстро растёт, а также ограничения 32-битной системы адресации протокола IP, и поняли, что нужно начать что-то делать, чтобы создать новую 64-битную систему адресации. Но в какой-то момент они так же пришли к выводу, что переход на новую систему займёт больше времени, чем продержатся 32-разрядные адреса. Затем другие умные люди придумали способ, позволяющий нескольким компьютерам использовать один и тот же 32-итный IP-адрес. Network Address Translation ({{Glossary("NAT")}}) - это стандарт, который поддерживает разделение адреса путем маршрутизации входящих и исходящих пакетов данных в и из локальной сети (LAN), которые разделяют единственный WAN (глобальный) адрес.</p> -<p>Проблемой для пользователя является то, что каждый отдельный компьютер в сети Интернет не обязан иметь уникальный IP-адрес, и посути, IP-адрес устройства может измениться не только тогда, когда оно перемещяется из одной сети в другую, но и если их сетевой адрес был изменён {{Glossary("NAT")}} и/или {{interwiki("wikipedia", "DHCP")}}. Для разработчиков, пытающихся строить одноранговые сети, эта ситуация является хорошей головоломкой: без уникального идентификатора для каждого устройства, нет возможности моментально автоматически выяснить то, как подключиться к конкретному устройству в Интернет. Если вызнаете, с кем вы хотите поговорить, вам не обязательно знать, какой адрес у вашего собеседника.</p> +<p>Проблемой для пользователя является то, что каждый отдельный компьютер в сети Интернет не обязан иметь уникальный IP-адрес, и по сути, IP-адрес устройства может измениться не только тогда, когда оно перемещается из одной сети в другую, но и если их сетевой адрес был изменён {{Glossary("NAT")}} и/или {{interwiki("wikipedia", "DHCP")}}. Для разработчиков, пытающихся строить одноранговые сети, эта ситуация является хорошей головоломкой: без уникального идентификатора для каждого устройства, нет возможности моментально автоматически выяснить то, как подключиться к конкретному устройству в Интернет. Если вызнаете, с кем вы хотите поговорить, вам не обязательно знать, какой адрес у вашего собеседника.</p> <p>Это похоже на попытку отправить письмо подруге Мишель, написав только на конверте слово "Мишель" и опустить в почтовый ящик. Вам необходимо выяснить её адрес и указать его на конверте, иначе она сильно удивится, почему вы забыли про её день рождения.</p> @@ -31,7 +31,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime <h3 id="Процесс_Сигнализации">Процесс Сигнализации</h3> -<p>Сигнализация - это процесс передачи управляющей информации между двумя устройствами для опредения протоколов связи, каналов, кодирования и формата медиа-данных, методов передачи данных, а также информации, необходимой для маршрутизации. Наиболее важная вещь, о которой нужно знать о процессе сигнализации для WebRTC - <strong>этот процесс не определен в спецификации</strong>.</p> +<p>Сигнализация - это процесс передачи управляющей информации между двумя устройствами для определения протоколов связи, каналов, кодирования и формата медиа-данных, методов передачи данных, а также информации, необходимой для маршрутизации. Наиболее важная вещь, о которой нужно знать о процессе сигнализации для WebRTC - <strong>этот процесс не определен в спецификации</strong>.</p> <p>Вы можете задаться вопросом, почему нечто основоположное для процесса установки WebRTC-соединения вынесено из спецификации? Ответ прост: потому как два устройства не могут контактировать друг с другом, и спецификация не может предусмотреть все возможные способы использования WebRTC, также это приобретает ещё больший смысл с точки зрения предоставления разработчику возможности выбора наиболее подходящей сетевой технологии и протоколов передачи сообщений.</p> @@ -46,7 +46,7 @@ translation_of: Web/API/WebRTC_API/Session_lifetime <ul> <li>Управляющие сообщения, используемые для настройки, открытия и закрытия каналов коммуникации, а также для обработки ошибок</li> <li>Информация, необходимая для того, чтобы настроить соединение: информация об IP-адресе и порте необходима узлам, чтобы они могли разговаривать друг с другом.</li> - <li>Необходимо согласовать медиа-потоки: какие могут использоваться между узлами кодеки и форматы медиа-данных? Все это необходимо согласовать дотого, как будет установлена WebRTC-сессия.</li> + <li>Необходимо согласовать медиа-потоки: какие могут использоваться между узлами кодеки и форматы медиа-данных? Все это необходимо согласовать до того, как будет установлена WebRTC-сессия.</li> </ul> <p>Только после успешного завершения процесса сигнализации, может быть возможен процесс открытия WebRTC-соединения между узлами.</p> diff --git a/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html b/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html index 4c4f7ea418..844c8e0d19 100644 --- a/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html +++ b/files/ru/web/api/webrtc_api/signaling_and_video_calling/index.html @@ -1,5 +1,5 @@ --- -title: Сигнализирование и видео вызов +title: Сигнализированные и видео вызов slug: Web/API/WebRTC_API/Signaling_and_video_calling translation_of: Web/API/WebRTC_API/Signaling_and_video_calling --- @@ -23,7 +23,7 @@ translation_of: Web/API/WebRTC_API/Signaling_and_video_calling <p>Важно, что серверу не нужно понимать или интерпретировать сигнальные данные. Хотя они в формате {{Glossary("SDP")}}, это не имеет особого значения: содержание сообщений, проходящих через сигнальный сервер - по сути, черный ящик. Значение имеет лишь то, что когда подсистема {{Glossary("ICE")}} дает команду передать данные другому пиру, вы просто это делаете, а уже пир знает, как получить эту информацию и доставить ее на свою подсистему ICE. Все что нужно - передавать сообщения туда и обратно. Содержание совершенно не важно для сигнального сервера.</p> -<h3 id="Подготовка_сервера_чата_к_сигнализиции">Подготовка сервера чата к сигнализиции</h3> +<h3 id="Подготовка_сервера_чата_к_сигнализации">Подготовка сервера чата к сигнализации</h3> <p>Наш <a href="https://github.com/mdn/samples-server/tree/master/s/websocket-chat">сервер чата</a> использует <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a> для отправки информации как {{Glossary("JSON")}} между каждым клиентом и сервером. Сервер поддерживает несколько типов сообщений для нескольких задач : регистрация нового пользователя, установки имен пользователей, отправка сообщений чата.</p> diff --git a/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html b/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html index 5d818e7829..4d02e4d5d4 100644 --- a/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html +++ b/files/ru/web/api/webrtc_api/simple_rtcdatachannel_sample/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/WebRTC_API/Simple_RTCDataChannel_sample --- <p>{{WebRTCSidebar}}</p> -<p>Интерфейс {{domxref("RTCDataChannel")}} является функциональностью <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC API</a> , который позволяет открыть канал между узлами соединения, по которому можно отправлять и получать произвольные данные. Эти API намеренно сходны с <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a>, для использования единой програмной модели.</p> +<p>Интерфейс {{domxref("RTCDataChannel")}} является функциональностью <a href="/en-US/docs/Web/API/WebRTC_API">WebRTC API</a> , который позволяет открыть канал между узлами соединения, по которому можно отправлять и получать произвольные данные. Эти API намеренно сходны с <a href="/en-US/docs/Web/API/WebSocket_API">WebSocket API</a>, для использования единой программной модели.</p> <p>В этом примере мы откроем соединение {{domxref ("RTCDataChannel")}}, связывающее два элемента на одной странице. Хотя это явно надуманный сценарий, он полезен для демонстрации последовательности соединения двух узлов. Мы расскажем о механизме выполнения соединения, передачи и получения данных, но оставим немного информации о поиске и подключении к удаленному компьютеру для другого примера.</p> @@ -20,7 +20,7 @@ translation_of: Web/API/WebRTC_API/Simple_RTCDataChannel_sample Disconnect </button></pre> -<p>Затем, определяем блок, который содержит элемент управления ввода текста, в который пользователь печатает текст свого сообщения, предназначенного для отправки, по нажатию кнопки. Элемент {{HTMLElement("div")}} будет представлять первый узлел в канале передачи (сторона отправителя).</p> +<p>Затем, определяем блок, который содержит элемент управления ввода текста, в который пользователь печатает текст своего сообщения, предназначенного для отправки, по нажатию кнопки. Элемент {{HTMLElement("div")}} будет представлять первый узел в канале передачи (сторона отправителя).</p> <pre class="brush: html"> <div class="messagebox"> <label for="message">Enter a message: diff --git a/files/ru/web/api/webrtc_api/taking_still_photos/index.html b/files/ru/web/api/webrtc_api/taking_still_photos/index.html index ec5e7ec42d..cdd65b56e9 100644 --- a/files/ru/web/api/webrtc_api/taking_still_photos/index.html +++ b/files/ru/web/api/webrtc_api/taking_still_photos/index.html @@ -7,17 +7,17 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos --- <p dir="rtl"><span><span><span><span>{{WebRTCSidebar}}</span></span></span></span></p> -<p><span class="seoSummary"><span><span><span><span>В этой статье объясняется как использовать WebRTC для получения доступа к камере компьютера или мобильного устройства, и захвата кадров с их помощью. </span></span></span></span></span><a href="https://mdn-samples.mozilla.org/s/webrtc-capturestill"><span><span><span><span>Ознакомтесь с примером,</span></span></span></span></a><span><span><span><span> а затем узнайте как это работает.</span></span></span></span></p> +<p><span class="seoSummary"><span><span><span><span>В этой статье объясняется как использовать WebRTC для получения доступа к камере компьютера или мобильного устройства, и захвата кадров с их помощью. </span></span></span></span></span><a href="https://mdn-samples.mozilla.org/s/webrtc-capturestill"><span><span><span><span>Ознакомьтесь с примером,</span></span></span></span></a><span><span><span><span> а затем узнайте как это работает.</span></span></span></span></p> <p><img alt="Uz WebRTC balstīta attēla uztveršanas lietotne - kreisajā pusē un bez tīmekļa kameras uzņemšanas video straumē un poga" src="https://mdn.mozillademos.org/files/10281/web-rtc-demo.png" style="display: block; height: 252px; margin: 0 auto; width: 677px;"></p> -<p><span><span><span><span>Перейдите непостредственно </span></span></span></span><a class="external" href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill" rel="noopener"><span><span><span><span>к коду на Github</span></span></span></span></a><span><span><span><span> , при желании.</span></span></span></span></p> +<p><span><span><span><span>Перейдите непосредственно </span></span></span></span><a class="external" href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill" rel="noopener"><span><span><span><span>к коду на Github</span></span></span></span></a><span><span><span><span> , при желании.</span></span></span></span></p> <h2 id="Разметка_HTML"><span><span><span><span>Разметка HTML</span></span></span></span></h2> <p><a class="external" href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill/index.html" rel="noopener"><span><span><span><span>Наш HTML интерфейс</span></span></span></span></a><span><span><span><span> состоит из двух секций : панель отображения видео потока, из которого будет производиться захват и панель отображения результата захвата. Каждая панель имеет свой элемент </span></span></span><span><span><span>{{HTMLElement ("div")}}, для облегчения стилизации и управления.</span></span></span></span></p> -<p><span><span><span><span>Первая панель слева содержит два компонента : элемент {{HTMLElement ("video")}} , который будет получать поток, отводимый с камеры, и элемент </span></span></span></span>{{HTMLElement("button")}}, каторый будет использоваться пользователем для активации захвата видео кадра.</p> +<p><span><span><span><span>Первая панель слева содержит два компонента : элемент {{HTMLElement ("video")}} , который будет получать поток, отводимый с камеры, и элемент </span></span></span></span>{{HTMLElement("button")}}, который будет использоваться пользователем для активации захвата видео кадра.</p> <pre> <div class="camera"> <video id="video">Video stream not available.</video> @@ -40,7 +40,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos <h2 id="Код_JavaScript">Код JavaScript</h2> -<p>Посмотрим на <a href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill/capture.js" rel="noopener">JavaScript code</a>. Разобъем его на части, для упрощения объяснения.</p> +<p>Посмотрим на <a href="https://github.com/mdn/samples-server/tree/master/s/webrtc-capturestill/capture.js" rel="noopener">JavaScript code</a>. Разобьем его на части, для упрощения объяснения.</p> <h3 id="Инициализация">Инициализация</h3> @@ -73,7 +73,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos <dt><code>photo</code></dt> <dd>Содержит ссылку на элемент {{HTMLElement("img")}} после загрузки страницы.</dd> <dt><code>startbutton</code></dt> - <dd>Содержит ссылку на элемент {{HTMLElement("button")}} после загрузки страницы, используюется для старта захвата.</dd> + <dd>Содержит ссылку на элемент {{HTMLElement("button")}} после загрузки страницы, используется для старта захвата.</dd> </dl> <h3 id="Функция_startup">Функция startup()</h3> @@ -104,9 +104,9 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos }); </pre> -<p>Здесь мы вазываем метод {{domxref("MediaDevices.getUserMedia()")}} , запрашивая медиапоток без аудиопотока (<code>audio : false</code>). Он возвращает промис, на котором мы определяем методы успешного и не успешного выполнений.</p> +<p>Здесь мы называем метод {{domxref("MediaDevices.getUserMedia()")}} , запрашивая медиапоток без аудиопотока (<code>audio : false</code>). Он возвращает промис, на котором мы определяем методы успешного и не успешного выполнений.</p> -<p>Успешное выполнение промиса передает объект потока( <code>stream</code> ) в качестве параметра функции метода <code>then()</code>., который присваевается свойству <code>srcObject</code> элемента {{HTMLElement("video")}}, направляя поток в него.</p> +<p>Успешное выполнение промиса передает объект потока( <code>stream</code> ) в качестве параметра функции метода <code>then()</code>., который присваивается свойству <code>srcObject</code> элемента {{HTMLElement("video")}}, направляя поток в него.</p> <p>Как только поток связан с элементом <code><video></code> , запускаем его воспроизведение, вызовом метода <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#play">HTMLMediaElement.play()</a></code>.</p> @@ -167,7 +167,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos photo.setAttribute('src', data); }</pre> -<p>Начнем с получения ссылки на скрытый элемент {{HTMLElement ("canvas")}}, который мы используем для рендеринга за пределами экрана. Затем мы устанавливаем свойсто <code>fillStyle</code> в <code>#AAA</code> ( светло-серый) и заполняем весь холст этим цветом, вызывая метод {{domxref("CanvasRenderingContext2D.fillRect()","fillRect()")}}.</p> +<p>Начнем с получения ссылки на скрытый элемент {{HTMLElement ("canvas")}}, который мы используем для рендеринга за пределами экрана. Затем мы устанавливаем свойство <code>fillStyle</code> в <code>#AAA</code> ( светло-серый) и заполняем весь холст этим цветом, вызывая метод {{domxref("CanvasRenderingContext2D.fillRect()","fillRect()")}}.</p> <p>Наконец, в этой функции мы конвертируем <code>canvas</code> в изображение PNG и вызываем метод <code>{{domxref("Element.setAttribute", "photo.setAttribute()")}}</code> отображая захваченный цветовой фон в элементе изображения (бокса для фотографии).</p> @@ -197,7 +197,7 @@ translation_of: Web/API/WebRTC_API/Taking_still_photos <p><strong>Примечание :</strong> Используется факт того, что интерфейс {{domxref("HTMLVideoElement")}} похож на интерфейс {{domxref("HTMLImageElement")}} для любых API , которые принимают <code>HTMLImageElement</code> в качестве параметра, с текущим кадром видео, представленным как содержимое изображения.</p> </div> -<p>Как тоько <code>canvas</code> будет содержать захваченное видео, конвертируем его в PNG формат, вызывая метод {{domxref("HTMLCanvasElement.toDataURL()")}} на нем; наконец вызываем метод {{domxref("Element.setAttribute", "photo.setAttribute()")}} отображая захваченное изображение в элементе изображения (бокса фотографии).</p> +<p>Как только <code>canvas</code> будет содержать захваченное видео, конвертируем его в PNG формат, вызывая метод {{domxref("HTMLCanvasElement.toDataURL()")}} на нем; наконец вызываем метод {{domxref("Element.setAttribute", "photo.setAttribute()")}} отображая захваченное изображение в элементе изображения (бокса фотографии).</p> <p>Если подходящее изображение не доступно (то есть, <code>width</code> и <code>height</code> равны 0), отчищаем содержимое элемента изображения, вызывая метод <code>clearphoto()</code>.</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 f8074830d4..cbb64c54bb 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 @@ -37,9 +37,9 @@ dataChannel.addEventListener("open", (event) => { <h3 id="Ручной_режим_согласования">Ручной режим согласования</h3> -<p>Для ручного согласования соединения, сначала необходимо создать новый объект типа {{domxref("RTCDataChannel")}}, используя метод {{domxref("RTCPeerConnection.createDataChannel", "createDataChannel()")}} объекта {{domxref("RTCPeerConnection")}}, определяя свойство {{domxref("RTCDataChannelInit.negotiated", "negotiated")}} в значение <code>true</code>. Это сигнализирует объекту соединения не пытыться согласовать соединение автоматически.</p> +<p>Для ручного согласования соединения, сначала необходимо создать новый объект типа {{domxref("RTCDataChannel")}}, используя метод {{domxref("RTCPeerConnection.createDataChannel", "createDataChannel()")}} объекта {{domxref("RTCPeerConnection")}}, определяя свойство {{domxref("RTCDataChannelInit.negotiated", "negotiated")}} в значение <code>true</code>. Это сигнализирует объекту соединения не пытаться согласовать соединение автоматически.</p> -<p>Затем нужно согласовать соединение, используя веб сервер или иные средства коммуникации. Этот процесс должен сигнализировать удаленному узлу, что нужно создать собственный объект типа <code>RTCDataChannel</code> со свойством <code>negotiated</code>, установленным в значение <code>true</code>, используя тот же идентификатор канала {{domxref("RTCDataChannel.id", "id")}}. Это свяжет два объекта типа <code>RTCDataChannel </code>через объет типа <code>RTCPeerConnection</code>.</p> +<p>Затем нужно согласовать соединение, используя веб сервер или иные средства коммуникации. Этот процесс должен сигнализировать удаленному узлу, что нужно создать собственный объект типа <code>RTCDataChannel</code> со свойством <code>negotiated</code>, установленным в значение <code>true</code>, используя тот же идентификатор канала {{domxref("RTCDataChannel.id", "id")}}. Это свяжет два объекта типа <code>RTCDataChannel </code>через объект типа <code>RTCPeerConnection</code>.</p> <pre class="brush: js">let dataChannel = pc.createDataChannel("MyApp Channel", { negotiated: true @@ -51,7 +51,7 @@ dataChannel.addEventListener("open", (event) => { requestRemoteChannel(dataChannel.id);</pre> -<p>В данном примере канал создается установкой значения свойства <code>negotiated</code> в <code>true</code>, затем вызывается функция <code>requestRemoteChannel()</code> , запуская согласование соединения для создания удаленного канала с тем же идентификатором как у локального канала. Таким образом создание каналов данных позволяет использовать различные свойства, создавая их декларативно, использьзуя одно и тоже значение идентификатора канала <code>id</code>.</p> +<p>В данном примере канал создается установкой значения свойства <code>negotiated</code> в <code>true</code>, затем вызывается функция <code>requestRemoteChannel()</code> , запуская согласование соединения для создания удаленного канала с тем же идентификатором как у локального канала. Таким образом создание каналов данных позволяет использовать различные свойства, создавая их декларативно, используя одно и тоже значение идентификатора канала <code>id</code>.</p> <h2 id="Буферизация">Буферизация</h2> diff --git a/files/ru/web/api/websocket/index.html b/files/ru/web/api/websocket/index.html index ab46ff35dc..2d53a55c5c 100644 --- a/files/ru/web/api/websocket/index.html +++ b/files/ru/web/api/websocket/index.html @@ -7,7 +7,7 @@ tags: - WebSockets translation_of: Web/API/WebSocket --- -<p>Объект <strong>WebSocket </strong>предоставляет API для создания и управления <a href="/ru/WebSockets">вебсокет</a>-подключения к серверу, а также для отправки и получения данных в этом подключении.</p> +<p>Объект <strong>WebSocket </strong>предоставляет API для создания и управления <a href="/ru/WebSockets">веб-сокет</a>-подключения к серверу, а также для отправки и получения данных в этом подключении.</p> <p>Конструктор WebSocket принимает один обязательный и один опциональный параметр:</p> @@ -52,12 +52,12 @@ WebSocket WebSocket( </tbody> </table> -<h2 id="Аттрибуты"><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 40px;"><strong>Аттрибуты</strong></span></font></h2> +<h2 id="Атрибуты"><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 40px;"><strong>Атрибуты</strong></span></font></h2> <table class="standard-table"> <tbody> <tr> - <td class="header">Аттрибут</td> + <td class="header">Атрибут</td> <td class="header">Тип</td> <td class="header">Описание</td> </tr> @@ -130,7 +130,7 @@ WebSocket WebSocket( <h3 id="Константы_состояния_готовности">Константы состояния готовности</h3> -<p>Эти константы используются аттрибутом <code>readyState</code> для описания состояния WebSocket - подключения</p> +<p>Эти константы используются атрибутом <code>readyState</code> для описания состояния WebSocket - подключения</p> <table class="standard-table"> <tbody> @@ -162,7 +162,7 @@ WebSocket WebSocket( </tbody> </table> -<h2 id="Methods" name="Methods">Mетоды</h2> +<h2 id="Methods" name="Methods">Методы</h2> <h3 id="close" name="close()">close()</h3> diff --git a/files/ru/web/api/websockets_api/index.html b/files/ru/web/api/websockets_api/index.html index 071d8b9a49..7b0156b5a7 100644 --- a/files/ru/web/api/websockets_api/index.html +++ b/files/ru/web/api/websockets_api/index.html @@ -10,7 +10,7 @@ tags: translation_of: Web/API/WebSockets_API original_slug: WebSockets --- -<p><strong>Вебсокеты</strong> это продвинутая технология, позволяющая открыть постоянное двунаправленное сетевое соединение между браузером пользователя и сервером. С помощью его API вы можете отправить сообщение на сервер и получить ответ без выполнения http запроса, причем этот процесс будет событийно-управляемым.</p> +<p><strong>Веб-сокеты</strong> это продвинутая технология, позволяющая открыть постоянное двунаправленное сетевое соединение между браузером пользователя и сервером. С помощью его API вы можете отправить сообщение на сервер и получить ответ без выполнения http запроса, причем этот процесс будет событийно-управляемым.</p> <div class="cleared row topicpage-table"> <div class="section"> diff --git a/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html b/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html index 73c9a28e62..d5729bf6a4 100644 --- a/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html +++ b/files/ru/web/api/websockets_api/writing_websocket_client_applications/index.html @@ -1,24 +1,24 @@ --- -title: Написание клиентских приложений с помощью вебсокетов +title: Написание клиентских приложений с помощью веб-сокетов slug: Web/API/WebSockets_API/Writing_WebSocket_client_applications translation_of: Web/API/WebSockets_API/Writing_WebSocket_client_applications original_slug: WebSockets/Writing_WebSocket_client_applications --- <p>{{ draft() }}</p> -<p>Вебсокеты - технология, которя позволяет открыть интерактивную сессию общения между браузером пользователя и сервером. Соединяясь через вебсокеты, веб-приложения могут осуществлять взаимодействие в реальном времени вместо того, чтобы делать запросы к клиенту о входящих/исходящих изменениях.</p> +<p>Веб-сокеты - технология, которая позволяет открыть интерактивную сессию общения между браузером пользователя и сервером. Соединяясь через веб-сокеты, веб-приложения могут осуществлять взаимодействие в реальном времени вместо того, чтобы делать запросы к клиенту о входящих/исходящих изменениях.</p> -<div class="note"><strong>Замечание: </strong>У нас есть работающий пример чата, части кода из которого используются в статье. Пример будет доступен, когда инфраструктура сайта сможет должным образом поддерживать хостинг примеров с использованием вебсокетов.</div> +<div class="note"><strong>Замечание: </strong>У нас есть работающий пример чата, части кода из которого используются в статье. Пример будет доступен, когда инфраструктура сайта сможет должным образом поддерживать хостинг примеров с использованием веб-сокетов.</div> -<h2 id="Доступность_вебсокетов">Доступность вебсокетов</h2> +<h2 id="Доступность_веб-сокетов">Доступность веб-сокетов</h2> -<p>API вебсокетов доступно в Javascript коде, область видимости которого включает объект DOM {{ domxref("Window") }} или любой объект, реализующий {{ domxref("WorkerUtils") }}; это означает, что вы можете использовать Web Workers.</p> +<p>API веб-сокетов доступно в Javascript коде, область видимости которого включает объект DOM {{ domxref("Window") }} или любой объект, реализующий {{ domxref("WorkerUtils") }}; это означает, что вы можете использовать Web Workers.</p> -<div class="note"><strong>Замечание:</strong> API вебсокетов (как и протокол лежащий в его основе) всё ещё проходят этап активной разработки; в настоящее время существует много проблем совместимости с разными браузерами (и даже с разными релизами одного и того же браузера).</div> +<div class="note"><strong>Замечание:</strong> API веб-сокетов (как и протокол лежащий в его основе) всё ещё проходят этап активной разработки; в настоящее время существует много проблем совместимости с разными браузерами (и даже с разными релизами одного и того же браузера).</div> <h2 id="Создание_объекта_WebSocket">Создание объекта WebSocket</h2> -<p><code><font face="Lucida Grande, Lucida Sans Unicode, DejaVu Sans, Lucida, Arial, Helvetica, sans-serif">Чтобы общаться через протокол вебсокетов необходимо создать объект </font><a href="/en/WebSockets/WebSockets_reference/WebSocket" title="en/WebSockets/WebSockets reference/WebSocket">WebSocket</a></code>; при его создании автоматически происходит попытка открыть соединение с сервером.</p> +<p><code><font face="Lucida Grande, Lucida Sans Unicode, DejaVu Sans, Lucida, Arial, Helvetica, sans-serif">Чтобы общаться через протокол веб-сокетов необходимо создать объект </font><a href="/en/WebSockets/WebSockets_reference/WebSocket" title="en/WebSockets/WebSockets reference/WebSocket">WebSocket</a></code>; при его создании автоматически происходит попытка открыть соединение с сервером.</p> <p>Конструктор WebSocket принимает один обязательный и один необязательный параметр:</p> @@ -35,9 +35,9 @@ WebSocket WebSocket( <dl> <dt><code>url</code></dt> - <dd>URL, с которым происходит соединение; это должен быть URL вебсокет-сервера.</dd> + <dd>URL, с которым происходит соединение; это должен быть URL веб-сокет-сервера.</dd> <dt><code>protocols</code> {{ optional_inline() }}</dt> - <dd>Может быть одной строкой протокола или массивом таких строк. Эти строки используют для индикации под-протоколов; таким образом, один сервер может реализовывать несколько под-протоколов вебсокетов (к примеру, вам может потребоваться, чтобы сервер мог обрабатывать разные типы взаимодействий в зависимости от определённого под-протокола). Если вы не укажете строку протокола, то будет передана пустая строка.</dd> + <dd>Может быть одной строкой протокола или массивом таких строк. Эти строки используют для индикации под-протоколов; таким образом, один сервер может реализовывать несколько под-протоколов веб-сокетов (к примеру, вам может потребоваться, чтобы сервер мог обрабатывать разные типы взаимодействий в зависимости от определённого под-протокола). Если вы не укажете строку протокола, то будет передана пустая строка.</dd> </dl> <p>В конструкторе могут возникать следующие исключения:</p> @@ -54,7 +54,7 @@ WebSocket WebSocket( <p><span style="line-height: 21px;">Если ошибка случается во время попытки подключения, то в объект </span><a href="https://developer.mozilla.org/en/WebSockets/WebSockets_reference/WebSocket" style="line-height: 21px;" title="WebSocket"><code style="font-style: inherit;">WebSocket</code></a><span style="line-height: 21px;"> сначала посылается простое событие с именем «error» (таким образом, задействуя обработчик </span><code style="font-size: 14px; line-height: 21px;">onerror</code><span style="line-height: 21px;">), потом - событие </span><a href="https://developer.mozilla.org/en/WebSockets/WebSockets_reference/CloseEvent" style="line-height: 21px;" title="CloseEvent"><code style="font-style: inherit;">CloseEvent</code></a><span style="line-height: 21px;"> </span><span style="line-height: 21px;"> (таким образом, задействуя обработчик </span><code style="font-size: 14px; line-height: 21px;">onclose</code><span style="line-height: 21px;">) чтобы обозначить причину закрытия соединения.</span></p> -<p>Однако, начиная с версии Firefox 11, типичным является получение в консоль от платформы Mozilla расширенного сообщения об обшибке и кода завершения, как то определено в <a class="external" href="http://tools.ietf.org/html/rfc6455#section-7.4" title="RFC 6455 Section 7.4">RFC 6455, Section 7.4</a> посредством <a href="/en/WebSockets/WebSockets_reference/CloseEvent" title="CloseEvent"><code>CloseEvent</code></a>.</p> +<p>Однако, начиная с версии Firefox 11, типичным является получение в консоль от платформы Mozilla расширенного сообщения об ошибке и кода завершения, как то определено в <a class="external" href="http://tools.ietf.org/html/rfc6455#section-7.4" title="RFC 6455 Section 7.4">RFC 6455, Section 7.4</a> посредством <a href="/en/WebSockets/WebSockets_reference/CloseEvent" title="CloseEvent"><code>CloseEvent</code></a>.</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 ee513c37d0..e53532700d 100644 --- a/files/ru/web/api/webvr_api/index.html +++ b/files/ru/web/api/webvr_api/index.html @@ -27,18 +27,18 @@ translation_of: Web/API/WebVR_API <li>{{domxref("Navigator.getVRDisplays()")}} используется для получения ссылки на ваш VR-дисплей.</li> <li>{{domxref("VRDisplay.requestPresent()")}} используется для начала представления на дисплей VR.</li> <li>Выделенный {{domxref("VRDisplay.requestAnimationFrame()")}} WebVR's используется для запуска цикла рендеринга приложения с правильной частотой обновления для отображения.</li> - <li>Внутри цикла рендеринга берутся данные, необходимые для отоброжения текущего кадра ({{domxref("VRDisplay.getFrameData()")}}), дважды нарисуйте отображаемую сцену - один раз для просмотра в каждом глазу, затем отправьте отображаемый вид на дисплей, чтобы показать пользовотелю ({{domxref("VRDisplay.submitFrame()")}}).</li> + <li>Внутри цикла рендеринга берутся данные, необходимые для отображения текущего кадра ({{domxref("VRDisplay.getFrameData()")}}), дважды нарисуйте отображаемую сцену - один раз для просмотра в каждом глазу, затем отправьте отображаемый вид на дисплей, чтобы показать пользователю ({{domxref("VRDisplay.submitFrame()")}}).</li> </ol> <p>Кроме того, WebVR 1.1 добавляет ряд событий {{domxref("Window")}} объекту, чтобы JavaScript мог реагировать на изменения состояния дисплея.</p> <div class="note"> -<p><strong>Примечание</strong>: Вы можете найте намого больше о том, как работает API в <a href="/en-US/docs/Web/API/WebVR_API/Using_the_WebVR_API">Using the WebVR API</a> и <a href="/en-US/docs/Web/API/WebVR_API/Concepts">WebVR Concepts</a> статьях.</p> +<p><strong>Примечание</strong>: Вы можете найти намного больше о том, как работает API в <a href="/en-US/docs/Web/API/WebVR_API/Using_the_WebVR_API">Using the WebVR API</a> и <a href="/en-US/docs/Web/API/WebVR_API/Concepts">WebVR Concepts</a> статьях.</p> </div> <h3 id="Использование_контроллеров_Объединение_WebVR_с_API-интерфейсом_геймпада">Использование контроллеров: Объединение WebVR с API-интерфейсом геймпада</h3> -<p>Многие аппаратные настройки WebVR оснащены контроллерами, которые сочетаются с гарнитурой. Они могут быть использованы в WebVR приложениях через <a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a>, и, в частности, <a href="/en-US/docs/Web/API/Gamepad_API#Experimental_Gamepad_extensions">Gamepad расширения API</a>, которые добавляют API функции для доступа к <a href="/en-US/docs/Web/API/GamepadPose">позе контроллера</a>, <a href="/en-US/docs/Web/API/GamepadHapticActuator">haptic actuators</a>, и многоe другое.</p> +<p>Многие аппаратные настройки WebVR оснащены контроллерами, которые сочетаются с гарнитурой. Они могут быть использованы в WebVR приложениях через <a href="/en-US/docs/Web/API/Gamepad_API">Gamepad API</a>, и, в частности, <a href="/en-US/docs/Web/API/Gamepad_API#Experimental_Gamepad_extensions">Gamepad расширения API</a>, которые добавляют API функции для доступа к <a href="/en-US/docs/Web/API/GamepadPose">позе контроллера</a>, <a href="/en-US/docs/Web/API/GamepadHapticActuator">haptic actuators</a>, и многое другое.</p> <div class="note"> <p><strong>Примечание</strong>: Наша <a href="/en-US/docs/Web/API/WebVR_API/Using_VR_controllers_with_WebVR">Using VR controllers with WebVR</a> статья объясняет основы использования VR-контроллеров в приложениях WebVR.</p> @@ -48,17 +48,17 @@ translation_of: Web/API/WebVR_API <dl> <dt>{{domxref("VRDisplay")}}</dt> - <dd>Представляет любое устройство VR, поддерживаемое этим API. VRDisplay включает в себя общую информацию, такую как идентификаторые устройств и описания, а также методы для начала представления сцены VR, получения параметров глаз и возможностей отображения и других важных функций.</dd> + <dd>Представляет любое устройство VR, поддерживаемое этим API. VRDisplay включает в себя общую информацию, такую как идентификаторы устройств и описания, а также методы для начала представления сцены VR, получения параметров глаз и возможностей отображения и других важных функций.</dd> <dt>{{domxref("VRDisplayCapabilities")}}</dt> <dd>описывает возможности {{domxref("VRDisplay")}} — его функции могут использоваться для тестирования возможностей устройства VR, например, может ли он возвращать информацию о местоположении.</dd> <dt>{{domxref("VRDisplayEvent")}}</dt> - <dd>Возвращает объект события (event) связанного с WebVR-событием (см. {{anch("Window", "window object extensions")}} , перечисленны ниже).</dd> + <dd>Возвращает объект события (event) связанного с WebVR-событием (см. {{anch("Window", "window object extensions")}} , перечисленных ниже).</dd> <dt>{{domxref("VRFrameData")}}</dt> <dd>Представляет всю информацию, необходимую для создания одного кадра сцены VR; созданный от {{domxref("VRDisplay.getFrameData()")}}.</dd> <dt>{{domxref("VRPose")}}</dt> - <dd>Предстовляет состояние позиции на заданной временой отметке (которая включает в себя ориентацию, положение, скорость и ускорение).</dd> + <dd>Представляет состояние позиции на заданной временной отметке (которая включает в себя ориентацию, положение, скорость и ускорение).</dd> <dt>{{domxref("VREyeParameters")}}</dt> - <dd>Предоставляет доступ ко все информации, необзходимой для корректного отображения сцены для каждого задного глаза, включая информацию о поле зрения.</dd> + <dd>Предоставляет доступ ко все информации, необходимой для корректного отображения сцены для каждого заднего глаза, включая информацию о поле зрения.</dd> <dt>{{domxref("VRFieldOfView")}}</dt> <dd>Представляет поле зрения, определенное четырьмя различными значениями степени, описывающими представление из центральной точки.</dd> <dt>{{domxref("VRLayerInit")}}</dt> @@ -69,13 +69,13 @@ translation_of: Web/API/WebVR_API <h3 id="Расширения_для_других_интерфейсов">Расширения для других интерфейсов</h3> -<p>WebVR API асширяет следующие API, добавляя перечисленные функции.</p> +<p>WebVR API расширяет следующие API, добавляя перечисленные функции.</p> <h4 id="Геймпад">Геймпад</h4> <dl> <dt>{{domxref("Gamepad.displayId")}} {{readonlyInline}}</dt> - <dd><dfn>Возвращает {{domxref("VRDisplay.displayId")}} связанного с {{domxref("VRDisplay")}} — <code>VRDisplay</code> , которым гейпад управляет отображаемой сценой.</dfn></dd> + <dd><dfn>Возвращает {{domxref("VRDisplay.displayId")}} связанного с {{domxref("VRDisplay")}} — <code>VRDisplay</code> , которым геймпад управляет отображаемой сценой.</dfn></dd> </dl> <h4 id="Навигатор">Навигатор</h4> @@ -91,11 +91,11 @@ translation_of: Web/API/WebVR_API <dl> <dt>{{domxref("Window.onvrdisplaypresentchange")}}</dt> - <dd>Представляет обработчик событий, который будет выполняться, при изменении состояния отображения VR-дисплея — т.е. идёт от отображения до неотображения, или наоброт (когда {{event("vrdisplaypresentchange")}} событие срабатывает).</dd> + <dd>Представляет обработчик событий, который будет выполняться, при изменении состояния отображения VR-дисплея — т.е. идёт от отображения до неотображения, или наоборот (когда {{event("vrdisplaypresentchange")}} событие срабатывает).</dd> <dt>{{domxref("Window.onvrdisplayconnect")}}</dt> <dd>Представляет обработчик событий, который будет запускаться, когда к компьютеру подключен совместимый VR-дисплей (когда {{event("vrdisplayconnect")}} событие срабатывает).</dd> <dt>{{domxref("Window.onvrdisplaydisconnect")}}</dt> - <dd>Представляет обработчик событий, который будет зпускаться, когда совместимый VR-дисплей был отключён от компьютера (когда {{event("vrdisplaydisconnect")}} событие срабатывает).</dd> + <dd>Представляет обработчик событий, который будет запускаться, когда совместимый VR-дисплей был отключён от компьютера (когда {{event("vrdisplaydisconnect")}} событие срабатывает).</dd> <dt>{{domxref("Window.onvrdisplayactivate")}}</dt> <dd>Представляет обработчик событий, который будет выполняться, когда дисплей может быть представлен (когда {{event("vrdisplayactivate")}}событие срабатывает), например, HMD (Head Mounted Display) был перемещён, чтобы вывести его из режима ожидания, или проснулся, будучи перемещенным.</dd> <dt>{{domxref("Window.onvrdisplaydeactivate")}}</dt> @@ -108,7 +108,7 @@ translation_of: Web/API/WebVR_API <dl> <dt>{{domxref("Window.onvrdisplayblur")}}</dt> - <dd>Представляет обработчик событий, который будет выполняться, когда презентация на дисплей была преостановлена по какой-то причине в браузере, ОС или оборудованием VR (когда {{event("vrdisplayblur")}} событие срабатывает) — например, в то время как пользователь взаимодействует с системным меню или браузером, чтобы предотвратить отслеживание или потерю опыта.</dd> + <dd>Представляет обработчик событий, который будет выполняться, когда презентация на дисплей была приостановлена по какой-то причине в браузере, ОС или оборудованием VR (когда {{event("vrdisplayblur")}} событие срабатывает) — например, в то время как пользователь взаимодействует с системным меню или браузером, чтобы предотвратить отслеживание или потерю опыта.</dd> <dt>{{domxref("Window.onvrdisplayfocus")}}</dt> <dd>Представляет обработчик событий, который будет выполняться, когда презентация на дисплей возобновляется после потери фокуса (когда {{event("vrdisplayfocus")}} событие срабатывает).</dd> </dl> @@ -149,7 +149,7 @@ translation_of: Web/API/WebVR_API </tbody> </table> -<h2 id="Совместимость_с_брауезерами">Совместимость с брауезерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <p>{{CompatibilityTable}}</p> diff --git a/files/ru/web/api/window/alert/index.html b/files/ru/web/api/window/alert/index.html index d727f8083a..7a08e860f4 100644 --- a/files/ru/web/api/window/alert/index.html +++ b/files/ru/web/api/window/alert/index.html @@ -37,7 +37,7 @@ translation_of: Web/API/Window/alert <p><span class="comment">The following text is shared between this article, DOM:window.prompt and DOM:window.confirm</span> Пользователи<a href="/en-US/Chrome" title="Chrome"> Mozilla Chrome</a> (например, расширения для Firefox) должны использовать метод {{interface("nsIPromptService")}}.</p> -<p>Начиная с Chrome {{CompatChrome(46.0)}} этот метод заблокирован в {{htmlelement("iframe")}} пока аттрибут sandbox не устанолвлен в значение <code>allow-modal</code>.</p> +<p>Начиная с Chrome {{CompatChrome(46.0)}} этот метод заблокирован в {{htmlelement("iframe")}} пока атрибут sandbox не установлен в значение <code>allow-modal</code>.</p> <p>{{gecko_minversion_inline("23.0")}} Аргумент является опциональным и необязательным согласно спецификации.</p> diff --git a/files/ru/web/api/window/close/index.html b/files/ru/web/api/window/close/index.html index 87d7225262..860ba52331 100644 --- a/files/ru/web/api/window/close/index.html +++ b/files/ru/web/api/window/close/index.html @@ -33,7 +33,7 @@ function closeOpenedWindow() { <h3 id="Закрытие_текущего_окна">Закрытие текущего окна</h3> -<p>В прошлом, если бы вы вызвали фунцию close() объекта window, вместо вызова функции close() для созданного окна, браузер закрыл бы текущее окно, создал ли его ваш скрипт или нет. В текущее время этого не произойдет; по причинам безопасности, скриптам больше не разрешено закрывать окна, которые они не открыли. (Firefox 46.0.1: scripts can not close windows, they had not opened)</p> +<p>В прошлом, если бы вы вызвали функцию close() объекта window, вместо вызова функции close() для созданного окна, браузер закрыл бы текущее окно, создал ли его ваш скрипт или нет. В текущее время этого не произойдет; по причинам безопасности, скриптам больше не разрешено закрывать окна, которые они не открыли. (Firefox 46.0.1: scripts can not close windows, they had not opened)</p> <pre class="brush: js">function closeCurrentWindow() { window.close(); diff --git a/files/ru/web/api/window/crypto/index.html b/files/ru/web/api/window/crypto/index.html index 48087d7eda..f103f43f97 100644 --- a/files/ru/web/api/window/crypto/index.html +++ b/files/ru/web/api/window/crypto/index.html @@ -42,7 +42,7 @@ translation_of: Web/API/Window/crypto <table class="compat-table"> <tbody> <tr> - <th>Фунционал</th> + <th>Функционал</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> diff --git a/files/ru/web/api/window/deviceorientation_event/index.html b/files/ru/web/api/window/deviceorientation_event/index.html index 0d264588d7..013c5306ca 100644 --- a/files/ru/web/api/window/deviceorientation_event/index.html +++ b/files/ru/web/api/window/deviceorientation_event/index.html @@ -8,7 +8,7 @@ tags: - Сенсоры translation_of: Web/API/Window/deviceorientation_event --- -<p>Событие <code>deviceorientation</code> срабатывает, когда с сенсоров ориентации поступают новые данные о текущем положении устройства внутри Земной системы координат. Эти данные собираются с помощью мангитометра устройства. Более детальное объяснение дано в <a href="/en-US/docs/DOM/Orientation_and_motion_data_explained">Ориентация и объяснение данных движения</a>.</p> +<p>Событие <code>deviceorientation</code> срабатывает, когда с сенсоров ориентации поступают новые данные о текущем положении устройства внутри Земной системы координат. Эти данные собираются с помощью магнитометра устройства. Более детальное объяснение дано в <a href="/en-US/docs/DOM/Orientation_and_motion_data_explained">Ориентация и объяснение данных движения</a>.</p> <h2 id="Общая_информация">Общая информация</h2> @@ -167,5 +167,5 @@ var handleOrientationEvent = function(frontToBack, leftToRight, rotateDegrees) { <li>{{domxref("window.ondeviceorientation")}}</li> <li><a href="/en-US/docs/Web/API/Detecting_device_orientation">Определение ориентации устройства</a></li> <li><a href="/en-US/docs/Web/Guide/Events/Orientation_and_motion_data_explained">Ориентация и объяснение данных о движении</a></li> - <li>Имитация события смены ориентации в настольныъ браузерах с помощью <a href="http://louisremi.github.com/orientation-devtool/">orientation-devtool</a></li> + <li>Имитация события смены ориентации в настольный браузерах с помощью <a href="http://louisremi.github.com/orientation-devtool/">orientation-devtool</a></li> </ul> diff --git a/files/ru/web/api/window/devicepixelratio/index.html b/files/ru/web/api/window/devicepixelratio/index.html index e5df4bef29..9cea42e83d 100644 --- a/files/ru/web/api/window/devicepixelratio/index.html +++ b/files/ru/web/api/window/devicepixelratio/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/Window/devicePixelRatio <pre class="syntaxbox"><em><var>value</var></em> = window.devicePixelRatio; </pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Свойство не поддерживается в IE ниже 11, однако в IE10 можно получить значение в виде отношения:</p> diff --git a/files/ru/web/api/window/document/index.html b/files/ru/web/api/window/document/index.html index 088c178f20..de38ec400f 100644 --- a/files/ru/web/api/window/document/index.html +++ b/files/ru/web/api/window/document/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Window/document <div class="note"><strong>Note:</strong> {{Fx_minversion_inline(3)}} Firefox 3 вносит изменения в правила безопасности для windows' документов, чтобы только домен, на котором они расположены, имел доступ к документам. И хотя это может сломать некоторые существующие сайты, Firefox 3 и Internet Explorer 7 сделали этот шаг, что приводит к улучшению безопасности.</div> -<h2 id="Синтaксис">Синтaксис</h2> +<h2 id="Синтаксис">Синтаксис</h2> <pre class="syntaxbox"><var>doc</var> = window.document </pre> diff --git a/files/ru/web/api/window/getcomputedstyle/index.html b/files/ru/web/api/window/getcomputedstyle/index.html index fb8239d55e..85080b7fa7 100644 --- a/files/ru/web/api/window/getcomputedstyle/index.html +++ b/files/ru/web/api/window/getcomputedstyle/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Window/getComputedStyle <dd>Строка указывающая на найденный псевдо-элемент. Опускается (или <code>null</code>) для не псевдо-элементов.</dd> </dl> -<p>Возвращенный <code>style</code> живой {{domxref("CSSStyleDeclaration")}} обьект, который обновляется автоматически когда элемент стилей изменяется.</p> +<p>Возвращенный <code>style</code> живой {{domxref("CSSStyleDeclaration")}} объект, который обновляется автоматически когда элемент стилей изменяется.</p> <h2 id="Выводы">Выводы</h2> @@ -73,13 +73,13 @@ var style = window.getComputedStyle(elem1, null); <h2 id="Описание">Описание</h2> -<p>Возвращенный обьект - это такой же обьект, который возвращается из свойства элемента {{domxref("HTMLElement.style", "style")}}; Так или иначе, эти два обьекта имеют разные назначения. Обьект который возвращается из <code>getComputedStyle</code> только для чтения и может быть использован для инспектирования стиля элемента (включая описание из <code><style></code> элемента или внешней таблицы стилей). Обьект <code>element.style</code> следует использовать для установки стилей на специфических элементах.</p> +<p>Возвращенный объект - это такой же объект, который возвращается из свойства элемента {{domxref("HTMLElement.style", "style")}}; Так или иначе, эти два объекта имеют разные назначения. Объект который возвращается из <code>getComputedStyle</code> только для чтения и может быть использован для инспектирования стиля элемента (включая описание из <code><style></code> элемента или внешней таблицы стилей). Объект <code>element.style</code> следует использовать для установки стилей на специфических элементах.</p> <p>Первый аргумент должен быть элементом (вставка узлов которые не являются элементами, например <code>#text</code> выдаст ошибку).</p> <h2 id="defaultView"><code>defaultView</code></h2> -<p>Во многих примерах кода, <code>getComputedStyle</code> используется из обьекта <code>document.defaultView</code>. Почти во всех случаях это не нужно, поскольку <code>getComputedStyle</code> существует в обьетке <code>window</code>. Это что-то на подобии шаблона defaultView который был нейкой прослойкой. Люди не хотели писать спецификацию для <code>window</code> и создавали <code>API</code> которое также могло использоваться для Java. Так или иначе <a class="link-https" href="https://github.com/jquery/jquery/pull/524#issuecomment-2241183" title="https://github.com/jquery/jquery/pull/524#issuecomment-2241183">есть только один случай</a> когда метод <code>defaultView</code> должен использоваться: когда вы используете Firefox 3.6 чтобы получить доступ к вычесленным стилям.</p> +<p>Во многих примерах кода, <code>getComputedStyle</code> используется из объекта <code>document.defaultView</code>. Почти во всех случаях это не нужно, поскольку <code>getComputedStyle</code> существует в объекте <code>window</code>. Это что-то на подобии шаблона defaultView который был некой прослойкой. Люди не хотели писать спецификацию для <code>window</code> и создавали <code>API</code> которое также могло использоваться для Java. Так или иначе <a class="link-https" href="https://github.com/jquery/jquery/pull/524#issuecomment-2241183" title="https://github.com/jquery/jquery/pull/524#issuecomment-2241183">есть только один случай</a> когда метод <code>defaultView</code> должен использоваться: когда вы используете Firefox 3.6 чтобы получить доступ к вычисленным стилям.</p> <h2 id="Использования_с_псевдо-элементами">Использования с псевдо-элементами</h2> @@ -183,7 +183,7 @@ var style = window.getComputedStyle(elem1, null); </table> </div> -<h2 id="Спецификаци">Спецификаци</h2> +<h2 id="Спецификации">Спецификации</h2> <ul> <li><a class="external" href="https://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle">DOM Level 2 Style: getComputedStyle</a></li> diff --git a/files/ru/web/api/window/getselection/index.html b/files/ru/web/api/window/getselection/index.html index c3a4b16ab1..c70c51e40c 100644 --- a/files/ru/web/api/window/getselection/index.html +++ b/files/ru/web/api/window/getselection/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Window/getSelection <p><font face="consolas, Liberation Mono, courier, monospace">Объект </font>{{domxref("Selection")}}.</p> -<p>При добавлении в параметр пустую строку или вспользовавшись методом {{jsxref("Selection.toString()")}} вам вернут строку, которую выделил пользователь.</p> +<p>При добавлении в параметр пустую строку или воспользовавшись методом {{jsxref("Selection.toString()")}} вам вернут строку, которую выделил пользователь.</p> <h2 id="Example" name="Example">Пример</h2> @@ -32,7 +32,7 @@ translation_of: Web/API/Window/getSelection <h3 id="String_representation_of_the_Selection_object">String representation of the Selection object</h3> -<p>В JavaScript при попытке передать в функцию, принимающую строку (как на пример {{ Domxref("window.alert()") }} или же {{ Domxref("document.write()") }}), функция попробует сделать из любого параметра строку, даже если этот параметр явлется объектом, функцией со своими методами и свойствами.</p> +<p>В JavaScript при попытке передать в функцию, принимающую строку (как на пример {{ Domxref("window.alert()") }} или же {{ Domxref("document.write()") }}), функция попробует сделать из любого параметра строку, даже если этот параметр является объектом, функцией со своими методами и свойствами.</p> <p>В приведенном выше примере <code>selObj.toString() автоматически задействуется, когда мы передаем в </code>{{domxref("window.alert()")}} переменную selObj как параметр, который должен быть строкой. Однако мы не можем использовать свойства и метода объекта String, как на пример : <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length" title="JS/String.length">length</a></code>, <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr" title="JS/String.substr">substr</a></code>. В следствии чего, вам необходимо будет применить вручную метод <code>toString(), как тут:</code></p> diff --git a/files/ru/web/api/window/history/index.html b/files/ru/web/api/window/history/index.html index 982be2ef7e..fb679f5282 100644 --- a/files/ru/web/api/window/history/index.html +++ b/files/ru/web/api/window/history/index.html @@ -24,9 +24,9 @@ history.go(-1); // эквивалент history.back(); <p>Для последней загруженной страницы вы можете увидеть список предыдущих страниц, которые доступны через объект <code>History</code>, в выпадающем списке к кнопкам "назад" и "вперед".</p> -<p>По причинам безопасности объект <code>History</code> не позволяет непривелигерованному коду получать доступ к URL других страниц, но позволяет осуществлять навигацию по истории сессии.</p> +<p>По причинам безопасности объект <code>History</code> не позволяет непривилегированному коду получать доступ к URL других страниц, но позволяет осуществлять навигацию по истории сессии.</p> -<p>Не существует способа очистить историю сессии или выключить навигацию посредствам кнопок "назад"/"вперед" из непривелигерованного кода. Наиболее близкое решение использовать метод <code><a href="/en/DOM/window.location#replace" title="en/DOM/window.location#replace">location.replace()</a></code>, который заменяет текущий пункт в истории сессии на предоставленный URL.</p> +<p>Не существует способа очистить историю сессии или выключить навигацию посредствам кнопок "назад"/"вперед" из непривилегированного кода. Наиболее близкое решение использовать метод <code><a href="/en/DOM/window.location#replace" title="en/DOM/window.location#replace">location.replace()</a></code>, который заменяет текущий пункт в истории сессии на предоставленный URL.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/api/window/index.html b/files/ru/web/api/window/index.html index d70c6e1a44..36edcea2ac 100644 --- a/files/ru/web/api/window/index.html +++ b/files/ru/web/api/window/index.html @@ -7,9 +7,9 @@ translation_of: Web/API/Window <p><span class="seoSummary">Объект <code>window</code> представляет собой окно, содержащее DOM документ; свойство <code>document</code> указывает на <a href="/en-US/docs/DOM/document">DOM document</a>, загруженный в данном окне.</span> Окно текущего документа может быть получено с помощью свойства {{Domxref("document.defaultView")}}.</p> -<p>Данный раздел содержит описание всех методов, свойств и событий, доступных через объект <code>window</code> DOM. Объект <code>window</code> реализует интерфейс <code>Window</code>, который наследуется от интерфейса <code><a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView">AbstractView</a></code>. Некоторые дополнительные глобальные функции, пространства имен объектов, интерфейсы и конструкторы, как правило, не связаные с окном, но доступные в нем, перечислены в <a href="/en-US/docs/JavaScript/Reference">JavaScript ссылки</a> и <a href="/en-US/docs/DOM/DOM_Reference" title="/en-US/docs/DOM/DOM_Reference">DOM ссылки</a>.</p> +<p>Данный раздел содержит описание всех методов, свойств и событий, доступных через объект <code>window</code> DOM. Объект <code>window</code> реализует интерфейс <code>Window</code>, который наследуется от интерфейса <code><a href="http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView">AbstractView</a></code>. Некоторые дополнительные глобальные функции, пространства имен объектов, интерфейсы и конструкторы, как правило, не связанные с окном, но доступные в нем, перечислены в <a href="/en-US/docs/JavaScript/Reference">JavaScript ссылки</a> и <a href="/en-US/docs/DOM/DOM_Reference" title="/en-US/docs/DOM/DOM_Reference">DOM ссылки</a>.</p> -<p>В браузерах, поддерживающих вкладки, таком как Firefox, каждая вкладка содержит свой собственный объект <code>window</code> (и если вы пишете расширение, окно браузера тоже является отдельным объектом window - см. <a href="/en-US/docs/Working_with_windows_in_chrome_code#Content_windows">Работа с окнами в chrome коде</a>). Таким образом, объект <code>window</code> не разделяется между разными вкладками в одном и том же окне. Некоторые методы, а именно {{Domxref("window.resizeTo")}} и {{Domxref("window.resizeBy")}} применяеются для всего окна и не принадлежат объекту <code>window</code> отдельной вкладки. Как правило, если что-то логически нельзя отнести ко вкладке, это относят к окну.</p> +<p>В браузерах, поддерживающих вкладки, таком как Firefox, каждая вкладка содержит свой собственный объект <code>window</code> (и если вы пишете расширение, окно браузера тоже является отдельным объектом window - см. <a href="/en-US/docs/Working_with_windows_in_chrome_code#Content_windows">Работа с окнами в chrome коде</a>). Таким образом, объект <code>window</code> не разделяется между разными вкладками в одном и том же окне. Некоторые методы, а именно {{Domxref("window.resizeTo")}} и {{Domxref("window.resizeBy")}} применяется для всего окна и не принадлежат объекту <code>window</code> отдельной вкладки. Как правило, если что-то логически нельзя отнести ко вкладке, это относят к окну.</p> <h2 id="Свойства">Свойства</h2> @@ -21,7 +21,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.applicationCache")}} {{readOnlyInline}} {{gecko_minversion_inline("1.9")}}</dt> <dd>Объект {{domxref("OfflineResourceList")}}, обеспечивающий для окна доступ к ресурсам вне сети.</dd> <dt>{{domxref("Window.closed")}} {{Non-standard_inline}}{{readOnlyInline}}</dt> - <dd>Свойство, указывающее было ли текущее окно закрыто или нет.</dd> + <dd>Свойство, указывающее ббыло ли текущее окно закрыто или нет.</dd> <dt>{{domxref("Window.Components")}} {{Non-standard_inline}}</dt> <dd>Точка доступа к богатому функционалу <a href="/en-US/docs/XPCOM">XPCOM</a>. Некоторые свойства, т.к. <a href="/en-US/docs/Components.classes">classes</a>, доступны только для достаточно привелегированного кода. <strong>Web-код не должен использовать эти свойства.</strong></dd> <dt>{{domxref("console","Window.console")}} {{Non-standard_inline}} {{ReadOnlyInline}}</dt> @@ -49,7 +49,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.fullScreen")}} {{gecko_minversion_inline("1.9")}}</dt> <dd>Это свойство указывает, отображается ли окно в полноэкранном режиме или нет.</dd> <dt>{{domxref("Window.globalStorage")}} {{gecko_minversion_inline("1.8.1")}} {{Non-standard_inline}} {{Obsolete_inline("gecko13")}}</dt> - <dd>Не поддерживает с Gecko 13 (Firefox 13). Использовать вместо него{{domxref("Window.localStorage")}}. Было: Множественные объекты хранения, которые используются для хранения данных на нескольких страницах.</dd> + <dd>Не поддерживает с Gecko 13 (Firefox 13). Использовать вместо него{{domxref("Window.localStorage")}}. Ббыло: Множественные объекты хранения, которые используются для хранения данных на нескольких страницах.</dd> <dt>{{domxref("Window.history")}} {{ReadOnlyInline}}</dt> <dd>Возвращает ссылку на объект истории.</dd> <dt>{{domxref("Window.innerHeight")}}</dt> @@ -97,9 +97,9 @@ translation_of: Web/API/Window <dt>{{domxref("Window.sessionStorage")}} {{readOnlyInline}}</dt> <dd>Возвращает ссылку на объект хранения сессии, используемый для хранения данных, которые могут быть получены только источником, создавшим их.</dd> <dt>{{domxref("Window.parent")}} {{readOnlyInline}}</dt> - <dd>Возвращает ссылку на родителя текущего окна или встроеного фрейма.</dd> + <dd>Возвращает ссылку на родителя текущего окна или встроенного фрейма.</dd> <dt>{{domxref("Window.performance")}} {{readOnlyInline}}</dt> - <dd>Обеспечивает главенствующее пространство для аттрибутов, <a href="/en-US/docs/Navigation_timing">относящихся к производительности</a>.</dd> + <dd>Обеспечивает главенствующее пространство для атрибутов, <a href="/en-US/docs/Navigation_timing">относящихся к производительности</a>.</dd> <dt>{{domxref("Window.personalbar")}} {{readOnlyInline}}</dt> <dd>Возвращает объект personalbar, который может быть добавлен и убран из окна.</dd> <dt>{{domxref("Window.pkcs11")}} {{obsolete_inline(29)}}</dt> @@ -131,7 +131,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.speechSynthesis")}} {{ReadOnlyInline}}</dt> <dd>Возвращает объект {{domxref("SpeechSynthesis")}}, который является точкой входа для использования <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API">Web Speech API</a>, функционала для речевого синтеза.</dd> <dt>{{domxref("Window.status")}}</dt> - <dd>Получает/устанавливает тект в statusbar внизу браузера.</dd> + <dd>Получает/устанавливает текст в statusbar внизу браузера.</dd> <dt>{{domxref("Window.statusbar")}} {{readOnlyInline}}</dt> <dd>Возвращает объект statusbar, который может быть добавлен и убран из окна.</dd> <dt>{{domxref("Window.toolbar")}} {{readOnlyInline}}</dt> @@ -152,9 +152,9 @@ translation_of: Web/API/Window <dt>{{domxref("WindowOrWorkerGlobalScope.indexedDB")}} {{readonlyInline}}</dt> <dd>Обеспечивает механизм для приложений для возможности асинхронного доступа индексированных баз данных; возвращает объект {{domxref("IDBFactory")}}.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.isSecureContext")}} {{readOnlyinline}}</dt> - <dd>Возвращает булеановское занчение, указывающее является ли текущий контент безопасным (<code>true</code>) или нет (<code>false</code>).</dd> + <dd>Возвращает булевское значение, указывающее является ли текущий контент безопасным (<code>true</code>) или нет (<code>false</code>).</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.origin")}} {{readOnlyinline}}</dt> - <dd>Возаращает источник глобального объекта, преобразованного в строку. (Это свойство пока еще не существует, поэтому не может быть использовано в браузерах.)</dd> + <dd>Возвращает источник глобального объекта, преобразованного в строку. (Это свойство пока еще не существует, поэтому не может быть использовано в браузерах.)</dd> </dl> <h2 id="Методы">Методы</h2> @@ -169,15 +169,15 @@ translation_of: Web/API/Window <dt>{{domxref("Window.blur()")}}</dt> <dd>Убирает фокус с окна.</dd> <dt>{{domxref("Window.cancelIdleCallback()")}} {{experimental_inline}}</dt> - <dd>Позволяет отменить функцию обратного вызова прежде чем определить расписание ее выозва с {{domxref("Window.requestIdleCallback")}}.</dd> + <dd>Позволяет отменить функцию обратного вызова прежде чем определить расписание ее вызова с {{domxref("Window.requestIdleCallback")}}.</dd> <dt>{{domxref("Window.captureEvents()")}} {{Deprecated_inline}}</dt> - <dd>Регестрирует окно, которое будет перехватывать все события опереденного типа.</dd> + <dd>Регистрирует окно, которое будет перехватывать все события определенного типа.</dd> <dt>{{domxref("Window.clearImmediate()")}}</dt> <dd>Отменяет повторяющееся исполнение, установленное с помощью <code>setImmediate</code>.</dd> <dt>{{domxref("WindowTimers.clearInterval()")}}</dt> - <dd>Отменяет повторяющееся исполнене, установленное с помощью {{domxref("WindowTimers.setInterval()")}}.</dd> + <dd>Отменяет повторяющееся исполнение, установленное с помощью {{domxref("WindowTimers.setInterval()")}}.</dd> <dt>{{domxref("WindowTimers.clearTimeout()")}}</dt> - <dd>Отменяет повторяющееся исполнене, установленное с помощью {{domxref("WindowTimers.setTimeout()")}}.</dd> + <dd>Отменяет повторяющееся исполнение, установленное с помощью {{domxref("WindowTimers.setTimeout()")}}.</dd> <dt>{{domxref("Window.close()")}}</dt> <dd>Закрывает текущее окно.</dd> <dt>{{domxref("Window.confirm()")}}</dt> @@ -201,13 +201,13 @@ translation_of: Web/API/Window <dt>{{domxref("Window.getAttentionWithCycleCount()")}}</dt> <dd>{{todo("NeedsContents")}}</dd> <dt>{{domxref("Window.getComputedStyle()")}}</dt> - <dd>Получает подсчитанные стили для определенного элемента. Подсичтанные стили включают подсчитанные занчения всех CSS свойств элемента.</dd> + <dd>Получает подсчитанные стили для определенного элемента. Подсчитанные стили включают подсчитанные значения всех CSS свойств элемента.</dd> <dt>{{domxref("Window.getDefaulComputedStyle()")}}</dt> <dd>Получает подсчитанные стили по умолчанию для определенного элемента, игнорируя авторские стили.</dd> <dt>{{domxref("Window.getSelection()")}}</dt> <dd>Возвращает выбранный объект, представляющий выбранный элемент(ы).</dd> <dt>{{domxref("Window.home()")}} {{Non-standard_inline}} {{obsolete_inline}}</dt> - <dd>Возаращает браузер на домашнюю страницу.</dd> + <dd>Возвращает браузер на домашнюю страницу.</dd> <dt>{{domxref("Window.matchMedia()")}} {{gecko_minversion_inline("6.0")}}</dt> <dd>Возвращает объект {{domxref("MediaQueryList")}}, представляющий указанную строку медиа-запроса.</dd> <dt>{{domxref("Window.maximize()")}}</dt> @@ -219,7 +219,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.moveTo()")}}</dt> <dd>Сдвигает окно до определенных координат.</dd> <dt>{{domxref("Window.mozRequestAnimationFrame()")}} {{gecko_minversion_inline("2.0")}}</dt> - <dd>Cообщает браузеру, что анимация находится в прогрессе, требуя, чтобы браузер определил время перерисовки окна для следующего анимационного фрейма. Это вызовет событие <code>MozBeforePaint,</code> прежде чем произойдет перерисовка .</dd> + <dd>Сообщает браузеру, что анимация находится в прогрессе, требуя, чтобы браузер определил время перерисовки окна для следующего анимационного фрейма. Это вызовет событие <code>MozBeforePaint,</code> прежде чем произойдет перерисовка .</dd> <dt>{{domxref("Window.open()")}}</dt> <dd>Открывает новое окно.</dd> <dt>{{domxref("Window.openDialog()")}}</dt> @@ -227,7 +227,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.postMessage()")}} {{Fx_minversion_inline(3)}}</dt> <dd>Предоставляет безопасный способ для одного окна передать строку с данными в другое окно, которое должно находиться в пределах того же домена, что и первое.</dd> <dt>{{domxref("Window.print()")}}</dt> - <dd>Открывет Print Dialog для распечатки текущего документа.</dd> + <dd>Открывает Print Dialog для распечатки текущего документа.</dd> <dt>{{domxref("Window.prompt()")}}</dt> <dd>Возвращает текст, введенный пользователем в диалоге подсказки.</dd> <dt>{{domxref("Window.releaseEvents()")}} {{Deprecated_inline}}</dt> @@ -235,7 +235,7 @@ translation_of: Web/API/Window <dt>{{domxref("element.removeEventListener","Window.removeEventListener()")}}</dt> <dd>Удаляет слушателя события из окна.</dd> <dt>{{domxref("Window.requestIdleCallback()")}} {{experimental_inline}}</dt> - <dd>Позволяет назначить раписание задачь во время периода простоя браузера.</dd> + <dd>Позволяет назначить расписание задачи во время периода простоя браузера.</dd> <dt>{{domxref("Window.resizeBy()")}}</dt> <dd>Меняет размер текущего окна на определенное число.</dd> <dt>{{domxref("Window.resizeTo()")}}</dt> @@ -249,9 +249,9 @@ translation_of: Web/API/Window <dt>{{domxref("Window.scrollBy()")}}</dt> <dd>Прокручивает документ в окна на данное число.</dd> <dt>{{domxref("Window.scrollByLines()")}}</dt> - <dd>Прокурчивает документ на данное число строк.</dd> + <dd>Прокручивает документ на данное число строк.</dd> <dt>{{domxref("Window.scrollByPages()")}}</dt> - <dd>Прокурчивает документ на данное число стараниц.</dd> + <dd>Прокручивает документ на данное число страниц.</dd> <dt>{{domxref("Window.scrollTo()")}}</dt> <dd>Прокручивает до заданных координат в документе.</dd> <dt>{{domxref("Window.setCursor()")}}</dt> @@ -276,11 +276,11 @@ translation_of: Web/API/Window <h3 id="Методы_реализованные_из_других_мест">Методы, реализованные из других мест</h3> </dt> <dt>{{domxref("EventTarget.addEventListener()")}}</dt> - <dd>Регестрирует обработчики опреленного типа событий в окне.</dd> + <dd>Регистрирует обработчики определенного типа событий в окне.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.atob()")}}</dt> <dd>Декодирует строку данных, которая была закодирована, используя кодировку base-64.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.btoa()")}}</dt> - <dd>Создаеь закодированную base-64 ASCII строку из строки бинарных данных.</dd> + <dd>Создать закодированную base-64 ASCII строку из строки бинарных данных.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.clearInterval()")}}</dt> <dd>Отменяет повторяющееся исполнение, установленного с помощью {{domxref("WindowOrWorkerGlobalScope.setInterval()")}}.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.clearTimeout()")}}</dt> @@ -292,7 +292,7 @@ translation_of: Web/API/Window <dt>{{domxref("EventTarget.removeEventListener")}}</dt> <dd>Удаляет слушателя события из окна.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.setInterval()")}}</dt> - <dd>Устанавливает раписание для исполнения функции каждый раз через заданное число миллисекунд.</dd> + <dd>Устанавливает расписание для исполнения функции каждый раз через заданное число миллисекунд.</dd> <dt>{{domxref("WindowOrWorkerGlobalScope.setTimeout()")}}</dt> <dd>Устанавливает расписание для исполнения функции в назначенное время.</dd> </dl> @@ -304,7 +304,7 @@ translation_of: Web/API/Window <p>Интерфейс наследует обработчики событий от <em>{{domxref("EventTarget")}} </em>интерфейса и реализует обработчики событий <em>{{domxref("WindowEventHandlers")}}.</em></p> <div class="note"> -<p><strong>Замета:</strong> Начиная с {{Gecko("9.0")}}, вы можете использовать синтаксис <code>if ("onabort" in window),</code> чтобы определить существует ли обработчик данного события. Интерфейсы обработчиков событий были обновлеы таким образом, чтобы соответсовать web IDL интерфейсам. Смотри <a href="/en-US/docs/DOM/DOM_event_handlers">обработчики собыйти DOM</a> для деталей.</p> +<p><strong>Замета:</strong> Начиная с {{Gecko("9.0")}}, вы можете использовать синтаксис <code>if ("onabort" in window),</code> чтобы определить существует ли обработчик данного события. Интерфейсы обработчиков событий были обновлены таким образом, чтобы соответствовать web IDL интерфейсам. Смотри <a href="/en-US/docs/DOM/DOM_event_handlers">обработчики событий DOM</a> для деталей.</p> </div> <dl> @@ -333,7 +333,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.ondevicelight")}}</dt> <dd>Свойство обработчика событий для отслеживания изменения уровня света.</dd> <dt>{domxref("Window.ondevicemotion")}} {{gecko_minversion_inline("6.0")}}</dt> - <dd>Вызывается, если было определено изменение акселерометра (для мобильных устройств).</dd> + <dd>Вызывается, если ббыло определено изменение акселерометра (для мобильных устройств).</dd> <dt>{{domxref("Window.ondeviceorientation")}} {{gecko_minversion_inline("6.0")}}</dt> <dd>Вызывается, когда была изменена ориентация (для мобильных устройств).</dd> <dt>{{domxref("Window.ondeviceorientation")}} {{gecko_minversion_inline("6.0")}}</dt> @@ -349,7 +349,7 @@ translation_of: Web/API/Window <dt>{{domxref("Window.onappinstalled")}}</dt> <dd>Вызывается, когда страница установлена, как приложение. Смотри {{event('appinstalled')}} событие.</dd> <dt>{{domxref("Window.oninput")}}</dt> - <dd>Вызывается, когда значение элемента <input> было изменено.</dd> + <dd>Вызывается, когда значение элемента <input> ббыло изменено.</dd> <dt>{{domxref("GlobalEventHandlers.onkeydown")}}</dt> <dd>Свойство обработчика событий для события {{event("keydown")}} в окне.</dd> <dt>{{domxref("GlobalEventHandlers.onkeypress")}}</dt> @@ -375,9 +375,9 @@ translation_of: Web/API/Window <dt>{{domxref("Window.onmozbeforepaint")}} {{gecko_minversion_inline("2.0")}}</dt> <dd>Свойство обработчика событий для события <code>MozBeforePaint</code>, которое присылается прежде чем окно будет перерисовано, если событие необходимо из-за вызова метода {{domxref("Window.mozRequestAnimationFrame()")}}.</dd> <dt>{{domxref("WindowEventHandlers.onoffline")}}</dt> - <dd>Вызывается, когда было потеряно соединение с сетью. Смотри событие {{event("offline")}}.</dd> + <dd>Вызывается, когда ббыло потеряно соединение с сетью. Смотри событие {{event("offline")}}.</dd> <dt>{{domxref("WindowEventHandlers.ononline")}}</dt> - <dd>Вызывается, когда соединение с сетью было установлено. Смотри событие {{event("online")}}.</dd> + <dd>Вызывается, когда соединение с сетью ббыло установлено. Смотри событие {{event("online")}}.</dd> <dt>{{domxref("WindowEventHandlers.onpageshow")}}</dt> <dd>Свойство обработчика событий для события pageshow в окне.</dd> <dt>{{domxref("WindowEventHandlers.onpagehide")}}</dt> @@ -395,11 +395,11 @@ translation_of: Web/API/Window <dt>{{domxref("GlobalEventHandlers.onscroll")}}</dt> <dd>Свойство обработчика событий для прокрутки окна.</dd> <dt>{{domxref("GlobalEventHandlers.onwheel")}}</dt> - <dd>Вызывается, когда ыло прокручено колесико мыши в любую сторону.</dd> + <dd>Вызывается, когда было прокручено колесико мыши в любую сторону.</dd> <dt>{{domxref("GlobalEventHandlers.onselect")}}</dt> <dd>Свойство обработчика событий для события выбора в окне.</dd> <dt>{{domxref("GlobalEventHandlers.onselectionchange")}}</dt> - <dd>{{domxref("EventHandler")}}, представлющий собой код, который будет вызван, когда проихойдет событие {{event("selectionchange")}}.</dd> + <dd>{{domxref("EventHandler")}}, представляющий собой код, который будет вызван, когда произойдет событие {{event("selectionchange")}}.</dd> <dt>{{domxref("GlobalEventHandlers.onsubmit")}}</dt> <dd>Свойство обработчика событий для события submits в окне формы.</dd> <dt>{{domxref("WindowEventHandlers.onunhandledrejection")}} {{experimental_inline}}</dt> @@ -407,11 +407,11 @@ translation_of: Web/API/Window <dt>{{domxref("Window.onunload")}}</dt> <dd>Свойство обработчика событий для события unload в окне.</dd> <dt>{{domxref("Window.onuserproximity")}}</dt> - <dd>Свойство обработчика событий для события изменения близости пользоватя к устройству.</dd> + <dd>Свойство обработчика событий для события изменения близости пользователя к устройству.</dd> <dt>{{domxref("Window.onvrdisplayconnected")}} {{experimental_inline}}</dt> - <dd>Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности было присоединено к компьютеру (когда запускается событие {{event("vrdisplayconnected")}}).</dd> + <dd>Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности ббыло присоединено к компьютеру (когда запускается событие {{event("vrdisplayconnected")}}).</dd> <dt>{{domxref("Window.onvrdisplaydisconnected")}} {{experimental_inline}}</dt> - <dd>Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности было отсоединено от компьютера (когда запускается событие {{event("vrdisplaydisconnected")}}).</dd> + <dd>Представляет обработчик события, который будет запущен, когда подходящее устройство виртуальной реальности ббыло отсоединено от компьютера (когда запускается событие {{event("vrdisplaydisconnected")}}).</dd> <dt>{{domxref("Window.onvrdisplaypresentchange")}} {{experimental_inline}}</dt> <dd>Представляет обработчик события, который будет запущен, когда изменится состояние устройства виртуальной реальности — т.е. перейдет от представленного к непредставленному или наоборот (когда будет запущено событие {{event("onvrdisplaypresentchange")}}).</dd> </dl> diff --git a/files/ru/web/api/window/localstorage/index.html b/files/ru/web/api/window/localstorage/index.html index 03282b401f..d16b779f35 100644 --- a/files/ru/web/api/window/localstorage/index.html +++ b/files/ru/web/api/window/localstorage/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Window/localStorage <p>Свойство <strong><code>localStorage</code></strong> позволяет получить доступ к {{domxref("Storage")}} объекту. <code>localStorage</code> аналогично свойству <code><a href="/en-US/docs/Web/API/Window.sessionStorage">sessionStorage</a></code>. Разница только в том, что свойство <code>sessionStorage </code>хранит данные в течение сеанса (до закрытия браузера), в отличие от данных, находящихся в свойстве <code>localStorage</code>, которые не имеют ограничений по времени хранения и могут быть удалены только с помощью JavaScript.</p> -<p>Следует отметить, что данные, сохраннённые как в <code>localStorage</code>, так и в <code>sessionStorage</code>, являтся специфичными для протокола страницы.</p> +<p>Следует отметить, что данные, сохраненные как в <code>localStorage</code>, так и в <code>sessionStorage</code>, являться специфичными для протокола страницы.</p> <p>Ключи и значения <strong>всегда строки</strong> (так же, как и объекты, целочисленные ключи автоматически будут преобразованы в строки).</p> @@ -67,7 +67,7 @@ translation_of: Web/API/Window/localStorage <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName("HTML WHATWG", "webstorage.html#dom-localstorage", "localStorage")}}</td> diff --git a/files/ru/web/api/window/onpaint/index.html b/files/ru/web/api/window/onpaint/index.html index efa6d5761e..3b2f6a686d 100644 --- a/files/ru/web/api/window/onpaint/index.html +++ b/files/ru/web/api/window/onpaint/index.html @@ -22,9 +22,9 @@ translation_of: Web/API/Window/onpaint <h2 id="Notes" name="Notes">Замечания</h2> -<p><code>Событие onpaint</code> на текущий момен не реализовано, и дата её реализации неизвестна, см. {{ Bug(239074) }}.</p> +<p><code>Событие onpaint</code> на текущий момент не реализовано, и дата её реализации неизвестна, см. {{ Bug(239074) }}.</p> -<p>Событие paint срабатывает в момент рендеринга window. Данное событие срабатывает после события window - load, и срабатывает каждый раз когда сраница перерисовывается. что бывает когда другое окно перекрывает текущее - а потом исчезает.</p> +<p>Событие paint срабатывает в момент рендеринга window. Данное событие срабатывает после события window - load, и срабатывает каждый раз когда страница перерисовывается. что бывает когда другое окно перекрывает текущее - а потом исчезает.</p> <h2 id="Specification" name="Specification">Спецификации</h2> diff --git a/files/ru/web/api/window/pageyoffset/index.html b/files/ru/web/api/window/pageyoffset/index.html index edac7ff6d3..2ecd37d8a1 100644 --- a/files/ru/web/api/window/pageyoffset/index.html +++ b/files/ru/web/api/window/pageyoffset/index.html @@ -107,7 +107,7 @@ info.innerText = "Y offset after scrolling: " + <p>Код JavaScript начинается с записи в переменные <code>frame</code> and <code>info</code> элементов <code><iframe></code>, содержащего наш документ, и элемента <code><div></code> , в который мы запишем результат проверки положения прокрутки. Затем мы получаем ссылку на элемент из нашего документа, который сразу должен быть прокручен до видимой области рамки, с помощью команды {{domxref("Document.getElementById", "getElementById()")}} у {{domxref("HTMLIFrameElement.contentDocument")}} рамки.</p> -<p>Имея целевой элемент, мы устанавлиеваем {{domxref("Element.scrollTop", "scrollTop")}} {{domxref("Document.scrollingElement", "scrollingElement")}} рамки от свойства {{domxref("Element.offsetTop", "offsetTop")}} целевого элемента. Тем самым мы настраиваем положение вертикальной прокрутки документа рамки таким образом, чтобы оно было таким же как и у верхнего края целевого элемента.</p> +<p>Имея целевой элемент, мы устанавливаем {{domxref("Element.scrollTop", "scrollTop")}} {{domxref("Document.scrollingElement", "scrollingElement")}} рамки от свойства {{domxref("Element.offsetTop", "offsetTop")}} целевого элемента. Тем самым мы настраиваем положение вертикальной прокрутки документа рамки таким образом, чтобы оно было таким же как и у верхнего края целевого элемента.</p> <p>При этом автоматически установится максимально возможное значение у позиции прокрутки при попытке прокрутить дальше конца документа. Это предотвратит выход за границы документа. Никто не хочет знать, что там. Там могут быть драконы. </p> diff --git a/files/ru/web/api/window/postmessage/index.html b/files/ru/web/api/window/postmessage/index.html index 785e8fe108..7d1eaa8773 100644 --- a/files/ru/web/api/window/postmessage/index.html +++ b/files/ru/web/api/window/postmessage/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/Window/postMessage <p><strong><code>Window.postMessage()</code></strong> - этот метод позволяет безопасно отправлять кроссдоменные запросы. Обычно сценариям на разных страницах разрешен доступ друг к другу только если страницы, которые их выполняли, передаются по одному протоколу (обычно это https), номер порта (443 — по умолчанию для https) и хост (modulo {{domxref("Document.domain")}} установленный страницами на одно и тоже значение). <code>window.postMessage()</code> предоставляет контролируемый механизм, чтобы обойти это ограничение способом, который безопасен при правильном использовании.</p> -<p><font face="Open Sans, arial, x-locale-body, sans-serif">При вызове метода </font><code>window.postMessage()</code> он вызывает {{domxref("MessageEvent")}} для отправки в целевом окне, когда завершается любой ожидающий сценарий, который должен быть выполнен (например, оставшиеся обработчики событий, если <code>window.postMessage()</code> вызвается из обработчика событий ранее заданных ожидающих таймаутов). {{domxref("MessageEvent")}} имеет тип <code>message</code>, <code>data-свойство</code> которого устанавливает значение первого аргумента в методе <code>window.postMessage()</code>, свойство <code>origin</code> соотвествует адресу основного документа в вызове <code>window.postMessage</code> во время вызова <code>window.postMessage()</code>, свойство <code>source</code> указывает на окно, из которого <code>window.postMessage()</code> вызвали. (Другие стандартные свойства событий имеют ожидаемые значения)</p> +<p><font face="Open Sans, arial, x-locale-body, sans-serif">При вызове метода </font><code>window.postMessage()</code> он вызывает {{domxref("MessageEvent")}} для отправки в целевом окне, когда завершается любой ожидающий сценарий, который должен быть выполнен (например, оставшиеся обработчики событий, если <code>window.postMessage()</code> вызывается из обработчика событий ранее заданных ожидающих таймаутов). {{domxref("MessageEvent")}} имеет тип <code>message</code>, <code>data-свойство</code> которого устанавливает значение первого аргумента в методе <code>window.postMessage()</code>, свойство <code>origin</code> соответствует адресу основного документа в вызове <code>window.postMessage</code> во время вызова <code>window.postMessage()</code>, свойство <code>source</code> указывает на окно, из которого <code>window.postMessage()</code> вызвали. (Другие стандартные свойства событий имеют ожидаемые значения)</p> <h2 id="Syntax">Syntax</h2> diff --git a/files/ru/web/api/window/prompt/index.html b/files/ru/web/api/window/prompt/index.html index b30ebcda54..14c240a49a 100644 --- a/files/ru/web/api/window/prompt/index.html +++ b/files/ru/web/api/window/prompt/index.html @@ -40,9 +40,9 @@ var sign = window.prompt('Are you feeling lucky', 'sure'); // открывает <h2 id="Notes" name="Notes">Примечания</h2> -<p>prompt диалог содержит однострочное текстовое поле, кнопку Cancel и кнопку OK, и возвращает (возможно пустой) текст введеный пользователем в текстовое поле.</p> +<p>prompt диалог содержит однострочное текстовое поле, кнопку Cancel и кнопку OK, и возвращает (возможно пустой) текст введенный пользователем в текстовое поле.</p> -<p><span class="comment">The following text is shared between this article, DOM:window.confirm and DOM:window.alert</span>Диалоговые окна являются модальными; они блокируют доступ пользователя к остальному интерфейсу программы, пока диалоговое окно не будет закрыто. По этой причине вы не должны злоупотреблять функциями, которые создают диологовое окно (или модальное окно).</p> +<p><span class="comment">The following text is shared between this article, DOM:window.confirm and DOM:window.alert</span>Диалоговые окна являются модальными; они блокируют доступ пользователя к остальному интерфейсу программы, пока диалоговое окно не будет закрыто. По этой причине вы не должны злоупотреблять функциями, которые создают диалоговое окно (или модальное окно).</p> <p>Пожалуйста, обратите внимание, что результатом является строка. Это значит, что вы должны определять значение заданное пользователем. Например, если ответ должен быть Number, вы должны привести значение к Number: <span style="background-color: #f6f6f2; font-family: courier new,andale mono,monospace; font-size: 12px; line-height: normal;">var aNumber = Number(window.prompt("Type a number", "")); </span></p> diff --git a/files/ru/web/api/window/resize_event/index.html b/files/ru/web/api/window/resize_event/index.html index 6fdbfba4a8..55b1577929 100644 --- a/files/ru/web/api/window/resize_event/index.html +++ b/files/ru/web/api/window/resize_event/index.html @@ -18,7 +18,7 @@ translation_of: Web/API/Window/resize_event <h2 id="Основная_информация">Основная информация</h2> <dl> - <dt style="float: left; text-align: right; width: 120px;">Спецификаци</dt> + <dt style="float: left; text-align: right; width: 120px;">Спецификации</dt> <dd style="margin: 0 0 0 120px;"><a class="external" href="http://www.w3.org/TR/DOM-Level-3-Events/#event-type-resize">DOM L3</a>, <a href="http://www.w3.org/TR/cssom-view/#resizing-viewports">CSSOM View</a></dd> <dt style="float: left; text-align: right; width: 120px;">Интерфейс</dt> <dd style="margin: 0 0 0 120px;">UIEvent</dd> diff --git a/files/ru/web/api/window/screen/index.html b/files/ru/web/api/window/screen/index.html index 5bf9a9b089..9793d81d22 100644 --- a/files/ru/web/api/window/screen/index.html +++ b/files/ru/web/api/window/screen/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Window/screen --- <p>{{APIRef("CSSOM")}}</p> -<p>Свойство <strong><code>screen</code></strong> объекта {{DOMxRef("Window")}} возвращает ссылку на экран обьекта, который содержит информацию об экране пользователя. Похожий по смыслу, объект <code style="font-style: normal; line-height: 1.5;">screen</code><span style="line-height: 1.5;">, который имплементирует интерфейс </span> <span style="line-height: 1.5;">{{DOMxRef("Screen")}} </span> <span style="line-height: 1.5;"> представляет собой совокупность свойств экрана пользователя.</span></p> +<p>Свойство <strong><code>screen</code></strong> объекта {{DOMxRef("Window")}} возвращает ссылку на экран объекта, который содержит информацию об экране пользователя. Похожий по смыслу, объект <code style="font-style: normal; line-height: 1.5;">screen</code><span style="line-height: 1.5;">, который имплементирует интерфейс </span> <span style="line-height: 1.5;">{{DOMxRef("Screen")}} </span> <span style="line-height: 1.5;"> представляет собой совокупность свойств экрана пользователя.</span></p> <h2 id="Синтаксис">Синтаксис</h2> @@ -39,8 +39,8 @@ translation_of: Web/API/Window/screen </tbody> </table> -<h2 id="Cовместимость_с_браузерами">Cовместимость с браузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице была сгенерирована структурировщиком данных. Если вы хотите содействовать в проекте, то пожаулйста посетите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте pull запрос.</div> +<div class="hidden">Таблица совместимости на этой странице была сгенерирована структурировщиком данных. Если вы хотите содействовать в проекте, то пожалуйста посетите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте pull запрос.</div> <p>{{Compat("api.Window.screen")}}</p> diff --git a/files/ru/web/api/window/scrollx/index.html b/files/ru/web/api/window/scrollx/index.html index 79d7cc5091..3f3ed02d5e 100644 --- a/files/ru/web/api/window/scrollx/index.html +++ b/files/ru/web/api/window/scrollx/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Window/scrollX --- <div>{{ APIRef("CSSOM View") }}</div> -<p><code><strong>scrollX</strong></code> — свойство только для чтения интерфейса {{domxref("Window")}}. Возвращает число пикселей, на которое документ пролистали в данный момент по горизонтали. В современных браузерах это значение является точным числом субпикселей, что означает отсутствие необходимости в полном значении количества пикселей. Вы можете получить количество пикселей, пролистаных по вертикали с помощью свойства {{domxref("Window.scrollY", "scrollY")}} .</p> +<p><code><strong>scrollX</strong></code> — свойство только для чтения интерфейса {{domxref("Window")}}. Возвращает число пикселей, на которое документ пролистали в данный момент по горизонтали. В современных браузерах это значение является точным числом субпикселей, что означает отсутствие необходимости в полном значении количества пикселей. Вы можете получить количество пикселей, пролистанных по вертикали с помощью свойства {{domxref("Window.scrollY", "scrollY")}} .</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/api/window/self/index.html b/files/ru/web/api/window/self/index.html index 8ba3324229..327e29d143 100644 --- a/files/ru/web/api/window/self/index.html +++ b/files/ru/web/api/window/self/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Window/self --- <p>{{ APIRef() }}</p> -<p>Cвойство <code><strong>Window.self</strong></code> доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект <code>window</code> (<code>window.self</code>) или переменную <code>self</code>. Преимущество доступа через переменную <code>self</code> заключается в том, что ее можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование <code>self</code> дает возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае <code>self</code> эквивалентна <code>window.self</code>), но также в воркерах (в случае воркера <code>self</code> эквивалентна {{domxref("WorkerGlobalScope.self")}}).</p> +<p>Свойство <code><strong>Window.self</strong></code> доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект <code>window</code> (<code>window.self</code>) или переменную <code>self</code>. Преимущество доступа через переменную <code>self</code> заключается в том, что ее можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование <code>self</code> дает возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае <code>self</code> эквивалентна <code>window.self</code>), но также в воркерах (в случае воркера <code>self</code> эквивалентна {{domxref("WorkerGlobalScope.self")}}).</p> <h2 id="Notes" name="Notes">Пример</h2> diff --git a/files/ru/web/api/window/sessionstorage/index.html b/files/ru/web/api/window/sessionstorage/index.html index cd639b04e1..787b2f308d 100644 --- a/files/ru/web/api/window/sessionstorage/index.html +++ b/files/ru/web/api/window/sessionstorage/index.html @@ -21,7 +21,7 @@ var data = sessionStorage.getItem('key');</pre> <h2 id="Пример">Пример</h2> -<p>Следующий код получает доступ к объекту {{domxref("Storage")}} текущией сессии домена и добавляет данные в него используя {{domxref("Storage.setItem()")}}.</p> +<p>Следующий код получает доступ к объекту {{domxref("Storage")}} текущей сессии домена и добавляет данные в него используя {{domxref("Storage.setItem()")}}.</p> <pre class="brush: js">sessionStorage.setItem('myCat', 'Tom');</pre> diff --git a/files/ru/web/api/window/stop/index.html b/files/ru/web/api/window/stop/index.html index 6e79508b29..1fe7527993 100644 --- a/files/ru/web/api/window/stop/index.html +++ b/files/ru/web/api/window/stop/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/Window/stop --- <div> {{APIRef}}</div> -<h2 id="Summary" name="Summary">Анотация</h2> +<h2 id="Summary" name="Summary">Аннотация</h2> <p>Этот метод прекращает загрузку страницы.</p> diff --git a/files/ru/web/api/windowclient/index.html b/files/ru/web/api/windowclient/index.html index 66aed83307..05def072db 100644 --- a/files/ru/web/api/windowclient/index.html +++ b/files/ru/web/api/windowclient/index.html @@ -35,7 +35,7 @@ translation_of: Web/API/WindowClient <dt>{{domxref("WindowClient.focused")}} {{readonlyInline}}</dt> <dd>Логическое значение, указывающее, находится ли текущая страница в фокусе.</dd> <dt>{{domxref("WindowClient.visibilityState")}} {{readonlyInline}}</dt> - <dd>Указывает, отоборажается ли текущая страница. Это значение может быть одним из <code>"hidden" (скрыта)</code>, <code>"visible" (отображена)</code> или <code>"prerender" (предварительно отрисована)</code>.</dd> + <dd>Указывает, отображается ли текущая страница. Это значение может быть одним из <code>"hidden" (скрыта)</code>, <code>"visible" (отображена)</code> или <code>"prerender" (предварительно отрисована)</code>.</dd> </dl> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/api/windoweventhandlers/onbeforeunload/index.html b/files/ru/web/api/windoweventhandlers/onbeforeunload/index.html index f2e282cea5..4c1dec554f 100644 --- a/files/ru/web/api/windoweventhandlers/onbeforeunload/index.html +++ b/files/ru/web/api/windoweventhandlers/onbeforeunload/index.html @@ -37,7 +37,7 @@ translation_of: Web/API/WindowEventHandlers/onbeforeunload <p>Когда это событие возвращает (или выставляет свойство returnValue) значение, отличное от null или undefined, пользователю предлагается подтвердить {{event("unload")}} страницы в {{domxref("window.prompt", "prompt")}} . В некоторых браузерах возвращаемое значение отображается в этом диалоговом окне. Начиная с Firefox 4, Chrome 51, Opera 38 и Safari 9.1 вместо возвращаемой строки будет показана общая строка, не контролируемая страницей. Например, Firefox отображает строку: "This page is asking you to confirm that you want to leave - data you have entered may not be saved.". Смотрите {{bug("588292")}} и <a href="https://www.chromestatus.com/feature/5349061406228480">Chrome Platform Status</a>.</p> -<p>С 25 мая 2011, в спецификации HTML5 указано, что исполнение методов {{domxref("window.alert()")}}, {{domxref("window.confirm()")}} и {{domxref("window.prompt()")}} может игнорироваться во время этого события. Смотрите <a href="http://www.w3.org/TR/html5/webappapis.html#user-prompts">cпецификацию HTML5</a> чтобы узнать подробности.</p> +<p>С 25 мая 2011, в спецификации HTML5 указано, что исполнение методов {{domxref("window.alert()")}}, {{domxref("window.confirm()")}} и {{domxref("window.prompt()")}} может игнорироваться во время этого события. Смотрите <a href="http://www.w3.org/TR/html5/webappapis.html#user-prompts">спецификацию HTML5</a> чтобы узнать подробности.</p> <p>Также необходимо отметить, что различные мобильные браузеры игнорируют результат этого события (это является причиной, почему они не запрашивают подтверждения пользователя). Firefox имеет скрытую настройку в about:config для того, чтобы вести себя также. В сущности это значит, что пользователь постоянно подтверждает, что документ может быть выгружен.</p> diff --git a/files/ru/web/api/windoweventhandlers/onunload/index.html b/files/ru/web/api/windoweventhandlers/onunload/index.html index 3d908647e5..187259b6ce 100644 --- a/files/ru/web/api/windoweventhandlers/onunload/index.html +++ b/files/ru/web/api/windoweventhandlers/onunload/index.html @@ -22,11 +22,11 @@ translation_of: Web/API/WindowEventHandlers/onunload <p>Using this event handler in your page prevents Firefox 1.5 from caching the page in the in-memory bfcache. Смотрите <a href="/En/Using_Firefox_1.5_caching" title="En/Using_Firefox_1.5_caching">Использование кеширования в Firefox 1.5</a> для получения более детальной информации.</p> -<p>Браузеры, оснащённые бокировщиками всплывающих окон будут игнорировать все вызовы метода <code>window.open()</code> внутри функции обработчика события <code>onunload</code>.</p> +<p>Браузеры, оснащённые блокировщиками всплывающих окон будут игнорировать все вызовы метода <code>window.open()</code> внутри функции обработчика события <code>onunload</code>.</p> <p>You <em>can</em> and <em>should</em> handle this event through {{domxref("EventTarget.addEventListener","window.addEventListener()")}} and the {{event("unload")}} event. More documentation is available there.</p> -<h2 id="Cпецификации">Cпецификации</h2> +<h2 id="Спецификации">Спецификации</h2> <table class="standard-table"> <thead> diff --git a/files/ru/web/api/windoworworkerglobalscope/atob/index.html b/files/ru/web/api/windoworworkerglobalscope/atob/index.html index 57f01ea5a9..28d58a52f1 100644 --- a/files/ru/web/api/windoworworkerglobalscope/atob/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/atob/index.html @@ -5,7 +5,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/atob --- <div>{{APIRef("HTML DOM")}}</div> -<p>Функция <strong><code>WindowOrWorkerGlobalScope.atob()</code></strong> декодирует строку данных, которая была закодированa с использованием base-64. Вы можете использовать метод {{domxref("WindowOrWorkerGlobalScope.btoa","btoa()")}}, чтобы декодировать и передать данные, которые в исходном виде могут вызвать проблемы передачи, затем отправить их, и использовать метод <code>atob()</code> чтобы декодировать данны снова. Например, вы можете закодировать, передать, и декодировать управляющие символы, такие как ASCII значения от 0 до 31.</p> +<p>Функция <strong><code>WindowOrWorkerGlobalScope.atob()</code></strong> декодирует строку данных, которая была закодирована с использованием base-64. Вы можете использовать метод {{domxref("WindowOrWorkerGlobalScope.btoa","btoa()")}}, чтобы декодировать и передать данные, которые в исходном виде могут вызвать проблемы передачи, затем отправить их, и использовать метод <code>atob()</code> чтобы декодировать даны снова. Например, вы можете закодировать, передать, и декодировать управляющие символы, такие как ASCII значения от 0 до 31.</p> <p>В случаях использования с Unicode или UTF-8 строками, смотрите <a href="/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding#The_.22Unicode_Problem.22">this note at Base64 encoding and decoding</a> и <a href="/en-US/docs/Web/API/window.btoa#Unicode_Strings">this note at <code>btoa()</code></a>.</p> diff --git a/files/ru/web/api/windoworworkerglobalscope/btoa/index.html b/files/ru/web/api/windoworworkerglobalscope/btoa/index.html index dd19e4cc27..fdb51cfb15 100644 --- a/files/ru/web/api/windoworworkerglobalscope/btoa/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/btoa/index.html @@ -30,7 +30,7 @@ var decodedData = window.atob(encodedData); // decode the string <p>В большинстве браузеров, вызов <code>window.btoa()</code> на Unicode строке выбросит исключение Character Out Of Range (Символ вне допустимого диапазона).</p> -<p>Чтобы избежать этого, воспользуйтесь патерном, предложеным <a class="external" href="http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html" title="http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html">Johan Sundström</a>:</p> +<p>Чтобы избежать этого, воспользуйтесь паттерном, предложенным <a class="external" href="http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html" title="http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html">Johan Sundström</a>:</p> <pre class="brush:js">function utf8_to_b64(str) { return window.btoa(unescape(encodeURIComponent(str))); diff --git a/files/ru/web/api/windoworworkerglobalscope/caches/index.html b/files/ru/web/api/windoworworkerglobalscope/caches/index.html index c20691d264..3817e40475 100644 --- a/files/ru/web/api/windoworworkerglobalscope/caches/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/caches/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/caches <p><code><strong>caches</strong></code> {{domxref("WindowOrWorkerGlobalScope")}} свойство только для чтения интерфейса возвращающее объект ассоциированный с текущим контекстом {{domxref("CacheStorage")}}.</p> -<p>Этот объект реализует такую функциональность как строгое соответсвие для оффлайн использования и генерирование пользовательских ответов на запросы.</p> +<p>Этот объект реализует такую функциональность как строгое соответствие для оффлайн использования и генерирование пользовательских ответов на запросы.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -53,7 +53,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/caches <tr> <td>{{SpecName('Service Workers', '#self-caches', 'caches')}}</td> <td>{{Spec2('Service Workers')}}</td> - <td>Обьявлена частичная поддержка в новейшей спецификации <code>WindowOrWorkerGlobalScope</code>.</td> + <td>Объявлена частичная поддержка в новейшей спецификации <code>WindowOrWorkerGlobalScope</code>.</td> </tr> <tr> <td>{{SpecName('Service Workers')}}</td> diff --git a/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html b/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html index d783f16a26..8d398013ce 100644 --- a/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/cleartimeout/index.html @@ -24,7 +24,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/clearTimeout <h2 id="Example" name="Example">Пример использования:</h2> -<p>Запустите приведенный ниже скрипт в контекте веб-страницы и кликните один раз. Вы увидите всплывающее сообщение через 1 секунду. Если вы щелкните страницу несколько раз за одну секунду, предупреждение появится только один раз.</p> +<p>Запустите приведенный ниже скрипт в контакте веб-страницы и кликните один раз. Вы увидите всплывающее сообщение через 1 секунду. Если вы щелкните страницу несколько раз за одну секунду, предупреждение появится только один раз.</p> <pre class="brush: js notranslate">var alarm = { remind: function(aMessage) { diff --git a/files/ru/web/api/windoworworkerglobalscope/fetch/index.html b/files/ru/web/api/windoworworkerglobalscope/fetch/index.html index 886c2fa849..d95c0b77ec 100644 --- a/files/ru/web/api/windoworworkerglobalscope/fetch/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/fetch/index.html @@ -49,7 +49,7 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/fetch <li><code>referrerPolicy</code>: Определяет значение HTTP заголовка реферера. Может быть: <code>no-referrer</code>, <code>no-referrer-when-downgrade</code>, <code>origin</code>, <code>origin-when-cross-origin</code>, <code>unsafe-url</code>.</li> <li><code>integrity</code>: Содержит значение целостности субресурсов (<a href="/en-US/docs/Web/Security/Subresource_Integrity">subresource integrity</a>) запроса (например, <code>sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=</code>).</li> <li><code>keepalive</code>: Эта опция может быть использована, чтобы разрешить запросу "пережить" страницу. Получение ресурсов с флагом <code>keepalive</code> - это альтернатива {{domxref("Navigator.sendBeacon()")}} API. </li> - <li><code>signal</code>: Экзмепляр объекта {{domxref("AbortSignal")}}; позволяет коммуницировать с fetch запросом и, если нужно, отменять его с помощью {{domxref("AbortController")}}.</li> + <li><code>signal</code>: Экземпляр объекта {{domxref("AbortSignal")}}; позволяет коммуницировать с fetch запросом и, если нужно, отменять его с помощью {{domxref("AbortController")}}.</li> </ul> </dd> </dl> diff --git a/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html b/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html index 3095c8d6ec..71e437f891 100644 --- a/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html +++ b/files/ru/web/api/windoworworkerglobalscope/setinterval/index.html @@ -17,11 +17,11 @@ translation_of: Web/API/WindowOrWorkerGlobalScope/setInterval <dl> <dt><code>func</code></dt> - <dd>{{jsxref("function")}} - функция, которая будет вызыватся каждые <code>delay</code> милисекунд. Ожидается, что функция не принимает параметры и ничего не возвращает.</dd> + <dd>{{jsxref("function")}} - функция, которая будет вызываться каждые <code>delay</code> миллисекунд. Ожидается, что функция не принимает параметры и ничего не возвращает.</dd> <dt><code>code</code></dt> - <dd>Этот необязательный синтаксис позволяет вам включать строку вметсо функции, которая компилируется и выполняется каждые <code>delay</code> миллисекунд. Однако такая форма не комендуется по тем же причинам, которые делают {{jsxref("eval", "eval()")}} угрозой безопасности.</dd> + <dd>Этот необязательный синтаксис позволяет вам включать строку вместо функции, которая компилируется и выполняется каждые <code>delay</code> миллисекунд. Однако такая форма не рекомендуется по тем же причинам, которые делают {{jsxref("eval", "eval()")}} угрозой безопасности.</dd> <dt><code>delay</code></dt> - <dd>Время в милисекундах (одна тысячная секунды), на которое таймер выполнит задержку между вызовом функции. Если задано значение меньше 10, то будет использовано число 10. На самом деле задержка может быть больше чем указано, дополнительное объяснение приведено здесь: {{SectionOnPage("/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout", "Reasons for delays longer than specified")}}.</dd> + <dd>Время в миллисекундах (одна тысячная секунды), на которое таймер выполнит задержку между вызовом функции. Если задано значение меньше 10, то будет использовано число 10. На самом деле задержка может быть больше чем указано, дополнительное объяснение приведено здесь: {{SectionOnPage("/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout", "Reasons for delays longer than specified")}}.</dd> <dt><code>param1, ..., paramN</code> {{optional_inline}}</dt> <dd>Дополнительные параметры, передаваемые в функцию <em>func</em>.</dd> </dl> @@ -377,7 +377,7 @@ setTimeout.call(myArray, myArray.myMethod, 2500, 2); // prints "two" after 2,5 s <div class="note">JavaScript 1.8.5 introduces the <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind">Function.prototype.bind()</a></code> method, which lets you specify the value that should be used as <code>this</code> for all calls to a given function. This lets you easily bypass problems where it's unclear what this will be, depending on the context from which your function was called. Also, ES2015 supports <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions">arrow functions</a>, with lexical this allowing us to write setInterval( () => this.myMethod) if we're inside myArray method.</div> -<h2 id="MiniDaemon_-_фреймворд_для_упраления_таймерами">MiniDaemon - фреймворд для упраления таймерами</h2> +<h2 id="MiniDaemon_-_фреймворк_для_управления_таймерами">MiniDaemon - фреймворк для управления таймерами</h2> <p>In pages requiring many timers, it can often be difficult to keep track of all of the running timer events. One approach to solving this problem is to store information about the state of a timer in an object. Following is a minimal example of such an abstraction. The constructor architecture explicitly avoids the use of closures. It also offers an alternative way to pass the <a href="/en-US/docs/Web/JavaScript/Reference/Operators/this"><code>this</code></a> object to the callback function (see <a href="#The_.22this.22_problem">The "this" problem</a> for details). The following code is also <a href="https://github.com/madmurphy/minidaemon.js">available on GitHub</a>.</p> diff --git a/files/ru/web/api/worker/index.html b/files/ru/web/api/worker/index.html index 6ccf2b1341..e7a82726d4 100644 --- a/files/ru/web/api/worker/index.html +++ b/files/ru/web/api/worker/index.html @@ -30,7 +30,7 @@ translation_of: Web/API/Worker <dl> <dt>{{domxref("Worker.Worker", "Worker()")}}</dt> - <dd>Создаёт dedicated web worker, выполняющий скрипт, расположенный по указаному URL. Воркеры также могут быть созданы с использованием <a href="/en-US/docs/Web/API/Blob">Blobs</a>.</dd> + <dd>Создаёт dedicated web worker, выполняющий скрипт, расположенный по указанному URL. Воркеры также могут быть созданы с использованием <a href="/en-US/docs/Web/API/Blob">Blobs</a>.</dd> </dl> <h2 id="Методы">Методы</h2> diff --git a/files/ru/web/api/worker/postmessage/index.html b/files/ru/web/api/worker/postmessage/index.html index 1d6279b648..47ea7ce99f 100644 --- a/files/ru/web/api/worker/postmessage/index.html +++ b/files/ru/web/api/worker/postmessage/index.html @@ -13,7 +13,7 @@ translation_of: Web/API/Worker/postMessage --- <p>{{APIRef("Web Workers API")}}</p> -<p>Метод <code><strong>postMessage()</strong></code> интерфейса {{domxref("Worker")}} отправляет сообщение во внутреннее пространство <code>worker</code>-а. Метод имеет один параметр с данными для отправки в <code>worker</code>. Данные могут быть любым значением или объектом JavaScript, которые может обработать <a href="/ru/docs/Web/API/Web_Workers_API/Structured_clone_algorithm">алгоритм структурированного клонирования</a>, подерживающий циклические ссылки.</p> +<p>Метод <code><strong>postMessage()</strong></code> интерфейса {{domxref("Worker")}} отправляет сообщение во внутреннее пространство <code>worker</code>-а. Метод имеет один параметр с данными для отправки в <code>worker</code>. Данные могут быть любым значением или объектом JavaScript, которые может обработать <a href="/ru/docs/Web/API/Web_Workers_API/Structured_clone_algorithm">алгоритм структурированного клонирования</a>, поддерживающий циклические ссылки.</p> <p><code>Worker</code> может отправить обратно информацию потоку создавшему его с помощью метода {{domxref("DedicatedWorkerGlobalScope.postMessage")}}.</p> @@ -25,7 +25,7 @@ translation_of: Web/API/Worker/postMessage <dl> <dt><em>message</em></dt> - <dd><code>Object</code> передаваемый в <code>worker</code>. Будет содержаться в поле <code>data</code> описания события обработчика {{domxref("DedicatedWorkerGlobalScope.onmessage")}}. Это может быть любое значение или объект JavaScript, которые может обработать алгоритм структурированного клонирования, подерживающий циклические ссылки.</dd> + <dd><code>Object</code> передаваемый в <code>worker</code>. Будет содержаться в поле <code>data</code> описания события обработчика {{domxref("DedicatedWorkerGlobalScope.onmessage")}}. Это может быть любое значение или объект JavaScript, которые может обработать алгоритм структурированного клонирования, поддерживающий циклические ссылки.</dd> <dt><em>transfer</em> {{optional_inline}}</dt> <dd>Необязательный <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Array">array</a></code> с передаваемыми ({{domxref("Transferable")}}) объектами (из тех, что были указаны в <code>message</code>) на которые передаются права собственности. Если право на объект передается, он становится непригодным (<em>neutered</em>) в контексте, из которого был отправлен, и становится доступным только в <code>worker</code>, которому он был отправлен.</dd> <dd>Переданные (<code>transferable</code>) объекты могут быть экземплярами классов {{domxref("ArrayBuffer")}}, {{domxref("MessagePort")}} или {{domxref("ImageBitmap")}}. null не является допустимым значением для передачи прав.</dd> diff --git a/files/ru/web/api/workerglobalscope/importscripts/index.html b/files/ru/web/api/workerglobalscope/importscripts/index.html index 75989503bd..ef51b14243 100644 --- a/files/ru/web/api/workerglobalscope/importscripts/index.html +++ b/files/ru/web/api/workerglobalscope/importscripts/index.html @@ -39,7 +39,7 @@ self.importScripts('foo.js', 'bar.js', ...);</pre> <h2 id="Пример">Пример</h2> -<p>Если вы хотите использовать некоторую функциональность, опделённую файлом <code>foo.js</code>, необходимо сделать следующее:</p> +<p>Если вы хотите использовать некоторую функциональность, определенную файлом <code>foo.js</code>, необходимо сделать следующее:</p> <pre class="brush: js notranslate">importScripts('foo.js');</pre> diff --git a/files/ru/web/api/xmlhttprequest/abort/index.html b/files/ru/web/api/xmlhttprequest/abort/index.html index d98ce045bf..1c28be9dd9 100644 --- a/files/ru/web/api/xmlhttprequest/abort/index.html +++ b/files/ru/web/api/xmlhttprequest/abort/index.html @@ -63,7 +63,7 @@ xhr.abort(); <p>{{Compat("api.XMLHttpRequest.abort")}}</p> -<h2 id="Cм._также">Cм. также</h2> +<h2 id="См._также">См. также</h2> <ul> <li><a href="/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest">Использование XMLHttpRequest</a></li> diff --git a/files/ru/web/api/xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/index.html index ee51092cf6..8c4addd402 100644 --- a/files/ru/web/api/xmlhttprequest/index.html +++ b/files/ru/web/api/xmlhttprequest/index.html @@ -123,7 +123,7 @@ translation_of: Web/API/XMLHttpRequest <tr> <td><code>2</code></td> <td><code>HEADERS_RECEIVED</code></td> - <td>Вызван метод <code>send()</code>, получены заголовки и код ответа (200, 404, 501 и проч).</td> + <td>Вызван метод <code>send()</code>, получены заголовки и код ответа (200, 404, 501 и проч.).</td> </tr> <tr> <td><code>3</code></td> @@ -143,7 +143,7 @@ translation_of: Web/API/XMLHttpRequest <td><code>response</code></td> <td>varies</td> <td> - <p>Тело сущности запроса. Соласно полю <code><a href="#responseType">responseType</a></code>, может быть <a href="/en/JavaScript_typed_arrays/ArrayBuffer" title="en/JavaScript typed arrays/ArrayBuffer"><code>ArrayBuffer</code></a>, <a href="/en/DOM/Blob" title="en/DOM/Blob"><code>Blob</code></a>, {{ domxref("Document") }}, JavaScript объектом (для "json"), или строкой. Равно <code>null</code> если запрос не завершен или окончен с ошибкой.</p> + <p>Тело сущности запроса. Согласно полю <code><a href="#responseType">responseType</a></code>, может быть <a href="/en/JavaScript_typed_arrays/ArrayBuffer" title="en/JavaScript typed arrays/ArrayBuffer"><code>ArrayBuffer</code></a>, <a href="/en/DOM/Blob" title="en/DOM/Blob"><code>Blob</code></a>, {{ domxref("Document") }}, JavaScript объектом (для "json"), или строкой. Равно <code>null</code> если запрос не завершен или окончен с ошибкой.</p> </td> </tr> <tr id="responseText"> @@ -196,7 +196,7 @@ translation_of: Web/API/XMLHttpRequest <td> <p>Похоже на поле <code>"text"</code>, но только находится в потоке(streaming). Это значит, что значение доступно только в промежуток времени между событиями прогресса (<code>"progress"</code> event), и содержит данные которые пришли из последнего события прогресса.</p> - <p>Поле содержит строку, пока выполняются события прогресса. После того как ответ получен польность, значение поля меняется на <code>null</code>.</p> + <p>Поле содержит строку, пока выполняются события прогресса. После того как ответ получен полностью, значение поля меняется на <code>null</code>.</p> <p>Работает только в Firefox.</p> </td> @@ -223,7 +223,7 @@ translation_of: Web/API/XMLHttpRequest <td> <p>Ответ является объектом DOM <code><a class="internal" href="/en/DOM/document" title="En/DOM/Document">Document</a></code>, или <code>null в случае если запрос окончился ошибкой, или ответ не получен полностью, или если ответ невозможно распарсить как </code>XML или HTML. Ответ парсится как если бы это был <code>text/xml</code> stream. Когда значение <code>responseType</code> равно <code>"document"</code> и запрос выполнен асинхронно, ответ парсится как <code>text/html</code> stream.</p> - <div class="note"><strong>Примечание:</strong> Если сервер не работаетс заголовком (не присылает в ответе) "Content-type: <code>text/xml"</code>, то можно использовать метод <code>overrideMimeType() для того чтобы парсить получаемый ответ как </code>XML.</div> + <div class="note"><strong>Примечание:</strong> Если сервер не работает с заголовком (не присылает в ответе) "Content-type: <code>text/xml"</code>, то можно использовать метод <code>overrideMimeType() для того чтобы парсить получаемый ответ как </code>XML.</div> </td> </tr> <tr id="status"> @@ -255,7 +255,7 @@ translation_of: Web/API/XMLHttpRequest <tr id="upload"> <td><code>upload</code></td> <td><code>XMLHttpRequestUpload</code></td> - <td>Загрзка (upload process) может отслеживаться event listener'ом.</td> + <td>Загрузка (upload process) может отслеживаться event listener'ом.</td> </tr> <tr id="withCredentials"> <td><code>withCredentials</code></td> @@ -402,7 +402,7 @@ translation_of: Web/API/XMLHttpRequest <dl> <dt><code>method</code></dt> - <dd>HTTP метод отправки сообщения - "GET", "POST", "PUT", "DELETE", и проч. Ignored for non-HTTP(S) URLs.</dd> + <dd>HTTP метод отправки сообщения - "GET", "POST", "PUT", "DELETE", и проч.. Ignored for non-HTTP(S) URLs.</dd> <dt><code>url</code></dt> <dd>URL адрес, на который будет отправлено сообщение.</dd> <dt><code>async</code></dt> @@ -453,7 +453,7 @@ void send(FormData <var>data</var>);</pre> <h3 id="setRequestHeader()" name="setRequestHeader()">setRequestHeader()</h3> -<p>Устанавливает значение заголовка HTTP-запроса. Вы должны вызвать <code>setRequestHeader()</code> после <a href="#open"><code>open()</code></a>, но перед <code>send()</code>. Если данный метод вызывается несколько раз с одним и тем же заголовком, все значения объеденяются в один заголовок запроса.</p> +<p>Устанавливает значение заголовка HTTP-запроса. Вы должны вызвать <code>setRequestHeader()</code> после <a href="#open"><code>open()</code></a>, но перед <code>send()</code>. Если данный метод вызывается несколько раз с одним и тем же заголовком, все значения объединяются в один заголовок запроса.</p> <pre>void setRequestHeader( DOMString <var>header</var>, @@ -510,14 +510,14 @@ void send(FormData <var>data</var>);</pre> <p>Вариант метода <code>send()</code> который посылает бинарные данные.</p> -<div class="note"><strong>Примечание:</strong> Етот нестандартный метод считается устарелым по состоянию на Gecko 31 {{ geckoRelease(31) }}, и со временем будет удален. Взамен может использоваться стандарт метода <code>send(Blob data).</code> </div> +<div class="note"><strong>Примечание:</strong> Этот нестандартный метод считается устарелым по состоянию на Gecko 31 {{ geckoRelease(31) }}, и со временем будет удален. Взамен может использоваться стандарт метода <code>send(Blob data).</code> </div> <pre>void sendAsBinary( in DOMString body ); </pre> -<p>Даный метод используется в сочетании с методом <code><a href="/en-US/docs/DOM/FileReader#readAsBinaryString()" title="/en-US/docs/DOM/FileReader#readAsBinaryString()">readAsBinaryString</a>,</code> который присутствует в <a href="/en-US/docs/DOM/FileReader" title="/en-US/docs/DOM/FileReader"><code>FileReader</code></a> API, и позволяет <a href="https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files" title="/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files">прочитать и <strong>загрузить</strong> файл любого типа</a> и превратить необработанные данные в <a href="/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify" title="/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify">JSON-строку</a>.</p> +<p>Данный метод используется в сочетании с методом <code><a href="/en-US/docs/DOM/FileReader#readAsBinaryString()" title="/en-US/docs/DOM/FileReader#readAsBinaryString()">readAsBinaryString</a>,</code> который присутствует в <a href="/en-US/docs/DOM/FileReader" title="/en-US/docs/DOM/FileReader"><code>FileReader</code></a> API, и позволяет <a href="https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files" title="/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files">прочитать и <strong>загрузить</strong> файл любого типа</a> и превратить необработанные данные в <a href="/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify" title="/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify">JSON-строку</a>.</p> <h5 id="Параметры_4">Параметры</h5> diff --git a/files/ru/web/api/xmlhttprequest/open/index.html b/files/ru/web/api/xmlhttprequest/open/index.html index 24b59f60f5..bf4facdf48 100644 --- a/files/ru/web/api/xmlhttprequest/open/index.html +++ b/files/ru/web/api/xmlhttprequest/open/index.html @@ -23,7 +23,7 @@ translation_of: Web/API/XMLHttpRequest/open <dd>{{domxref("DOMString")}} представляет URL для отправки запроса.</dd> <dt><code>async</code> {{optional_inline}}</dt> <dd> - <p>Необязательный логический параметр со значением по умолчанию <code>true</code>, указывающим, выполнять ли операцию асинхронно или нет. Если это значение равно <code>false</code>, метод <code>send()</code> не возвращается, пока не будет получен ответ. Если <code>true</code>, уведомление о получении ответа осуществляется с помощью обработчика события. Должен быть <code>true</code>, если аттрибут <code>multipart</code> равен <code>true</code>, иначе будет выброшено исключение.</p> + <p>Необязательный логический параметр со значением по умолчанию <code>true</code>, указывающим, выполнять ли операцию асинхронно или нет. Если это значение равно <code>false</code>, метод <code>send()</code> не возвращается, пока не будет получен ответ. Если <code>true</code>, уведомление о получении ответа осуществляется с помощью обработчика события. Должен быть <code>true</code>, если атрибут <code>multipart</code> равен <code>true</code>, иначе будет выброшено исключение.</p> <div class="note"><strong>Заметка:</strong> Синхронные запросы в основном потоке могут нарушить работу пользователя, их следует избегать. Фактически большинство браузеров полностью отказались от поддержки синхронных XHR в основном потоке. Синхронные запросы можно использовать в {{domxref("Worker")}}.</div> </dd> diff --git a/files/ru/web/api/xmlhttprequest/response/index.html b/files/ru/web/api/xmlhttprequest/response/index.html index 81a922d5ab..66a4128cae 100644 --- a/files/ru/web/api/xmlhttprequest/response/index.html +++ b/files/ru/web/api/xmlhttprequest/response/index.html @@ -89,7 +89,7 @@ translation_of: Web/API/XMLHttpRequest/response <p> </p> -<p>В этом примере представлена функция <code>load()</code>, которая загружает и обрабатывает страницу с сервера. Он работает путем создания объекта <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest" title="Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing."><code>XMLHttpRequest</code></a> и создания обработчика собития с событием <code>readystatechange</code>, чтобы при изменении <code>readyState </code>на <code>DONE (4)</code> <code>response</code> получался и передавался в функцию обратного вызова, предоставляемую <code>load()</code>.</p> +<p>В этом примере представлена функция <code>load()</code>, которая загружает и обрабатывает страницу с сервера. Он работает путем создания объекта <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest" title="Use XMLHttpRequest (XHR) objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing."><code>XMLHttpRequest</code></a> и создания обработчика события с событием <code>readystatechange</code>, чтобы при изменении <code>readyState </code>на <code>DONE (4)</code> <code>response</code> получался и передавался в функцию обратного вызова, предоставляемую <code>load()</code>.</p> <p>Содержимое обрабатывается как необработанные текстовые данные (поскольку здесь ничто не переопределяет <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType" title="The XMLHttpRequest property responseType is an enumerated string value specifying the type of data contained in the response."><code>responseType</code></a> по умолчанию).</p> diff --git a/files/ru/web/api/xmlhttprequest/send/index.html b/files/ru/web/api/xmlhttprequest/send/index.html index 4ad9a4cd9e..a7c82474a7 100644 --- a/files/ru/web/api/xmlhttprequest/send/index.html +++ b/files/ru/web/api/xmlhttprequest/send/index.html @@ -14,9 +14,9 @@ translation_of: Web/API/XMLHttpRequest/send --- <p>{{APIRef('XMLHttpRequest')}}</p> -<p>Метод <code><strong>XMLHttpRequest.send()</strong></code> отправляет запрос. Если запрос асинхронный (каким он является по-умолчанию), то возврат из данного метода происходит сразу после отправления запроса. Если запрос синхронный, то метод возвращает управление только после получения ответа. Метод <code>send()</code> принимает необязательные аргументы в тело запросов. Если метод запроса <code>GET</code> или <code>HEAD</code>, то аргументы игнорируются и тело запроса устанавливается в null.</p> +<p>Метод <code><strong>XMLHttpRequest.send()</strong></code> отправляет запрос. Если запрос асинхронный (каким он является по умолчанию), то возврат из данного метода происходит сразу после отправления запроса. Если запрос синхронный, то метод возвращает управление только после получения ответа. Метод <code>send()</code> принимает необязательные аргументы в тело запросов. Если метод запроса <code>GET</code> или <code>HEAD</code>, то аргументы игнорируются и тело запроса устанавливается в null.</p> -<p>Если заголовок {{HTTPHeader("Accept")}} не был задан с помощью {{domxref("XMLHttpRequest.setRequestHeader", "setRequestHeader()")}}, будет отправлено значение <code>Accept</code> по-умолчанию <code>*/*</code>.</p> +<p>Если заголовок {{HTTPHeader("Accept")}} не был задан с помощью {{domxref("XMLHttpRequest.setRequestHeader", "setRequestHeader()")}}, будет отправлено значение <code>Accept</code> по умолчанию <code>*/*</code>.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -41,7 +41,7 @@ translation_of: Web/API/XMLHttpRequest/send <p>Лучший способ передать двоичные данные (например при загрузке файлов) - это использование <a href="/en-US/docs/Web/API/ArrayBufferView">ArrayBufferView</a> или <a href="/en-US/docs/Web/API/Blob">Blobs</a> в сочетании с методом<code>send()</code>.</p> -<p>Если никакого значения не определено в качестве <em>body</em>, то будет использовано значение по-умолчанию: <code>null</code>.</p> +<p>Если никакого значения не определено в качестве <em>body</em>, то будет использовано значение по умолчанию: <code>null</code>.</p> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> diff --git a/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html b/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html index 9cc9ae0a35..527dfe1f5a 100644 --- a/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html +++ b/files/ru/web/api/xmlhttprequest/sending_and_receiving_binary_data/index.html @@ -92,7 +92,7 @@ var abyte = filestream.charCodeAt(x) & 0xff; // throw away high-order byte ( <p>Метод <code>send</code> объекта XMLHttpRequest был расширен, чтобы обеспечить легкую передачу бинарных данных - теперь он принимает объекты <a href="/en-US/docs/JavaScript_typed_arrays/ArrayBuffer" title="ArrayBuffer"><code>ArrayBuffer</code></a>, {{domxref("Blob")}}, или {{domxref("File")}}.</p> -<p>В примере ниже на лету создается текстовый файл и отпрвляется методом <code>POST</code> на сервер. Здесь используется обычный текст, но нетрудно представить себе пример с бинарным файлом.</p> +<p>В примере ниже на лету создается текстовый файл и отправляется методом <code>POST</code> на сервер. Здесь используется обычный текст, но нетрудно представить себе пример с бинарным файлом.</p> <pre class="brush: js notranslate">var oReq = new XMLHttpRequest(); oReq.open("POST", url, true); @@ -105,7 +105,7 @@ var blob = new Blob(['abc123'], {type: 'text/plain'}); oReq.send(blob); </pre> -<h2 id="Sending_typed_arrays_as_binary_data" name="Sending_typed_arrays_as_binary_data">Отправка типизированнх массивов как бинарных данных</h2> +<h2 id="Sending_typed_arrays_as_binary_data" name="Sending_typed_arrays_as_binary_data">Отправка типизированных массивов как бинарных данных</h2> <p>Точно так же можно отправлять типизированные массивы JavaScript.</p> @@ -140,13 +140,13 @@ req.setRequestHeader("Content-Length", 741); req.sendAsBinary(aBody); </pre> -<p>В строке 4 заголовок Content-Length устанавливается в 741, что означает, что размер данных 741 байт. Разумеется, это значение должно соотвествовать реальному размеру данных.</p> +<p>В строке 4 заголовок Content-Length устанавливается в 741, что означает, что размер данных 741 байт. Разумеется, это значение должно соответствовать реальному размеру данных.</p> <p>В строке 5 метод <code>sendAsBinary()</code> начинает запрос.</p> <div class="note"><strong>Примечание:</strong> Нестандартный метод <code>sendAsBinary</code> начиная с Gecko 31 {{ geckoRelease(31) }} считается устаревшим и скоро будет удален. Вместо него, как показывалось выше, можно использовать стандартный метод <code>send(Blob data)</code>.</div> -<p>Кроме того, чтобы отправить бинарные данные можно передать экземплят {{interface("nsIFileInputStream")}} в метод <a href="/en-US/docs/DOM/XMLHttpRequest#send()" title="XMLHttpRequest#send()"><code>send()</code></a>. В этом случае заголовок <code>Content-Length</code> заполнять явно необязательно, поскольку информация получается из потока автоматически:</p> +<p>Кроме того, чтобы отправить бинарные данные можно передать экземпляр {{interface("nsIFileInputStream")}} в метод <a href="/en-US/docs/DOM/XMLHttpRequest#send()" title="XMLHttpRequest#send()"><code>send()</code></a>. В этом случае заголовок <code>Content-Length</code> заполнять явно необязательно, поскольку информация получается из потока автоматически:</p> <pre class="brush: js notranslate">// Создание потока из файла. var stream = Components.classes["@mozilla.org/network/file-input-stream;1"] diff --git a/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.html b/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.html index ad5e6f8c2c..d403a8eedf 100644 --- a/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.html +++ b/files/ru/web/api/xmlhttprequest/synchronous_and_asynchronous_requests/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests <p><code>XMLHttpRequest</code> поддерживает как синхронные, так и асинхронные запросы. В основном предпочтительно использовать асинхронные запросы вместо синхронных из-за соображений производительности.</p> -<p>Синхронный запрос приводит к выполнению кода, который "блокирует" взаимодействие с вкладкой браузера до тех пор, пока запрос не будет полность выполнен, что существенно ухудшает отклик страницы.</p> +<p>Синхронный запрос приводит к выполнению кода, который "блокирует" взаимодействие с вкладкой браузера до тех пор, пока запрос не будет полностью выполнен, что существенно ухудшает отклик страницы.</p> <h2 id="Асинхронные_запросы">Асинхронные запросы</h2> diff --git a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html index f06ee51e88..f6e02f0b12 100644 --- a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html +++ b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html @@ -18,7 +18,7 @@ oReq.send();</pre> <h2 id="Типы_запросов">Типы запросов</h2> -<p>Запрос, сделанный посредством <code>XMLHttpRequest</code>, может загружать данные синхронно или асинхронно. Это определяется третьим аргументом метода <a href="/en-US/docs/DOM/XMLHttpRequest#open()" title="DOM/XMLHttpRequest#open()">open()</a> объекта XMLHttpRequest: если он равен true или не определён, запрос выполнится асихнронно, в противном случае — синхронно. Детальное обсуждение и демонстрации обоих типов запросов могут быть найдены на странице <a href="/en-US/docs/DOM/XMLHttpRequest/Synchronous_and_Asynchronous_Requests" title="Synchronous and Asynchronous Requests">synchronous and asynchronous requests</a>. Использовать синхронные запросы приходится очень редко.</p> +<p>Запрос, сделанный посредством <code>XMLHttpRequest</code>, может загружать данные синхронно или асинхронно. Это определяется третьим аргументом метода <a href="/en-US/docs/DOM/XMLHttpRequest#open()" title="DOM/XMLHttpRequest#open()">open()</a> объекта XMLHttpRequest: если он равен true или не определён, запрос выполнится асинхронно, в противном случае — синхронно. Детальное обсуждение и демонстрации обоих типов запросов могут быть найдены на странице <a href="/en-US/docs/DOM/XMLHttpRequest/Synchronous_and_Asynchronous_Requests" title="Synchronous and Asynchronous Requests">synchronous and asynchronous requests</a>. Использовать синхронные запросы приходится очень редко.</p> <div class="note"><strong>Примечание:</strong> Начиная с Gecko 30.0 {{ geckoRelease("30.0") }} не рекомендуется использовать синхронные запросы, так как они отрицательно влияют на пользовательский опыт.</div> @@ -52,7 +52,7 @@ oReq.send();</pre> <h2 id="Работа_с_двоичными_данными">Работа с двоичными данными</h2> -<p>Хотя обычнно <code>XMLHttpRequest</code> используется, чтобы получать и загружать текст, с его помощью можно обмениваться и двоичными данными. Есть несколько проверенных способов заставить <code>XMLHttpRequest</code> посылать двоичные данные. Они используют метод <code>XMLHttpRequest</code>.overrideMimeType().</p> +<p>Хотя обычно <code>XMLHttpRequest</code> используется, чтобы получать и загружать текст, с его помощью можно обмениваться и двоичными данными. Есть несколько проверенных способов заставить <code>XMLHttpRequest</code> посылать двоичные данные. Они используют метод <code>XMLHttpRequest</code>.overrideMimeType().</p> <pre class="brush:js notranslate">var oReq = new XMLHttpRequest(); oReq.open("GET", url, true); @@ -117,7 +117,7 @@ function transferCanceled(evt) { <p>На строчках 3-6 добавляются обработчики для различных событий, происходящих при передаче данных с помощью <code>XMLHttpRequest</code>.</p> -<div class="note"><strong>Примечение:</strong> Обработчики нужно добавлять до того, как вызвать <code>open(). В противном случае события не будут обработаны.</code></div> +<div class="note"><strong>Примечание:</strong> Обработчики нужно добавлять до того, как вызвать <code>open(). В противном случае события не будут обработаны.</code></div> <p>Обработчик события <code>progress</code>, представленный функцией <code>updateProgress()</code> в этом примере, получает количество байт, которое должно быть передано, и количество уже переданных байт в полях <code>total</code> и <code>loaded.</code> Но если поле <code>lengthComputable</code> равняется <code>false</code>, значит, длина сообщения неизвестна и будет отображаться как ноль.</p> @@ -504,7 +504,7 @@ print_r($_FILES); <pre class="syntaxbox notranslate">AJAXSubmit(myForm);</pre> -<div class="note"><strong>Заметка:</strong> Данный фреимворк использует <a href="/en-US/docs/DOM/FileReader" title="/en-US/docs/DOM/FileReader"><code>FileReader</code></a> API для передачи загрузочных файлов. Это новыйAPI и его невозможно использовать IE9 и ниже. В связи с этим, загрузки только с использованием AJAX воспринимаются, лишь как <strong>экспериментальные</strong>. Если вам не требуется загружать бинарные файлы, то данный фреимворк работает в большинстве современных браузерах.</div> +<div class="note"><strong>Заметка:</strong> Данный фреймворк использует <a href="/en-US/docs/DOM/FileReader" title="/en-US/docs/DOM/FileReader"><code>FileReader</code></a> API для передачи загрузочных файлов. Это новыйAPI и его невозможно использовать IE9 и ниже. В связи с этим, загрузки только с использованием AJAX воспринимаются, лишь как <strong>экспериментальные</strong>. Если вам не требуется загружать бинарные файлы, то данный фреймворк работает в большинстве современных браузерах.</div> <div class="note"><strong>Note:</strong> The best way to send binary content is via <a href="/en-US/docs/JavaScript/Typed_arrays/ArrayBuffer" title="/en-US/docs/JavaScript/Typed_arrays/ArrayBuffer">ArrayBuffers</a> or <a href="/en-US/docs/DOM/Blob" title="/en-US/docs/DOM/Blob">Blobs</a> in conjuncton with the <a href="/en-US/docs/DOM/XMLHttpRequest#send%28%29" title="/en-US/docs/DOM/XMLHttpRequest#send()"><code>send()</code></a> method and possibly the <a href="/en-US/docs/DOM/FileReader#readAsArrayBuffer()" title="/en-US/docs/DOM/FileReader#readAsArrayBuffer()"><code>readAsArrayBuffer()</code></a> method of the <a href="/en-US/docs/DOM/FileReader" title="/en-US/docs/DOM/FileReader"><code>FileReader</code></a> API. But, since the aim of this script is to work with a <a href="/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify" title="/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify">stringifiable</a> raw data, we used the <a href="/en-US/docs/DOM/XMLHttpRequest#sendAsBinary%28%29" title="/en-US/docs/DOM/XMLHttpRequest#sendAsBinary()"><code>sendAsBinary()</code></a> method in conjunction with the <a href="/en-US/docs/DOM/FileReader#readAsBinaryString%28%29" title="/en-US/docs/DOM/FileReader#readAsBinaryString()"><code>readAsBinaryString()</code></a> method of the <a href="/en-US/docs/DOM/FileReader" title="/en-US/docs/DOM/FileReader"><code>FileReader</code></a> API. As such, the above script makes sense only when you are dealing with small files. If you do not intend to upload binary content, consider instead using the <a href="/en-US/docs/DOM/XMLHttpRequest/FormData" title="DOM/XMLHttpRequest/FormData"><code>FormData</code></a> API.</div> diff --git a/files/ru/web/api/xmlhttprequest/withcredentials/index.html b/files/ru/web/api/xmlhttprequest/withcredentials/index.html index 805108a15f..e8aad1306a 100644 --- a/files/ru/web/api/xmlhttprequest/withcredentials/index.html +++ b/files/ru/web/api/xmlhttprequest/withcredentials/index.html @@ -101,4 +101,4 @@ xhr.send(null);</pre> <p>[1] Internet Explorer версий 8 и 9 поддерживает кросс-доменные запросы (CORS) используя <a href="https://msdn.microsoft.com/en-us/library/cc288060%28VS.85%29.aspx">XDomainRequest</a>.</p> -<p>[2] Начиная с Gecko 11.0 (Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8), Gecko больше не позволяет использовать аттрибут <code>withCredentials</code> при проведении синхронных запросов. Попытки это сделать выбросят исключение <code>NS_ERROR_DOM_INVALID_ACCESS_ERR</code>.</p> +<p>[2] Начиная с Gecko 11.0 (Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8), Gecko больше не позволяет использовать атрибут <code>withCredentials</code> при проведении синхронных запросов. Попытки это сделать выбросят исключение <code>NS_ERROR_DOM_INVALID_ACCESS_ERR</code>.</p> diff --git a/files/ru/web/api/xmlserializer/index.html b/files/ru/web/api/xmlserializer/index.html index 45c917981d..0dd372261b 100644 --- a/files/ru/web/api/xmlserializer/index.html +++ b/files/ru/web/api/xmlserializer/index.html @@ -3,9 +3,9 @@ title: XMLSerializer slug: Web/API/XMLSerializer translation_of: Web/API/XMLSerializer --- -<div dir="ltr" id="result_box" style="text-align: left;"><code>XMLSerializer </code>может быть использован для конвертации веток DOM-дерева или дерева целиком в текст. <code>XMLSerializer </code>доступен непривелегированным скриптам.</div> +<div dir="ltr" id="result_box" style="text-align: left;"><code>XMLSerializer </code>может быть использован для конвертации веток DOM-дерева или дерева целиком в текст. <code>XMLSerializer </code>доступен непривилегированным скриптам.</div> -<p>Для получения более подробной информации об <code>XMLSerializer</code> в расширениях для браузера Firefox, пожалуйста обратитесь к документции <code><a href="/en-US/docs/nsIDOMSerializer" title="nsIDOMSerializer">nsIDOMSerializer</a></code>.</p> +<p>Для получения более подробной информации об <code>XMLSerializer</code> в расширениях для браузера Firefox, пожалуйста обратитесь к документации <code><a href="/en-US/docs/nsIDOMSerializer" title="nsIDOMSerializer">nsIDOMSerializer</a></code>.</p> <h2 id="Methods" name="Methods">Методы</h2> 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 b56b93fab9..c8781e4d40 100644 --- a/files/ru/web/css/@counter-style/additive-symbols/index.html +++ b/files/ru/web/css/@counter-style/additive-symbols/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/@counter-style/additive-symbols --- <h2 id="Описание">Описание</h2> -<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>Дескриптор аддитивных символов аналогичен дескриптору <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> diff --git a/files/ru/web/css/@document/index.html b/files/ru/web/css/@document/index.html index ff88ed667f..6db62af6a6 100644 --- a/files/ru/web/css/@document/index.html +++ b/files/ru/web/css/@document/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/@document --- <div>{{SeeCompatTable}}</div> -<p><strong><code>@document</code></strong> <a href="/en-US/docs/Web/CSS">CSS</a> <a href="/en-US/docs/Web/CSS/At-rule">at-rule</a> <span id="result_box" lang="ru"><span>ограничивает правила стиля, содержащиеся в нем, на основе URL-адреса документа.</span> <span>Он разработан в основном для пользовательских таблиц стилей, хотя он также может использоваться в авторских таблицах стилей.</span></span></p> +<p><strong><code>@document</code></strong> <a href="/en-US/docs/Web/CSS">CSS</a> <a href="/en-US/docs/Web/CSS/At-rule">at-rule</a> <span id="result_box" lang="ru"><span>ограничивает правила стиля, содержащиеся в нем, на основе URL-адреса документа.</span> <span>Он разработан в основном для пользовательских таблиц стилей, хотя он ттакже может использоваться в авторских таблицах стилей.</span></span></p> <pre class="brush: css no-line-numbers">@document url("https://www.example.com/") { h1 { @@ -28,7 +28,7 @@ translation_of: Web/CSS/@document <p><span id="result_box" lang="ru"><span>Значения, предоставляемые функциям </span></span> <code>url()</code>, <code>url-prefix()</code>, <code>domain()</code>, и <code>media-document()</code> <span id="result_box" lang="ru"><span>могут быть необязательно заключены в одинарные или двойные кавычки.</span> <span>Значения, предоставляемые функции</span></span> <code>regexp()</code> <span id="result_box" lang="ru"><span> должны быть заключены в кавычки.</span></span> .</p> -<p><span id="result_box" lang="ru"><span>Экранированные значения, предоставляемые функции</span></span> <code>regexp()</code> <span id="result_box" lang="ru"><span>акже должны быть экранированы из CSS</span></span>. <span id="result_box" lang="ru"><span>Например,</span></span> <code>.</code> (период) <span id="result_box" lang="ru"><span>соответствует любому символу в регулярных выражениях</span></span>. <span id="result_box" lang="ru"><span>Чтобы соответствовать буквальному периоду, вам сначала нужно избежать этого, используя правила регулярных выражений</span></span> (<code>\.</code>), <span id="result_box" lang="ru"><span> А затем убежать от этой строки с помощью правил CSS </span></span> (<code>\\.</code>).</p> +<p><span id="result_box" lang="ru"><span>Экранированные значения, предоставляемые функции</span></span> <code>regexp()</code> <span id="result_box" lang="ru"><span>также должны быть экранированы из CSS</span></span>. <span id="result_box" lang="ru"><span>Например,</span></span> <code>.</code> (период) <span id="result_box" lang="ru"><span>соответствует любому символу в регулярных выражениях</span></span>. <span id="result_box" lang="ru"><span>Чтобы соответствовать буквальному периоду, вам сначала нужно избежать этого, используя правила регулярных выражений</span></span> (<code>\.</code>), <span id="result_box" lang="ru"><span> А затем убежать от этой строки с помощью правил CSS </span></span> (<code>\\.</code>).</p> <div class="note"> <p><strong>Примечание</strong>: <span id="result_box" lang="ru"><span>Существует версия -moz-prefixed этого свойства </span></span>— <code>@-moz-document</code>. <span id="result_box" lang="ru"><span>Это было ограничено использованием только в пользовательских и UA-листах в Firefox 59 в Nightly and Beta - эксперименте, предназначенном для смягчения потенциальных атак с помощью CSS-инъекций</span></span> ({{bug(1035091)}}).</p> diff --git a/files/ru/web/css/@font-face/font-display/index.html b/files/ru/web/css/@font-face/font-display/index.html index a206c3778e..603b7a8a66 100644 --- a/files/ru/web/css/@font-face/font-display/index.html +++ b/files/ru/web/css/@font-face/font-display/index.html @@ -140,4 +140,4 @@ font-display: optional;</pre> <p>[1] За флагом.</p> -<p>[2] Эта возможность доступна, начиная с версии Firefox 46 с настрокой <code>layout.css.font-display.enabled</code>, по умолчанию <code>false</code>. См. ({{bug(1157064)}}).</p> +<p>[2] Эта возможность доступна, начиная с версии Firefox 46 с настройкой <code>layout.css.font-display.enabled</code>, по умолчанию <code>false</code>. См. ({{bug(1157064)}}).</p> diff --git a/files/ru/web/css/@font-face/font-family/index.html b/files/ru/web/css/@font-face/font-family/index.html index 6e71ec90cb..d2d516d713 100644 --- a/files/ru/web/css/@font-face/font-family/index.html +++ b/files/ru/web/css/@font-face/font-family/index.html @@ -48,7 +48,7 @@ font-family: examplefont; <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Комментрий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/css/@font-feature-values/index.html b/files/ru/web/css/@font-feature-values/index.html index b6420db716..dc51cdf99e 100644 --- a/files/ru/web/css/@font-feature-values/index.html +++ b/files/ru/web/css/@font-feature-values/index.html @@ -39,7 +39,7 @@ translation_of: Web/CSS/@font-feature-values <dt><a name="@swash"><code>@swash</code></a></dt> <dd>Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "swash()", "#swash()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции swash допускает только одно значение: <code>ident1: 2</code> является действительным, но <code>ident2: 2 4</code> нет.</dd> <dt><a name="@annotation"><code>@annotation</code></a></dt> - <dd>Устанавливает имя фунции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "annotation()", "#annotation()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции допускает только одно значение: <code>ident1: 2</code> действительным , но <code>ident2: 2 4</code> нет.</dd> + <dd>Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "annotation()", "#annotation()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции допускает только одно значение: <code>ident1: 2</code> действительным , но <code>ident2: 2 4</code> нет.</dd> <dt><a name="@ornaments"><code>@ornaments</code></a></dt> <dd>Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "ornaments()", "#ornaments()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции ornaments допускает только одно значение: <code>ident1: 2</code> является действительным, но <code>ident2: 2 4</code> нет.</dd> <dt><a name="@stylistic"><code>@stylistic</code></a></dt> @@ -50,7 +50,7 @@ translation_of: Web/CSS/@font-feature-values <dd>Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "character-variant()", "#character-variant()")}} functional notation of {{cssxref("font-variant-alternates")}}. A character-variant feature value definition allows either one or two values: <code>ident1: 3</code> maps to <code>cv03=1</code>, and <code>ident2: 2 4</code> maps to <code>cv02=4</code>, but <code>ident2: 2 4 5</code> is invalid.</dd> </dl> -<h3 id="Формальный_синтаксиси">Формальный синтаксиси</h3> +<h3 id="Формальный_синтаксис">Формальный синтаксис</h3> {{csssyntax}} diff --git a/files/ru/web/css/@media/index.html b/files/ru/web/css/@media/index.html index c0b1b2ab86..d84acd05ca 100644 --- a/files/ru/web/css/@media/index.html +++ b/files/ru/web/css/@media/index.html @@ -54,7 +54,7 @@ translation_of: Web/CSS/@media <dd>Предназначен для синтезаторов речи.</dd> </dl> -<div class="note"><strong>Примечание:</strong> CSS2.1 и Media Queries 3 определили несколько дополнительных зачений (<code>tty</code>, <code>tv</code>, <code>projection</code>, <code>handheld</code>, <code>braille</code>, <code>embossed</code>, <code>aural</code>), но они устарели в <a href="http://dev.w3.org/csswg/mediaqueries/#media-types">Media Queries 4</a> и не рекомендуется к использованию.</div> +<div class="note"><strong>Примечание:</strong> CSS2.1 и Media Queries 3 определили несколько дополнительных значений (<code>tty</code>, <code>tv</code>, <code>projection</code>, <code>handheld</code>, <code>braille</code>, <code>embossed</code>, <code>aural</code>), но они устарели в <a href="http://dev.w3.org/csswg/mediaqueries/#media-types">Media Queries 4</a> и не рекомендуется к использованию.</div> <h2 id="Media_features" name="Media_features">Media Features</h2> diff --git a/files/ru/web/css/@namespace/index.html b/files/ru/web/css/@namespace/index.html index 1540c3892b..c654ee3abf 100644 --- a/files/ru/web/css/@namespace/index.html +++ b/files/ru/web/css/@namespace/index.html @@ -30,10 +30,10 @@ svg|a {} <p><code>@namespace</code> правила можно использовать для определения префиксов имён. Когда селектор имеет префикс, он будет выбирать элементы совпадающие по неймспейсу и именам или атрибутам.</p> -<p>В <a href="/ru/docs/HTML/HTML5">HTML5</a> существуют <a href="https://html.spec.whatwg.org/#foreign-elements">сторонние элементы</a> которые автоматически ассоциируются с соответствующими пространствами имён. Это значит, что HTML элементы будут действовать так, как если бы они находились в пространстве имён (<code>http://www.w3.org/1999/xhtml</code>), также если они не имеют <code>xmlns</code> аттрибута где-либо в документе, то такие элементы как <a href="/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/SVG"><svg></a> и <a href="/ru/docs/Web/MathML/Element/math"><math></a> будут ассоциироваться с их стандартными пространствами имён (<code>http://www.w3.org/2000/svg</code> and <code>http://www.w3.org/1998/Math/MathML</code>).</p> +<p>В <a href="/ru/docs/HTML/HTML5">HTML5</a> существуют <a href="https://html.spec.whatwg.org/#foreign-elements">сторонние элементы</a> которые автоматически ассоциируются с соответствующими пространствами имён. Это значит, что HTML элементы будут действовать так, как если бы они находились в пространстве имён (<code>http://www.w3.org/1999/xhtml</code>), также если они не имеют <code>xmlns</code> атрибута где-либо в документе, то такие элементы как <a href="/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/SVG"><svg></a> и <a href="/ru/docs/Web/MathML/Element/math"><math></a> будут ассоциироваться с их стандартными пространствами имён (<code>http://www.w3.org/2000/svg</code> and <code>http://www.w3.org/1998/Math/MathML</code>).</p> <div class="blockIndicator note"> -<p>Заметка: В XML, если префикс отличается от атрибута (Например, <code>xlink:href</code>), то аттрибут не будет иметь неймспейса. Другими словами, аттрибуты не могут наследовать пространство имён элемента в котором они находятся.</p> +<p>Заметка: В XML, если префикс отличается от атрибута (Например, <code>xlink:href</code>), то атрибут не будет иметь неймспейса. Другими словами, атрибуты не могут наследовать пространство имён элемента в котором они находятся.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/@viewport/index.html b/files/ru/web/css/@viewport/index.html index 0fcedf8ecc..56ee461658 100644 --- a/files/ru/web/css/@viewport/index.html +++ b/files/ru/web/css/@viewport/index.html @@ -16,7 +16,7 @@ translation_of: Web/CSS/@viewport <h2 id="Кратко">Кратко</h2> -<p><strong><code>@viewport</code></strong> <a href="/en/CSS" title="CSS">CSS</a> <a href="/en/CSS/At-rule" title="en/CSS/At-rule">at-rule</a> cсодержит набор вложенных дескрипторов в блоке CSS, который разделен фигурными скобками. Эти дескрипторы управляют настройками видового экрана, в первую очередь на мобильных устройствах.</p> +<p><strong><code>@viewport</code></strong> <a href="/en/CSS" title="CSS">CSS</a> <a href="/en/CSS/At-rule" title="en/CSS/At-rule">at-rule</a> содержит набор вложенных дескрипторов в блоке CSS, который разделен фигурными скобками. Эти дескрипторы управляют настройками видового экрана, в первую очередь на мобильных устройствах.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/_colon_-moz-focusring/index.html b/files/ru/web/css/_colon_-moz-focusring/index.html index 02c26e1b68..872ef81e58 100644 --- a/files/ru/web/css/_colon_-moz-focusring/index.html +++ b/files/ru/web/css/_colon_-moz-focusring/index.html @@ -35,7 +35,7 @@ translation_of: 'Web/CSS/:-moz-focusring' <p>Этот псевдокласс пока еще не определен ни в одной спецификации, хотя и прошел этап обсуждения в рабочей группе. По его итогам было решено внести его в группу селекторов 4 или 5.</p> -<h2 id="Совметимость_с_браузерами">Совметимость с браузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <p>{{CompatibilityTable}}</p> diff --git a/files/ru/web/css/_colon_any-link/index.html b/files/ru/web/css/_colon_any-link/index.html index 7f93377c91..95ede05087 100644 --- a/files/ru/web/css/_colon_any-link/index.html +++ b/files/ru/web/css/_colon_any-link/index.html @@ -82,7 +82,7 @@ a:-webkit-any-link { <ul> <li><a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA">Создание гиперссылок</a></li> - <li>Cоответствует HTML элементам: <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/a"><a></a></code>, <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/area"><area></a></code> и <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/link"><link></a></code> с атрибутом {{htmlattrxref("href", "a")}}</li> + <li>Соответствует HTML элементам: <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/a"><a></a></code>, <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/area"><area></a></code> и <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/link"><link></a></code> с атрибутом {{htmlattrxref("href", "a")}}</li> <li>Похожие CSS селекторы: <ul> <li><code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/:visited">:visited</a></code></li> diff --git a/files/ru/web/css/_colon_checked/index.html b/files/ru/web/css/_colon_checked/index.html index 66316fe2d2..5216adcaf7 100644 --- a/files/ru/web/css/_colon_checked/index.html +++ b/files/ru/web/css/_colon_checked/index.html @@ -64,7 +64,7 @@ option:checked { <h3 id="Использование_скрытых_чекбоксов_чтобы_хранить_некоторые_булевские_значения_в_CSS">Использование скрытых чекбоксов, чтобы хранить некоторые булевские значения в CSS</h3> -<p>Пседокласс <code>:checked</code> применяется к скрытым чекбоксам в начале вашей страницы, которые могут использоваться, чтобы хранить некоторые динамические значения, используемые в CSS правилах. Следующий пример показывает, как скрывать/показывать некоторые расширяемые элементы, нажимая на кнопку (<a class="internal" href="/@api/deki/files/6246/=expandable-elements.html" title="Expandable elements through the :checked pseudoclass">открыть это демо</a>).</p> +<p>Псевдокласс <code>:checked</code> применяется к скрытым чекбоксам в начале вашей страницы, которые могут использоваться, чтобы хранить некоторые динамические значения, используемые в CSS правилах. Следующий пример показывает, как скрывать/показывать некоторые расширяемые элементы, нажимая на кнопку (<a class="internal" href="/@api/deki/files/6246/=expandable-elements.html" title="Expandable elements through the :checked pseudoclass">открыть это демо</a>).</p> <pre class="brush: html"><!doctype html> <html> @@ -138,7 +138,7 @@ option:checked { <p>Также вы можете псевдокласс <code>:checked</code>, чтобы скрывать радиокнопки для того, чтобы создать, например, <strong>галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши</strong>. Загрузите <a class="internal" href="/@api/deki/files/6268/=css-checked-gallery.zip" title="css-checked-gallery.zip">это демо</a> как вариант решения.</p> -<div class="note"><strong>Замечание:</strong> Для аналагично эффекта, но основанного на псевдоклассе <a class="internal" href="/ru/docs/CSS/:hover" title="CSS/:hover"><code>:hover</code></a> и без скрытых радиокнопок, смотрите <a class="internal" href="/@api/deki/files/6247/=css-gallery.zip" title="css-gallery.zip">это демо</a>, взятое со страницы <a class="internal" href="/ru/docs/CSS/:hover" title="CSS/:hover">:hover</a>.</div> +<div class="note"><strong>Замечание:</strong> Для аналогично эффекта, но основанного на псевдоклассе <a class="internal" href="/ru/docs/CSS/:hover" title="CSS/:hover"><code>:hover</code></a> и без скрытых радиокнопок, смотрите <a class="internal" href="/@api/deki/files/6247/=css-gallery.zip" title="css-gallery.zip">это демо</a>, взятое со страницы <a class="internal" href="/ru/docs/CSS/:hover" title="CSS/:hover">:hover</a>.</div> <h2 id="Specifications" name="Specifications">Спецификации</h2> diff --git a/files/ru/web/css/_colon_default/index.html b/files/ru/web/css/_colon_default/index.html index 58e14d2db5..728ef70ae8 100644 --- a/files/ru/web/css/_colon_default/index.html +++ b/files/ru/web/css/_colon_default/index.html @@ -5,7 +5,7 @@ translation_of: 'Web/CSS/:default' --- <div>{{CSSRef}}</div> -<p> <a href="/en-US/docs/Web/CSS">CSS</a> <a href="https://developer.mozilla.org/ru/docs/Web/CSS/Псевдо-классы">псевдо-класс</a> <strong><code>:default</code></strong> находит элемент формы, установленный по умолчанию для группы связаных элементов.</p> +<p> <a href="/en-US/docs/Web/CSS">CSS</a> <a href="https://developer.mozilla.org/ru/docs/Web/CSS/Псевдо-классы">псевдо-класс</a> <strong><code>:default</code></strong> находит элемент формы, установленный по умолчанию для группы связанных элементов.</p> <p>Этот селектор используется для элементов: {{htmlelement("button")}}, <code><a href="/en-US/docs/Web/HTML/Element/input/checkbox"><input type="checkbox"></a></code>, <code><a href="/en-US/docs/Web/HTML/Element/input/radio"><input type="radio"></a></code>, и {{htmlelement("option")}} .</p> @@ -102,7 +102,7 @@ input:default + label { <th>Safari</th> </tr> <tr> - <td>Базовая потдержка</td> + <td>Базовая поддержка</td> <td>10.0</td> <td>{{CompatGeckoDesktop("2.0")}}</td> <td>{{CompatNo}}</td> @@ -125,7 +125,7 @@ input:default + label { <th>Safari Mobile</th> </tr> <tr> - <td>Базовая потдержка</td> + <td>Базовая поддержка</td> <td>{{CompatUnknown}}</td> <td>{{CompatGeckoMobile("2.0")}}</td> <td>{{CompatNo}}</td> diff --git a/files/ru/web/css/_colon_defined/index.html b/files/ru/web/css/_colon_defined/index.html index d7849d41db..7ba37de530 100644 --- a/files/ru/web/css/_colon_defined/index.html +++ b/files/ru/web/css/_colon_defined/index.html @@ -73,7 +73,7 @@ simple-custom:defined { text-decoration: underline; }</pre> -<p>Это полезно, если у вас есть сложный пользовательский элемент, который требует какое-то время для загрузки — возможно, вы захотите спрятать его до определения, чтобы на странице не появились искажения или не тилизованные элементы.</p> +<p>Это полезно, если у вас есть сложный пользовательский элемент, который требует какое-то время для загрузки — возможно, вы захотите спрятать его до определения, чтобы на странице не появились искажения или не стилизованные элементы.</p> <h3 id="результат">результат</h3> diff --git a/files/ru/web/css/_colon_dir/index.html b/files/ru/web/css/_colon_dir/index.html index 29efcb97b2..4e4562634e 100644 --- a/files/ru/web/css/_colon_dir/index.html +++ b/files/ru/web/css/_colon_dir/index.html @@ -15,7 +15,7 @@ translation_of: 'Web/CSS/:dir' <p><code>:dir()</code> учитывает только <em>семантическое </em>направление, т.е. заданное в самом документе. Он не учитывает <em>стилизованное </em>направление, т.е. заданное CSS-правилами, например {{cssxref("direction")}}.</p> <div class="note"> -<p><strong>Примечание:</strong> помните о том, что псевдокласс <code>:dir()</code> <strong>не эквивалентен</strong> <a href="/ru/docs/Web/CSS/Attribute_selectors">выбору по атрибуту</a> <code>[dir=…]</code>. Последний применяется только к тем элементам HTML, у которых есть атрибут {{htmlattrxref("dir")}}, игнорируя те, у которых он не задан — даже если они унаследовали его значение. (Похожим образом <code>[dir=rtl]</code> и<code>[dir=ltr]</code> не будут включать <code>auto</code>.) <code>:dir()</code>, же, напротив, соостветсвует значению вычисленному {{glossary("user agent")}}, даже унаследованному.</p> +<p><strong>Примечание:</strong> помните о том, что псевдокласс <code>:dir()</code> <strong>не эквивалентен</strong> <a href="/ru/docs/Web/CSS/Attribute_selectors">выбору по атрибуту</a> <code>[dir=…]</code>. Последний применяется только к тем элементам HTML, у которых есть атрибут {{htmlattrxref("dir")}}, игнорируя те, у которых он не задан — даже если они унаследовали его значение. (Похожим образом <code>[dir=rtl]</code> и<code>[dir=ltr]</code> не будут включать <code>auto</code>.) <code>:dir()</code>, же, напротив, соответствует значению вычисленному {{glossary("user agent")}}, даже унаследованному.</p> </div> <div class="note"> diff --git a/files/ru/web/css/_colon_first/index.html b/files/ru/web/css/_colon_first/index.html index 0a0a64c0ee..7fea9f419e 100644 --- a/files/ru/web/css/_colon_first/index.html +++ b/files/ru/web/css/_colon_first/index.html @@ -19,7 +19,7 @@ translation_of: 'Web/CSS/:first' }</pre> <div class="note"> -<p><strong>Обратите внимани:</strong> Вы можете изменять не все CSS свойства в этом псевдо-классе. Вы можете изменять только внешние отступы, {{cssxref("orphans")}}, {{cssxref("widows")}}, и разбитие документа на страницы. Более того, вы можете использовать только <a href="/en-US/docs/Web/CSS/размер#Абсолютные_единицы_измерения_размера">абсолютные единицы измерения</a>, определяя внешние отступы. Все остальные правила будут проигнорированы.</p> +<p><strong>Обратите внимание:</strong> Вы можете изменять не все CSS свойства в этом псевдо-классе. Вы можете изменять только внешние отступы, {{cssxref("orphans")}}, {{cssxref("widows")}}, и разбитие документа на страницы. Более того, вы можете использовать только <a href="/en-US/docs/Web/CSS/размер#Абсолютные_единицы_измерения_размера">абсолютные единицы измерения</a>, определяя внешние отступы. Все остальные правила будут проигнорированы.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/_colon_focus/index.html b/files/ru/web/css/_colon_focus/index.html index e0f65f8232..6bcab5d696 100644 --- a/files/ru/web/css/_colon_focus/index.html +++ b/files/ru/web/css/_colon_focus/index.html @@ -21,7 +21,7 @@ input:focus { }</pre> <div class="blockIndicator note"> -<p><strong>Примечание:</strong> Этот псевдо-класс применяется только тогда, когда в фокусе находится сам элемент. Используйте {{CSSxRef(":focus-within")}}, если вы хотите выбрать элемент, в котором находится сфокусорованный элемент.</p> +<p><strong>Примечание:</strong> Этот псевдо-класс применяется только тогда, когда в фокусе находится сам элемент. Используйте {{CSSxRef(":focus-within")}}, если вы хотите выбрать элемент, в котором находится сфокусированный элемент.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/_colon_has/index.html b/files/ru/web/css/_colon_has/index.html index bef25277dd..f452c58420 100644 --- a/files/ru/web/css/_colon_has/index.html +++ b/files/ru/web/css/_colon_has/index.html @@ -13,7 +13,7 @@ translation_of: 'Web/CSS/:has' <p><span class="seoSummary">CSS <a href="/Web/CSS/Псевдо-классы">псевдокласс </a><a href="/ru/docs/Web/CSS/Псевдо-классы"> </a><strong><code>:has()</code></strong> отображает элемент в том случае, если любой из селекторов, переданный в качестве параметра (относительно {{cssxref(":scope")}}), соответствует хотя бы одному элементу.</span></p> -<p>Псведокласс <code>:has()</code> берет соотвествующий список селекторов в качестве аргумента. В ранней версии спецификации CSS Selectors Level 4, <code>:has</code> имел ограничение, которое не позволяло использовать его в таблицах стилей; только с использованием функций, как например: {{domxref("document.querySelector()")}} (из-за проблем с производительностью). На текущий момент, это ограничение снято, так как ни один из браузеров не реализовал это соответствующим образом.</p> +<p>Псевдокласс <code>:has()</code> берет соответствующий список селекторов в качестве аргумента. В ранней версии спецификации CSS Selectors Level 4, <code>:has</code> имел ограничение, которое не позволяло использовать его в таблицах стилей; только с использованием функций, как например: {{domxref("document.querySelector()")}} (из-за проблем с производительностью). На текущий момент, это ограничение снято, так как ни один из браузеров не реализовал это соответствующим образом.</p> <pre class="brush: css no-line-numbers">/* Выбирает любой тег <a>, если следом за ним находится дочерний элемент <img> */ /* Отмечу, что это не поддерживается ни одним из браузеров */ diff --git a/files/ru/web/css/_colon_hover/index.html b/files/ru/web/css/_colon_hover/index.html index 71e25b7e1b..f4d6299b00 100644 --- a/files/ru/web/css/_colon_hover/index.html +++ b/files/ru/web/css/_colon_hover/index.html @@ -28,7 +28,7 @@ translation_of: 'Web/CSS/:hover' <h3 id="Выпадающее_меню">Выпадающее меню</h3> -<p>С псевдоклассом <code>:hover</code> вы можете создавать сложные каскадные алгоритмы. Эта техника часто используется, например, чтобы создать <strong>выпадающие меню на чистом CSS</strong> (только на CSS, без использования <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>). Сущность этой техники - создание правил, типа следуюшего:</p> +<p>С псевдоклассом <code>:hover</code> вы можете создавать сложные каскадные алгоритмы. Эта техника часто используется, например, чтобы создать <strong>выпадающие меню на чистом CSS</strong> (только на CSS, без использования <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>). Сущность этой техники - создание правил, типа следующего:</p> <pre class="brush: css">div.menu-bar ul ul { display: none; @@ -76,7 +76,7 @@ div.menu-bar li:hover > ul { <p>Вы можете использовать псевдокласс <code>:hover</code>, чтобы создать галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши. Посмотрите <a class="internal" href="/@api/deki/files/6247/=css-gallery.zip" title="css-gallery.zip">это демо</a>.</p> -<div class="note"><strong>Замечания:</strong> Для аналагичного эффекта, но основанного на псевдоклассе<a class="internal" href="/en/CSS/%3Achecked" title="en/CSS/:checked"><code>:checked</code></a> (применяется к скрытым радиокнопкам), смотрите <a class="internal" href="/@api/deki/files/6268/=css-checked-gallery.zip" title="css-checked-gallery.zip">это демо</a>, взятое со страницы <a class="internal" href="/ru/docs/Web/CSS/:checked" title="ru/CSS/:checked">ru/CSS/:checked</a>.</div> +<div class="note"><strong>Замечания:</strong> Для аналогичного эффекта, но основанного на псевдоклассе<a class="internal" href="/en/CSS/%3Achecked" title="en/CSS/:checked"><code>:checked</code></a> (применяется к скрытым радиокнопкам), смотрите <a class="internal" href="/@api/deki/files/6268/=css-checked-gallery.zip" title="css-checked-gallery.zip">это демо</a>, взятое со страницы <a class="internal" href="/ru/docs/Web/CSS/:checked" title="ru/CSS/:checked">ru/CSS/:checked</a>.</div> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/css/_colon_indeterminate/index.html b/files/ru/web/css/_colon_indeterminate/index.html index 94741f8130..6975e1d6ee 100644 --- a/files/ru/web/css/_colon_indeterminate/index.html +++ b/files/ru/web/css/_colon_indeterminate/index.html @@ -20,7 +20,7 @@ input:indeterminate { <ul> <li>Элементы <code><a href="/en-US/docs/Web/HTML/Element/input/checkbox"><input type="checkbox"></a></code>, свойство <code>indeterminate</code> которых было установлено в <code>true</code> через <a href="/en-US/docs/Web/JavaScript">JavaScript</a></li> - <li>Элементы <code><a href="/en-US/docs/Web/HTML/Element/input/radio"><input type="radio"></a></code>, когда все радио переключатели в одной группе (с одинаковым атрибутом <code>name</code>) невыбраны</li> + <li>Элементы <code><a href="/en-US/docs/Web/HTML/Element/input/radio"><input type="radio"></a></code>, когда все радио переключатели в одной группе (с одинаковым атрибутом <code>name</code>) не выбраны</li> <li>Элементы {{HTMLElement("progress")}} в неопределённом состоянии</li> </ul> diff --git a/files/ru/web/css/_colon_is/index.html b/files/ru/web/css/_colon_is/index.html index 3b1a61da98..084876125f 100644 --- a/files/ru/web/css/_colon_is/index.html +++ b/files/ru/web/css/_colon_is/index.html @@ -11,7 +11,7 @@ translation_of: 'Web/CSS/:is' <p><strong><code>:is()</code></strong> это функция <a href="/ru/docs/Web/CSS">псевдо-класс CSS</a> принимающая список селекторов как аргумент, и выбирает любой элемент, который может быть выбран одним из селекторов в этом списке. Это полезно при переписи огромных селекторов в более компактную форму.</p> -<p>Заметьте, что в данный момент бразуеры поддерживают ее функционал как <code>:matches()</code>, или даже как более старый, префиксный псевдо-класс — <code>:any()</code>, включая старые версии Chrome, Firefox, и Safari. <code>:any()</code> работает точно таким же образом как и <code>:matches()</code>/<code>:is()</code>, за исключением того, что <code>:any()</code> требует постановку префиксов и не поддерживает <a href="/ru/docs/Learn/CSS/Building_blocks/Селекторы">комплексные селекторы</a>.</p> +<p>Заметьте, что в данный момент браузеры поддерживают ее функционал как <code>:matches()</code>, или даже как более старый, префиксный псевдо-класс — <code>:any()</code>, включая старые версии Chrome, Firefox, и Safari. <code>:any()</code> работает точно таким же образом как и <code>:matches()</code>/<code>:is()</code>, за исключением того, что <code>:any()</code> требует постановку префиксов и не поддерживает <a href="/ru/docs/Learn/CSS/Building_blocks/Селекторы">комплексные селекторы</a>.</p> <pre class="brush: css no-line-numbers notranslate">/* Выбирает какой-либо абзац в шапке, основной части или подвале, который зависал */ :is(header, main, footer) p:hover { @@ -197,7 +197,7 @@ h1 { <h3 id="Как_избежать_аннулирования_списка_селекторов">Как избежать аннулирования списка селекторов</h3> -<p>В отличие от <a href="/ru/docs/Web/CSS/Selector_list">списка селекторов</a>, псевдо-класс <code>:is()</code> не аннулируется, когда из селекторов, попавший туда не поддерживается бразуером.</p> +<p>В отличие от <a href="/ru/docs/Web/CSS/Selector_list">списка селекторов</a>, псевдо-класс <code>:is()</code> не аннулируется, когда из селекторов, попавший туда не поддерживается браузером.</p> <pre class="brush: css notranslate">:is(:valid, :unsupported) { ... @@ -209,7 +209,7 @@ h1 { ... }</pre> -<p>Будет проигнорировано бразуерами, которые не поддерживают <code>:unsupported</code> даже если они поддерживают <code>:valid</code>.</p> +<p>Будет проигнорировано браузерами, которые не поддерживают <code>:unsupported</code> даже если они поддерживают <code>:valid</code>.</p> <h3 id="Разница_между_is_и_where">Разница между :is() и :where()</h3> diff --git a/files/ru/web/css/_colon_placeholder-shown/index.html b/files/ru/web/css/_colon_placeholder-shown/index.html index 3f1c1aeadb..014fc3a363 100644 --- a/files/ru/web/css/_colon_placeholder-shown/index.html +++ b/files/ru/web/css/_colon_placeholder-shown/index.html @@ -189,6 +189,6 @@ input.studentid:placeholder-shown { <ul> <li>Псевдоэлемент {{cssxref("::placeholder")}}, применяющий стили к <em>самому себе</em>.</li> - <li>Связянные HTML элементы: {{HTMLElement("input")}}, {{HTMLElement("textarea")}}</li> + <li>Связанные HTML элементы: {{HTMLElement("input")}}, {{HTMLElement("textarea")}}</li> <li><a href="/ru/docs/Learn/HTML/Forms">HTML формы</a></li> </ul> diff --git a/files/ru/web/css/_colon_target/index.html b/files/ru/web/css/_colon_target/index.html index 9ff6328071..8f072788b3 100644 --- a/files/ru/web/css/_colon_target/index.html +++ b/files/ru/web/css/_colon_target/index.html @@ -19,7 +19,7 @@ translation_of: 'Web/CSS/:target' <pre>http://www.example.com/index.html#section2</pre> -<p>Следующий элмент будет выбран селектором <code>:target</code>, если текущий URL равен вышеуказанному:</p> +<p>Следующий элемент будет выбран селектором <code>:target</code>, если текущий URL равен вышеуказанному:</p> <pre class="brush: html"><section id="section2">Example</section></pre> diff --git a/files/ru/web/css/_colon_visited/index.html b/files/ru/web/css/_colon_visited/index.html index 7ad6df8e89..eeee1f3600 100644 --- a/files/ru/web/css/_colon_visited/index.html +++ b/files/ru/web/css/_colon_visited/index.html @@ -12,9 +12,9 @@ translation_of: 'Web/CSS/:visited' <p>CSS <a href="/ru/docs/Web/CSS/Псевдо-классы" title="Pseudo-classes">псевдо-класс</a> <code>:visited</code> позволяет вам выбирать ссылки, которые были посещены. Этот стиль может переопределяться другими относящимися к ссылкам псевдо-классами, такими как {{ cssxref(":link") }}, {{ cssxref(":hover") }} и {{ cssxref(":active") }}, появляющимися в соответствующем порядке. Чтобы стилизировать ссылки должным образом, вам нужно вставлять правило <code>:visited</code> до правила <code>:link</code>, но после других, определённых <em>LVHA-порядком</em>: <code>:link</code> — <code>:visited</code> — <code>:hover</code> — <code>:active</code>.</p> <div class="note style-wrap"> -<p><strong>Замечание: </strong>Из-за причин приватности, браузеры строго ограничивают стили, которые вы можете применить к элементу, используя этот псевдо-класс: только {{ cssxref("color") }}, {{ cssxref("background-color") }}, {{ cssxref("border-color") }}, {{ cssxref("border-bottom-color") }}, {{ cssxref("border-left-color") }}, {{ cssxref("border-right-color") }}, {{ cssxref("border-top-color") }}, {{ cssxref("outline-color") }}, {{ cssxref("column-rule-color") }}, <code>fill</code> и <code>stroke</code>. Заметьте также, что альфа-канал будет игнорироваться: будет использоваться альфа-канал, используемый для непосещённых ссылок вместо него (но если прозрачность - <code>0</code>, то в этот случае игнорируется весь цвет, и один из используемых стилей для непосещённых ссылок).</p> +<p><strong>Замечание: </strong>Из-за причин приватности, браузеры строго ограничивают стили, которые вы можете применить к элементу, используя этот псевдо-класс: только {{ cssxref("color") }}, {{ cssxref("background-color") }}, {{ cssxref("border-color") }}, {{ cssxref("border-bottom-color") }}, {{ cssxref("border-left-color") }}, {{ cssxref("border-right-color") }}, {{ cssxref("border-top-color") }}, {{ cssxref("outline-color") }}, {{ cssxref("column-rule-color") }}, <code>fill</code> и <code>stroke</code>. Заметьте также, что альфа-канал будет игнорироваться: будет использоваться альфа-канал, используемый для непосвященных ссылок вместо него (но если прозрачность - <code>0</code>, то в этот случае игнорируется весь цвет, и один из используемых стилей для непосвященных ссылок).</p> -<p>Несмотря на то, что цвет может меняться, метод <code>getComputedStyle</code> наврёт и всегда будет давать значение цвета непосещённых ссылок.</p> +<p>Несмотря на то, что цвет может меняться, метод <code>getComputedStyle</code> наврёт и всегда будет давать значение цвета непосвященных ссылок.</p> <p>Для дополнительной информации об ограничениях и их причин, смотрите <a href="/ru/docs/CSS/Privacy_and_the_:visited_selector" title="/ru/docs/CSS/Privacy_and_the_:visited_selector">Приватность и селектор :visited</a>.</p> </div> diff --git a/files/ru/web/css/_colon_where/index.html b/files/ru/web/css/_colon_where/index.html index 7f7538cf52..b432a06efd 100644 --- a/files/ru/web/css/_colon_where/index.html +++ b/files/ru/web/css/_colon_where/index.html @@ -34,7 +34,7 @@ footer p:hover { <p>В спецификации псевдоклассы <code>:is()</code> и <code>:where()</code> относятся к так называемому <a href="https://drafts.csswg.org/selectors-4/#typedef-forgiving-selector-list">forgiving selector list</a> (прощающий список селекторов).</p> -<p>При использовании списка селекторов в CSS, если один из селекторов невалидный, то весь список селекторов будет считаться невалидным. В то же время при использовании <code>:is()</code> или <code>:where()</code> действует другое правило: если среди переданных аргументов будет неккоректный или неподдерживаемый селектор, то он будет проигнорирован, для всех же остальных селекторов будут применены CSS-правила.</p> +<p>При использовании списка селекторов в CSS, если один из селекторов невалидный, то весь список селекторов будет считаться невалидным. В то же время при использовании <code>:is()</code> или <code>:where()</code> действует другое правило: если среди переданных аргументов будет некорректный или неподдерживаемый селектор, то он будет проигнорирован, для всех же остальных селекторов будут применены CSS-правила.</p> <pre class="brush: css notranslate">:where(:valid, :unsupported) { ... @@ -86,7 +86,7 @@ footer p:hover { </footer> </article></pre> -<p>В примере выше у нас представлено две статьи, каждая из которых содержит следующиее блоки: <code>section</code>, <code>aside</code> и <code>footer</code>. Каждый из блоков имеет свой CSS-класс.</p> +<p>В примере выше у нас представлено две статьи, каждая из которых содержит следующие блоки: <code>section</code>, <code>aside</code> и <code>footer</code>. Каждый из блоков имеет свой CSS-класс.</p> <p>Теперь при помощи псевдоклассов <code>:is()</code> и <code>:where()</code> зададим цвет для ссылок в простой форме, как в примере ниже:</p> @@ -143,7 +143,7 @@ footer p:hover { <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <div> -<div class="hidden">Таблица совместимости на этой странице сгенерирована из готовых данных. Если бы вы хотели добавить свою информацию, пожалуйста проверьте на <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пулл-реквест.</div> +<div class="hidden">Таблица совместимости на этой странице сгенерирована из готовых данных. Если бы вы хотели добавить свою информацию, пожалуйста проверьте на <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пул-реквест.</div> <p>{{Compat("css.selectors.where")}}</p> </div> diff --git a/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html b/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html index 086ccfa4ab..e25e60f003 100644 --- a/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html +++ b/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html @@ -11,7 +11,7 @@ translation_of: 'Web/CSS/::-webkit-slider-thumb' <h2 id="Спецификация">Спецификация</h2> -<p>Не является частью какой либо спецефикации. Это проприетарный псевдоэлемент исключительно для WebKit/Blink.</p> +<p>Не является частью какой либо спецификации. Это проприетарный псевдоэлемент исключительно для WebKit/Blink.</p> <h2 id="См._также">См. также</h2> diff --git a/files/ru/web/css/_doublecolon_backdrop/index.html b/files/ru/web/css/_doublecolon_backdrop/index.html index 653ddde995..62837decd3 100644 --- a/files/ru/web/css/_doublecolon_backdrop/index.html +++ b/files/ru/web/css/_doublecolon_backdrop/index.html @@ -46,7 +46,7 @@ dialog::backdrop { <p><img alt="" src="https://mdn.mozillademos.org/files/16287/bbb-backdrop.png" style="height: 282px; width: 500px;"></p> -<p>Обратите внимание на эффект серо-голуых полей сверху и снизу, где подложка видна. Обычно эта область чёрная, но её цвет изменён с помощью CSS кода выше.</p> +<p>Обратите внимание на эффект серо-голубых полей сверху и снизу, где подложка видна. Обычно эта область чёрная, но её цвет изменён с помощью CSS кода выше.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/css/_doublecolon_cue/index.html b/files/ru/web/css/_doublecolon_cue/index.html index d9ec831b57..9ea4f8a876 100644 --- a/files/ru/web/css/_doublecolon_cue/index.html +++ b/files/ru/web/css/_doublecolon_cue/index.html @@ -14,7 +14,7 @@ translation_of: 'Web/CSS/::cue' <h2 id="Разрешённые_свойства">Разрешённые свойства</h2> -<p>Правила с <code>::cue</code> в селекторе ограничены в использовании CSS свойст следующим списком:</p> +<p>Правила с <code>::cue</code> в селекторе ограничены в использовании CSS свойств следующим списком:</p> <ul> <li>{{CSSxRef("background")}} и его свойства</li> @@ -31,7 +31,7 @@ translation_of: 'Web/CSS/::cue' <li>{{CSSxRef("white-space")}}</li> </ul> -<p>Свойства применяются ко всему набору реплик, как если бы они были единым целым. Единственным исключением является <code>background</code> и его сокращённые свойства, которые прменяются к каждой реплике отдельно, чтобы не создавать блоки, которые занимают неожиданно большие области медиа.</p> +<p>Свойства применяются ко всему набору реплик, как если бы они были единым целым. Единственным исключением является <code>background</code> и его сокращённые свойства, которые применяются к каждой реплике отдельно, чтобы не создавать блоки, которые занимают неожиданно большие области медиа.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/_doublecolon_first-letter/index.html b/files/ru/web/css/_doublecolon_first-letter/index.html index f6cb3180e8..467a9e1e0b 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 c63c7d3584..274f6e85c2 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/_doublecolon_grammar-error/index.html b/files/ru/web/css/_doublecolon_grammar-error/index.html index 1db392cd80..f6a33ebf00 100644 --- a/files/ru/web/css/_doublecolon_grammar-error/index.html +++ b/files/ru/web/css/_doublecolon_grammar-error/index.html @@ -22,7 +22,7 @@ translation_of: 'Web/CSS/::grammar-error' <li>{{cssxref("cursor")}}</li> <li>{{cssxref("caret-color")}}</li> <li>{{cssxref("outline")}} и его полные формы</li> - <li>{{cssxref("text-decoration")}} и связанные свойсва</li> + <li>{{cssxref("text-decoration")}} и связанные свойства</li> <li>{{cssxref("text-emphasis-color")}}</li> <li>{{cssxref("text-shadow")}}</li> </ul> diff --git a/files/ru/web/css/_doublecolon_placeholder/index.html b/files/ru/web/css/_doublecolon_placeholder/index.html index 3d0a39dfcb..8eb701150c 100644 --- a/files/ru/web/css/_doublecolon_placeholder/index.html +++ b/files/ru/web/css/_doublecolon_placeholder/index.html @@ -19,7 +19,7 @@ translation_of: 'Web/CSS/::placeholder' <p>В <code>::placeholder</code> можно использовать только те CSS свойства, которые разрешены в псевдоэлементе {{cssxref("::first-line")}}.</p> <div class="note"> -<p><strong>Note:</strong> В большинстве браузеров по умолчанию placeholder выглядит как полупрозрачный или светлосерый текст.</p> +<p><strong>Note:</strong> В большинстве браузеров по умолчанию placeholder выглядит как полупрозрачный или светло-серый текст.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> @@ -108,7 +108,7 @@ translation_of: 'Web/CSS/::placeholder' <h3 id="Метки">Метки</h3> -<p>Placeholder не является заменой элемента {{htmlelement("label")}}. Без метки, которая программно связывается с формой с помощью {{htmlattrxref("for", "label")}} и {{htmlattrxref("id")}} аттрибутов, такие программы, как скринридеры не смогут анализировать элементы {{htmlelement("input")}}.</p> +<p>Placeholder не является заменой элемента {{htmlelement("label")}}. Без метки, которая программно связывается с формой с помощью {{htmlattrxref("for", "label")}} и {{htmlattrxref("id")}} атрибутов, такие программы, как скринридеры не смогут анализировать элементы {{htmlelement("input")}}.</p> <ul> <li><a href="/en-US/docs/Web/Accessibility/ARIA/forms/Basic_form_hints">MDN Basic form hints</a></li> diff --git a/files/ru/web/css/_doublecolon_slotted/index.html b/files/ru/web/css/_doublecolon_slotted/index.html index ca24b32411..d0663700f2 100644 --- a/files/ru/web/css/_doublecolon_slotted/index.html +++ b/files/ru/web/css/_doublecolon_slotted/index.html @@ -28,7 +28,7 @@ translation_of: 'Web/CSS/::slotted' <p>Следующие фрагменты взяты из нашей демо <a href="https://github.com/mdn/web-components-examples/tree/master/slotted-pseudo-element">slotted-pseudo-element</a> (<a href="https://mdn.github.io/web-components-examples/slotted-pseudo-element/">see it live also</a>).</p> -<p>В этом демо мы использовали простой шаблом с тремя слотами:</p> +<p>В этом демо мы использовали простой шаблон с тремя слотами:</p> <pre class="brush: html notranslate"><template id="person-template"> <div> diff --git a/files/ru/web/css/actual_value/index.html b/files/ru/web/css/actual_value/index.html index 10d233d98f..d5fb579491 100644 --- a/files/ru/web/css/actual_value/index.html +++ b/files/ru/web/css/actual_value/index.html @@ -12,7 +12,7 @@ original_slug: Web/CSS/Действительное_значение <h2 id="Описание">Описание</h2> -<p><strong>Действительное значение</strong> CSS свойства - используемое после всех приближений значение. Например, браузер может отображать рамки только с целым значением пикселей и будет прининудительно округлять ширину.</p> +<p><strong>Действительное значение</strong> CSS свойства - используемое после всех приближений значение. Например, браузер может отображать рамки только с целым значением пикселей и будет принудительно округлять ширину.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/css/all/index.html b/files/ru/web/css/all/index.html index fa33c365da..632ac959d2 100644 --- a/files/ru/web/css/all/index.html +++ b/files/ru/web/css/all/index.html @@ -91,7 +91,7 @@ blockquote { background-color: skyblue; color: red; } blockquote { all: unset; }</pre> {{EmbedLiveSample("ex1", "200", "125")}} -<p>{{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это <em>inline</em> элемент (начальное значение), его {{cssxref("background-color")}} является <code>transparent</code> (начальное значение), но его {{cssxref("font-size")}} по-прежнему <code>small</code> унаследованное значение) и его {{cssxref("color")}} является <code>blue</code> (унаследованное значени).</p> +<p>{{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это <em>inline</em> элемент (начальное значение), его {{cssxref("background-color")}} является <code>transparent</code> (начальное значение), но его {{cssxref("font-size")}} по-прежнему <code>small</code> унаследованное значение) и его {{cssxref("color")}} является <code>blue</code> (унаследованное значение).</p> </div> <div id="ex2" style="display: inline-block; width: 225px; vertical-align: top;"> diff --git a/files/ru/web/css/angle/index.html b/files/ru/web/css/angle/index.html index 19a6acc16f..782c6c4fe5 100644 --- a/files/ru/web/css/angle/index.html +++ b/files/ru/web/css/angle/index.html @@ -17,7 +17,7 @@ translation_of: Web/CSS/angle <p>Тип данных <code><angle></code> состоит из числа ({{cssxref("<number>")}}), за которым следует одна из единиц измерения, представленные ниже. Между литералом единицы измерения и цифрой нет пробела. После <code>0</code> указывать единицу измерения необязательно.</p> -<p>Опционально перед числом может стоять знак <code>+</code> или <code>-</code> . Положительное значение отмеряется по часовой стрелке, а отрицательные – против часовой. Чтобы достичь статистических свойств, каждый угол может быть представлен разными значениями, эквивалентными друг другу. Например, <code>90deg</code> равняется <code>-270deg</code>, а <code>1turn</code> равняется <code>4turn</code>. Тем не менее, для достижения динамических свойств эфект будет другим. Например, при применении {{cssxref ("animation")}} или {{cssxref ("transition")}}. </p> +<p>Опционально перед числом может стоять знак <code>+</code> или <code>-</code> . Положительное значение отмеряется по часовой стрелке, а отрицательные – против часовой. Чтобы достичь статистических свойств, каждый угол может быть представлен разными значениями, эквивалентными друг другу. Например, <code>90deg</code> равняется <code>-270deg</code>, а <code>1turn</code> равняется <code>4turn</code>. Тем не менее, для достижения динамических свойств эффект будет другим. Например, при применении {{cssxref ("animation")}} или {{cssxref ("transition")}}. </p> <h3 id="Единицы_измерения">Единицы измерения</h3> diff --git a/files/ru/web/css/animation-delay/index.html b/files/ru/web/css/animation-delay/index.html index c645cafc25..55e5c537eb 100644 --- a/files/ru/web/css/animation-delay/index.html +++ b/files/ru/web/css/animation-delay/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/animation-delay <h2 id="Описание">Описание</h2> -<p><a href="/en-US/docs/CSS" title="CSS">CSS</a> свойство <strong><code>animation-delay</code></strong> определяет время задежки перед стартом анимации.</p> +<p><a href="/en-US/docs/CSS" title="CSS">CSS</a> свойство <strong><code>animation-delay</code></strong> определяет время задержки перед стартом анимации.</p> <p>{{EmbedInteractiveExample("pages/css/animation-delay.html")}}</p> @@ -31,7 +31,7 @@ animation-delay: 2s, 4ms; <dl> <dt><code><time></code></dt> - <dd>Время задержки перед стартом анимации. Может быть определено в секундах (s), либо в милисекундах (ms). Если вы не укажите единицу измерения, свойство будет недействительным.</dd> + <dd>Время задержки перед стартом анимации. Может быть определено в секундах (s), либо в миллисекундах (ms). Если вы не укажите единицу измерения, свойство будет недействительным.</dd> </dl> <h3 id="Формальный_синтаксис">Формальный синтаксис</h3> diff --git a/files/ru/web/css/animation-iteration-count/index.html b/files/ru/web/css/animation-iteration-count/index.html index a39a63842f..653e843e65 100644 --- a/files/ru/web/css/animation-iteration-count/index.html +++ b/files/ru/web/css/animation-iteration-count/index.html @@ -36,7 +36,7 @@ animation-iteration-count: 2, 0, infinite; <dt><code>infinite</code></dt> <dd>Анимация повторяется бесконечно.</dd> <dt><code><number></code></dt> - <dd>Сколько раз анимация будет повторяться; по-умолчанию 1. Отрицательные значения не используются. Можно использовать не целые значения, для проигрывания части анимационного цикла (например, 0.5 воспроизведет половину анимационного цикла).</dd> + <dd>Сколько раз анимация будет повторяться; по умолчанию 1. Отрицательные значения не используются. Можно использовать не целые значения, для проигрывания части анимационного цикла (например, 0.5 воспроизведет половину анимационного цикла).</dd> </dl> <h3 id="Правила_синтаксиса">Правила синтаксиса</h3> @@ -128,6 +128,6 @@ animation-iteration-count: 2, 0, infinite; <h2 id="Также_смотрите">Также смотрите</h2> <ul> - <li><a href="/ru/docs/Web/CSS/CSS_Animations/Ispolzovanie_CSS_animatciy" title="Обучение CSS анимациям">Ипользование CSS анимацией</a></li> + <li><a href="/ru/docs/Web/CSS/CSS_Animations/Ispolzovanie_CSS_animatciy" title="Обучение CSS анимациям">Использование CSS анимацией</a></li> <li>{{ domxref("AnimationEvent", "AnimationEvent") }}</li> </ul> diff --git a/files/ru/web/css/animation-name/index.html b/files/ru/web/css/animation-name/index.html index 4a7c3ff3da..2e6ff16b28 100644 --- a/files/ru/web/css/animation-name/index.html +++ b/files/ru/web/css/animation-name/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/animation-name <h2 id="Описание">Описание</h2> -<p><a href="/en-US/docs/CSS" title="CSS">CSS</a> свойство <strong><code>animation-name</code></strong> задаёт список анимаций, чтобы примененить к элементу. Каждое имя является правилом {{cssxref("@keyframes")}}, которое задаёт значения свойств для последовательности анимации.</p> +<p><a href="/en-US/docs/CSS" title="CSS">CSS</a> свойство <strong><code>animation-name</code></strong> задаёт список анимаций, чтобы применить к элементу. Каждое имя является правилом {{cssxref("@keyframes")}}, которое задаёт значения свойств для последовательности анимации.</p> <div>{{EmbedInteractiveExample("pages/css/animation-name.html")}}</div> @@ -40,7 +40,7 @@ animation-name: <a href="/en-US/docs/Web/CSS/unset">unset</a> <dt><code>none</code></dt> <dd>Это специальное ключевое слово, обозначающее отсутствие ключевых кадров. Оно может быть использовано для отключения анимации без изменения порядка других идентификаторов, или для отключения анимации, поступающей из каскада.</dd> <dt>{{cssxref("custom-ident","<custom-ident>")}}</dt> - <dd>Строка, идентифицирующая анимацию. Этот индентификатор состоит из комбинации букв без учета регистра от <code>a</code> до <code>z</code>, цифр от <code>0</code> до <code>9</code>, подчеркивания (<code>_</code>), и/или черты (<code>-</code>). Первый символ без черты должен быть буквой (то есть, без цифры в начале, даже если перед ним стоит черта.) Кроме того, две черты запрещены в начале идентификатора. Оно не может быть <code>none</code>, <code>unset</code>, <code>initial</code>, или <code>inherit</code> в любой комбинации случаев.</dd> + <dd>Строка, идентифицирующая анимацию. Этот идентификатор состоит из комбинации букв без учета регистра от <code>a</code> до <code>z</code>, цифр от <code>0</code> до <code>9</code>, подчеркивания (<code>_</code>), и/или черты (<code>-</code>). Первый символ без черты должен быть буквой (то есть, без цифры в начале, даже если перед ним стоит черта.) Кроме того, две черты запрещены в начале идентификатора. Оно не может быть <code>none</code>, <code>unset</code>, <code>initial</code>, или <code>inherit</code> в любой комбинации случаев.</dd> </dl> <h3 id="Формальный_синтаксис">Формальный синтаксис</h3> diff --git a/files/ru/web/css/appearance/index.html b/files/ru/web/css/appearance/index.html index a150d04a99..3ae986fbd9 100644 --- a/files/ru/web/css/appearance/index.html +++ b/files/ru/web/css/appearance/index.html @@ -2631,7 +2631,7 @@ div{ color: black; } </pre> -<p>Смотрите также <a href="http://jsfiddle.net/go392m5s/">this JSFiddle</a> в качестве примера, показывающего как вы можете использвать <code>appearance: none</code> для стилизации радио кнопок и чекбоксов.</p> +<p>Смотрите также <a href="http://jsfiddle.net/go392m5s/">this JSFiddle</a> в качестве примера, показывающего как вы можете использовать <code>appearance: none</code> для стилизации радио кнопок и чекбоксов.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/css/attribute_selectors/index.html b/files/ru/web/css/attribute_selectors/index.html index 290db85234..2b8ac3861c 100644 --- a/files/ru/web/css/attribute_selectors/index.html +++ b/files/ru/web/css/attribute_selectors/index.html @@ -13,11 +13,11 @@ translation_of: Web/CSS/Attribute_selectors <dt><code>[<em>attr</em>]</code></dt> <dd>Обозначает элемент с атрибутом по имени attr.</dd> <dt><code>[<em>attr</em>=<em>value</em>]</code></dt> - <dd>Обозначает элемент с именем атрибута attr и значением в точности сопадающим с value.</dd> + <dd>Обозначает элемент с именем атрибута attr и значением в точности совпадающим с value.</dd> <dt><code>[<em>attr</em>~=<em>value</em>]</code></dt> <dd>Обозначает элемент с именем атрибута attr значением которого является набор слов разделенных пробелами, одно из которых в точности равно value</dd> <dt><code>[<em>attr</em>|=<em>value</em>]</code></dt> - <dd>Обозначает элемент с именем атрибута attr. Его значение при этом может быть или в точности равно "value" или может начинаться с "value" со сразу же следующим "-" (U+002D). Это может быть использовано когда язык описывается с подкодом.</dd> + <dd>Обозначает элемент с именем атрибута attr. Его значение при этом может быть или в точности равно "value" или может начинаться с "value" со сразу же следующим "-" (U+002D). Это может быть использовано когда язык описывается с подходом.</dd> <dt><code>[<em>attr</em>^=<em>value</em>]</code></dt> <dd>Обозначает элемент с именем атрибута attr значение которого начинается с "value"</dd> <dt><code>[<em>attr</em>$=<em>value</em>]</code></dt> diff --git a/files/ru/web/css/backface-visibility/index.html b/files/ru/web/css/backface-visibility/index.html index c95ad5645a..f6bf261e3b 100644 --- a/files/ru/web/css/backface-visibility/index.html +++ b/files/ru/web/css/backface-visibility/index.html @@ -196,7 +196,7 @@ th, p, td { <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице генерируется из структурированных данных. Если вы хотите внести свой вклад в эти данные, просмотритеt <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на извлечение.</div> +<div class="hidden">Таблица совместимости на этой странице генерируется из структурированных данных. Если вы хотите внести свой вклад в эти данные, просмотрите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на извлечение.</div> <p>{{Compat("css.properties.backface-visibility")}}</p> diff --git a/files/ru/web/css/background-color/index.html b/files/ru/web/css/background-color/index.html index 8f00a3a5ef..17584b482c 100644 --- a/files/ru/web/css/background-color/index.html +++ b/files/ru/web/css/background-color/index.html @@ -16,7 +16,7 @@ translation_of: Web/CSS/background-color <p>{{EmbedInteractiveExample("pages/css/background-color.html")}}</p> -<h2 id="Cинтаксис">Cинтаксис</h2> +<h2 id="Синтаксис">Синтаксис</h2> <pre class="brush: css no-line-numbers">/* Словесные значения */ background-color: red; diff --git a/files/ru/web/css/background-image/index.html b/files/ru/web/css/background-image/index.html index ac0c6486f8..095ff8ee1e 100644 --- a/files/ru/web/css/background-image/index.html +++ b/files/ru/web/css/background-image/index.html @@ -18,7 +18,7 @@ translation_of: Web/CSS/background-image <p>Если указанное изображение не может быть нарисовано (например, когда файл, определенный указанным URI, не может быть загружен), браузеры обрабатывают его так, как если бы оно было значением <code>none</code>.</p> -<div class="note"><strong>Обратите внимание:</strong> Даже, если изображение непрозначно и цвет не будет показан при нормальных обстоятельствах, веб-разработчику следует всегда указывать аттрибут {{cssxref("background-color")}}. Если изображение не может быть загружено —например, в случае отказа сетевого подключения — у элемента будет отображён цветной фон.</div> +<div class="note"><strong>Обратите внимание:</strong> Даже, если изображение непрозрачно и цвет не будет показан при нормальных обстоятельствах, веб-разработчику следует всегда указывать атрибут {{cssxref("background-color")}}. Если изображение не может быть загружено —например, в случае отказа сетевого подключения — у элемента будет отображён цветной фон.</div> <p>{{cssinfo}}</p> diff --git a/files/ru/web/css/background-origin/index.html b/files/ru/web/css/background-origin/index.html index 8709aa7032..849a858b88 100644 --- a/files/ru/web/css/background-origin/index.html +++ b/files/ru/web/css/background-origin/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/background-origin --- <div>{{CSSRef}}</div> -<p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>background-origin</code></strong> устанавливает <em>область расположения фона</em>. Другими словами, оно устанавливает исходную позицию изображения, установленнную с помощью свойства {{cssxref("background-image")}}.</p> +<p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>background-origin</code></strong> устанавливает <em>область расположения фона</em>. Другими словами, оно устанавливает исходную позицию изображения, установленную с помощью свойства {{cssxref("background-image")}}.</p> <div>{{EmbedInteractiveExample("pages/css/background-origin.html")}}</div> @@ -15,7 +15,7 @@ translation_of: Web/CSS/background-origin <div class="note"><strong>Примечание:</strong> Сокращение {{cssxref("background")}} сбрасывает значения этого свойства к его начальному значению, если оно не указано.</div> -<h2 id="Синаксис">Синаксис</h2> +<h2 id="Синтаксис">Синтаксис</h2> <pre class="brush: css no-line-numbers">/* Ключевые значения */ background-origin: border-box; diff --git a/files/ru/web/css/background-position-x/index.html b/files/ru/web/css/background-position-x/index.html index 1942e76fda..3aaa1af51e 100644 --- a/files/ru/web/css/background-position-x/index.html +++ b/files/ru/web/css/background-position-x/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/background-position-x -<p>Значение этого свойства отменяется любой декларацией {{cssxref("background")}} или коротким свойством {{cssxref("background-position")}} применеными после его объявления.</p> +<p>Значение этого свойства отменяется любой декларацией {{cssxref("background")}} или коротким свойством {{cssxref("background-position")}} примененными после его объявления.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/css/background-repeat/index.html b/files/ru/web/css/background-repeat/index.html index 9699a22440..76eb8e36a1 100644 --- a/files/ru/web/css/background-repeat/index.html +++ b/files/ru/web/css/background-repeat/index.html @@ -87,7 +87,7 @@ background-repeat: unset;</code></pre> </tr> <tr> <td><code>space</code></td> - <td>Изображение повторяется в заданном направлении столько раз, сколько необходимо, чтобы покрыть большую часть области рисования фонового изображения, не обрезая изображение. Оставшееся незакрытое пространство равномерно распределено между изображениями. Первое и последнее изображения касаются края элемента. Значение CSS свойства {{cssxref("background-position")}} игнорируется для рассматриваемого направления, за исключением случаев, когда отдельное изображение больше области рисования фоновго изображения, что является единственным случаем, когда изображение может быть обрезано, когда используется значение <code>space</code>.</td> + <td>Изображение повторяется в заданном направлении столько раз, сколько необходимо, чтобы покрыть большую часть области рисования фонового изображения, не обрезая изображение. Оставшееся незакрытое пространство равномерно распределено между изображениями. Первое и последнее изображения касаются края элемента. Значение CSS свойства {{cssxref("background-position")}} игнорируется для рассматриваемого направления, за исключением случаев, когда отдельное изображение больше области рисования фонового изображения, что является единственным случаем, когда изображение может быть обрезано, когда используется значение <code>space</code>.</td> </tr> <tr> <td><code>round</code></td> diff --git a/files/ru/web/css/background-size/index.html b/files/ru/web/css/background-size/index.html index cc7b17241d..f93b74acd7 100644 --- a/files/ru/web/css/background-size/index.html +++ b/files/ru/web/css/background-size/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/background-size <p>Значение <strong><code>background-size</code></strong> в <a href="/en-US/docs/CSS" title="CSS">CSS</a> позволяет задавать размер фонового изображения. Изображение может быть оставлено в исходном размере, растянуто, или подогнано под размеры доступного пространства.</p> -<div class="note"><strong>Предупреждение:</strong> Если значение этого свойства не задано в сокращенном свойстве {{cssxref("background")}}, которое применяется к элементу после CSS свойства <code>background-size</code>, то значение этого свойства затем сбрасывается до исходного значения c помощью сокращеного свойства.</div> +<div class="note"><strong>Предупреждение:</strong> Если значение этого свойства не задано в сокращенном свойстве {{cssxref("background")}}, которое применяется к элементу после CSS свойства <code>background-size</code>, то значение этого свойства затем сбрасывается до исходного значения c помощью сокращенного свойства.</div> <p>{{cssinfo}}</p> @@ -63,14 +63,14 @@ background-size: unset; <p>Интерпретация возможных значений зависит от внутренних размеров изображений (ширина и высота) и внутренней пропорции (соотношение ширины и высоты). Растровое изображение всегда имеет внутренние размеры и внутреннюю пропорцию. Векторное изображение может иметь оба внутренних размера (и, следовательно, должно иметь внутреннюю пропорцию). Он также может иметь одно или не иметь внутренних размеров, и в любом случае он может иметь или не иметь внутреннюю пропорцию. Градиенты обрабатываются как изображения без внутренних размеров или внутренней пропорции.</p> <div class="note"> -<p><strong>Предупреждение: </strong>Это поведение изменилось в Gecko 8.0 {{geckoRelease("8.0")}}. До этого, градиенты обрабатывались как изображения без внутренних размеров, с внутренней пропоцией, идентичной пропорции области расположения фона.</p> +<p><strong>Предупреждение: </strong>Это поведение изменилось в Gecko 8.0 {{geckoRelease("8.0")}}. До этого, градиенты обрабатывались как изображения без внутренних размеров, с внутренней пропорцией, идентичной пропорции области расположения фона.</p> </div> -<p>Фоновые изображения, сгенерированные из элементов с использованием {{cssxref("-moz-element")}} (которые фактически соответсвуют элементу) в настоящее время обрабатываются как изображения с размерами элемента, или как область расположения фона, если элементом является SVG, с соответсвующей внутренней пропорцией.</p> +<p>Фоновые изображения, сгенерированные из элементов с использованием {{cssxref("-moz-element")}} (которые фактически соответствуют элементу) в настоящее время обрабатываются как изображения с размерами элемента, или как область расположения фона, если элементом является SVG, с соответствующей внутренней пропорцией.</p> <div class="note"><strong>Предупреждение:</strong> Это не определенное в настоящее время поведение, которое заключается в том, что внутренние размеры и пропорция должны быть такими же как у элемента во всех случаях.</div> -<p>Визуализированный размер фоного изображения затем вычисляется следующим способом:</p> +<p>Визуализированный размер фонового изображения затем вычисляется следующим способом:</p> <dl> <dt><font face="Open Sans, Arial, sans-serif">Если оба атрибута в </font><code>background-size</code> заданы и различны от <code>auto</code>:</dt> @@ -78,9 +78,9 @@ background-size: unset; <dt>Если <code>background-size</code> содержит <code>contain</code> или <code>cover</code>:</dt> <dd>Изображение визуализируется с сохранением его внутренней пропорции при наибольшем размере, который содержится внутри области размещения фона или покрывает ее. Если изображение не имеет внутренней пропорции, оно отображается с размером области расположения фона.</dd> <dt>Если <code>background-size</code> установлен как <code>auto</code> или <code>auto auto</code>:</dt> - <dd>Если изображение имеет оба внутренних размера, оно отображается с таким размером. Если оно не имеет внутренних размеров и внутренней пропорции, оно отображается с размером области расположения фона. Если оно не имеет размеров, но имеет пропорцию, оно отображается так, если был был бы указан <code>contain</code>. Если изображение имеет один внутренний размер и пропорцию, оно отображается с размером, определенным этим одним размером и пропорцией. Если изображение имеет один внутренний размер, но не имеет пропоцию, оно отображается с использованием внутреннего размера и соответсвующим размером области позиционирования фона.</dd> + <dd>Если изображение имеет оба внутренних размера, оно отображается с таким размером. Если оно не имеет внутренних размеров и внутренней пропорции, оно отображается с размером области расположения фона. Если оно не имеет размеров, но имеет пропорцию, оно отображается так, если был был бы указан <code>contain</code>. Если изображение имеет один внутренний размер и пропорцию, оно отображается с размером, определенным этим одним размером и пропорцией. Если изображение имеет один внутренний размер, но не имеет пропорцию, оно отображается с использованием внутреннего размера и соответствующим размером области позиционирования фона.</dd> <dt>Если background-size содержит один атрибут <code>auto</code> и один не-<code>auto</code>:</dt> - <dd>Если изображение имеет внутреннюю пропорцию, то визуализируйте его используя указанный размер, и вычислите другой размер из указанного размера и внутренней пропорции. Если изображение не имет внутренней пропорции, используйте указанный размер для этого размера. Для другого размера, используйте соответсвующее внутреннее измерение изображения, если оно есть. Если такого внутреннего размера нет, используйте соответствующий размер области расположения фона.</dd> + <dd>Если изображение имеет внутреннюю пропорцию, то визуализируйте его используя указанный размер, и вычислите другой размер из указанного размера и внутренней пропорции. Если изображение не имеет внутренней пропорции, используйте указанный размер для этого размера. Для другого размера, используйте соответствующее внутреннее измерение изображения, если оно есть. Если такого внутреннего размера нет, используйте соответствующий размер области расположения фона.</dd> </dl> <p>Обратите внимание, что изменение размера фона для векторных изображений, в которых отсутствуют внутренние размеры или пропорции, еще не полностью реализовано во всех браузерах. Будьте осторожны, полагаясь на поведение, описанное выше, и тестируйте в нескольких браузерах (в частности, включая версии Firefox 7 или более ранней версии и Firefox 8 или более поздней версии), чтобы убедиться, что различные визуализации приемлемы.</p> diff --git a/files/ru/web/css/background/index.html b/files/ru/web/css/background/index.html index 6971e339a0..7b39d9589c 100644 --- a/files/ru/web/css/background/index.html +++ b/files/ru/web/css/background/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/background --- <div>{{CSSRef("CSS Background")}}</div> -<div>Сокращенное <a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>background</code></strong> устанаваливает сразу все свойства стиля фона, такие как цвет, изображение, источник и размер, или метод повтора.</div> +<div>Сокращенное <a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>background</code></strong> устанавливает сразу все свойства стиля фона, такие как цвет, изображение, источник и размер, или метод повтора.</div> <div></div> diff --git a/files/ru/web/css/border-image-slice/index.html b/files/ru/web/css/border-image-slice/index.html index 741c116103..9841ac6e97 100644 --- a/files/ru/web/css/border-image-slice/index.html +++ b/files/ru/web/css/border-image-slice/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/border-image-slice <h2 id="Описание">Описание</h2> -<p>CSS свойство <strong><code>border-image-slice</code></strong> делит изображение указанное в {{cssxref("border-image-source")}} на девять областей: четыре угла, четыре края и середину. Это просходит путем указания 4 внутренних смещений.</p> +<p>CSS свойство <strong><code>border-image-slice</code></strong> делит изображение указанное в {{cssxref("border-image-source")}} на девять областей: четыре угла, четыре края и середину. Это происходит путем указания 4 внутренних смещений.</p> <p><a href="/files/3814/border-image-slice.png" style="float: left;"><img alt="The nine slices defined by the CSS border-image shorthand or border-image-slice longhand properties" src="/files/3814/border-image-slice.png" style="height: 132px; margin: 1px; padding: 1em; width: 250px;"></a>Четыре значения управляют положением линий среза. If some are not specified, they are inferred from the other with the usual 4-value syntax of CSS.</p> diff --git a/files/ru/web/css/border-radius/index.html b/files/ru/web/css/border-radius/index.html index ee12ecad6b..263d4887c5 100644 --- a/files/ru/web/css/border-radius/index.html +++ b/files/ru/web/css/border-radius/index.html @@ -62,7 +62,7 @@ border-radius: unset; <ul> <li>одно, два, три или четыре значения {{cssxref("<length>")}} или {{cssxref("<percentage>")}}. Используется для задания обычного радиуса углов.</li> - <li>одна, две, три или четыре пары значений <code><length></code> or <code><percentage></code>, разделённые "/". Используется для задания эллиптического склугления.</li> + <li>одна, две, три или четыре пары значений <code><length></code> or <code><percentage></code>, разделённые "/". Используется для задания эллиптического скругления.</li> </ul> <h3 id="Значения">Значения</h3> @@ -77,7 +77,7 @@ border-radius: unset; <tr> <td style="vertical-align: top;"><em>top-left-and-bottom-right</em></td> <td><img alt="top-left-bottom-right.png" class="default internal" src="/@api/deki/files/6141/=top-left-bottom-right.png"></td> - <td style="vertical-align: top;">{{cssxref("<length>")}} или {{cssxref("<percentage>")}} уставливает радиус для верхнего левого и нижного правого угла элемента. Следует использовать синтаксис с двумя значениями.</td> + <td style="vertical-align: top;">{{cssxref("<length>")}} или {{cssxref("<percentage>")}} устанавливает радиус для верхнего левого и нижнего правого угла элемента. Следует использовать синтаксис с двумя значениями.</td> </tr> <tr> <td style="vertical-align: top;"><em>top-right-and-bottom-left</em></td> @@ -92,12 +92,12 @@ border-radius: unset; <tr> <td style="vertical-align: top;"><em>top-right</em></td> <td style="margin-left: 2px;"><img alt="top-right.png" class="default internal" src="/@api/deki/files/6144/=top-right.png"></td> - <td style="vertical-align: top;">{{cssxref("<length>")}} или {{cssxref("<percentage>")}} уставливает радиус для верхнего правого угла элемента. Следует использовать синтаксис с четырьмя значениями.</td> + <td style="vertical-align: top;">{{cssxref("<length>")}} или {{cssxref("<percentage>")}} устанавливает радиус для верхнего правого угла элемента. Следует использовать синтаксис с четырьмя значениями.</td> </tr> <tr> <td style="vertical-align: top;"><em>bottom-right</em></td> <td style="margin-left: 2px;"><img alt="bottom-rigth.png" class="default internal" src="/@api/deki/files/6140/=bottom-rigth.png"></td> - <td style="vertical-align: top;">{{cssxref("<length>")}} или {{cssxref("<percentage>")}} уставливает радиус для нижнего правого угла элемента. Можно использовать синтаксис с тремя и четырьмя значениями.</td> + <td style="vertical-align: top;">{{cssxref("<length>")}} или {{cssxref("<percentage>")}} устанавливает радиус для нижнего правого угла элемента. Можно использовать синтаксис с тремя и четырьмя значениями.</td> </tr> <tr> <td style="vertical-align: top;"><em>bottom-left</em></td> diff --git a/files/ru/web/css/border/index.html b/files/ru/web/css/border/index.html index 9f116b5eda..6ae7e6460b 100644 --- a/files/ru/web/css/border/index.html +++ b/files/ru/web/css/border/index.html @@ -5,7 +5,7 @@ tags: - CSS Границы - CSS свойства - Разметка - - СовместимостьМобильныхБраузеров + - Совместимость Мобильных Браузеров - Справка translation_of: Web/CSS/border --- @@ -15,7 +15,7 @@ translation_of: Web/CSS/border <div>{{EmbedInteractiveExample("pages/css/border.html")}}</div> -<p>Как и во всех универсальных свойствах, любое персональное значение, которое не указанно, устанавливается в начальное занчение. Обратите внимание, <code>border</code> не может быть использован для указания пользовательского значения {{cssxref("border-image")}}, но вместо этого устанавливает его в начальное значение, т.е. <code>none</code>.</p> +<p>Как и во всех универсальных свойствах, любое персональное значение, которое не указанно, устанавливается в начальное значение. Обратите внимание, <code>border</code> не может быть использован для указания пользовательского значения {{cssxref("border-image")}}, но вместо этого устанавливает его в начальное значение, т.е. <code>none</code>.</p> <pre class="brush: css no-line-numbers">border: 1px; border: 2px dotted; diff --git a/files/ru/web/css/box-shadow/index.html b/files/ru/web/css/box-shadow/index.html index 0d687d431c..b50dded28d 100644 --- a/files/ru/web/css/box-shadow/index.html +++ b/files/ru/web/css/box-shadow/index.html @@ -53,7 +53,7 @@ box-shadow: unset; <ul> <li>Если задано только два значения, они интерпретируется как <code><a href="#<offset-x> <offset-y>"><offset-x><offset-y></a></code> values.</li> <li>Если задано третье значение, оно понимается как <code><a href="#<blur-radius>"><blur-radius></a></code>.</li> - <li>Если задано чертвёртое значение, оно интерпретируется <code><a href="#<spread-radius>"><spread-radius></a></code>.</li> + <li>Если задано четвертое значение, оно интерпретируется <code><a href="#<spread-radius>"><spread-radius></a></code>.</li> </ul> </li> <li>Дополнительно, можно задать ключевое слово <code><a href="#inset">inset</a></code>.</li> @@ -72,7 +72,7 @@ box-shadow: unset; <dd>Существуют 2 значения {{ cssxref("<length>") }}, которые устанавливают смещение тени. <code><offset-x></code> определяет горизонтальное расстояние. Отрицательные значения располагают тень слева от элемента. <code><offset-y></code> определяет вертикальное расстояние. Отрицательные значения располагают тень выше элемента. Посмотрите какие единицы {{ cssxref("<length>") }} можно задать.<br> Если оба значения равны <code>0</code>, то тень расположится за элементом (и будет отображаться размытие, если <code><blur-radius></code> и/или <code><spread-radius></code> установлены).</dd> <dt><a id="<blur-radius>" name="<blur-radius>"><code><blur-radius></code></a></dt> - <dd>Это третье значение {{ cssxref("<length>") }}. Чем больше это значение, тем больше и светлее размытие. Отрицательные значения не поддерживаются. Если не определено, будет использоваться <code>0</code> (резкий край тени). Спецификация не содержит в себе точного алгоритма расчёта размытости теней, однако, в ней указано следущее:</dd> + <dd>Это третье значение {{ cssxref("<length>") }}. Чем больше это значение, тем больше и светлее размытие. Отрицательные значения не поддерживаются. Если не определено, будет использоваться <code>0</code> (резкий край тени). Спецификация не содержит в себе точного алгоритма расчёта размытости теней, однако, в ней указано следующее:</dd> <dd> <blockquote>…for a long, straight shadow edge, this should create a color transition the length of the blur distance that is perpendicular to and centered on the shadow’s edge, and that ranges from the full shadow color at the radius endpoint inside the shadow to fully transparent at the endpoint outside it.</blockquote> </dd> diff --git a/files/ru/web/css/box-sizing/index.html b/files/ru/web/css/box-sizing/index.html index 5d36f2ea33..f0d5760e9e 100644 --- a/files/ru/web/css/box-sizing/index.html +++ b/files/ru/web/css/box-sizing/index.html @@ -27,12 +27,12 @@ translation_of: Web/CSS/box-sizing </ul> <div class="blockIndicator note"> -<p><strong>Примечание: </strong>Часто выставление <code>box-sizing: border-box</code> полезно для размещения элементов. Оно сильно упрощает работу с размерами элементов, и как правило устранаяет ряд подводных камней, на которые вы можете наткнуться, размещая контент. С другой стороны, используя <code>position-relative</code> или <code>position: absolute</code>, <code>box-sizing: content-box</code> позволяет позиционным значениям быть зависимыми только от контента, а не от границ и отступов, что иногда желательно.</p> +<p><strong>Примечание: </strong>Часто выставление <code>box-sizing: border-box</code> полезно для размещения элементов. Оно сильно упрощает работу с размерами элементов, и как правило устраняет ряд подводных камней, на которые вы можете наткнуться, размещая контент. С другой стороны, используя <code>position-relative</code> или <code>position: absolute</code>, <code>box-sizing: content-box</code> позволяет позиционным значениям быть зависимыми только от контента, а не от границ и отступов, что иногда желательно.</p> </div> <h2 id="Syntax" name="Syntax">Синтаксис</h2> -<p>Для свойства <code>box-sizing</code> устанавливается единственное ключевое слово из списка значени ниже.</p> +<p>Для свойства <code>box-sizing</code> устанавливается единственное ключевое слово из списка значений ниже.</p> <h3 id="Values" name="Values">Значения</h3> @@ -117,7 +117,7 @@ translation_of: Web/CSS/box-sizing <p>{{cssinfo}}</p> -<h2 id="Browser_compatibility" name="Browser_compatibility">Совмествимость с браузерами</h2> +<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <p>{{Compat("css.properties.box-sizing")}}</p> diff --git a/files/ru/web/css/calc()/index.html b/files/ru/web/css/calc()/index.html index 6f5b561a35..5dd08d22f0 100644 --- a/files/ru/web/css/calc()/index.html +++ b/files/ru/web/css/calc()/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/calc() --- <div>{{CSSRef}}</div> -<p><code>calc()</code> - это функция CSS, которая даёт возможность расчитать значения свойств CSS во время их определения. Она может быть использована везде, где применимы {{cssxref("<length>")}}, {{cssxref("<frequency>")}}, {{cssxref("<angle>")}}, {{cssxref("<time>")}}, {{cssxref("<number>")}}, или {{cssxref("<integer>")}}.</p> +<p><code>calc()</code> - это функция CSS, которая даёт возможность рассчитать значения свойств CSS во время их определения. Она может быть использована везде, где применимы {{cssxref("<length>")}}, {{cssxref("<frequency>")}}, {{cssxref("<angle>")}}, {{cssxref("<time>")}}, {{cssxref("<number>")}}, или {{cssxref("<integer>")}}.</p> <p>{{EmbedInteractiveExample("pages/css/function-calc.html")}}</p> @@ -30,7 +30,7 @@ translation_of: Web/CSS/calc() <div class="note"><strong>Внимание:</strong> Деление на ноль выдаст ошибку при парсинге HTML.</div> -<div class="note"><strong>Note:</strong> Операторы + и - всегда должны быть по обеим сторонам отеделены пробелом. Выражение <code>calc(50% -8px)</code> будет интерпретировано как величина в процентах и следующее за ним отрицательное число в пикселях (не верное выражение), в то время как <code>calc(50% - 8px)</code> - правильное выражение, будет интерпретировано как вычитание из процентов длины в пикселях.<br> +<div class="note"><strong>Note:</strong> Операторы + и - всегда должны быть по обеим сторонам отделены пробелом. Выражение <code>calc(50% -8px)</code> будет интерпретировано как величина в процентах и следующее за ним отрицательное число в пикселях (не верное выражение), в то время как <code>calc(50% - 8px)</code> - правильное выражение, будет интерпретировано как вычитание из процентов длины в пикселях.<br> Операторы * и / не требуют отделения от операндов знаком пробела, но это не запрещено и даже приветствуется.</div> <dl> @@ -85,7 +85,7 @@ translation_of: Web/CSS/calc() } </pre> -<p>Здесь ширина формы становится 1/6 от ширины окна. Затем, чтобы задать размер полей, мы вновь используем функцию <code>calc()</code>, которая вычитает 1em из ширины блока. Теперь применим этот CSS к следущему HTML-коду:</p> +<p>Здесь ширина формы становится 1/6 от ширины окна. Затем, чтобы задать размер полей, мы вновь используем функцию <code>calc()</code>, которая вычитает 1em из ширины блока. Теперь применим этот CSS к следующему HTML-коду:</p> <pre class="brush: html notranslate"><form> <div id="formbox"> diff --git a/files/ru/web/css/clamp()/index.html b/files/ru/web/css/clamp()/index.html index 9f648d00c0..4411cbf891 100644 --- a/files/ru/web/css/clamp()/index.html +++ b/files/ru/web/css/clamp()/index.html @@ -32,7 +32,7 @@ width: 64px;</pre> <p><em>Предпочитаемое значение</em> – это выражение, чей результат будет использовать до тех пор, пока будет оставаться в пределах допустимого диапазона значений.</p> -<p><em>Максимальное значение</em> – наибольшее значение, которое будет устанавливаться, если предпочитаемое будет превышать верхную границу допустимого диапазона.</p> +<p><em>Максимальное значение</em> – наибольшее значение, которое будет устанавливаться, если предпочитаемое будет превышать верхнюю границу допустимого диапазона.</p> <p>Передаваемые значения могут быть математическими функциями (более подробно смотрите на {{CSSxRef("calc")}}), точными значениями, или другими выражениями, такими как {{CSSxRef("attr", "attr()")}}, результатом которых является допустимый тип аргумента (как например {{CSSxRef("<length>")}}), или вложенные {{CSSxRef("min")}} и {{CSSxRef("max")}} функции. Для математических выражений можно использовать сложение, вычитание, умножение и деление без использования функции <code>calc()</code>. Также, можно использовать круглые скобки, чтобы задать порядок вычисление.</p> diff --git a/files/ru/web/css/class_selectors/index.html b/files/ru/web/css/class_selectors/index.html index ce498a8a2b..714ac4588e 100644 --- a/files/ru/web/css/class_selectors/index.html +++ b/files/ru/web/css/class_selectors/index.html @@ -13,7 +13,7 @@ translation_of: Web/CSS/Class_selectors <pre class="syntaxbox">.classname { <em>style properties</em> }</pre> -<p>Это эквивалетно следующему {{ Cssxref("Attribute_selectors", "селектор по атрибуту") }}:</p> +<p>Это эквивалентно следующему {{ Cssxref("Attribute_selectors", "селектор по атрибуту") }}:</p> <pre class="syntaxbox">[class~=classname] { <em>style properties</em> }</pre> diff --git a/files/ru/web/css/clip-path/index.html b/files/ru/web/css/clip-path/index.html index dda764f515..69fe7f99ed 100644 --- a/files/ru/web/css/clip-path/index.html +++ b/files/ru/web/css/clip-path/index.html @@ -463,7 +463,7 @@ svg text.em { <dt><code>stroke-box</code></dt> <dd>Использует stroke bounding box в качестве базовой области.</dd> <dt><code>view-box</code></dt> - <dd>Использует ближайший SVG viewport в качестве базового блока. Если отриут {{SVGAttr("viewBox")}} определен для элемента, создающего SVG viewport, базовый блок позиционируется в оригинальной системе координат, установленной атрибутом <code>viewBox</code> и ширина и высота базового блока устанавливаются равными значениям атрибута <code>viewBox</code>.</dd> + <dd>Использует ближайший SVG viewport в качестве базового блока. Если атрибут {{SVGAttr("viewBox")}} определен для элемента, создающего SVG viewport, базовый блок позиционируется в оригинальной системе координат, установленной атрибутом <code>viewBox</code> и ширина и высота базового блока устанавливаются равными значениям атрибута <code>viewBox</code>.</dd> <dt><code>margin-box</code></dt> <dd>Использует <a href="CSS_Box_Model/Introduction_to_the_CSS_box_model">margin box</a> в качестве базового блока.</dd> <dt><code>border-box</code></dt> diff --git a/files/ru/web/css/color_value/index.html b/files/ru/web/css/color_value/index.html index f40f69bcd3..08edbe380a 100644 --- a/files/ru/web/css/color_value/index.html +++ b/files/ru/web/css/color_value/index.html @@ -5,26 +5,26 @@ translation_of: Web/CSS/color_value --- <div>{{CSSRef}}</div> -<p>Тип <strong><code><color></code></strong> <a href="/en-US/docs/Web/CSS">CSS</a> <a href="/en-US/docs/Web/CSS/CSS_Types">data type</a> предоставляет цвет в цветовом спектре <a class="external" href="https://en.wikipedia.org/wiki/SRGB">sRGB</a>. В <code><color></code> может включать значения прозрачности Альфа-канала (<a class="external" href="https://en.wikipedia.org/wiki/Alpha_compositing">alpha-channel</a>), уыказывающие, как цвет <a href="https://www.w3.org/TR/2003/REC-SVG11-20030114/masking.html#SimpleAlphaBlending">сочетается</a> с его фоном.</p> +<p>Тип <strong><code><color></code></strong> <a href="/en-US/docs/Web/CSS">CSS</a> <a href="/en-US/docs/Web/CSS/CSS_Types">data type</a> предоставляет цвет в цветовом спектре <a class="external" href="https://en.wikipedia.org/wiki/SRGB">sRGB</a>. В <code><color></code> может включать значения прозрачности Альфа-канала (<a class="external" href="https://en.wikipedia.org/wiki/Alpha_compositing">alpha-channel</a>), указывающие, как цвет <a href="https://www.w3.org/TR/2003/REC-SVG11-20030114/masking.html#SimpleAlphaBlending">сочетается</a> с его фоном.</p> <p>В <code><color></code> может быть определена любым из следующих способов can.</p> <ul> <li>Использование или подключенного свойства веденного в параметр (например, <code>blue</code> или <code>transparent</code>)</li> <li>Использование <a href="https://en.wikipedia.org/wiki/RGB_color_model#Geometric_representation">кубической системы координат RGB</a> (via the #-hexadecimal or the <code>rgb()</code> and <code>rgba()</code> functional notations)<img alt="Цветовая модель представлена виде куба" src="https://en.wikipedia.org/wiki/RGB_color_model#/media/File:RGB_color_solid_cube.png" style="height: 200px; width: 200px;"></li> - <li>Использование <a href="https://en.wikipedia.org/wiki/HSL_and_HSV">цилиндрической системы координат HSL</a> (через фунциональные обозначения <code>hsl()</code> и <code>hsla()</code>) </li> + <li>Использование <a href="https://en.wikipedia.org/wiki/HSL_and_HSV">цилиндрической системы координат HSL</a> (через функциональные обозначения <code>hsl()</code> и <code>hsla()</code>) </li> </ul> <div class="note"> -<p><strong>Заметка: </strong>В этой статье подробно описывается тип данных <color>. Дополнительные сведения об использовании цвета в HTML см. В разделе применение цвета к <a href="/en-US/docs/Web/HTML/Applying_color">элементам HTML с пмощью CSS</a>.</p> +<p><strong>Заметка: </strong>В этой статье подробно описывается тип данных <color>. Дополнительные сведения об использовании цвета в HTML см. В разделе применение цвета к <a href="/en-US/docs/Web/HTML/Applying_color">элементам HTML с помощью CSS</a>.</p> </div> -<h2 id="Cинтаксис">Cинтаксис </h2> +<h2 id="Синтаксис">Синтаксис </h2> <p>Для типа данных задается <code><color></code> с помощью одного из следующих параметров.</p> <div class="note"> -<p><strong>Заметка:</strong> значения <code><color></code> точно определены, их фактический внешний вид может отличаться (иногда значительно) от устройства к устроству. Это связоно с тем что большенство устройст не откалеброваны, а некторые браузеры не поддерживают цветовые профили <a href="https://en.wikipedia.org/wiki/ICC_profile">устройств вывода</a>.</p> +<p><strong>Заметка:</strong> значения <code><color></code> точно определены, их фактический внешний вид может отличаться (иногда значительно) от устройства к устройству. Это связано с тем что большинство устройств не откалиброваны, а некоторые браузеры не поддерживают цветовые профили <a href="https://en.wikipedia.org/wiki/ICC_profile">устройств вывода</a>.</p> </div> <h3 id="Ключевые_цвета">Ключевые цвета</h3> @@ -1377,7 +1377,7 @@ hsla(240 100% 50% / 5%) <span style="background: hsla(240,100%,50%,0.05);"> <dd>Текст в windows. Следует использовать с цветом фона окна.</dd> </dl> -<h3 id="Расширеные_Цвета_Системы_Mozilla">Расширеные Цвета Системы Mozilla</h3> +<h3 id="Расширенные_Цвета_Системы_Mozilla">Расширенные Цвета Системы Mozilla</h3> <dl style=""> <dt>-moz-ButtonDefault</dt> diff --git a/files/ru/web/css/column-fill/index.html b/files/ru/web/css/column-fill/index.html index d08679f212..8216417d22 100644 --- a/files/ru/web/css/column-fill/index.html +++ b/files/ru/web/css/column-fill/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/column-fill --- <div>{{CSSRef("CSS Multi-columns")}}</div> -<p>Свойство <code>column-fill </code>применяется к родительскому элементу, разбитому на столбцы и указывает как содержимое располагается внутри столбца (column). Если значение свойства <code>column-fill</code> установлено как balanced, то содержимое во всех столбцах будет иметь одинаковую высоту. В случае использования значения <code>auto</code>, содержимое занимает столько прострванства сколько ему потребуется.</p> +<p>Свойство <code>column-fill </code>применяется к родительскому элементу, разбитому на столбцы и указывает как содержимое располагается внутри столбца (column). Если значение свойства <code>column-fill</code> установлено как balanced, то содержимое во всех столбцах будет иметь одинаковую высоту. В случае использования значения <code>auto</code>, содержимое занимает столько пространства сколько ему потребуется.</p> <p>{{cssinfo}}</p> diff --git a/files/ru/web/css/css_animations/index.html b/files/ru/web/css/css_animations/index.html index da1fc8dd8e..bdcd0b0c65 100644 --- a/files/ru/web/css/css_animations/index.html +++ b/files/ru/web/css/css_animations/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/CSS_Animations --- <p>{{CSSRef}}{{SeeCompatTable}}</p> -<p><strong>CSS Анимации</strong> - это модуль CSS, который позволяет анимировать изменение значений CSS-свойств, используя опорные кадры (<em>keyframes</em>). Для управления поведением таких анимаций можно задать хронометражную функцию, длительность, количество повторов и другие аттрибуты.</p> +<p><strong>CSS Анимации</strong> - это модуль CSS, который позволяет анимировать изменение значений CSS-свойств, используя опорные кадры (<em>keyframes</em>). Для управления поведением таких анимаций можно задать хронометражную функцию, длительность, количество повторов и другие атрибуты.</p> <h2 id="Reference">Reference</h2> diff --git a/files/ru/web/css/css_animations/using_css_animations/index.html b/files/ru/web/css/css_animations/using_css_animations/index.html index 36aa62c5ac..2f25d7922e 100644 --- a/files/ru/web/css/css_animations/using_css_animations/index.html +++ b/files/ru/web/css/css_animations/using_css_animations/index.html @@ -88,7 +88,7 @@ original_slug: Web/CSS/CSS_Animations/Ispolzovanie_CSS_animatciy <p>В элемент {{ HTMLElement("p") }} можно добавлять и другие пользовательские стили, чтобы как-то украсить его, однако здесь мы хотели продемонстрировать только эффект анимации.</p> -<p>Kлючевые кадры определяются с помощью правила {{ cssxref("@keyframes") }}. В данном случае мы имеем только два ключевых кадра. Первый при 0% анимации (<code>from</code>). Здесь мы придаем элементу левый отступ в 100% и ширину в 300% (в три раза больше ширины родительского элемента). Это становится причиной того, что при первом кадре анимации заголовок {{ HTMLElement("p") }} находится за пределами правого края окна браузера .</p> +<p>Ключевые кадры определяются с помощью правила {{ cssxref("@keyframes") }}. В данном случае мы имеем только два ключевых кадра. Первый при 0% анимации (<code>from</code>). Здесь мы придаем элементу левый отступ в 100% и ширину в 300% (в три раза больше ширины родительского элемента). Это становится причиной того, что при первом кадре анимации заголовок {{ HTMLElement("p") }} находится за пределами правого края окна браузера .</p> <p>Второй ключевой кадр (to) определяет конец анимации, т.е (100%). Левый отступ устанавливается равным 0, а ширина 100%. Все выглядит так, будто заголовок {{ HTMLElement("p") }} приплывает к левому краю окна браузера.</p> @@ -101,9 +101,9 @@ her in a languid, sleepy voice.</p> <p>{{EmbedLiveSample("Скольжение_текста","100%","250")}}</p> -<h3 id="Добавление_других_ключевыч_кадров">Добавление других ключевыч кадров</h3> +<h3 id="Добавление_других_ключевых_кадров">Добавление других ключевых кадров</h3> -<p>Давайте добавим другие ключевые кадры в предыдущий пример. Скажем, мы хотим чтобы размер шрифта заголовка временно увеличивался по мере продвижения влево, а потом возращался к первоначальному значению . Это легко реализовать с помощью следующего ключевого кадра:</p> +<p>Давайте добавим другие ключевые кадры в предыдущий пример. Скажем, мы хотим чтобы размер шрифта заголовка временно увеличивался по мере продвижения влево, а потом возвращался к первоначальному значению . Это легко реализовать с помощью следующего ключевого кадра:</p> <pre class="brush: css">75% { font-size: 300%; @@ -145,7 +145,7 @@ her in a languid, sleepy voice.</p> <p>(Обновите страницу, чтобы увидеть анимацию, или щелкните по кнопке CodePen, чтобы воспроизвести ее в окне CodePen)</p> -<p>{{ EmbedLiveSample('Добавление_других_ключевыч_кадров', '100%', '250', '', 'Web/CSS/CSS_Animations/Ispolzovanie_CSS_animatciy') }}</p> +<p>{{ EmbedLiveSample('Добавление_других_ключевых_кадров', '100%', '250', '', 'Web/CSS/CSS_Animations/Ispolzovanie_CSS_animatciy') }}</p> <h3 id="Настройка_повторения">Настройка повторения</h3> @@ -233,7 +233,7 @@ her in a languid, sleepy voice.</p> <h3 id="Установка_нескольких_значений_свойствам_анимации">Установка нескольких значений свойствам анимации </h3> -<p>CSS cвойство анимации может иметь несколько значений, разделенных запятыми. Это используется, чтобы указать несколько значений анимации в одном правиле и установить разную продолжительность, число повторений и т.д., для различных анимаций. Рассмотрим несколько примеров, чтобы увидеть разницу.</p> +<p>CSS свойство анимации может иметь несколько значений, разделенных запятыми. Это используется, чтобы указать несколько значений анимации в одном правиле и установить разную продолжительность, число повторений и т.д., для различных анимаций. Рассмотрим несколько примеров, чтобы увидеть разницу.</p> <p>В первом примере у свойства имени анимации установлены три значения, у свойств продолжительности и количества повторений — по одному. В этом случае у всех трех анимаций одинаковая продолжительность и число повторений:</p> diff --git a/files/ru/web/css/css_basic_user_interface/using_url_values_for_the_cursor_property/index.html b/files/ru/web/css/css_basic_user_interface/using_url_values_for_the_cursor_property/index.html index 9b133d5a73..0e5a5a7568 100644 --- a/files/ru/web/css/css_basic_user_interface/using_url_values_for_the_cursor_property/index.html +++ b/files/ru/web/css/css_basic_user_interface/using_url_values_for_the_cursor_property/index.html @@ -20,7 +20,7 @@ original_slug: >- <pre class="syntaxbox">cursor: [<url>,]* ключевое_слово</pre> -<p>Это означает, что устанавливать можно любое количество URL'ов (отделенных запятой), которые должны сопровождаться одним из ключевых слов, определеннымы спецификацией CSS, таких как <code>auto</code> или <code>pointer</code>.</p> +<p>Это означает, что устанавливать можно любое количество URL'ов (отделенных запятой), которые должны сопровождаться одним из ключевых слов, определенными спецификацией CSS, таких как <code>auto</code> или <code>pointer</code>.</p> <p>Например, такая последовательность значений допустима:</p> @@ -59,7 +59,7 @@ original_slug: >- <p><strong>Примечание:</strong> Начиная с Gecko 2.0 {{geckoRelease("2.0")}}, Gecko также поддерживает формат SVG в качестве изображения курсора. Тем не менее, SVG изображение должно содержать значения (кроме процентных значений) высоты и ширины на корневом <code>SVG</code> узле. JavaScript, CSS анимация и декларативный SMIL внутри SVG изображения игнорируются; например, вы не можете использовать SVG, чтобы создать анимированный курсор.</p> </div> -<p>В Gecko (Firefox) максимальный размер курсора - 128×128 пикселей. Изображения большего размера игнорируются. Однако, вам следую ограничиться рамером курсора в 32×32 пикселя для максимальной совместимости с операционными системами и платформами.</p> +<p>В Gecko (Firefox) максимальный размер курсора - 128×128 пикселей. Изображения большего размера игнорируются. Однако, вам следую ограничиться размером курсора в 32×32 пикселя для максимальной совместимости с операционными системами и платформами.</p> <p>(В следствие бага Gecko 1.9.2-1.9.2.6, Firefox 3.6-3.6.6 в Windows ограничивает размер в 32x32 пикселя. Это исправляется в более новых версиях.)</p> diff --git a/files/ru/web/css/css_box_alignment/box_alignment_in_flexbox/index.html b/files/ru/web/css/css_box_alignment/box_alignment_in_flexbox/index.html index 0dc1ecbeca..3fe63cc24c 100644 --- a/files/ru/web/css/css_box_alignment/box_alignment_in_flexbox/index.html +++ b/files/ru/web/css/css_box_alignment/box_alignment_in_flexbox/index.html @@ -25,7 +25,7 @@ translation_of: Web/CSS/CSS_Box_Alignment/Box_Alignment_in_Flexbox <ul> <li>Главная ось = направление согласно атрибуту <code>flex-direction</code> = выравнивание через атрибут <code>justify-content</code></li> - <li>Поперечная ось = проходит поперек главной оси = выравниваие через атрибут <code>align-content</code>, <code>align-self</code>/<code>align-items</code></li> + <li>Поперечная ось = проходит поперек главной оси = выравнивание через атрибут <code>align-content</code>, <code>align-self</code>/<code>align-items</code></li> </ul> <h3 id="Выравнивание_по_Главной_Оси">Выравнивание по Главной Оси</h3> @@ -52,7 +52,7 @@ translation_of: Web/CSS/CSS_Box_Alignment/Box_Alignment_in_Flexbox <h2 id="Выравнивание_и_свойство_margin_auto">Выравнивание и свойство margin: auto</h2> -<p><span class="tlid-translation translation" lang="ru"><span title="">В разметке flexbox присутствует конкретный вариант использования, в котором, возможно, понадобится атрибут <code>justify-self</code>. Например, когда будет необходимо разделить набор flex элементов для создания отдельного шаблона навигации.</span> <span title="">В таком случае, можно использовать атрибут <code>margin</code> со значеним <code>auto</code>.</span> <span title="">Атрибут с таким значением будет занимать все доступное пространство в своем измерении.</span> <span title="">Так работает центрирование блока со свойством <code>margin:auto</code>.</span> <span title="">Установив значение атрибутов <code>margin-left</code> и <code>margin-right</code> в значение <code>auto</code>, обе стороны нашего блока попытаются занять все доступное пространство и, таким образом, заставят двигаться блок в центр.</span></span></p> +<p><span class="tlid-translation translation" lang="ru"><span title="">В разметке flexbox присутствует конкретный вариант использования, в котором, возможно, понадобится атрибут <code>justify-self</code>. Например, когда будет необходимо разделить набор flex элементов для создания отдельного шаблона навигации.</span> <span title="">В таком случае, можно использовать атрибут <code>margin</code> со значением <code>auto</code>.</span> <span title="">Атрибут с таким значением будет занимать все доступное пространство в своем измерении.</span> <span title="">Так работает центрирование блока со свойством <code>margin:auto</code>.</span> <span title="">Установив значение атрибутов <code>margin-left</code> и <code>margin-right</code> в значение <code>auto</code>, обе стороны нашего блока попытаются занять все доступное пространство и, таким образом, заставят двигаться блок в центр.</span></span></p> <p><span class="tlid-translation translation" lang="ru"><span title="">Установив значение атрибута{{cssxref ("margin")}} в <code>auto</code> для одного элемента в наборе с flex-элементами, выровненных с начала, можно создать разделенную навигацию.</span> <span title="">Это хорошо работает с разметкой flexbox и свойствами выравнивания.</span> <span title="">Как только для элемента со свойством <code>margin: auto</code> не остается свободного места, он станет вести себя также, как и все остальные flex элементы, и сократится в объеме, пытаясь уместиться в доступное пространство.</span></span></p> diff --git a/files/ru/web/css/css_box_alignment/index.html b/files/ru/web/css/css_box_alignment/index.html index 90d8eea440..af449e8cff 100644 --- a/files/ru/web/css/css_box_alignment/index.html +++ b/files/ru/web/css/css_box_alignment/index.html @@ -131,7 +131,7 @@ translation_of: Web/CSS/CSS_Box_Alignment <h3 id="Distributed_alignment">Distributed alignment</h3> -<p><strong>Ключевые слова расспеределенного выравнивания</strong> используются с параметрами <code>align-content</code> и <code>justify-content</code>. Эти ключевые слова определяют, что происходит с каким-либо дополнительным пространством после отображения объекта. Значения следующие:</p> +<p><strong>Ключевые слова распределенного выравнивания</strong> используются с параметрами <code>align-content</code> и <code>justify-content</code>. Эти ключевые слова определяют, что происходит с каким-либо дополнительным пространством после отображения объекта. Значения следующие:</p> <ul> <li><code>stretch</code></li> diff --git a/files/ru/web/css/css_box_model/mastering_margin_collapsing/index.html b/files/ru/web/css/css_box_model/mastering_margin_collapsing/index.html index ce82582529..cc6f77376b 100644 --- a/files/ru/web/css/css_box_model/mastering_margin_collapsing/index.html +++ b/files/ru/web/css/css_box_model/mastering_margin_collapsing/index.html @@ -19,16 +19,16 @@ translation_of: Web/CSS/CSS_Box_Model/Mastering_margin_collapsing <dt>Соседние элементы (siblings)</dt> <dd>Схлопываются отступы соседних элементов (за исключением случая, когда к последнему элементу применено свойство {{cssxref("clear")}}).</dd> <dt>Родительский и первый/последний дочерние элементы</dt> - <dd>Если отстутствуют границы (border), внутренние отступы (padding), строчное содержимое (inline/inline-block) или промежуток для отделения {{cssxref("margin-top")}} родительского элемента, от {{cssxref("margin-top")}} одного или нескольких его дочерних элементов/блоков или отстутствуют границы (border), внутренние отступы (padding), строчное содержимое (inline/inline-block), {{cssxref("height")}}, {{cssxref("min-height")}} или {{cssxref("max-height")}} для отделения отступов {{cssxref("margin-bottom")}} родительского блока от {{cssxref("margin-bottom")}} отступов одного или нескольких его дочерних элементов/блоков, то внешние отступы схлопываются. Схлопнутые отступы заканчиваются за пределами родительского элемента.</dd> + <dd>Если отсутствуют границы (border), внутренние отступы (padding), строчное содержимое (inline/inline-block) или промежуток для отделения {{cssxref("margin-top")}} родительского элемента, от {{cssxref("margin-top")}} одного или нескольких его дочерних элементов/блоков или отсутствуют границы (border), внутренние отступы (padding), строчное содержимое (inline/inline-block), {{cssxref("height")}}, {{cssxref("min-height")}} или {{cssxref("max-height")}} для отделения отступов {{cssxref("margin-bottom")}} родительского блока от {{cssxref("margin-bottom")}} отступов одного или нескольких его дочерних элементов/блоков, то внешние отступы схлопываются. Схлопнутые отступы заканчиваются за пределами родительского элемента.</dd> <dt>Пустые блоки</dt> - <dd>Если отстутствуют границы (border), внутренние отступы (padding), строчное содержимое (inline/inline-block), {{cssxref("height")}} или {{cssxref("min-height")}} для отделения {{cssxref("margin-top")}} верхнего отступа этого блока от его {{cssxref("margin-bottom")}} нижнего отступа, то верхние и нижние внешние отступы этого блока схлопываются.</dd> + <dd>Если отсутствуют границы (border), внутренние отступы (padding), строчное содержимое (inline/inline-block), {{cssxref("height")}} или {{cssxref("min-height")}} для отделения {{cssxref("margin-top")}} верхнего отступа этого блока от его {{cssxref("margin-bottom")}} нижнего отступа, то верхние и нижние внешние отступы этого блока схлопываются.</dd> </dl> <p><u>На заметку:</u></p> <ul> <li>Более сложное схлопывание отступов (более, чем двух) происходит, когда описанные случаи сочетаются.</li> - <li>Эти правила применяются даже к отступам, равным 0, поэтому отступ первого/последниего дочернего элемента заканчивается за пределами его родителя (согласно правилу выше) независимо от того, равен ли отступ родителя нулю.</li> + <li>Эти правила применяются даже к отступам, равным 0, поэтому отступ первого/последнего дочернего элемента заканчивается за пределами его родителя (согласно правилу выше) независимо от того, равен ли отступ родителя нулю.</li> <li>При использовании отрицательных отступов, размер схлопнутого отступа вычисляется, как сумма наибольшего положительного и наименьшего отрицательного (наибольшего по модулю) отступа.</li> <li>Если все отступы отрицательные, размер схлопнутого отступа равен наименьшему (наибольшему по модулю) отступу. Это относится как к вложенным элементам, так и к соседним.</li> <li>Внешние отступы <a href="/en-US/docs/Web/CSS/float">плавающих</a> и <a href="/en-US/docs/Web/CSS/position">абсолютно позиционируемых</a> элементов никогда не схлопываются.</li> diff --git a/files/ru/web/css/css_columns/using_multi-column_layouts/index.html b/files/ru/web/css/css_columns/using_multi-column_layouts/index.html index f9fb1c78d5..7bab55db18 100644 --- a/files/ru/web/css/css_columns/using_multi-column_layouts/index.html +++ b/files/ru/web/css/css_columns/using_multi-column_layouts/index.html @@ -48,7 +48,7 @@ qui officia deserunt mollit anim id est laborum</div> <p>В многоколончатом блоке, содержимое автоматически перетекает из одной колонки в следующую, как это необходимо. Вся HTML, CSS и DOM функциональность поддерживается внутри колонок, как например редактирование и печать.</p> -<h3 id="Краткая_запись_columns"><code>К</code>раткая запись columns</h3> +<h3 id="Ккраткая_запись_columns"><code>К</code>краткая запись columns</h3> <p>В большинстве случаев веб-разработчики используют одно из двух свойств CSS: {{ cssxref("column-count") }} или {{ cssxref("column-width") }}. Так как значения для этих свойств не пересекаются, то часто удобно использовать короткую запись {{ cssxref("columns") }}. Пример:</p> diff --git a/files/ru/web/css/css_flexible_box_layout/aligning_items_in_a_flex_container/index.html b/files/ru/web/css/css_flexible_box_layout/aligning_items_in_a_flex_container/index.html index e28dc11693..3f405f926f 100644 --- a/files/ru/web/css/css_flexible_box_layout/aligning_items_in_a_flex_container/index.html +++ b/files/ru/web/css/css_flexible_box_layout/aligning_items_in_a_flex_container/index.html @@ -119,7 +119,7 @@ original_slug: Web/CSS/CSS_Flexible_Box_Layout/Выравнивание_элем <h2 id="Выравнивание_содержимого_по_главной_оси">Выравнивание содержимого по главной оси</h2> -<p>Теперь, когда мы увидели, как работает выравнивание по перекрёстной оси, можно посмотреть на главную ось. Здесь нам доступно только одно свойство — <code>justify-content</code>. Это обсуловлено тем, что с элементами на главной оси мы работаем только как с группой. Используя свойство <code>justify-content</code>, мы контролируем, что происходит со свободным пространством на главной оси, и требуется ли нам больше пространства, чем нужно для отображения наших элементов.</p> +<p>Теперь, когда мы увидели, как работает выравнивание по перекрёстной оси, можно посмотреть на главную ось. Здесь нам доступно только одно свойство — <code>justify-content</code>. Это обусловлено тем, что с элементами на главной оси мы работаем только как с группой. Используя свойство <code>justify-content</code>, мы контролируем, что происходит со свободным пространством на главной оси, и требуется ли нам больше пространства, чем нужно для отображения наших элементов.</p> <p>В нашем первом примере с использованием свойства <code>display: flex</code>, примененным к контейнеру, элементы отображаются как строка и выстраиваются в начале блока. Это обусловлено тем, что свойство <code>justify-content</code> имеет начальное значение <code>flex-start</code>. Все свободное место располагается в конце контейнера.</p> @@ -167,7 +167,7 @@ original_slug: Web/CSS/CSS_Flexible_Box_Layout/Выравнивание_элем <p>{{EmbedGHLiveSample("css-examples/flexbox/alignment/justify-content-reverse.html", '100%', 440)}} </p> -<p>Может показаться немного запутанным, но главное правило, которое необходимо запомить – до тех пор, пока вы не измените свойство <code>flex-direction</code>, элементы контейнера выстраиваются в режиме записи вашего языка (<code>ltr</code> или <code>rtl</code>). </p> +<p>Может показаться немного запутанным, но главное правило, которое необходимо запомнить – до тех пор, пока вы не измените свойство <code>flex-direction</code>, элементы контейнера выстраиваются в режиме записи вашего языка (<code>ltr</code> или <code>rtl</code>). </p> <p><img alt="Diagram showing start on the left and end on the right." src="https://mdn.mozillademos.org/files/15634/align8.png" style="display: block; height: 152px; margin: 0px auto; width: 631px;"></p> @@ -191,7 +191,7 @@ original_slug: Web/CSS/CSS_Flexible_Box_Layout/Выравнивание_элем <p><img alt="Five items, in two groups. Three on the left and two on the right." src="https://mdn.mozillademos.org/files/15633/align7.png" style="display: block; height: 84px; margin: 0px auto; width: 645px;"></p> -<p>Вместо этого мы можем выбрать четвёртый элемент (<em>d</em>) и отделить его от первых трёх, задав ему значение <code>auto</code> для <code>margin-left</code>. Авто-margin заполнит всё доступное свободное место по своей оси. Тем же образом cработает <code>margin-right</code>. Оба свойства со значениями <code>auto</code> отцентрируют блок, так как каждый из отступов будет пытаться занять максимум пространства.</p> +<p>Вместо этого мы можем выбрать четвёртый элемент (<em>d</em>) и отделить его от первых трёх, задав ему значение <code>auto</code> для <code>margin-left</code>. Авто-margin заполнит всё доступное свободное место по своей оси. Тем же образом работает <code>margin-right</code>. Оба свойства со значениями <code>auto</code> отцентрируют блок, так как каждый из отступов будет пытаться занять максимум пространства.</p> <p>В интерактивном примере ниже у нас имеется простой ряд из флекс-элементов и класс <code>push</code> с заданным <code>margin-left: auto</code>. Вы можете, например, попробовать удалить это значение или добавить класс другому элементу, чтобы увидеть, как работает этот метод. </p> 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 8a4e3ce28b..9c407f61fa 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_flexible_box_layout/basic_concepts_of_flexbox/index.html b/files/ru/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html index 347d429eb4..23f034fb6f 100644 --- a/files/ru/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html +++ b/files/ru/web/css/css_flexible_box_layout/basic_concepts_of_flexbox/index.html @@ -83,9 +83,9 @@ translation_of: Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox <h3 id="Изменение_flex-direction">Изменение flex-direction</h3> -<p>Добавление свойства {{cssxref ("flex-direction")}} в контейнер позволяет нам изменять направление, в котором отображаются наши элементы flex. Установка <code>flex-direction: row-reverse</code> сохранит порядок отображаения элементов вдоль строки, однако начало и конец строки поменяются местами.</p> +<p>Добавление свойства {{cssxref ("flex-direction")}} в контейнер позволяет нам изменять направление, в котором отображаются наши элементы flex. Установка <code>flex-direction: row-reverse</code> сохранит порядок отображения элементов вдоль строки, однако начало и конец строки поменяются местами.</p> -<p>Если изменить значение свойства <code>flex-direction</code> на <code>column</code>, главная ось изменится, и наши элементы будут отображаются в столбец. При установке параметра <code>column-reverse</code>, начало и конец стобца поменяются местами.</p> +<p>Если изменить значение свойства <code>flex-direction</code> на <code>column</code>, главная ось изменится, и наши элементы будут отображаются в столбец. При установке параметра <code>column-reverse</code>, начало и конец столбца поменяются местами.</p> <p>В приведенном ниже примере значение свойства <code>flex-direction</code> установлено как <code>row-reverse</code>. Попробуйте другие значения — <code>row</code>, <code>column</code> и<code>column-reverse</code>, чтобы посмотреть как изменятся элементы контейнера.</p> diff --git a/files/ru/web/css/css_flexible_box_layout/index.html b/files/ru/web/css/css_flexible_box_layout/index.html index d271a2bd8b..0e1d47bc0b 100644 --- a/files/ru/web/css/css_flexible_box_layout/index.html +++ b/files/ru/web/css/css_flexible_box_layout/index.html @@ -12,7 +12,7 @@ translation_of: Web/CSS/CSS_Flexible_Box_Layout --- <p>{{CSSRef}}</p> -<p><strong>Способ CSS раскладки Flexible Box</strong> (CSS Flexible Box Layout или <strong>Flexbox</strong>) — это способ CSS раскладки, означающий <a href="/ru/docs/Web/CSS/CSS_Box_Model">блочную модель CSS</a>, оптимизированную для построения пользовательских интерфейсов. Во флекс-модели потомки флекс-контейнера могут выстраиваться в любом направлении (право/лево, верх/низ), растягиваться, заполняя свободное пространство, или сжиматься во избежание переполнения родительского контейнера. Доступно различное выравнивание потомков по горизонтали и вертикали. Комбинация из родительского и вложеных блоков позволяют создавать такой layout, при котором элементы автоматически выстраиваются в столбы или строки.</p> +<p><strong>Способ CSS раскладки Flexible Box</strong> (CSS Flexible Box Layout или <strong>Flexbox</strong>) — это способ CSS раскладки, означающий <a href="/ru/docs/Web/CSS/CSS_Box_Model">блочную модель CSS</a>, оптимизированную для построения пользовательских интерфейсов. Во флекс-модели потомки флекс-контейнера могут выстраиваться в любом направлении (право/лево, верх/низ), растягиваться, заполняя свободное пространство, или сжиматься во избежание переполнения родительского контейнера. Доступно различное выравнивание потомков по горизонтали и вертикали. Комбинация из родительского и вложенных блоков позволяют создавать такой layout, при котором элементы автоматически выстраиваются в столбы или строки.</p> <h2 id="Базовый_пример">Базовый пример</h2> diff --git a/files/ru/web/css/css_flexible_box_layout/mastering_wrapping_of_flex_items/index.html b/files/ru/web/css/css_flexible_box_layout/mastering_wrapping_of_flex_items/index.html index 0df3168e3a..6a31a4a6ea 100644 --- a/files/ru/web/css/css_flexible_box_layout/mastering_wrapping_of_flex_items/index.html +++ b/files/ru/web/css/css_flexible_box_layout/mastering_wrapping_of_flex_items/index.html @@ -41,7 +41,7 @@ translation_of: Web/CSS/CSS_Flexible_Box_Layout/Mastering_Wrapping_of_Flex_Items <p>В технологии флексбоксов нет методов, которые позволили бы сказать элементам в одной строке выстроиться так же, как в строке выше — каждая флекс-строка ведёт себя как новый флекс-контейнер. Это так же касается распределения пространства по главной оси. Если есть только один элемент и ему разрешено расти, то он будет расти и заполнять главную ось направления, так же, как будто бы он был единственным элементов в контейнере.</p> -<p>Если вы хотите макет в двух измерениях, то вы, вероятно, хотите макет сетки - Grid Layout. Мы можем сравнить наш пример переноса строк выше с версией, сделанной на технологии CSS Grid, чтобы увидеть разницу. Следующий живой пример использует технологию CSS Grid Layout для создания макета с несколькими колонками, каждая из которых имеет установленный минимумальный размер в 160 px и соответственно распределяя дополнительное пространство между всеми стоблцами. Однако в этом случае элементы остаются в своей сетке и не растягиваются, если их в последнем ряду меньше.</p> +<p>Если вы хотите макет в двух измерениях, то вы, вероятно, хотите макет сетки - Grid Layout. Мы можем сравнить наш пример переноса строк выше с версией, сделанной на технологии CSS Grid, чтобы увидеть разницу. Следующий живой пример использует технологию CSS Grid Layout для создания макета с несколькими колонками, каждая из которых имеет установленный минимальный размер в 160 px и соответственно распределяя дополнительное пространство между всеми столбцами. Однако в этом случае элементы остаются в своей сетке и не растягиваются, если их в последнем ряду меньше.</p> <p>{{EmbedGHLiveSample("css-examples/flexbox/wrapping/grid-example.html", '100%', 700)}}</p> diff --git a/files/ru/web/css/css_flow_layout/index.html b/files/ru/web/css/css_flow_layout/index.html index 99afb866d3..80fddc9dab 100644 --- a/files/ru/web/css/css_flow_layout/index.html +++ b/files/ru/web/css/css_flow_layout/index.html @@ -15,7 +15,7 @@ translation_of: Web/CSS/CSS_Flow_Layout <p class="summary">По сути поток представляется собой набор сущностей, которые работают вместе и знают друг о друге. Когда некоторая сущность <em>вынимается из потока (out of flow)</em>, то она работает независимо.</p> -<p class="summary">В нормальном потоке <strong>строчные (inline)</strong> элементы отображаются в направлении строки (inline direction), то есть в том же направлении, как идут слова в предложении в соответствии с режимом письма (<a href="/en-US/docs/Web/CSS/CSS_Writing_Modes">writing mode</a>) документа. <strong>Блочные (block)</strong> элементы отображаются один за другим, также как параграфы в соответсвии с режимом письма документа. Поэтому в анлгийском языке строчные элементы отображаются один за другим, начиная слева, а блочные элементы выкладываются на странице сверху вниз.</p> +<p class="summary">В нормальном потоке <strong>строчные (inline)</strong> элементы отображаются в направлении строки (inline direction), то есть в том же направлении, как идут слова в предложении в соответствии с режимом письма (<a href="/en-US/docs/Web/CSS/CSS_Writing_Modes">writing mode</a>) документа. <strong>Блочные (block)</strong> элементы отображаются один за другим, также как параграфы в соответствии с режимом письма документа. Поэтому в английском языке строчные элементы отображаются один за другим, начиная слева, а блочные элементы выкладываются на странице сверху вниз.</p> <h2 id="Пример">Пример</h2> @@ -39,7 +39,7 @@ translation_of: Web/CSS/CSS_Flow_Layout <h2 id="Ссылки">Ссылки</h2> -<h3 id="Записи_глосария">Записи глосария</h3> +<h3 id="Записи_глоссария">Записи глоссария</h3> <ul> <li>{{Glossary("Block/CSS", "Block (CSS)")}}</li> diff --git a/files/ru/web/css/css_fonts/index.html b/files/ru/web/css/css_fonts/index.html index 4291fd6253..62ea79ece6 100644 --- a/files/ru/web/css/css_fonts/index.html +++ b/files/ru/web/css/css_fonts/index.html @@ -33,7 +33,7 @@ translation_of: Web/CSS/CSS_Fonts <h2 id="Различные_примеры_шрифтов">Различные примеры шрифтов</h2> -<p>Вы можете найти множетсво вариантов шрифтов на <a href="https://v-fonts.com/">v-fonts.com</a> и <a href="https://www.axis-praxis.org/">axis-praxis.org</a>; так же смотрите наше руководство <a href="/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide">Variable fonts</a> для большей информации по использованию.</p> +<p>Вы можете найти множество вариантов шрифтов на <a href="https://v-fonts.com/">v-fonts.com</a> и <a href="https://www.axis-praxis.org/">axis-praxis.org</a>; так же смотрите наше руководство <a href="/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide">Variable fonts</a> для большей информации по использованию.</p> <h2 id="Отсылки">Отсылки</h2> @@ -92,7 +92,7 @@ translation_of: Web/CSS/CSS_Fonts <dt><a href="/en-US/docs/Learn/CSS/Styling_text/Fundamentals">Fundamental text and font styling</a></dt> <dd>В этой обучающей статье для новичков мы детально описываем основы стилизации текста/шрифта, включая определение жирности начертания, вида шрифта и стилей, рассматриваем сокращённую запись свойства font, декорации текста и другие эффекты, а так же межстрочные и межбуквенные интервалы.</dd> <dt><a href="/en-US/docs/Web/CSS/CSS_Fonts/OpenType_fonts_guide">OpenType font features guide</a></dt> - <dd>Особенности шрифтов или их варианты ссылаются на различные стили символов или букв, содержащиеся в OpenType. Руководство описывает такие вещи как лигатура (специальные символы объединяющие буквы вроде 'fi' или 'ffl'), кернинг (то, как свободное место распределяется между различными символами) и другое. Всё перечисленное относится к особенностям OpenType и позволяет использовать в вэбе специальные свойства и свойства контроля нижнего уровня {{cssxref("font-feature-settings")}}. В статье есть всё, что вам нужно знать об особенностях OpenType шрифтов в CSS.</dd> + <dd>Особенности шрифтов или их варианты ссылаются на различные стили символов или букв, содержащиеся в OpenType. Руководство описывает такие вещи как лигатура (специальные символы объединяющие буквы вроде 'fi' или 'ffl'), кернинг (то, как свободное место распределяется между различными символами) и другое. Всё перечисленное относится к особенностям OpenType и позволяет использовать в вебе специальные свойства и свойства контроля нижнего уровня {{cssxref("font-feature-settings")}}. В статье есть всё, что вам нужно знать об особенностях OpenType шрифтов в CSS.</dd> <dt><a href="/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide">Variable fonts guide</a></dt> <dd><strong>Variable fonts</strong> are an evolution of the OpenType font specification that enables many different variations of a typeface to be incorporated into a single file, rather than having a separate font file for every width, weight, or style. This article will give you all you need to know to get you started using variable fonts.</dd> </dl> diff --git a/files/ru/web/css/css_grid_layout/box_alignment_in_css_grid_layout/index.html b/files/ru/web/css/css_grid_layout/box_alignment_in_css_grid_layout/index.html index cc8f7b4f75..8ea1b8d352 100644 --- a/files/ru/web/css/css_grid_layout/box_alignment_in_css_grid_layout/index.html +++ b/files/ru/web/css/css_grid_layout/box_alignment_in_css_grid_layout/index.html @@ -640,7 +640,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout <p>Во всех этих примерах я работал на английском языке, который является языком слева направо. Это означает, что наши стартовые линии находятся сверху и слева от нашей сетки, когда мы думаем в физических направлениях.</p> -<p>CSS Grid Layout и спецификация Box Alignment предназначены для работы с режимами записи в CSS. Это означает, что если вы работаете с языком справо налево, например на арабском языке, начало сетки будет верхним и правым, поэтому значение по умолчанию для <code>justify-content: start</code> будет состоять в том, что треки сетки начинаются с правой стороны сетки.</p> +<p>CSS Grid Layout и спецификация Box Alignment предназначены для работы с режимами записи в CSS. Это означает, что если вы работаете с языком справа налево, например на арабском языке, начало сетки будет верхним и правым, поэтому значение по умолчанию для <code>justify-content: start</code> будет состоять в том, что треки сетки начинаются с правой стороны сетки.</p> <p>Однако, если вы устанавливаете автоматические поля, используя <code>margin-right</code> или <code>margin-left</code>, или абсолютно позиционирующий элемент, используя <code>top</code>, <code>right</code>, <code>bottom</code> and <code>left</code> смещения, вы не будете соблюдать режимы записи. В следующем руководстве мы рассмотрим это взаимодействие между компоновкой сетки CSS, выравниванием ящиков и режимами записи. Это будет важно понимать, если вы разрабатываете сайты, которые затем отображаются на нескольких языках, или если вы хотите смешивать языки или режимы записи в дизайне.</p> diff --git a/files/ru/web/css/css_grid_layout/grid_template_areas/index.html b/files/ru/web/css/css_grid_layout/grid_template_areas/index.html index 87da484318..19795f3d19 100644 --- a/files/ru/web/css/css_grid_layout/grid_template_areas/index.html +++ b/files/ru/web/css/css_grid_layout/grid_template_areas/index.html @@ -4,7 +4,7 @@ slug: Web/CSS/CSS_Grid_Layout/Grid_Template_Areas translation_of: Web/CSS/CSS_Grid_Layout/Grid_Template_Areas original_slug: Web/CSS/CSS_Grid_Layout/Грид-области --- -<p>В <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">предыдущем обзоре</a> мы рассмотрели грид-линии и то, как с их помощью размещать элементы в гридах. Когда Вы работаете с CSS Grid Layout, у Вас всегда есть грид-линии, поэтому они - быстрый, прямой и надежный способ расположить элементы. Как бы то ни было, существует альтернативный метод, и этот метод можно использовать как в одиночку, так и в сочетании с расположением элементов по грид-линиям. В этом методе элементы располагаются с помощью именнованных, заранее определенных грид-областей. Давайте рассмотрим, как он работает, и Вы скоро поймете, почему его называют методом ascii-искусства в концепции макетов на гридах!</p> +<p>В <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">предыдущем обзоре</a> мы рассмотрели грид-линии и то, как с их помощью размещать элементы в гридах. Когда Вы работаете с CSS Grid Layout, у Вас всегда есть грид-линии, поэтому они - быстрый, прямой и надежный способ расположить элементы. Как бы то ни было, существует альтернативный метод, и этот метод можно использовать как в одиночку, так и в сочетании с расположением элементов по грид-линиям. В этом методе элементы располагаются с помощью именованных, заранее определенных грид-областей. Давайте рассмотрим, как он работает, и Вы скоро поймете, почему его называют методом ascii-искусства в концепции макетов на гридах!</p> <h2 id="Имя_для_грид-области">Имя для грид-области</h2> @@ -30,7 +30,7 @@ original_slug: Web/CSS/CSS_Grid_Layout/Грид-области <p><img alt="An image showing a simple two column layout with header and footer" src="https://mdn.mozillademos.org/files/14669/4_Layout.png" style="height: 397px; width: 900px;"></p> -<p>С помощью свойства {{cssxref("grid-area")}} мы можем назначить каждой из этих областей свое собственное имя. Именование областей еще не создает никакого макета, однако теперь у нас есть именнованные области, которые мы можем в нем использовать.</p> +<p>С помощью свойства {{cssxref("grid-area")}} мы можем назначить каждой из этих областей свое собственное имя. Именование областей еще не создает никакого макета, однако теперь у нас есть именованные области, которые мы можем в нем использовать.</p> <div id="Grid_Area_1"> <pre class="brush: css">.header { @@ -223,7 +223,7 @@ original_slug: Web/CSS/CSS_Grid_Layout/Грид-области <h2 id="Переопределение_грида_с_медиа-запросами">Переопределение грида с медиа-запросами</h2> -<p>Поскольку наш макет теперь содержится в одной части CSS, вносить изменения для различных контрольных точек (breakpoints) становится крайне легко. Сделать это можно либо переопределив сам грид, либо положение элементов на гриде, либо и то, и другое одновеременно.</p> +<p>Поскольку наш макет теперь содержится в одной части CSS, вносить изменения для различных контрольных точек (breakpoints) становится крайне легко. Сделать это можно либо переопределив сам грид, либо положение элементов на гриде, либо и то, и другое одновременно.</p> <p>При этом определяйте имена для ваших грид-областей за пределами медиа-запросов. В таком случае, область основного содержимого (content) всегда будет называться <code>main</code> независимо от того, где она находится на сетке.</p> @@ -409,7 +409,7 @@ original_slug: Web/CSS/CSS_Grid_Layout/Грид-области <p>Они могут быстро стать трудными для чтения для других разработчиков или даже для вашего будущего. Однако они являются частью спецификации и, вероятно, вы столкнетесь с ними в примерах или в использовании другими разработчиками, даже если вы решите не использовать их.</p> -<p>Прежде чем использовать какиу-либо сокращения (shorthand), стоит помнить, что shorthand не только позволяют устанавливать множество свойств за один раз, но также действуют, чтобы <strong>сбросить объекты</strong> до их начальных значений, которых вы не используете, или не можете установить в сокращении. Поэтому, если вы используете сокращения, помните, что оно может сбросить все, что вы применили в другом месте.</p> +<p>Прежде чем использовать какие-либо сокращения (shorthand), стоит помнить, что shorthand не только позволяют устанавливать множество свойств за один раз, но также действуют, чтобы <strong>сбросить объекты</strong> до их начальных значений, которых вы не используете, или не можете установить в сокращении. Поэтому, если вы используете сокращения, помните, что оно может сбросить все, что вы применили в другом месте.</p> <p>Два сокращения (shorthand) для контейнера сетки - это Explicit Grid Shorthand <code>grid-template</code> и Grid Definition Shorthand <code>grid</code>.</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 e20cbc76c8..08e932f0b0 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 @@ -272,7 +272,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines } </pre> -<p>Вы можете использовать ключевое слово <code>span</code>. Следующий элемент будет расоложен начиная с седьмой линии и займет три линии.</p> +<p>Вы можете использовать ключевое слово <code>span</code>. Следующий элемент будет расположен начиная с седьмой линии и займет три линии.</p> <pre class="brush: css">.item2 { grid-column: col-start 7 / span 3; 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 be2ecaee2e..e2086dee05 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 @@ -19,7 +19,7 @@ original_slug: >- <p>В качестве крайне простого примера давайте возьмем грид с тремя треками-колонками и тремя треками-строками. Такой грид дает нам по 4 линии для каждого направления.</p> -<p>Внутри нашего грид-контейнера у нас есть четыре дочерних элемента. Если мы не размещаем их явным образом, эти элементы будут расположены в гриде в соответствии с правилами авторазмещения, то есть, по одному элементу - в каждой из четырех первых ячеек. Если Вы воспользуетесь <a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_grid_layouts">Firefox Grid Highlighter</a> , то увидете, как грид инициирует колонки и строки.</p> +<p>Внутри нашего грид-контейнера у нас есть четыре дочерних элемента. Если мы не размещаем их явным образом, эти элементы будут расположены в гриде в соответствии с правилами авторазмещения, то есть, по одному элементу - в каждой из четырех первых ячеек. Если Вы воспользуетесь <a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_grid_layouts">Firefox Grid Highlighter</a> , то увидите, как грид инициирует колонки и строки.</p> <p><img alt="Our Grid highlighted in DevTools" src="https://mdn.mozillademos.org/files/14663/3_hilighted_grid.png" style="height: 296px; width: 900px;"></p> @@ -244,7 +244,7 @@ original_slug: >- <p>{{ EmbedLiveSample('End_Lines', '300', '330') }}</p> </div> -<p>Поэтому, если мы хотим, чтобы элементы занимали только один трек, наша сокращенная запись будет выглядеть вот так, без слэша и без второго значения:</p> +<p>Поэтому, если мы хотим, чтобы элементы занимали только один трек, наша сокращенная запись будет выглядеть вот так, без слеша и без второго значения:</p> <div id="New_Shorthand"> <div class="hidden"> @@ -366,7 +366,7 @@ original_slug: >- <p>Мы работаем с русским, языком с написанием слева направо. Начало нашего блока (block-start) - верхняя строчная линия грид-контейнера, конец блока (block-end) - последняя строчная линия контейнера. Начало строки (inline-start) - самая левая колоночная линия, поскольку начало строки - это всегда точка, с которой начинается написание текста в заданном режиме написания. Конец строки (inline-end) - последняя колоночная линия грида.</p> -<p>Когда мы задаем нашу грид-область с помощью свойства <code>grid-area</code> , мы сначала определяем обе начальные линии <code>block-start</code> и <code>inline-start</code>, а затем обе конечные линии <code>block-end</code> и <code>inline-end</code>. Поскольку мы давно работаем с физическими свойствами top, right, bottom и left, поначалу это кажется непривычным, но вполне осмысленно, если осознать, что относительно режима написания вебсайты - многонаправленные структуры.</p> +<p>Когда мы задаем нашу грид-область с помощью свойства <code>grid-area</code> , мы сначала определяем обе начальные линии <code>block-start</code> и <code>inline-start</code>, а затем обе конечные линии <code>block-end</code> и <code>inline-end</code>. Поскольку мы давно работаем с физическими свойствами top, right, bottom и left, поначалу это кажется непривычным, но вполне осмысленно, если осознать, что относительно режима написания веб-сайты - многонаправленные структуры.</p> <h2 id="Считая_с_конца">Считая с конца</h2> @@ -572,7 +572,7 @@ original_slug: >- <p>{{ EmbedLiveSample('Using_the_span_keyword', '300', '330') }}</p> -<p>Ключево слово <code>span</code> также можно использовать в качестве значения <code>grid-row-start</code>/<code>grid-row-end</code> и<code>grid-column-start/grid-column-end</code>. Два примера ниже создают одну и ту же грид-область. В первом примере мы задаем начальную строчную линию, а после говорим свойству, отвечающему за конечную линию: эй, мы хотим занять под этот элемент три линии. В итоге, грид-область начинается с первой линии и занимает пространство до 4-ой.</p> +<p>Ключевое слово <code>span</code> также можно использовать в качестве значения <code>grid-row-start</code>/<code>grid-row-end</code> и<code>grid-column-start/grid-column-end</code>. Два примера ниже создают одну и ту же грид-область. В первом примере мы задаем начальную строчную линию, а после говорим свойству, отвечающему за конечную линию: эй, мы хотим занять под этот элемент три линии. В итоге, грид-область начинается с первой линии и занимает пространство до 4-ой.</p> <pre class="notranslate">.box1 { grid-column-start: 1; diff --git a/files/ru/web/css/css_grid_layout/realizing_common_layouts_using_css_grid_layout/index.html b/files/ru/web/css/css_grid_layout/realizing_common_layouts_using_css_grid_layout/index.html index ad8e4e9186..7785b66392 100644 --- a/files/ru/web/css/css_grid_layout/realizing_common_layouts_using_css_grid_layout/index.html +++ b/files/ru/web/css/css_grid_layout/realizing_common_layouts_using_css_grid_layout/index.html @@ -116,7 +116,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_ <p>Вы можете видеть, как макет принимает форму в значении {{cssxref("grid-template-areas")}}. Заголовок охватывает две дорожки столбцов, как и навигационная система. В треке третьего ряда у нас есть боковая панель рядом с содержимым. В четвертой строке я решил разместить свой рекламный контент – так он появляется под боковой панелью, а затем футер, рядом с ним под контентом. Я использую flexbox в навигации, чтобы отобразить его в разнесенном ряду.</p> -<p>Тепреь я могу добавить конечные точки в наш 3-х колоночный макет.</p> +<p>Теперь я могу добавить конечные точки в наш 3-х колоночный макет.</p> <pre class="brush: css">@media (min-width: 700px) { .wrapper { @@ -140,7 +140,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_ <p>{{ EmbedLiveSample('layout_1', '800', '500') }}</p> </div> -<p>Это простой пример, но он демонстрирует, как мы можем использовать grid layout для перестройки нашего макета. В частности, я изменяю расположение рекламного блока, как заложено в настройках столбцов. Этот метод очень полезен на этапе прототипирования, он легко позволяет эксперементировать с расположением элементов. Вы всегда можете использовать сетку таким образом для прототипирования, даже несмотря на особенности отражения в различных браузерах, которые показывают ваш сайт.</p> +<p>Это простой пример, но он демонстрирует, как мы можем использовать grid layout для перестройки нашего макета. В частности, я изменяю расположение рекламного блока, как заложено в настройках столбцов. Этот метод очень полезен на этапе прототипирования, он легко позволяет экспериментировать с расположением элементов. Вы всегда можете использовать сетку таким образом для прототипирования, даже несмотря на особенности отражения в различных браузерах, которые показывают ваш сайт.</p> <h2 id="Гибкий_12-колоночный_макет."><font face="Liberation Sans, sans-serif"><font size="4">Гибкий 12-колоночный макет.</font></font></h2> diff --git a/files/ru/web/css/css_grid_layout/relationship_of_grid_layout/index.html b/files/ru/web/css/css_grid_layout/relationship_of_grid_layout/index.html index e49f1183b8..9ecddf7ce9 100644 --- a/files/ru/web/css/css_grid_layout/relationship_of_grid_layout/index.html +++ b/files/ru/web/css/css_grid_layout/relationship_of_grid_layout/index.html @@ -61,9 +61,9 @@ translation_of: Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout <p>{{ EmbedLiveSample('onedtwod', '500', '230') }}</p> -<p>На картинке вы видите, что два элемента перешли на новую строку. Эти элементы поделили свободное пространство между собой, а не выравнялись по элементам над ними. Происходит это потому, что каждая новая строка (или колонка, если мы работаем с колонками) становится новым flex-контейнером. А во flex-контейнере распределение свободного пространства действует в рамках <strong>всей </strong>строки. </p> +<p>На картинке вы видите, что два элемента перешли на новую строку. Эти элементы поделили свободное пространство между собой, а не выровнялись по элементам над ними. Происходит это потому, что каждая новая строка (или колонка, если мы работаем с колонками) становится новым flex-контейнером. А во flex-контейнере распределение свободного пространства действует в рамках <strong>всей </strong>строки. </p> -<p>Общий вопрос заключается в том, как заставить наши перебежавшие элементы выравняться по элементам сверху. Как раз в этом случае и нужен метод размещения элементов в двумерной системе: требуется выравнивание и по строке, и по колонке, а для этого на помощь спешит Grid.</p> +<p>Общий вопрос заключается в том, как заставить наши перебежавшие элементы выровняться по элементам сверху. Как раз в этом случае и нужен метод размещения элементов в двумерной системе: требуется выравнивание и по строке, и по колонке, а для этого на помощь спешит Grid.</p> <h3 id="Тот_же_макет_но_с_CSS_гридами">Тот же макет, но с CSS гридами</h3> @@ -368,7 +368,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout <p>Вы видите, что наш элемент занимает область от колоночной грид-линии 2 до колоночной грид-линии 4 и начинается после строчной линии 1. С помощью свойств left и top мы сдвигаем его относительно этой области. В то же время, он изымается из потока так же, как и любой другой элемент с абсолютным позиционированием, поэтому правила авторазмещения теперь помещают другие элементы на его место. Абсолютное позиционирование нашего элемент также не приводит к появлению новой строки.</p> -<p>Попробуйте удалить<code>position:</code> <code>absolute</code> из правил для <code>.box3</code> , и увидете, как он размещался бы без абсолютного позиционирования.</p> +<p>Попробуйте удалить<code>position:</code> <code>absolute</code> из правил для <code>.box3</code> , и увидите, как он размещался бы без абсолютного позиционирования.</p> <h3 id="Грид-контейнер_в_качестве_родительского_элемента">Грид-контейнер в качестве родительского элемента</h3> diff --git a/files/ru/web/css/css_grid_layout/subgrid/index.html b/files/ru/web/css/css_grid_layout/subgrid/index.html index f3e0b898d1..d0d92dae7d 100644 --- a/files/ru/web/css/css_grid_layout/subgrid/index.html +++ b/files/ru/web/css/css_grid_layout/subgrid/index.html @@ -109,7 +109,7 @@ translation_of: Web/CSS/CSS_Grid_Layout/Subgrid <tr> <td>{{SpecName("CSS Grid 2")}}</td> <td>{{Spec2("CSS Grid 2")}}</td> - <td>Изначальнео определение <a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout#Subgrid">subgrids</a>.</td> + <td>Изначально определение <a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout#Subgrid">subgrids</a>.</td> </tr> </tbody> </table> diff --git a/files/ru/web/css/css_images/using_css_gradients/index.html b/files/ru/web/css/css_images/using_css_gradients/index.html index 994886ec7a..5f029e06fa 100644 --- a/files/ru/web/css/css_images/using_css_gradients/index.html +++ b/files/ru/web/css/css_images/using_css_gradients/index.html @@ -240,7 +240,7 @@ translation_of: Web/CSS/CSS_Images/Using_CSS_gradients <p>{{ EmbedLiveSample('Создание_цветных_линий_и_полосок', 120, 120) }}</p> -<p>В первом примере выше лаймовый цвет идёт от отметки 0%, далее, как указано, до отметки 20%, сделает переход от лаймового до красного через 10% ширины градиента, достигнет сплошного красного на отметке 30%, и останется таким до 45% градиента, где он потускнеет до голубого, оставаясь таким ещё 15% градинета, и так далее.</p> +<p>В первом примере выше лаймовый цвет идёт от отметки 0%, далее, как указано, до отметки 20%, сделает переход от лаймового до красного через 10% ширины градиента, достигнет сплошного красного на отметке 30%, и останется таким до 45% градиента, где он потускнеет до голубого, оставаясь таким ещё 15% градиента, и так далее.</p> <p>Во втором примере каждая вторая точка остановки для каждого цвета находится на той же позиции, что и первая точка остановки соседнего цвета, создавая полосатый эффект.</p> @@ -250,7 +250,7 @@ translation_of: Web/CSS/CSS_Images/Using_CSS_gradients <div> <h3 id="Управление_переходом_градиента">Управление переходом градиента</h3> -<p>По умолчанию градиент плавно переходит между цветами двух соседних точек остановки, а средняя точка между этими двумя точками остановки является средним значением цветового перехода. Вы можете контролировать интерполяцию или переход между двумя точками остановки добавлением его расположения в цветовой подсказке. В этом примере цвет достигает средней точки перехода от лаймового до голубого на растоянии 20% градиента вместо стандартных 50%. Во втором примере нет такой подсказки, чтобы подчеркнуть отличие, получаемое при её использовании:</p> +<p>По умолчанию градиент плавно переходит между цветами двух соседних точек остановки, а средняя точка между этими двумя точками остановки является средним значением цветового перехода. Вы можете контролировать интерполяцию или переход между двумя точками остановки добавлением его расположения в цветовой подсказке. В этом примере цвет достигает средней точки перехода от лаймового до голубого на расстоянии 20% градиента вместо стандартных 50%. Во втором примере нет такой подсказки, чтобы подчеркнуть отличие, получаемое при её использовании:</p> <div class="hidden"> <pre class="brush: html"><div class="colorhint-gradient"></div> <div class="regular-progression"></div> diff --git a/files/ru/web/css/css_lists_and_counters/using_css_counters/index.html b/files/ru/web/css/css_lists_and_counters/using_css_counters/index.html index 6f2cf1d36b..cae93917f6 100644 --- a/files/ru/web/css/css_lists_and_counters/using_css_counters/index.html +++ b/files/ru/web/css/css_lists_and_counters/using_css_counters/index.html @@ -41,7 +41,7 @@ h3::before { <h2 id="Вложенные_счетчики">Вложенные счетчики</h2> -<p>CSS счетчики могут быть очень полезны для создания нумерованых списков, потому что новая сущность CSS счетчика автоматически создается в дочерних элементах. Используя функцию <code>counters(), можно вставить строку между разными уровнями вложенных счетчиков. Пример:</code></p> +<p>CSS счетчики могут быть очень полезны для создания нумерованных списков, потому что новая сущность CSS счетчика автоматически создается в дочерних элементах. Используя функцию <code>counters(), можно вставить строку между разными уровнями вложенных счетчиков. Пример:</code></p> <pre class="brush: css">ol { counter-reset: section; /*Создает новый счетчик для каждого @@ -60,7 +60,7 @@ li::before { } </pre> -<p>Обьединим с данным HTML:</p> +<p>Объединим с данным HTML:</p> <pre class="brush: html"><ol> <li>item</li> <!-- 1 --> diff --git a/files/ru/web/css/css_positioning/understanding_z_index/adding_z-index/index.html b/files/ru/web/css/css_positioning/understanding_z_index/adding_z-index/index.html index 4f041d515f..1b024aaca9 100644 --- a/files/ru/web/css/css_positioning/understanding_z_index/adding_z-index/index.html +++ b/files/ru/web/css/css_positioning/understanding_z_index/adding_z-index/index.html @@ -8,7 +8,7 @@ original_slug: Web/Guide/CSS/Understanding_z_index/Adding_z-index <p>The first part of this article, <a href="/en/CSS/Understanding_z-index/Stacking_without_z-index" title="en/CSS/Understanding_z-index/Stacking_without_z-index">Stacking without the z-index property</a>, explains how stacking is arranged by default. If you want to create a custom stacking order, you can use the {{cssxref("z-index")}} property on a <a href="/en-US/docs/Web/CSS/position#Types_of_positioning">positioned</a> element.</p> -<p>Свойство <code>z-index</code> может иметь значение в целых числах (положительные, ноль, или отрицательные), что представляет собой позицию єлемента вдоль оси z. Если вы не знакомы с<strong> </strong>осью<strong> </strong>z, представьте себе страницу как стопку слоев, имеющих собственое порядковое число. Слои представлены в числовом порядке, with larger numbers above smaller numbers.</p> +<p>Свойство <code>z-index</code> может иметь значение в целых числах (положительные, ноль, или отрицательные), что представляет собой позицию єлемента вдоль оси z. Если вы не знакомы с<strong> </strong>осью<strong> </strong>z, представьте себе страницу как стопку слоев, имеющих собственное порядковое число. Слои представлены в числовом порядке, with larger numbers above smaller numbers.</p> <ul> <li>bottom layer<em> (farthest from the observer)</em></li> diff --git a/files/ru/web/css/css_positioning/understanding_z_index/index.html b/files/ru/web/css/css_positioning/understanding_z_index/index.html index 8d5d965a23..d2185a90e3 100644 --- a/files/ru/web/css/css_positioning/understanding_z_index/index.html +++ b/files/ru/web/css/css_positioning/understanding_z_index/index.html @@ -16,14 +16,14 @@ original_slug: Web/Guide/CSS/Understanding_z_index <p>Обычно HTML страницы можно считать двухмерными, потому что текст, картинки и другие элементы расположены на странице без перекрытия. Существует единый нормальный поток отрисовки (rendering flow) и элементы избегают пространства, занятого другими.{{cssxref("z-index")}} атрибут позволяет регулировать порядок наложения объектов друг на друга в процессе отрисовки контента (rendering content).</p> <blockquote> -<p><em>В CSS 2.1, позиция каждого блока была в трех измерениях. В дополнении к их горизонтальной и вертикальной позиции блоки лежали вдоль оси "z" и распологались один поверх другого. Позиция относительно оси "z" особенно актуальна, когда блоки визуально накладываются друг на друга. </em></p> +<p><em>В CSS 2.1, позиция каждого блока была в трех измерениях. В дополнении к их горизонтальной и вертикальной позиции блоки лежали вдоль оси "z" и располагались один поверх другого. Позиция относительно оси "z" особенно актуальна, когда блоки визуально накладываются друг на друга. </em></p> </blockquote> <p>(from <a class="external" href="http://www.w3.org/TR/CSS21/visuren.html#z-index">CSS 2.1 Section 9.9.1 - Layered presentation</a>)</p> <p>Это означает, что правила стиля CSS позволяют вам позиционировать блоки на слоях в дополнение к обычному слою рендеринга (слой 0). Положение Z каждого слоя выражается как целое число, представляющее порядок наложения для рендеринга. Большие числа означают ближе к наблюдателю. Положение Z можно контролировать с помощью свойства CSS z-index.</p> -<p>Использование z-index кажется чрезвычайно простым: одно свойство, которому присваивается одно целое число, с простым для понимания поведением. Однако, когда z-index применяется к сложным иерархиям элементов HTML, его поведение может быть трудно понять или предсказать. Это обьясняется целым комплексом правил "укладки" элементов. Фактически в спецификации <a class="external" href="http://www.w3.org/TR/CSS21/zindex.html">CSS-2.1 Appendix E</a> (CSS-2.1 Приложение Е) зарезервирован целый раздел, подробно обьясняющий эти правила.</p> +<p>Использование z-index кажется чрезвычайно простым: одно свойство, которому присваивается одно целое число, с простым для понимания поведением. Однако, когда z-index применяется к сложным иерархиям элементов HTML, его поведение может быть трудно понять или предсказать. Это объясняется целым комплексом правил "укладки" элементов. Фактически в спецификации <a class="external" href="http://www.w3.org/TR/CSS21/zindex.html">CSS-2.1 Appendix E</a> (CSS-2.1 Приложение Е) зарезервирован целый раздел, подробно объясняющий эти правила.</p> <p>Данная статья попытается объяснить эти правила, с некоторым упрощением и несколькими примерами.</p> diff --git a/files/ru/web/css/css_positioning/understanding_z_index/stacking_without_z-index/index.html b/files/ru/web/css/css_positioning/understanding_z_index/stacking_without_z-index/index.html index 7ab14098a2..e7eac00f5a 100644 --- a/files/ru/web/css/css_positioning/understanding_z_index/stacking_without_z-index/index.html +++ b/files/ru/web/css/css_positioning/understanding_z_index/stacking_without_z-index/index.html @@ -11,7 +11,7 @@ original_slug: Web/Guide/CSS/Understanding_z_index/Stacking_without_z-index <h3 id="Наложения_без_Z-индекса">Наложения без Z-индекса</h3> -<p>Когда элементы не имеют z-индека, они накладываються в таком порядке(снизу вверх):</p> +<p>Когда элементы не имеют z-индекса, они накладываются в таком порядке(снизу вверх):</p> <p>1. Фон и границы корневого элемента.</p> @@ -19,7 +19,7 @@ original_slug: Web/Guide/CSS/Understanding_z_index/Stacking_without_z-index <p>3. Дочерние позиционированные элементы, в порядке размещения (в HTML порядке).</p> -<p>В следующем примере, абсолютно и относительно спозиционированным блокам определена величина и позиция таким образом, чтобы продемонстировать правила наложения.</p> +<p>В следующем примере, абсолютно и относительно спозиционированным блокам определена величина и позиция таким образом, чтобы продемонстрировать правила наложения.</p> <div class="note"> <p><strong>Заметки:</strong></p> diff --git a/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html b/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html index 8a76b44318..5a3ae04036 100644 --- a/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html +++ b/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html @@ -26,7 +26,7 @@ translation_of: Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_conte <li>элементы с {{cssxref("isolation")}} установленным в "isolate",</li> <li><code>position: fixed</code></li> <li>если мы указываем элементу атрибут <code>{{cssxref("will-change")}}</code> при этом не обязательно присваивать ему значения (См. <a href="http://dev.opera.com/articles/css-will-change-property/">this post</a>)</li> - <li>элементы с {{cssxref("-webkit-overflow-scrolling")}} установленым в "touch"</li> + <li>элементы с {{cssxref("-webkit-overflow-scrolling")}} установленным в "touch"</li> </ul> <p>Внутри контекста наложения дочерние элементы расположены в соответствии с правилами, описанными ранее. Важно заметить, что значения свойства z-index для дочерних элементов формирующих контекст наложения, будут учитываться только в рамках родительского элемента. Контекст наложения обрабатываются атомарно, как единое целое в контексте наложения родителя.</p> @@ -69,7 +69,7 @@ translation_of: Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_conte <p><strong>Notes:</strong></p> <ul> - <li>DIV #4 отрисовывается под DIV #1, потому что z-index (5) DIV #1 действителен внутри контекта наложения корневого элемента, в то время как z-index (6) DIV #4 действителен внутри контекста наложения DIV #3. Поэтому, DIV #4 находиться ниже DIV #1, потому что DIV #4 принадлежит DIV #3, который в свою очередь имеет меньший z-index(по сравнению с .DIV #1).</li> + <li>DIV #4 отрисовывается под DIV #1, потому что z-index (5) DIV #1 действителен внутри контакта наложения корневого элемента, в то время как z-index (6) DIV #4 действителен внутри контекста наложения DIV #3. Поэтому, DIV #4 находиться ниже DIV #1, потому что DIV #4 принадлежит DIV #3, который в свою очередь имеет меньший z-index(по сравнению с .DIV #1).</li> <li>По этим же причинам DIV #2 (z-index 2) отрисовывается под DIV#5 (z-index 1), так как DIV #5 принадлежит DIV #3, чей z-index больше( чем z-index DIV #2).</li> <li>У DIV #3 есть свойство z-index 4, но это значение независимо от z-index'ов DIV #4, DIV #5 и DIV #6, потому что принадлежат они разным контекстам наложения.</li> <li>An easy way to figure out the <em>rendering order</em> of stacked elements along the Z axis is to think of it as a "version number" of sorts, where child elements are minor version numbers underneath their parent's major version numbers. This way we can easily see how an element with a z-index of 1 (DIV #5) is stacked above an element with a z-index of 2 (DIV #2), and how an element with a z-index of 6 (DIV #4) is stacked below an element with a z-index of 5 (DIV #1). In our example (sorted according to the final rendering order): diff --git a/files/ru/web/css/css_scroll_snap/basic_concepts/index.html b/files/ru/web/css/css_scroll_snap/basic_concepts/index.html index 1132200f6e..a6ab4ae735 100644 --- a/files/ru/web/css/css_scroll_snap/basic_concepts/index.html +++ b/files/ru/web/css/css_scroll_snap/basic_concepts/index.html @@ -19,9 +19,9 @@ translation_of: Web/CSS/CSS_Scroll_Snap/Basic_concepts <p>Свойство {{CSSxRef("scroll-snap-type")}} необходимо, чтобы задавать направление, в котором будет происходить привязка прокрутки. Значением свойства может быть <code>x</code>, <code>y</code>, или соответствующие логические <code>block</code> или <code>inline</code>. Также можно использовать ключевое слово <code>both</code>, чтобы привязка работала в обоих направлениях.</p> -<p>Также можно передавать ключевые слова <code>mandatory</code>, или <code>proximity</code>. Ключевое слово <code>mandatory</code> определяет обязательное смещение прокрутки браузера к ближайшей точке привязки. Ключевое слово <code>proximity</code> означает, что привязка может прозойти , но не обязательно.</p> +<p>Также можно передавать ключевые слова <code>mandatory</code>, или <code>proximity</code>. Ключевое слово <code>mandatory</code> определяет обязательное смещение прокрутки браузера к ближайшей точке привязки. Ключевое слово <code>proximity</code> означает, что привязка может произойти , но не обязательно.</p> -<p>Использование <code>mandatory</code> делает взаимодействие с интерфейсом однородным и предсказуемым — вы знаете, что браузер всегда будет смещать область видимости к каждой заданной точке привязки. Это даёт уверенность в том, что в после прокрутки экрана, в его верхней части окажется именно то, что вы и ожидаете там увидеть.Однако, это может привести и к проблемам, если содержимое слишком большое повысоте — пользователи могут оказаться в очень неприятной ситуации, не имея возможности переместиться к пределённому месту на странице странице. Следовательно, применение <code>mandatory</code> должно быть тщательно продуманным и использовано только в тех ситуациях, когда вы точно знаете, какое количество содержимого будет на экране в каждый момент времени.</p> +<p>Использование <code>mandatory</code> делает взаимодействие с интерфейсом однородным и предсказуемым — вы знаете, что браузер всегда будет смещать область видимости к каждой заданной точке привязки. Это даёт уверенность в том, что в после прокрутки экрана, в его верхней части окажется именно то, что вы и ожидаете там увидеть.Однако, это может привести и к проблемам, если содержимое слишком большое по высоте — пользователи могут оказаться в очень неприятной ситуации, не имея возможности переместиться к определенному месту на странице странице. Следовательно, применение <code>mandatory</code> должно быть тщательно продуманным и использовано только в тех ситуациях, когда вы точно знаете, какое количество содержимого будет на экране в каждый момент времени.</p> <p>При значении <code>proximity</code> привязка будет осуществляться только в тех ситуациях, когда область видимости находится достаточно близко к точке привязки. Определение точного расстояния, на котором это будет происходить, остаётся за браузером. В примере ниже вы можете изменить значение с <code>mandatory</code> на <code>proximity</code>, чтобы увидеть, как это влияет на работу прокрутки.</p> @@ -47,7 +47,7 @@ translation_of: Web/CSS/CSS_Scroll_Snap/Basic_concepts <h2 id="Внешние_отступы_дочерних_элементов">Внешние отступы дочерних элементов</h2> -<p>Свойство {{CSSxRef("scroll-margin")}} может быть задано для дочерних элементов и определяет, по сути, внешний оступ данного элемента до позиции прокрутки. Это позволяет дочерним элементам занимать разное количество места, и может использоваться в сочетании со свойством <code>scroll-padding</code> для родителя. Опробуйте его в примере ниже</p> +<p>Свойство {{CSSxRef("scroll-margin")}} может быть задано для дочерних элементов и определяет, по сути, внешний отступ данного элемента до позиции прокрутки. Это позволяет дочерним элементам занимать разное количество места, и может использоваться в сочетании со свойством <code>scroll-padding</code> для родителя. Опробуйте его в примере ниже</p> <p>{{EmbedGHLiveSample("css-examples/scroll-snap/scroll-margin.html", '100%', 700)}}</p> diff --git a/files/ru/web/css/css_selectors/index.html b/files/ru/web/css/css_selectors/index.html index f3c8f7dfa7..039e006a62 100644 --- a/files/ru/web/css/css_selectors/index.html +++ b/files/ru/web/css/css_selectors/index.html @@ -102,7 +102,7 @@ original_slug: Web/CSS/CSS_Селекторы <td>{{SpecName('CSS3 Selectors')}}</td> <td>{{Spec2('CSS3 Selectors')}}</td> <td>Добавлен комбинатор <code>~</code> и древовидные структурные псевдоклассы.<br> - Сделаны псевдоэлементы, использующие префик <code>::</code> двойное двоеточие. Селекторы дополнительных атрибутов.</td> + Сделаны псевдоэлементы, использующие префикс <code>::</code> двойное двоеточие. Селекторы дополнительных атрибутов.</td> </tr> <tr> <td>{{SpecName('CSS2.1', 'selector.html')}}</td> diff --git a/files/ru/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html b/files/ru/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html index 456e350fad..7c112e8d03 100644 --- a/files/ru/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html +++ b/files/ru/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html @@ -10,9 +10,9 @@ original_slug: Web/CSS/CSS_Селекторы/Using_the_:target_pseudo-class_in_ <h2 id="Picking_a_Target" name="Picking_a_Target">Выбор целевых элементов</h2> -<p>Псевдокласс {{cssxref(":target")}} используется для стилизации целевого элемента URL, содержащего идентификатор фрагмента. Например, URL <code><span class="nowiki">http://developer.mozilla.org/en/docs/Using_the_:target_selector#example</span></code> содержит идентификатор фрагмента <code>#example</code>. В HTML, идентификаторы определяются значениями атрибутов <code>id</code> или <code>name</code>, т.к. эти аттрибуты разделяют одно пространство имён. Таким образом, в вышеприведённом примере URL указывает на первый элемент "example" в документе.</p> +<p>Псевдокласс {{cssxref(":target")}} используется для стилизации целевого элемента URL, содержащего идентификатор фрагмента. Например, URL <code><span class="nowiki">http://developer.mozilla.org/en/docs/Using_the_:target_selector#example</span></code> содержит идентификатор фрагмента <code>#example</code>. В HTML, идентификаторы определяются значениями атрибутов <code>id</code> или <code>name</code>, т.к. эти атрибуты разделяют одно пространство имён. Таким образом, в вышеприведённом примере URL указывает на первый элемент "example" в документе.</p> -<p>Пердположим, вы хотите стилизовать любой элемент <code>h2</code>, который является целью URL, но не хотите, чтобы другие элементы получили стиль цели. Сделать это довольно просто:</p> +<p>Предположим, вы хотите стилизовать любой элемент <code>h2</code>, который является целью URL, но не хотите, чтобы другие элементы получили стиль цели. Сделать это довольно просто:</p> <pre class="brush: css">h2:target { font-weight: bold; }</pre> @@ -29,7 +29,7 @@ original_slug: Web/CSS/CSS_Селекторы/Using_the_:target_pseudo-class_in_ <h2 id="Example" name="Example">Пример</h2> -<p>В данном примере имеются пять ссылок, которые ссылаются на элементы одного и того же документа. Выбор ссылки "First" , например, приведёт к тому, что <code><h1 id="one"></code> станет целевым элементом. Заметьте, что при прокутке документа целевые элементы располагаются вверху окна браузера, если это возможно.</p> +<p>В данном примере имеются пять ссылок, которые ссылаются на элементы одного и того же документа. Выбор ссылки "First" , например, приведёт к тому, что <code><h1 id="one"></code> станет целевым элементом. Заметьте, что при прокрутке документа целевые элементы располагаются вверху окна браузера, если это возможно.</p> <div id="example"> <pre class="brush: html"><h4 id="one">...</h4> <p id="two">...</p> diff --git a/files/ru/web/css/css_transitions/using_css_transitions/index.html b/files/ru/web/css/css_transitions/using_css_transitions/index.html index fe9483eea9..69572dcdd2 100644 --- a/files/ru/web/css/css_transitions/using_css_transitions/index.html +++ b/files/ru/web/css/css_transitions/using_css_transitions/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/CSS_Transitions/Using_CSS_transitions --- <p>{{CSSref}}{{SeeCompatTable}}</p> -<p><span class="seoSummary"><strong>CSS transitions</strong> предоставляют способ контролировать скорость анимации, при изменении CSS свойств. Вместо того, чтобы свойство применилось сразу, вы можете сделать это действие происходящим в течение какого-то момента времени. Например, если вы смените цвет элемента с белого на чёрный, изменение произойдёт моментально, а вот с CSS transitions, измения произойдут за временные интервалы, следующих кривой ускорения, все из которых могут быть настроены.</span></p> +<p><span class="seoSummary"><strong>CSS transitions</strong> предоставляют способ контролировать скорость анимации, при изменении CSS свойств. Вместо того, чтобы свойство применилось сразу, вы можете сделать это действие происходящим в течение какого-то момента времени. Например, если вы смените цвет элемента с белого на чёрный, изменение произойдёт моментально, а вот с CSS transitions, изменения произойдут за временные интервалы, следующих кривой ускорения, все из которых могут быть настроены.</span></p> <p>Анимации, составляющие переход между двумя состояниями, часто называют <em>неявными переходами</em>, так как промежуточные состояния в период между начальным и конечным состоянием неявно определяются браузером.<img alt="A CSS transition tells the browser to draw the intermediate states between the initial and final states, showing the user a smooth transitions." src="/files/4529/TransitionsPrinciple.png" style="display: block; height: 196px; margin: auto; width: 680px;"></p> @@ -56,7 +56,7 @@ translation_of: Web/CSS/CSS_Transitions/Using_CSS_transitions <p>{{ EmbedLiveSample('Пример_анимирования_нескольких_свойств', 600, 300) }}</p> -<h2 id="CSS_свойства_опредяющие_переходы">CSS свойства, опредяющие переходы</h2> +<h2 id="CSS_свойства_определяющие_переходы">CSS свойства, определяющие переходы</h2> <p>CSS переходы контролируются свойством<a href="https://developer.mozilla.org/en-US/docs/CSS/transition"> </a>{{cssxref("transition")}}. Это лучший способ их настроить, позволяет избежать длинных свойств и их несоответствий, которые могут сделать отладку CSS долгой.</p> @@ -907,7 +907,7 @@ var intervalID = window.setInterval(updateTransition, 7000); <h2 id="Когда_у_списков_значений_свойств_разные_длины">Когда у списков значений свойств разные длины</h2> -<p>Если любой список свойств короче, чем другие, его значения повторяюся, чтобы сделать его длину как и у других. Например:</p> +<p>Если любой список свойств короче, чем другие, его значения повторяются, чтобы сделать его длину как и у других. Например:</p> <pre class="brush: css">div { transition-property: opacity, left, top, height; @@ -938,7 +938,7 @@ var intervalID = window.setInterval(updateTransition, 7000); <h2 id="Простой_пример">Простой пример</h2> -<p>Пример 4 секунды выполняет плавное измение шрифта за 2 секунды, после того как пользователь навел мышь на элемент:</p> +<p>Пример 4 секунды выполняет плавное изменение шрифта за 2 секунды, после того как пользователь навел мышь на элемент:</p> <pre class="brush: css">#delay1 { position: relative; @@ -960,7 +960,7 @@ var intervalID = window.setInterval(updateTransition, 7000); <p>Они часто используются для подсвечения элементов в меню при наведении мыши. С помощью переходов легко сделать такой эффект более привлекательным.</p> -<p>Перед тем, как вы посмотрите на код, возможно захотите <a href="https://codepen.io/anon/pen/WOEpva">посмотреть на живое демо</a> (считаем, что ваш браузер поддерживает переходы). Также можеть <a href="/samples/cssref/transitions/sample2/transitions.css">посмотреть на CSS</a>, используемый этим примером.</p> +<p>Перед тем, как вы посмотрите на код, возможно захотите <a href="https://codepen.io/anon/pen/WOEpva">посмотреть на живое демо</a> (считаем, что ваш браузер поддерживает переходы). Также может <a href="/samples/cssref/transitions/sample2/transitions.css">посмотреть на CSS</a>, используемый этим примером.</p> <p>Сначала зададим меню в HTML:</p> @@ -1026,7 +1026,7 @@ document.addEventListener('click', function(ev){ },false); </pre> -<p>C помощью CSS сглаживаем эффект без дополнительных усилий. Просто добавляем переход и любое измение свойств происходит плавно:</p> +<p>C помощью CSS сглаживаем эффект без дополнительных усилий. Просто добавляем переход и любое изменение свойств происходит плавно:</p> <pre class="brush: css">p { padding-left: 60px; @@ -1142,7 +1142,7 @@ document.addEventListener('click', function(ev){ </table> </div> -<p>[1] Chrome 1.0, WebKit 3.2 и Android 2.1 выполняют нестрандартное событие <code>webkitTransitionEnd</code>. Chrome 26.0 и WebKit 6.0 придерживаются стандарта <code>transitionend</code>.</p> +<p>[1] Chrome 1.0, WebKit 3.2 и Android 2.1 выполняют нестандартное событие <code>webkitTransitionEnd</code>. Chrome 26.0 и WebKit 6.0 придерживаются стандарта <code>transitionend</code>.</p> <p>[2] Opera 10.5 и Opera Mobile 10 поддерживают <code>oTransitionEnd</code>, версия 12 понимает <code>otransitionend, а</code> версия 12.10 знает стандарт <code>transitionend</code>.</p> diff --git a/files/ru/web/css/cursor/index.html b/files/ru/web/css/cursor/index.html index ce3410ba94..714d6f9aba 100644 --- a/files/ru/web/css/cursor/index.html +++ b/files/ru/web/css/cursor/index.html @@ -31,7 +31,7 @@ cursor: unset; <dl> <dt><<code>url</code>></dt> - <dd>Ссылка или разделенный запятыми список ссылок: <code>url(…), url(…), …</code>, указывающие на файл изображения. Дополнительные сссылки могут быть предоставлены в качестве запасных значений, на случай если изображение по основной ссылке не поддерживается в качестве курсора. Запасное значение, не являющееся ссылкой (одно или несколько ключевых слов) <strong>должно </strong>находиться в конце списка значений. See <a href="/en-US/docs/CSS/Using_URL_values_for_the_cursor_property" title="Using_URL_values_for_the_cursor_property">Using URL values for the cursor property</a> for more details.</dd> + <dd>Ссылка или разделенный запятыми список ссылок: <code>url(…), url(…), …</code>, указывающие на файл изображения. Дополнительные ссылки могут быть предоставлены в качестве запасных значений, на случай если изображение по основной ссылке не поддерживается в качестве курсора. Запасное значение, не являющееся ссылкой (одно или несколько ключевых слов) <strong>должно </strong>находиться в конце списка значений. See <a href="/en-US/docs/CSS/Using_URL_values_for_the_cursor_property" title="Using_URL_values_for_the_cursor_property">Using URL values for the cursor property</a> for more details.</dd> <dt><code><x></code> <code><y></code> {{experimental_inline}}</dt> <dd>Необязательные значения х- и у- координат. Два безразмерных неотрицательных числа меньше 32.</dd> <dt>Ключевые слова</dt> @@ -125,7 +125,7 @@ cursor: unset; <td><code>move</code></td> <td><img alt="move.gif" src="/@api/deki/files/3443/=move.gif" style="height: 26px; width: 26px;"></td> <td> - <p>Указывает на возможностсь перемещения объекта.</p> + <p>Указывает на возможность перемещения объекта.</p> </td> </tr> <tr style="cursor: no-drop;"> @@ -154,7 +154,7 @@ cursor: unset; <tr style="cursor: row-resize;"> <td><code>row-resize</code></td> <td><img alt="row-resize.gif" src="/@api/deki/files/3451/=row-resize.gif" style="height: 26px; width: 26px;"></td> - <td>Обьект может быть раздвинут/сдвинут вертикально. Две горизонтальные черты с вертикальными стрелочками.</td> + <td>Объект может быть раздвинут/сдвинут вертикально. Две горизонтальные черты с вертикальными стрелочками.</td> </tr> <tr style="cursor: n-resize;"> <td><code>n-resize</code></td> diff --git a/files/ru/web/css/custom-ident/index.html b/files/ru/web/css/custom-ident/index.html index facafe5d39..e71f5f129c 100644 --- a/files/ru/web/css/custom-ident/index.html +++ b/files/ru/web/css/custom-ident/index.html @@ -115,7 +115,7 @@ bili.bob Только буквы, цифры, _ и - можно не э <tr> <td>{{SpecName('CSS3 Values', '#custom-idents', '<code><custom-ident></code>')}}</td> <td>{{Spec2('CSS3 Values')}}</td> - <td>Переименовывает <code><identifier></code> в <code><custom-ident></code>. Делает его псевдо-типом и запрещает использование некоторых значчений.</td> + <td>Переименовывает <code><identifier></code> в <code><custom-ident></code>. Делает его псевдо-типом и запрещает использование некоторых значений.</td> </tr> <tr> <td>{{SpecName('CSS2.1', 'syndata.html#value-def-identifier', '<code><identifier></code>')}}</td> diff --git a/files/ru/web/css/descendant_combinator/index.html b/files/ru/web/css/descendant_combinator/index.html index 4498ab146b..b1305b3171 100644 --- a/files/ru/web/css/descendant_combinator/index.html +++ b/files/ru/web/css/descendant_combinator/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/Descendant_combinator <h2 id="Summary" name="Summary">Описание</h2> -<p>Комбинатор<code> ␣</code> (пробел) представляет собой 2 или более селекторов, найдет элементы соответвующие обоим селекторам. Селекторы по потомкам похожи на селекторы <a href="/ru/docs/Web/CSS/Child_selectors">дочерних элементов</a>, но они не учитывают вложенность элементов и пременяют свои свойства ко всем элемнтам данного типа, находящимся внутри родительского элемента, независимо от глубины вложенности.</p> +<p>Комбинатор<code> ␣</code> (пробел) представляет собой 2 или более селекторов, найдет элементы соответствующие обоим селекторам. Селекторы по потомкам похожи на селекторы <a href="/ru/docs/Web/CSS/Child_selectors">дочерних элементов</a>, но они не учитывают вложенность элементов и применяют свои свойства ко всем элементам данного типа, находящимся внутри родительского элемента, независимо от глубины вложенности.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/css/flex-flow/index.html b/files/ru/web/css/flex-flow/index.html index f5fb0f51b3..3f816ff7b3 100644 --- a/files/ru/web/css/flex-flow/index.html +++ b/files/ru/web/css/flex-flow/index.html @@ -127,7 +127,7 @@ flex-flow: unset; </table> </div> -<p>[1] В дополенение к безпрефиксной поддержке, Gecko 48.0 {{geckoRelease("48.0")}} добавило поддержку для <code>-webkit</code> префиксной версии свойства для веб для веб совместимости, для тех кто не изменял значение своих настроек <code>layout.css.prefixes.webkit</code>, по-умолчанию <code>false</code>. Поскольку Gecko 49.0 {{geckoRelease("49.0")}} предпочтительное значение по-умолчанию <code>true</code>.</p> +<p>[1] В дополнение к беспрефиксной поддержке, Gecko 48.0 {{geckoRelease("48.0")}} добавило поддержку для <code>-webkit</code> префиксной версии свойства для веб для веб совместимости, для тех кто не изменял значение своих настроек <code>layout.css.prefixes.webkit</code>, по умолчанию <code>false</code>. Поскольку Gecko 49.0 {{geckoRelease("49.0")}} предпочтительное значение по умолчанию <code>true</code>.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/css/flex-wrap/index.html b/files/ru/web/css/flex-wrap/index.html index 44914bcb02..345b55bbaa 100644 --- a/files/ru/web/css/flex-wrap/index.html +++ b/files/ru/web/css/flex-wrap/index.html @@ -33,7 +33,7 @@ flex-wrap: unset; <dt><code>nowrap</code></dt> <dd>Расположение в одну линию, может привести к переполнению контейнера. Свойство <strong>cross-start</strong> эквивалентно <strong>start</strong> или <strong>before</strong> в зависимости от значения {{cssxref("flex-direction")}}.</dd> <dt><code>wrap</code></dt> - <dd>Расположение в несколько линий. Свойство <strong>cross-start</strong> эквивалентно <strong>start</strong> или <strong>before</strong> в зависимости отзначения <code>flex-direction</code> и свойство <strong>cross-end</strong> противоположно <strong>cross-start</strong>.</dd> + <dd>Расположение в несколько линий. Свойство <strong>cross-start</strong> эквивалентно <strong>start</strong> или <strong>before</strong> в зависимости от значения <code>flex-direction</code> и свойство <strong>cross-end</strong> противоположно <strong>cross-start</strong>.</dd> <dt><code>wrap-reverse</code></dt> <dd>Ведёт себя так же, как и <code>wrap</code> но <strong>cross-start</strong> и <strong>cross-end</strong> инвертированы.</dd> <dt> diff --git a/files/ru/web/css/flex/index.html b/files/ru/web/css/flex/index.html index d36c8ad65f..a0a28a86d8 100644 --- a/files/ru/web/css/flex/index.html +++ b/files/ru/web/css/flex/index.html @@ -185,12 +185,12 @@ flex.addEventListener("click", function() { </table> </div> -<p><sup><a name="bc1">[1]</a></sup> Для активации flexbox для Firefox 18 и 19 пользователю неободимо внести следующее изменение:<br> +<p><sup><a name="bc1">[1]</a></sup> Для активации flexbox для Firefox 18 и 19 пользователю необходимо внести следующее изменение:<br> свойство конфигурации "layout.css.flexbox.enabled" в<code>true</code>.</p> <p><sup><a name="bc2">[2]</a></sup> Multi-line flexbox поддерживается Firefox 28.</p> -<p><sup><a name="flexbug8">[3]</a></sup> Internet Explorer 10-11 (кроме 12+) игонорируют использование <a href="/en-US/docs/Web/CSS/calc"><code>calc()</code></a> во flex-basis части <code>flex</code> синтаксиса. Это можно обойти, используя свойства longhand вместо сокращения. Дополнительную информацию см. В <a href="https://github.com/philipwalton/flexbugs#8-flex-shorthand-doesnt-support-calc">Flexbug # 8</a>.</p> +<p><sup><a name="flexbug8">[3]</a></sup> Internet Explorer 10-11 (кроме 12+) игнорируют использование <a href="/en-US/docs/Web/CSS/calc"><code>calc()</code></a> во flex-basis части <code>flex</code> синтаксиса. Это можно обойти, используя свойства longhand вместо сокращения. Дополнительную информацию см. В <a href="https://github.com/philipwalton/flexbugs#8-flex-shorthand-doesnt-support-calc">Flexbug # 8</a>.</p> <p><sup><a name="flexbug4">[4]</a></sup> В Internet Explorer 10-11 (кроме 12+), объявление <code>flex</code> без единичного значения в его <em>flex-basis</em> части считается синтаксически недействительным и поэтому игнорируется. Обходной путь состоит в том, чтобы всегда включать единицу в <em>flex-basis </em>часть <code>flex</code> . Дополнительную информацию см. В <a href="https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored">Flexbug #4</a>.</p> diff --git a/files/ru/web/css/flex_value/index.html b/files/ru/web/css/flex_value/index.html index c43a75c0cc..2df121314f 100644 --- a/files/ru/web/css/flex_value/index.html +++ b/files/ru/web/css/flex_value/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/flex_value --- <div>{{CSSRef}}</div> -<p><a href="/ru/docs/Web/CSS">CSS</a> <a href="/ru/docs/Web/CSS/CSS_Types">тип данных</a> <strong><code><flex></code></strong> определеяет гибкую длину в сеточном контейнере. Он используется в таких свойствах, как {{cssxref("grid-template-columns")}}, {{cssxref("grid-template-rows")}}.</p> +<p><a href="/ru/docs/Web/CSS">CSS</a> <a href="/ru/docs/Web/CSS/CSS_Types">тип данных</a> <strong><code><flex></code></strong> определяет гибкую длину в сеточном контейнере. Он используется в таких свойствах, как {{cssxref("grid-template-columns")}}, {{cssxref("grid-template-rows")}}.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/font-weight/index.html b/files/ru/web/css/font-weight/index.html index e8aad3aab1..386ede4092 100644 --- a/files/ru/web/css/font-weight/index.html +++ b/files/ru/web/css/font-weight/index.html @@ -58,7 +58,7 @@ font-weight: unset; <h3 id="Недоступность_заданного_значения">Недоступность заданного значения</h3> -<p>Если заданное цифровое значение насыщенности недоступно, для определения толщины отображемого шрифта используется следующий алгоритм:</p> +<p>Если заданное цифровое значение насыщенности недоступно, для определения толщины отображаемого шрифта используется следующий алгоритм:</p> <ul> <li>Если задано значение выше <code>500</code>, будет использовано первое доступное более жирное начертание (если такого не окажется, то первое доступное более светлое).</li> diff --git a/files/ru/web/css/grid-area/index.html b/files/ru/web/css/grid-area/index.html index 447a22001f..dcbbae226f 100644 --- a/files/ru/web/css/grid-area/index.html +++ b/files/ru/web/css/grid-area/index.html @@ -51,7 +51,7 @@ grid-area: unset; <dd>- ключевое слово, говорящее о том, что свойство не вносит никаких изменений в размещение грид-элемента. На элемент действует авторазмещение или размер элемента по умолчанию <code>1</code>. <em>(то есть, элемент занимает одну ячейку грид-сетки в заданном направлении)</em></dd> <dt><code><custom-ident></code></dt> <dd>если есть именованная линия с именем '<code><custom-ident>-start</code>'/'<code><custom-ident>-end</code>', то грид-элемент привязывается к первой из таких линий. - <p class="note"><strong>Замечание:</strong> Именнованные грид-области автоматически генерируют неявные именнованные линии с именами подобного формата, поэтому запись <code>grid-area: foo;</code> выберет начальный/конечный край этой именованной грид-области (если, конечно, другая линия с именем <code>foo-start</code>/<code>foo-end</code> не была явно определена раньше).</p> + <p class="note"><strong>Замечание:</strong> Именованные грид-области автоматически генерируют неявные именованные линии с именами подобного формата, поэтому запись <code>grid-area: foo;</code> выберет начальный/конечный край этой именованной грид-области (если, конечно, другая линия с именем <code>foo-start</code>/<code>foo-end</code> не была явно определена раньше).</p> <p>В противном случае, значение расценивается, как если бы число <code>1</code> было задано вместе с <code><custom-ident></code>.</p> </dd> diff --git a/files/ru/web/css/grid-auto-flow/index.html b/files/ru/web/css/grid-auto-flow/index.html index a0054ea9f0..35d6789975 100644 --- a/files/ru/web/css/grid-auto-flow/index.html +++ b/files/ru/web/css/grid-auto-flow/index.html @@ -39,7 +39,7 @@ grid-auto-flow: unset; <dt><code>column</code></dt> <dd>Ключевое слово, указывающее размещать элементы, заполняя поочередно каждый столбец и добавляя новые столбцы по мере необходимости.</dd> <dt><code>dense</code></dt> - <dd>Ключевое слово, указывающее заполнять элементами свободное пространство сетки. Это может привести к нарушению порядка, т.к. элементы будут выстраиваться не в соответствии со своим расположением, а в соответсвии с размером.</dd> + <dd>Ключевое слово, указывающее заполнять элементами свободное пространство сетки. Это может привести к нарушению порядка, т.к. элементы будут выстраиваться не в соответствии со своим расположением, а в соответствии с размером.</dd> <dd><br> Если свойство не используется, алгоритм разместит элементы строго по порядку, вне зависимости от наличия свободных ячеек.</dd> </dl> diff --git a/files/ru/web/css/grid-template-columns/index.html b/files/ru/web/css/grid-template-columns/index.html index 6225dacb81..fda2e71bb3 100644 --- a/files/ru/web/css/grid-template-columns/index.html +++ b/files/ru/web/css/grid-template-columns/index.html @@ -52,7 +52,7 @@ grid-template-columns: unset; Ручное изменение размера элемента в процентах, приведёт к корректировочному изменению размера контейнера, и увеличит размер ряда на минимальную величину, необходимую для соблюдения процентного соотношения. </dd> <dt>{{cssxref("<flex>")}}</dt> <dd>Не-отрицательное значение с единицей измерения <code>fr</code>, которая строго определяет <em>flex фактор линий</em> (track’s flex factor, <em>фактор гибкости линий</em>). Каждая <code><flex></code>-размерная линия берёт оставшееся пространство пропорционально flex фактору. - <p>Когда из вне появляется <code>minmax()</code> , это предпологает автоматический минимум (т.е. <code>minmax(auto, <flex>)</code>).</p> + <p>Когда из вне появляется <code>minmax()</code> , это предполагает автоматический минимум (т.е. <code>minmax(auto, <flex>)</code>).</p> </dd> <dt id="max-content"><code>max-content</code></dt> <dd>Ключевое слово обозначающее самый большой из максимальных контентов элементов расположенных в данном треке.</dd> diff --git a/files/ru/web/css/grid-template-rows/index.html b/files/ru/web/css/grid-template-rows/index.html index bfd46f80d4..a6d1c4b36b 100644 --- a/files/ru/web/css/grid-template-rows/index.html +++ b/files/ru/web/css/grid-template-rows/index.html @@ -39,7 +39,7 @@ grid-template-rows: unset; <p>Это свойство может быть указано как:</p> <ul> - <li>либо с помощью ключегого слова: <code>none</code></li> + <li>либо с помощью ключевого слова: <code>none</code></li> <li>или значением <code><track-list></code> ,</li> <li>или значением <code><auto-track-list></code> .</li> </ul> diff --git a/files/ru/web/css/grid/index.html b/files/ru/web/css/grid/index.html index 94563bffc0..5ae9d4a987 100644 --- a/files/ru/web/css/grid/index.html +++ b/files/ru/web/css/grid/index.html @@ -12,7 +12,7 @@ translation_of: Web/CSS/grid <p>Свойство CSS <strong><code>grid</code></strong> является сокращенной формой записи, которая устанавливает значения для всех явных свойств сетки (grid) ({{cssxref("grid-template-rows")}}, {{cssxref("grid-template-columns")}}, и {{cssxref("grid-template-areas")}}), всех неявных свойств сетки (grid) ({{cssxref("grid-auto-rows")}}, {{cssxref("grid-auto-columns")}}, и {{cssxref("grid-auto-flow")}}), и свойств для промежутков между рядами и столбцами сетки ({{cssxref("grid-column-gap")}} и {{cssxref("grid-row-gap")}}) в одной строчке.</p> -<p class="note"><strong>Note:</strong> В одной строке grid могут быть описаны свойства только одного вида: явные или неявные. Подсвойства, которые не были описаны, принимают, как и в других сокращенных формах записи свойств, значения по умолчанию. Кроме того, при помощи сокращенной формы записи значения свойств для промежутков между рядами и столбцами сетки по умолчанию сбрасываются, несмотря на то, что они не могут быть установленны в сокращенной форме записи.</p> +<p class="note"><strong>Note:</strong> В одной строке grid могут быть описаны свойства только одного вида: явные или неявные. Подсвойства, которые не были описаны, принимают, как и в других сокращенных формах записи свойств, значения по умолчанию. Кроме того, при помощи сокращенной формы записи значения свойств для промежутков между рядами и столбцами сетки по умолчанию сбрасываются, несмотря на то, что они не могут быть установлены в сокращенной форме записи.</p> <p>{{cssinfo}}</p> @@ -53,7 +53,7 @@ grid: unset; <dt><code><'grid-template'></code></dt> <dd>Определяет {{cssxref("grid-template")}} (шаблон сетки) включая {{cssxref("grid-template-columns")}} (столбцы), {{cssxref("grid-template-rows")}} (ряды) и {{cssxref("grid-template-areas")}} (области).</dd> <dt><code><'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?</code></dt> - <dd>Устанавливает auto-flow явно задавая размещение по рядам с помощью свойства {{cssxref("grid-template-rows")}} (и устанавливая свойство {{cssxref("grid-template-columns")}} в значение <code>none</code>) и уточняет, как должно работать авто-повторение столбцов при помощи свойства {{cssxref("grid-auto-columns")}} (и устанавливая {{cssxref("grid-auto-rows")}} в значение <code>auto</code>). Свойство {{cssxref("grid-auto-flow")}} может быть так же установлено для столбцев со свойством <code>dense</code> если оно определено.</dd> + <dd>Устанавливает auto-flow явно задавая размещение по рядам с помощью свойства {{cssxref("grid-template-rows")}} (и устанавливая свойство {{cssxref("grid-template-columns")}} в значение <code>none</code>) и уточняет, как должно работать авто-повторение столбцов при помощи свойства {{cssxref("grid-auto-columns")}} (и устанавливая {{cssxref("grid-auto-rows")}} в значение <code>auto</code>). Свойство {{cssxref("grid-auto-flow")}} может быть так же установлено для столбцов со свойством <code>dense</code> если оно определено.</dd> <dd> <p>Все остальные подсвойства grid сбрасываются в их начальные значения .</p> </dd> @@ -185,7 +185,7 @@ grid: unset; <h2 id="Смотрите_также">Смотрите также</h2> <ul> - <li>Звязанные свойства CSS: {{cssxref("grid-template")}}, {{cssxref("grid-template-rows")}}, {{cssxref("grid-template-columns")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-auto-flow")}}</li> + <li>Связанные свойства CSS: {{cssxref("grid-template")}}, {{cssxref("grid-template-rows")}}, {{cssxref("grid-template-columns")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-auto-flow")}}</li> <li>Руководство по разметке сетки: <em><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">Line-based placement with CSS Grid</a></em></li> <li>Руководство по разметке сетки: <em><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Grid_Template_Areas#Grid_definition_shorthands">Grid template areas - Grid definition shorthands</a></em></li> </ul> diff --git a/files/ru/web/css/height/index.html b/files/ru/web/css/height/index.html index 201fecc7b6..a1405ed89b 100644 --- a/files/ru/web/css/height/index.html +++ b/files/ru/web/css/height/index.html @@ -10,7 +10,7 @@ translation_of: Web/CSS/height {{EmbedInteractiveExample("pages/css/height.html")}}</p> <div class="hidden"> -<p>Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p>Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> </div> <p><br> @@ -161,7 +161,7 @@ height: unset; <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> <div class="hidden"> -<p>Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</p> +<p>Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</p> </div> <p>{{Compat("css.properties.height")}}</p> diff --git a/files/ru/web/css/hyphens/index.html b/files/ru/web/css/hyphens/index.html index 803caf1c0d..5a256e224d 100644 --- a/files/ru/web/css/hyphens/index.html +++ b/files/ru/web/css/hyphens/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/hyphens --- <div>{{CSSRef}}</div> -<p><span class="seoSummary"><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>hyphens</code></strong> указывает, как следует переносить слова через дефис, когда текст переносится на несколько строк.</span> Оно может полность запретить перенос, делать перенос в местах, заданных вручную или позволять браузеру автоматически расставлять переносы, где это необходимо.</p> +<p><span class="seoSummary"><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>hyphens</code></strong> указывает, как следует переносить слова через дефис, когда текст переносится на несколько строк.</span> Оно может полностью запретить перенос, делать перенос в местах, заданных вручную или позволять браузеру автоматически расставлять переносы, где это необходимо.</p> <div>{{EmbedInteractiveExample("pages/css/hyphens.html")}}</div> diff --git a/files/ru/web/css/inheritance/index.html b/files/ru/web/css/inheritance/index.html index 210b467c6d..ec125b3493 100644 --- a/files/ru/web/css/inheritance/index.html +++ b/files/ru/web/css/inheritance/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/inheritance --- <h2 id="Описание">Описание</h2> -<p>Описание каждого <a href="/ru/docs/Web/CSS/Reference" title="en/CSS_Reference">CSS свойства</a> говорит наследуется ли оно по-умолчанию ("Наследуется: да/нет"). Наследование контролирует, что происходит, если значение свойства элемента не определено.</p> +<p>Описание каждого <a href="/ru/docs/Web/CSS/Reference" title="en/CSS_Reference">CSS свойства</a> говорит наследуется ли оно по умолчанию ("Наследуется: да/нет"). Наследование контролирует, что происходит, если значение свойства элемента не определено.</p> <h2 id="Inherited_properties" name="Inherited_properties">Наследуемые свойства</h2> diff --git a/files/ru/web/css/initial/index.html b/files/ru/web/css/initial/index.html index e4f1e9c456..65187f0ab5 100644 --- a/files/ru/web/css/initial/index.html +++ b/files/ru/web/css/initial/index.html @@ -15,7 +15,7 @@ translation_of: Web/CSS/initial --- <div>{{CSSRef}}</div> -<p><span class="seoSummary">Ключевое слово <strong><code>initial</code></strong> (CSS) устанавливает свойство элемента в <a href="/ru/docs/Web/CSS/initial_value">начальное (или по умолчанию) значение</a>. Это может быть применимо к любому свойству CSS.</span> Это относится также к CSS свойству {{cssxref("all")}}, с которым <code>initial</code> может быть использовано для восcтановления всех CSS свойств до их начальных значений.</p> +<p><span class="seoSummary">Ключевое слово <strong><code>initial</code></strong> (CSS) устанавливает свойство элемента в <a href="/ru/docs/Web/CSS/initial_value">начальное (или по умолчанию) значение</a>. Это может быть применимо к любому свойству CSS.</span> Это относится также к CSS свойству {{cssxref("all")}}, с которым <code>initial</code> может быть использовано для восстановления всех CSS свойств до их начальных значений.</p> <div class="note"> <p><strong>Примечание:</strong> На <a href="/ru/docs/Web/CSS/inheritance#Inherited_properties">наследуемые свойства</a> действие значения initial может быть непредвиденным. Вы должны рассмотреть возможность использования ключевых слов {{cssxref("inherit")}}, {{cssxref("unset")}} или {{cssxref("revert")}} вместо него.</p> diff --git a/files/ru/web/css/integer/index.html b/files/ru/web/css/integer/index.html index a1f11a3a46..c608250e6c 100644 --- a/files/ru/web/css/integer/index.html +++ b/files/ru/web/css/integer/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/integer <p>Тип данных <code><integer></code> состоит из одного или нескольких дробных цифр, от 0 до 9 включительно, символы <code>+</code> и <code>-</code> необязательны. Не существует единицы измерения, связанной с целочисленным типом данных.</p> -<div class="note"><strong>Запомните:</strong> Не существует оффициального диапазона значений типа <code><integer></code>. Opera 12.1 поддерживает значения до 2<sup>15</sup>-1, IE - до 2<sup>20</sup>-1, а остальные браузеры даже выше. На протяжении существования значений CSS3 было проведено не большое количество обсуждений об установлении минимального ренжа: последнее решение, <a href="http://lists.w3.org/Archives/Public/www-style/2012Apr/0633.html">в апреле 2012 напротяжении фазы LC</a>, было [-2<sup>27</sup>-1; 2<sup>27</sup>-1], но остальные значения, такие как 2<sup>24</sup>-1 и 2<sup>30</sup>-1, <a href="http://lists.w3.org/Archives/Public/www-style/2012Apr/0530.html">также были предложены</a>. Однако, самая свежая на данный момент спецификация более не указывает на область определения этого типа данных.</div> +<div class="note"><strong>Запомните:</strong> Не существует официального диапазона значений типа <code><integer></code>. Opera 12.1 поддерживает значения до 2<sup>15</sup>-1, IE - до 2<sup>20</sup>-1, а остальные браузеры даже выше. На протяжении существования значений CSS3 было проведено не большое количество обсуждений об установлении минимального диапазона: последнее решение, <a href="http://lists.w3.org/Archives/Public/www-style/2012Apr/0633.html">в апреле 2012 на протяжении фазы LC</a>, было [-2<sup>27</sup>-1; 2<sup>27</sup>-1], но остальные значения, такие как 2<sup>24</sup>-1 и 2<sup>30</sup>-1, <a href="http://lists.w3.org/Archives/Public/www-style/2012Apr/0530.html">также были предложены</a>. Однако, самая свежая на данный момент спецификация более не указывает на область определения этого типа данных.</div> <h2 id="Интерполяция">Интерполяция</h2> @@ -101,7 +101,7 @@ _5 Специальные знаки запрещены. <table class="compat-table"> <tbody> <tr> - <th>Обобенность</th> + <th>Особенность</th> <th>Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Phone</th> diff --git a/files/ru/web/css/justify-content/index.html b/files/ru/web/css/justify-content/index.html index 8775c76caf..5b91650bcf 100644 --- a/files/ru/web/css/justify-content/index.html +++ b/files/ru/web/css/justify-content/index.html @@ -74,7 +74,7 @@ justify-content: unset; <dt><code>right</code></dt> <dd>Элементы располагаются друг за другом и прижимаются к правому краю контейнера по главной оси. Если главная ось не горизонтальна, это значение работает как <code>start</code>.</dd> <dt><code>normal</code></dt> - <dd>Элементы располагаются на свох обычных позициях, так как будто свойство <code>justify-content</code> не задано. Этот параметр ведет себя как <code>stretch</code> в grid и flex контейнерах.</dd> + <dd>Элементы располагаются на своих обычных позициях, так как будто свойство <code>justify-content</code> не задано. Этот параметр ведет себя как <code>stretch</code> в grid и flex контейнерах.</dd> <dt><code>baseline<br> first baseline</code><br> <code>last baseline</code></dt> diff --git a/files/ru/web/css/justify-items/index.html b/files/ru/web/css/justify-items/index.html index d020e3f474..4e28a766e9 100644 --- a/files/ru/web/css/justify-items/index.html +++ b/files/ru/web/css/justify-items/index.html @@ -83,7 +83,7 @@ justify-items: unset; <dd>Эффект этого атрибута зависит от выбранного способа разметки: <ul> <li>Используя разметку с помощью блоков (block-level layout), это ключевое слово является синонимом слова <code>start</code></li> - <li>Для разметки с абсолютно позиционнированными элементами, это ключевое слово ведет себя как <code>start</code> на замененных блоках с абсолютным позиционированием и как <code>stretch</code> на всех остальных блоках с абсолютным позиционированием</li> + <li>Для разметки с абсолютно позиционированный элементами, это ключевое слово ведет себя как <code>start</code> на замененных блоках с абсолютным позиционированием и как <code>stretch</code> на всех остальных блоках с абсолютным позиционированием</li> <li>Используя разметку с помощью ячеек таблицы (table cell layout), это ключевое слово не имеет значения, так как этот атрибут <em>игнорируется</em></li> <li>Используя разметку с помощью гибких блоков (flexbox layout), это ключевое слово не имеет значения, так как этот атрибут <em>игнорируется</em></li> <li>Используя разметку с помощью сетки (grid layout), это ключевое слово приводит к поведению, аналогичному поведению <code>stretch</code>, за исключением блоков с соотношением сторон или внутренних размеров, где оно ведет себя как <code>start</code></li> diff --git a/files/ru/web/css/layout_cookbook/breadcrumb_navigation/index.html b/files/ru/web/css/layout_cookbook/breadcrumb_navigation/index.html index f2452542a7..6dab482257 100644 --- a/files/ru/web/css/layout_cookbook/breadcrumb_navigation/index.html +++ b/files/ru/web/css/layout_cookbook/breadcrumb_navigation/index.html @@ -22,7 +22,7 @@ translation_of: Web/CSS/Layout_cookbook/Breadcrumb_Navigation </div> <div class="blockIndicator note"> -<p><strong>Примечение</strong>: В приведенном выше примере используются два селектора для вставки содержимого перед каждым li, кроме первого. Этого также можно добиться, используя только один селектор:</p> +<p><strong>Примечание</strong>: В приведенном выше примере используются два селектора для вставки содержимого перед каждым li, кроме первого. Этого также можно добиться, используя только один селектор:</p> <pre class="notranslate">.breadcrumb li:not(:first-child)::before { content: "→"; diff --git a/files/ru/web/css/layout_cookbook/index.html b/files/ru/web/css/layout_cookbook/index.html index 5c53652804..ca19142c28 100644 --- a/files/ru/web/css/layout_cookbook/index.html +++ b/files/ru/web/css/layout_cookbook/index.html @@ -11,7 +11,7 @@ tags: translation_of: Web/CSS/Layout_cookbook --- <div>{{CSSRef}}<br> -Книга рецептов CSS объединяет примеры большинства наиболее распространненых лейаут паттернов, которые могу встретиться вам при разработке веб-сайтов.<br> +Книга рецептов CSS объединяет примеры большинства наиболее распространенных лейаут паттернов, которые могу встретиться вам при разработке веб-сайтов.<br> <br> В дополнение к представленным примерам кода, - которые вы вполне можете использовать в качестве отправной точки для своих проектов, - эти рецепты иллюстрируют нестандартные способы применения существующих лейаут (layout) спецификаций. Паттерны, представленные ниже, должны помочь вам увидеть новые варианты решения проблем, встречающихся в жизни разработчика.</div> diff --git a/files/ru/web/css/layout_mode/index.html b/files/ru/web/css/layout_mode/index.html index eed469409b..3be34f7296 100644 --- a/files/ru/web/css/layout_mode/index.html +++ b/files/ru/web/css/layout_mode/index.html @@ -11,7 +11,7 @@ original_slug: Web/CSS/Способ_расположения <ul> <li><em>Обычная</em> <em>(Normal Flow)</em> — все элементы являются частью обычного потока до тех пор, пока вы не переопределите это каким-либо образом. Обычный <em>layout </em>включает в себя <em>блочную раскладку</em>, созданную для расположения отдельных блоков, таких как параграфы, и <em>линейную,</em>—<em> </em>для строчных элементов;</li> <li><em><a href="/ru/docs/Web/CSS/CSS_Table">Табличная</a></em>, спроектированная для расположения таблиц;</li> - <li><em>Float layout </em>— для возможности обозначить элементы <em><a href="/ru/docs/CSS/float" title="/ru/docs/CSS/float">плавающими</a>. </em>Такой<em> </em>элемент начинает позиционироваться слева или справа отностительно содержимого обычного потока, элементы которого начинают обтекать него;</li> + <li><em>Float layout </em>— для возможности обозначить элементы <em><a href="/ru/docs/CSS/float" title="/ru/docs/CSS/float">плавающими</a>. </em>Такой<em> </em>элемент начинает позиционироваться слева или справа относительно содержимого обычного потока, элементы которого начинают обтекать него;</li> <li><em><a href="/ru/docs/Web/CSS/CSS_Positioning">Позиционированная</a> </em>— для позиционирования элементов без особого взаимодействия с другими элементами;</li> <li><em><a href="/ru/docs/Web/CSS/CSS_Columns">Множественные столбцы</a></em> — для расположения контента колонками, как в газетах;</li> <li><em><a href="/ru/docs/Web/CSS/CSS_Flexible_Box_Layout">Флексбокс</a> </em><em>(CSS Flexible Box Layout)</em> — для расположения сложных страниц, которые плавно могут изменять свой размер; {{ experimental_inline() }}</li> diff --git a/files/ru/web/css/length/index.html b/files/ru/web/css/length/index.html index 287959e343..2115159b7d 100644 --- a/files/ru/web/css/length/index.html +++ b/files/ru/web/css/length/index.html @@ -56,7 +56,7 @@ original_slug: Web/CSS/размер <dt><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">rem</span></font></dt> <dd>Представляет размер шрифта корневого элемента (обычно {{HTMLElement("html")}}). Когда используется в свойстве {{Cssxref("font-size")}} корневого элемента, представляет значение по умолчанию (в большинстве браузеров <code>16px</code>, но настройки пользователя могут переопределить это значение).</dd> <dt><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">rlh</span></font> {{experimental_inline}}</dt> - <dd>Равна рассчитанному значению свойства {{Cssxref("line-height")}} корневого эдемента (обычно {{HTMLElement("html")}}), переведённому в абсолютные единицы измерения. Когда используется в свойстве {{Cssxref("font-size")}} корневого элемента, представляет значение по умолчанию.</dd> + <dd>Равна рассчитанному значению свойства {{Cssxref("line-height")}} корневого элемента (обычно {{HTMLElement("html")}}), переведённому в абсолютные единицы измерения. Когда используется в свойстве {{Cssxref("font-size")}} корневого элемента, представляет значение по умолчанию.</dd> </dl> <h5 id="Единицы_зависящие_от_размеров_экрана">Единицы, зависящие от размеров экрана</h5> @@ -80,7 +80,7 @@ original_slug: Web/CSS/размер <h4 id="Абсолютные_единицы_измерения">Абсолютные единицы измерения</h4> -<p>Абсолютные единицы измерения представляют физические расстояния, когда известны физические свойтсва устройства вывода. Одна из единиц привязывается к физической единице, а все остальные к ней. Привязка делается по-разному для устройств с низким разрешением, таких как экраны, и высоким, таких как принтеры.</p> +<p>Абсолютные единицы измерения представляют физические расстояния, когда известны физические свойства устройства вывода. Одна из единиц привязывается к физической единице, а все остальные к ней. Привязка делается по-разному для устройств с низким разрешением, таких как экраны, и высоким, таких как принтеры.</p> <p>Для устройств с маленьким dpi (dots per inch — количество точек на дюйм) единица измерения <code>px</code> представляет физический пиксель; остальные единицы определяются относительно него. Таким образом, <code>1in</code> определяется как <code>96px</code>, что равно <code>72pt</code>. Последствием такого способа определения является то, что длины, описанные в дюймах (<code>in</code>), сантиметрах (<code>cm</code>) или миллиметрах (<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">mm</span></font>) необязательно равны одноимённым физическим единицам.</p> @@ -106,7 +106,7 @@ original_slug: Web/CSS/размер <dt><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">pt</span></font></dt> <dd>Одна точка. <code>1pt</code> = 1/72 от<code>1in</code>.</dd> <dt><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">mozmm</span></font> {{non-standard_inline}}, удалена в Firefox 59</dt> - <dd>Экспериметальная единица, которая равна одному физическому миллиметру вне зависимости от размера и разрешения экрана. Такая единица требуется очень редко, но может понадобиться, особенно на маленьких устройствах.</dd> + <dd>Экспериментальная единица, которая равна одному физическому миллиметру вне зависимости от размера и разрешения экрана. Такая единица требуется очень редко, но может понадобиться, особенно на маленьких устройствах.</dd> </dl> <h2 id="Интерполяция">Интерполяция</h2> diff --git a/files/ru/web/css/letter-spacing/index.html b/files/ru/web/css/letter-spacing/index.html index 26fff4a355..2947111978 100644 --- a/files/ru/web/css/letter-spacing/index.html +++ b/files/ru/web/css/letter-spacing/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/letter-spacing <div>{{EmbedInteractiveExample("pages/css/letter-spacing.html")}}</div> -<p class="hidden">Исходники для интерактивных примеров находятся в репозитории на GitHub. Если вы желаете поучавствовать в их улучшении, пожалуйста склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам pull-реквест.</p> +<p class="hidden">Исходники для интерактивных примеров находятся в репозитории на GitHub. Если вы желаете поучаствовать в их улучшении, пожалуйста склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам pull-реквест.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -66,7 +66,7 @@ letter-spacing: unset; <h2 id="Проблемы_доступности">Проблемы доступности</h2> -<p>Большие положительные или отрицательные значения свойства <code>letter-spacing</code> могут сделать текст, к которому применяется форматирование, нечитаемым. При очень больших положительных значениях этого свойтва, буквы в тексте будут настолько далеко друг от друга, что не будут восприниматься как цельные слова. При очень больших отрицательных значениях буквы будут перекрываться друг другом до такой степени, что слова могут стать неразличимы.</p> +<p>Большие положительные или отрицательные значения свойства <code>letter-spacing</code> могут сделать текст, к которому применяется форматирование, нечитаемым. При очень больших положительных значениях этого свойства, буквы в тексте будут настолько далеко друг от друга, что не будут восприниматься как цельные слова. При очень больших отрицательных значениях буквы будут перекрываться друг другом до такой степени, что слова могут стать неразличимы.</p> <p>Межбуквенное расстояние должно быть определено индивидуально для каждого случая, так как в разных семействах шрифтов ширина символов различна. Нет какого-то универсального значения, которое может быть применено для наилучшего отображения во всех семействах шрифтов.</p> diff --git a/files/ru/web/css/margin-bottom/index.html b/files/ru/web/css/margin-bottom/index.html index 9e59ba8534..8d8f296361 100644 --- a/files/ru/web/css/margin-bottom/index.html +++ b/files/ru/web/css/margin-bottom/index.html @@ -133,6 +133,6 @@ div { <h2 id="Browser_Compatibility" name="Browser_Compatibility">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.margin-bottom")}}</p> diff --git a/files/ru/web/css/margin-inline-end/index.html b/files/ru/web/css/margin-inline-end/index.html index 91d3b321f2..bb60decafb 100644 --- a/files/ru/web/css/margin-inline-end/index.html +++ b/files/ru/web/css/margin-inline-end/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/margin-inline-end --- <p>{{CSSRef}}{{SeeCompatTable}}</p> -<p><a href="/en-US/docs/Web/CSS" title="CSS">CSS</a> Свойство <strong> <code>margin-inline-end </code></strong> определяет отступ логического края элемента, который сопоставляется с физическим отступом в зависимомти от режима написания, направленности и расположения текста. То есть оно соответствует {{cssxref("margin-top")}}, {{cssxref("margin-right")}}, {{cssxref("margin-bottom")}} или {{cssxref("margin-left")}} свойству в зависимости от числа определяющего {{cssxref("writing-mode")}}, {{cssxref("direction")}}, и {{cssxref("text-orientation")}}.</p> +<p><a href="/en-US/docs/Web/CSS" title="CSS">CSS</a> Свойство <strong> <code>margin-inline-end </code></strong> определяет отступ логического края элемента, который сопоставляется с физическим отступом в зависимости от режима написания, направленности и расположения текста. То есть оно соответствует {{cssxref("margin-top")}}, {{cssxref("margin-right")}}, {{cssxref("margin-bottom")}} или {{cssxref("margin-left")}} свойству в зависимости от числа определяющего {{cssxref("writing-mode")}}, {{cssxref("direction")}}, и {{cssxref("text-orientation")}}.</p> <div>{{EmbedInteractiveExample("pages/css/margin-inline-end.html")}}</div> diff --git a/files/ru/web/css/margin-left/index.html b/files/ru/web/css/margin-left/index.html index b75485ce81..e96efae043 100644 --- a/files/ru/web/css/margin-left/index.html +++ b/files/ru/web/css/margin-left/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/margin-left <div>{{EmbedInteractiveExample("pages/css/margin-left.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>Вертикальные внешние отступы двух соседних блоков могут схлопнуться. Это называется <a href="https://developer.mozilla.org/ru/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing">схлопыванием внешних отступов</a>.</p> @@ -162,6 +162,6 @@ margin-left: unset; <h2 id="Browser_Compatibility" name="Browser_Compatibility">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.margin-left")}}</p> diff --git a/files/ru/web/css/margin-right/index.html b/files/ru/web/css/margin-right/index.html index f65c1798ad..c435531bdb 100644 --- a/files/ru/web/css/margin-right/index.html +++ b/files/ru/web/css/margin-right/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/margin-right <div>{{EmbedInteractiveExample("pages/css/margin-right.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>Вертикальные внешние отступы двух соседних блоков могут схлопнуться. Это называется <a href="https://developer.mozilla.org/ru/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing">схлопыванием внешних отступов</a>.</p> @@ -155,6 +155,6 @@ margin-right: unset; <h2 id="Browser_Compatibility" name="Browser_Compatibility">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.margin-right")}}</p> diff --git a/files/ru/web/css/max-block-size/index.html b/files/ru/web/css/max-block-size/index.html index 0011cd784e..416987e8b3 100644 --- a/files/ru/web/css/max-block-size/index.html +++ b/files/ru/web/css/max-block-size/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/max-block-size --- <p>{{CSSRef}}{{SeeCompatTable}}</p> -<p><a href="/en-US/docs/Web/CSS" title="CSS">CSS</a> свойство<strong> <code>max-block-size</code></strong> определяет максимальный горизонтальный или вертикальный размер блока взависимости от вида ориентации экрана. Это свойство соответствует либо {{cssxref("max-width")}}, либо {{cssxref("max-height")}}, взависимости от значения определенного в {{cssxref("writing-mode")}}. Если последнее свойство вертикально ориентировано, значит значение свойства <code>max-block-size</code> относится к максимальной ширине блока, в противном случае относится к максимальной высоте блока. It relates to {{cssxref("max-inline-size")}}, which defines the other dimension of the element.</p> +<p><a href="/en-US/docs/Web/CSS" title="CSS">CSS</a> свойство<strong> <code>max-block-size</code></strong> определяет максимальный горизонтальный или вертикальный размер блока в зависимости от вида ориентации экрана. Это свойство соответствует либо {{cssxref("max-width")}}, либо {{cssxref("max-height")}}, в зависимости от значения определенного в {{cssxref("writing-mode")}}. Если последнее свойство вертикально ориентировано, значит значение свойства <code>max-block-size</code> относится к максимальной ширине блока, в противном случае относится к максимальной высоте блока. It relates to {{cssxref("max-inline-size")}}, which defines the other dimension of the element.</p> <pre class="brush:css no-line-numbers">/* <length> values */ max-block-size: 300px; diff --git a/files/ru/web/css/max-height/index.html b/files/ru/web/css/max-height/index.html index 49970647ac..309daf43d1 100644 --- a/files/ru/web/css/max-height/index.html +++ b/files/ru/web/css/max-height/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/max-height <div>{{EmbedInteractiveExample("pages/css/max-height.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>{{ Cssxref("max-height") }} перекрывает {{cssxref("height")}}, но {{ Cssxref("min-height") }} перекрывает {{ Cssxref("max-height") }}.</p> @@ -112,7 +112,7 @@ form { max-height: none; } <h2 id="Browser_Compatibility" name="Browser_Compatibility">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.max-height")}}</p> diff --git a/files/ru/web/css/max-width/index.html b/files/ru/web/css/max-width/index.html index 7988efa878..6f90e1c740 100644 --- a/files/ru/web/css/max-width/index.html +++ b/files/ru/web/css/max-width/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/max-width <div>{{EmbedInteractiveExample("pages/css/max-width.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>{{ Cssxref("max-width") }} перекрывает {{cssxref("width")}}, но {{ Cssxref("min-width") }} перекрывает {{ Cssxref("max-width") }}.</p> @@ -157,7 +157,7 @@ max-width: unset; <h2 id="Browser_Compatibility" name="Browser_Compatibility">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.max-width")}}</p> diff --git a/files/ru/web/css/media_queries/index.html b/files/ru/web/css/media_queries/index.html index b0300f3174..148efccbea 100644 --- a/files/ru/web/css/media_queries/index.html +++ b/files/ru/web/css/media_queries/index.html @@ -14,7 +14,7 @@ translation_of: Web/CSS/Media_Queries --- <div>{{CSSRef("CSS3 Media Queries")}}</div> -<p><strong>Media Queries</strong> - ключевой компонент <a href="/en-US/docs/Web/Apps/Progressive/Responsive">отзывчивого дизайна</a>, который делает возможным для CSS адаптироваться в зависимости от различных парметров или характеристик устройства. Например, media query может применить различные стили если экран меньше определенного размера, или в зависимости от того находится устройство в портретном или альбомном режиме. {{cssxref("@media")}} at-правило используется чтобы задать условия применения стилей к документу.</p> +<p><strong>Media Queries</strong> - ключевой компонент <a href="/en-US/docs/Web/Apps/Progressive/Responsive">отзывчивого дизайна</a>, который делает возможным для CSS адаптироваться в зависимости от различных параметров или характеристик устройства. Например, media query может применить различные стили если экран меньше определенного размера, или в зависимости от того находится устройство в портретном или альбомном режиме. {{cssxref("@media")}} at-правило используется чтобы задать условия применения стилей к документу.</p> <p>Кроме того, media query синтаксис используется в других контекстах, таких как атрибут {{htmlattrxref("media", "source")}} элемента {{HTMLElement("source")}}, который может быть установлен в media query строку, чтобы определять нужно или нет использовать этот источник, когда выбирается определенное изображение для использования в элементе {{HTMLElement("picture")}}.</p> diff --git a/files/ru/web/css/media_queries/testing_media_queries/index.html b/files/ru/web/css/media_queries/testing_media_queries/index.html index d7f3f0cb76..ad52c96772 100644 --- a/files/ru/web/css/media_queries/testing_media_queries/index.html +++ b/files/ru/web/css/media_queries/testing_media_queries/index.html @@ -13,7 +13,7 @@ original_slug: Web/CSS/Media_Queries/Тестирование_медиа_зап <h2 id="Создание_списка_медиа-запросов">Создание списка медиа-запросов</h2> -<p>Прежде, чем вы сможете оценить результаты медиа-запросов, вам необходимо создать объект {{domxref("MediaQueryList") }} , отражающий запрос. Для этого используйется метод {{domxref("window.matchMedia") }}.</p> +<p>Прежде, чем вы сможете оценить результаты медиа-запросов, вам необходимо создать объект {{domxref("MediaQueryList") }} , отражающий запрос. Для этого используется метод {{domxref("window.matchMedia") }}.</p> <p>Например, настройка списка запросов, который определяет, находится ли устройство в альбомной или книжной ориентации:</p> diff --git a/files/ru/web/css/min-height/index.html b/files/ru/web/css/min-height/index.html index 417cc8bcd5..cb60e09c46 100644 --- a/files/ru/web/css/min-height/index.html +++ b/files/ru/web/css/min-height/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/min-height <div>{{EmbedInteractiveExample("pages/css/min-height.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>Высота элемента принимает значение <code>min-height</code> всякий раз, когда <code>min-height</code> больше чем {{ Cssxref("max-height") }} или {{Cssxref("height")}}.</p> @@ -107,7 +107,7 @@ form { min-height: 0; } <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.min-height")}}</p> diff --git a/files/ru/web/css/min-width/index.html b/files/ru/web/css/min-width/index.html index 90d8714d58..7995a81f4d 100644 --- a/files/ru/web/css/min-width/index.html +++ b/files/ru/web/css/min-width/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/min-width <div>{{EmbedInteractiveExample("pages/css/min-width.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>Ширина элемента принимает значение <code>min-width</code> когда <code>min-width</code> больше чем {{ Cssxref("max-width") }} или {{Cssxref("width")}}.</p> @@ -106,7 +106,7 @@ form { min-width: 0; } <h2 id="Browser_compatibility" name="Browser_compatibility">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.min-width")}}</p> diff --git a/files/ru/web/css/overflow-block/index.html b/files/ru/web/css/overflow-block/index.html index af904ac6ac..ead0067598 100644 --- a/files/ru/web/css/overflow-block/index.html +++ b/files/ru/web/css/overflow-block/index.html @@ -8,7 +8,7 @@ translation_of: Web/CSS/overflow-block <p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <strong><code>overflow-block</code></strong> устанавливает, что будет отображаться, когда содержимое переполняет начальные и конечные края блока. Это может быть ничего, полоса прокрутки или содержимое переполнения.</p> <div class="note"> -<p>Свойтсво <code>overflow-block</code> отображается на {{Cssxref("overflow-y")}} или {{Cssxref("overflow-x")}} в зависимости от режима записи документа.</p> +<p>Свойство <code>overflow-block</code> отображается на {{Cssxref("overflow-y")}} или {{Cssxref("overflow-x")}} в зависимости от режима записи документа.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/overflow/index.html b/files/ru/web/css/overflow/index.html index e8977b7592..58a572c013 100644 --- a/files/ru/web/css/overflow/index.html +++ b/files/ru/web/css/overflow/index.html @@ -31,7 +31,7 @@ overflow: inherit <dt><code>visible</code></dt> <dd>По умолчанию. Содержимое не обрезается, может отображаться снаружи блока, в котором оно расположено.</dd> <dt><code>hidden</code></dt> - <dd>Контет обрезается, без предоставления прокрутки.</dd> + <dd>Контент обрезается, без предоставления прокрутки.</dd> <dt><code>scroll</code></dt> <dd>Содержимое обрезается и браузер использует элементы прокрутки, не важно было ли обрезано содержимое или нет. Это избегает многих проблем касательно появления прокруток и их исчезновения в динамичной среде. Принтеры могу печатать переполненное содержимое.</dd> <dt><code>auto</code></dt> diff --git a/files/ru/web/css/padding/index.html b/files/ru/web/css/padding/index.html index 3644516251..8ab7697255 100644 --- a/files/ru/web/css/padding/index.html +++ b/files/ru/web/css/padding/index.html @@ -13,7 +13,7 @@ translation_of: Web/CSS/padding <p class="summary">Свойство <strong><code>padding</code></strong> устанавливает внутренние отступы/поля со всех сторон элемента. <a href="/en/CSS/box_model#padding">Область отступов</a> это пространство между содержанием элемента и его границей. Отрицательные значения не допускаются.</p> -<p class="summary">Cвойство <code>padding</code> краткая форма записи свойств, чтобы не писать отдельное правило для каждой стороны (<code>padding-top</code>, <code>padding-right</code>, <code>padding-bottom</code>, <code>padding-left</code>).</p> +<p class="summary">Свойство <code>padding</code> краткая форма записи свойств, чтобы не писать отдельное правило для каждой стороны (<code>padding-top</code>, <code>padding-right</code>, <code>padding-bottom</code>, <code>padding-left</code>).</p> <p>{{cssinfo}}</p> @@ -43,7 +43,7 @@ padding: unset; <dl> <dt><code><length></code></dt> - <dd>Устанавливает неотрицательный, фиксированый размер. Подробнее в разделе {{cssxref("<length>")}}.</dd> + <dd>Устанавливает неотрицательный, фиксированный размер. Подробнее в разделе {{cssxref("<length>")}}.</dd> <dt><code><percentage></code></dt> <dd>Относительно ширины родительского блока.</dd> </dl> diff --git a/files/ru/web/css/paint-order/index.html b/files/ru/web/css/paint-order/index.html index 8d9151a92c..c2bcbbf9bf 100644 --- a/files/ru/web/css/paint-order/index.html +++ b/files/ru/web/css/paint-order/index.html @@ -27,7 +27,7 @@ paint-order: markers stroke fill; /* отрисовывает маркеры, з <p>Если значение не указано, значением по умолчанию является следующий порядок <code>fill</code>, <code>stroke</code>, <code>markers</code>.</p> -<p>Когда указано одно значение, то сначала отрисовывается оно, затем два других в дефолтном поряд друг относительно друга. Когда указано два значения, они будут отрисованы в указанном порядке, а затем будет отрисовано неопределенное значение.</p> +<p>Когда указано одно значение, то сначала отрисовывается оно, затем два других в дефолтном порядке друг относительно друга. Когда указано два значения, они будут отрисованы в указанном порядке, а затем будет отрисовано неопределенное значение.</p> <div class="note"> <p><strong>Примечание</strong>: В этом случае, маркеры отрисовываются только при рисовании форм SVG. включающих использование свойств <code>marker-*</code> (например <code><a href="/en-US/docs/Web/SVG/Attribute/marker-start">marker-start</a></code>) и элемента <code><a href="/en-US/docs/Web/SVG/Element/marker"><marker></a></code>. Они не применяются к тексту HTML, в этом случае, вы можете определить только порядок <code>stroke</code> и <code>fill</code>.</p> diff --git a/files/ru/web/css/perspective/index.html b/files/ru/web/css/perspective/index.html index a5352cdfd3..b0d1d14fc1 100644 --- a/files/ru/web/css/perspective/index.html +++ b/files/ru/web/css/perspective/index.html @@ -11,7 +11,7 @@ translation_of: Web/CSS/perspective <p>Элементы части которые находятся за пользователем, т.е. z-координата этих элементов больше чем значение свойства <code>perspective, не отрисовываются.</code></p> -<p><em><code>Точка схождения </code></em><code>по-умолчанию расположена в центре элемента, но её можно переместить используя свойство </code>{{ cssxref("perspective-origin") }}.</p> +<p><em><code>Точка схождения </code></em><code>по умолчанию расположена в центре элемента, но её можно переместить используя свойство </code>{{ cssxref("perspective-origin") }}.</p> <p>При использовании данного свойства со значениями отличными от 0 или none создается новый <a href="/en/CSS/Understanding_z-index/The_stacking_context" title="en/CSS/Understanding_z-index/The_stacking_context">stacking context</a>.</p> @@ -36,7 +36,7 @@ perspective: unset; <dl> <dt><code>none</code></dt> - <dd><font face="Consolas, Liberation Mono, Courier, monospace">Указывает что трасформация перспективы к элементу применяться не будет.</font></dd> + <dd><font face="Consolas, Liberation Mono, Courier, monospace">Указывает что трансформация перспективы к элементу применяться не будет.</font></dd> <dt><code><length></code></dt> <dd>{{cssxref("<length>")}} у<code>станавливает растояние от пользователя до плоскости z = 0. Применяет трасформацию к элементу и его содержимому. Если значение отрицательно или равно 0, то преобразование не применяется.</code></dd> </dl> @@ -200,7 +200,7 @@ th, p, td { <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/css/pointer-events/index.html b/files/ru/web/css/pointer-events/index.html index bc089191f8..61b1135e27 100644 --- a/files/ru/web/css/pointer-events/index.html +++ b/files/ru/web/css/pointer-events/index.html @@ -42,7 +42,7 @@ pointer-events: unset; <dt><code>auto</code></dt> <dd>Элемент ведёт себя так же, как и если бы свойство <code>pointer-events</code> не было задано. В SVG это значение даёт такой же эффект, как и значение <code>visiblePainted</code>.</dd> <dt><code>none</code></dt> - <dd>Элемент не может быть целью (<a href="/ru/docs/Web/API/event/target">target</a>) cобытий мыши; тем не менее, целью событий мыши могут быть его потомки, если их <code>pointer-events</code> имеет какое-либо другое значение. В этом случае события мыши вызовут ожидаемое срабатывание обработчиков на этом родительском элементе на пути к/от потомк(у)/(а) во время фазы захвата/<a href="/ru/docs/Web/API/event/bubbles">всплытия</a><code>.</code></dd> + <dd>Элемент не может быть целью (<a href="/ru/docs/Web/API/event/target">target</a>) событий мыши; тем не менее, целью событий мыши могут быть его потомки, если их <code>pointer-events</code> имеет какое-либо другое значение. В этом случае события мыши вызовут ожидаемое срабатывание обработчиков на этом родительском элементе на пути к/от потомк(у)/(а) во время фазы захвата/<a href="/ru/docs/Web/API/event/bubbles">всплытия</a><code>.</code></dd> <dt><code>visiblePainted</code></dt> <dd>Только SVG. Элемент может быть целью события мыши только когда свойство <code>visibility</code> установлено в значение <code>visible</code> и когда курсор мыши находится над внутренней частью ('fill') элемента, при этом свойство <code>fill</code> установлено в значение отличное от <code>none</code>, или над периметром элемента ('stroke'), при этом свойство <code>stroke</code> установлено в значение отличное от <code>none</code>.</dd> <dt><code>visibleFill</code></dt> diff --git a/files/ru/web/css/position/index.html b/files/ru/web/css/position/index.html index cdd1a30f08..3baa0548f0 100644 --- a/files/ru/web/css/position/index.html +++ b/files/ru/web/css/position/index.html @@ -16,13 +16,13 @@ translation_of: Web/CSS/position <h3 id="Типы_позиционирования">Типы позиционирования</h3> <ul> - <li><strong>Позиционируемый элемент</strong> — это элемент, у которого {{cssxref('computed_value', 'вычисленное значение')}} <code>position</code> является <code>relative</code>, <code>absolute</code>, <code>fixed</code> либо <code>sticky</code>. (Другими словами, это вce, кроме <code>static</code>.)</li> + <li><strong>Позиционируемый элемент</strong> — это элемент, у которого {{cssxref('computed_value', 'вычисленное значение')}} <code>position</code> является <code>relative</code>, <code>absolute</code>, <code>fixed</code> либо <code>sticky</code>. (Другими словами, это все, кроме <code>static</code>.)</li> <li><strong>Относительно позиционируемый элемент</strong> является элементом, {{cssxref('computed_value', 'вычисленное значение')}} <code>position</code> которого является <code>relative</code>. Свойства {{cssxref('top')}} и {{cssxref('bottom')}} определяют смещение по вертикали от его нормального положения; свойства {{cssxref('left')}} и {{cssxref('right')}} задают горизонтальное смещение.</li> <li><strong>Абсолютно позиционируемый элемент</strong> — это элемент, чьё {{cssxref('computed_value', 'вычисленное значение')}} <code>position</code> является <code>absolute</code> или <code>fixed</code>. {{cssxref('top')}}, {{cssxref('right')}}, {{cssxref('bottom')}} и {{cssxref('left')}} задают смещения от краёв {{cssxref('Containing_Block', 'содержащего блок элемента')}}. (Содержащий блок является предком, относительно которого расположен элемент.) Если элемент имеет поля, они добавляются к смещению. Элемент устанавливает новый <a href="../Guide/CSS/Block_formatting_context">контекст форматирования блока</a> (BFC) для своего содержимого.</li> <li><strong>Элемент с липкой позицией</strong> — это элемент, у которого {{cssxref('computed_value', 'значение вычисленного')}} <code>position</code> является <code>sticky</code>. Он рассматривается как относительно позиционированный до тех пор, пока {{cssxref('Containing_Block', 'содержащий его блок')}} не пересечёт указанный порог (например, установка {{cssxref('top')}} в значение, отличное от <code>auto</code>) внутри его корня потока (или в контейнере, в котором он прокручивается), после чего он обрабатывается как «застрявший» до тех пор, пока не встретит противоположный край {{cssxref('Containing_Block', 'содержащего его блока')}}.</li> </ul> -<p>В большинстве случаев абсолютно cпозиционированные элементы, которые имеют {{cssxref('height')}} и {{cssxref('width')}} установленные в <code>auto</code>, имеют размер, соответствующий их содержимому. Тем не менее, незамещаемые, абсолютно cпозиционированные элементы можно сделать такими, чтобы они заполнили доступное вертикальное пространство, указав как {{cssxref('top')}}, так и {{cssxref('bottom')}}, и оставляя {{cssxref('height')}} неопределенным (то есть , <code>auto</code>). Ими также можно заполнить доступное горизонтальное пространство, указав как {{cssxref('left')}}, так и {{cssxref('right')}}, и оставляя {{cssxref('width')}} как <code>auto</code>.</p> +<p>В большинстве случаев абсолютно позиционированный элементы, которые имеют {{cssxref('height')}} и {{cssxref('width')}} установленные в <code>auto</code>, имеют размер, соответствующий их содержимому. Тем не менее, незамещаемые, абсолютно позиционированный элементы можно сделать такими, чтобы они заполнили доступное вертикальное пространство, указав как {{cssxref('top')}}, так и {{cssxref('bottom')}}, и оставляя {{cssxref('height')}} неопределенным (то есть , <code>auto</code>). Ими также можно заполнить доступное горизонтальное пространство, указав как {{cssxref('left')}}, так и {{cssxref('right')}}, и оставляя {{cssxref('width')}} как <code>auto</code>.</p> <p>За исключением только что описанного случая (абсолютно позиционированных элементов, заполняющих доступное пространство):</p> diff --git a/files/ru/web/css/pseudo-classes/index.html b/files/ru/web/css/pseudo-classes/index.html index 1b27fa85c5..b5f50c4d0c 100644 --- a/files/ru/web/css/pseudo-classes/index.html +++ b/files/ru/web/css/pseudo-classes/index.html @@ -106,7 +106,7 @@ original_slug: Web/CSS/Псевдо-классы <td>{{SpecName('CSS4 Selectors')}}</td> <td>{{Spec2('CSS4 Selectors')}}</td> <td>Определены <code>:any-link</code>, <code>:local-link</code>, <code>:scope</code>, <code>:active-drop-target</code>, <code>:valid-drop-target</code>, <code>:invalid-drop-target</code>, <code>:current</code>, <code>:past</code>, <code>:future</code>, <code>:placeholder-shown</code>, <code>:user-error</code>, <code>:blank</code>, <code>:nth-match()</code>, <code>:nth-last-match()</code>, <code>:nth-column()</code>, <code>:nth-last-column()</code> и <code>:matches()</code>.<br> - Нет существенных изменений для псевдоклассов, определённых в {{SpecName('CSS3 Selectors')}} и {{SpecName('HTML5 W3C')}} (не рассматрия семантическое значение).</td> + Нет существенных изменений для псевдоклассов, определённых в {{SpecName('CSS3 Selectors')}} и {{SpecName('HTML5 W3C')}} (не рассматривая семантическое значение).</td> </tr> <tr> <td>{{ SpecName('HTML5 W3C') }}</td> diff --git a/files/ru/web/css/radial-gradient()/index.html b/files/ru/web/css/radial-gradient()/index.html index 3d9a247da7..7d7c95d25f 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> @@ -19,11 +19,11 @@ translation_of: Web/CSS/radial-gradient() <h2 id="Композиция_свойства">Композиция свойства</h2> -<p><img alt="" src="/files/3795/radial%20gradient.png" style="float: left; height: 176px; width: 396px;">Радиальнй градиент задается <em>позицией центра</em>, <em>конечной формой</em>, и двумя или более <em>точками изменения цвета</em>.</p> +<p><img alt="" src="/files/3795/radial%20gradient.png" style="float: left; height: 176px; width: 396px;">Радиальный градиент задается <em>позицией центра</em>, <em>конечной формой</em>, и двумя или более <em>точками изменения цвета</em>.</p> <p>Чтобы создать плавный градиент, функция <code>radial-gradient()</code> рисует серию концентрических форм исходящих из центра к краям формы градиента (и потенциально далее за его пределы). Конечная форма может быть как кругом так и эллипсом.</p> -<p>Точки изменения цвета расположены на <em>виртуальном луче градиента</em>, который расширяется горизонтально направо. Позиция точек заданных в процентах расчитывается относительно пересечения конечной формы таким лучем, что является <code>100%</code>. Цвет каждой такой формы задается цветом на пересечении луча градиента и этой формы.</p> +<p>Точки изменения цвета расположены на <em>виртуальном луче градиента</em>, который расширяется горизонтально направо. Позиция точек заданных в процентах рассчитывается относительно пересечения конечной формы таким лучом, что является <code>100%</code>. Цвет каждой такой формы задается цветом на пересечении луча градиента и этой формы.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -67,11 +67,11 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> </table> <div class="note"> - <p><strong>Заметка:</strong> Ранние реализации этой функции включают в себя другие значения свойства (<code>cover</code> and <code>contain</code>) которые являются синонимами <span class="st"><code>farthest-corner</code></span> и <code>closest-side</code>, соответственно. Рекоментуется использовать только стандартные значения, так как некоторые реализации уже перестали использовать старые значения свойств.</p> + <p><strong>Заметка:</strong> Ранние реализации этой функции включают в себя другие значения свойства (<code>cover</code> and <code>contain</code>) которые являются синонимами <span class="st"><code>farthest-corner</code></span> и <code>closest-side</code>, соответственно. Рекомендуется использовать только стандартные значения, так как некоторые реализации уже перестали использовать старые значения свойств.</p> </div> </dd> <dt><code><color-stop></code></dt> - <dd>{{cssxref("<color>")}} значение цвета в точке изменения цвета за которым следует необязательный параметр позиции ({{cssxref("<percentage>")}} или {{cssxref("<length>")}} вдоль оси градиента). Значения <code>0%</code>, или <code>0</code> представляют центр градиента; значение <code>100%</code> представляет собой виртуальное пересечение конечной формы с виртуальным лучем граддиента. Процентные значения будут линейно расположены на луче градиента.</dd> + <dd>{{cssxref("<color>")}} значение цвета в точке изменения цвета за которым следует необязательный параметр позиции ({{cssxref("<percentage>")}} или {{cssxref("<length>")}} вдоль оси градиента). Значения <code>0%</code>, или <code>0</code> представляют центр градиента; значение <code>100%</code> представляет собой виртуальное пересечение конечной формы с виртуальным лучом градиента. Процентные значения будут линейно расположены на луче градиента.</dd> </dl> <h3 id="Синтаксис_2">Синтаксис</h3> @@ -128,7 +128,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <p>{{EmbedLiveSample('Градиент_со_смещенным_центром', 240, 120)}}</p> <div class="note"> -<p><strong>Заметка:</strong> Дополнительные примеры можно найти в <a href="/en-US/docs/Web/CSS/CSS_Images/Using_CSS_gradients">Использование CSS градиентов</a>.</p> +<p><strong>Заметка:</strong> Дополнительные примеры можно найти в <a href="/en-US/docs/Web/CSS/CSS_Images/Using_CSS_gradients">Ииспользование CSS градиентов</a>.</p> </div> <h2 id="Спецификация">Спецификация</h2> @@ -166,7 +166,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <th>Safari</th> </tr> <tr> - <td>Стандартное использование (в {{cssxref("background")}} и {{cssxref("background-image")}})</td> + <td>Стандартное ииспользование (в {{cssxref("background")}} и {{cssxref("background-image")}})</td> <td>{{CompatGeckoDesktop("1.9.2")}}{{property_prefix("-moz")}}<sup>[1]</sup><br> {{CompatGeckoDesktop("16")}}</td> <td>10.0 (534.16){{property_prefix("-webkit")}}<sup>[2]</sup></td> @@ -175,7 +175,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <td>5.1{{property_prefix("-webkit")}}<sup>[2]</sup></td> </tr> <tr> - <td>Использование в {{cssxref("border-image")}}</td> + <td>Ииспользование в {{cssxref("border-image")}}</td> <td>{{CompatGeckoDesktop("29")}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> @@ -183,7 +183,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <td>{{CompatVersionUnknown}}</td> </tr> <tr> - <td>Использование на любых других свойствах работающих с типом {{cssxref("<image>")}}</td> + <td>Ииспользование на любых других свойствах работающих с типом {{cssxref("<image>")}}</td> <td>{{CompatNo}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> @@ -232,7 +232,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <th>Safari Mobile</th> </tr> <tr> - <td>Стандартное спользование (в {{cssxref("background")}} и {{cssxref("background-image")}})</td> + <td>Стандартное использование (в {{cssxref("background")}} и {{cssxref("background-image")}})</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoMobile("1.9.2")}}{{property_prefix("-moz")}}<sup>[1]</sup><br> {{CompatGeckoMobile("16")}}</td> @@ -241,7 +241,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <td>{{CompatVersionUnknown}}</td> </tr> <tr> - <td>Использование в {{cssxref("border-image")}}</td> + <td>Ииспользование в {{cssxref("border-image")}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoMobile("29")}}</td> <td>{{CompatVersionUnknown}}</td> @@ -249,7 +249,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <td>{{CompatVersionUnknown}}</td> </tr> <tr> - <td>Использование на любых других свойствах работающих с типом {{cssxref("<image>")}}</td> + <td>Ииспользование на любых других свойствах работающих с типом {{cssxref("<image>")}}</td> <td>{{CompatNo}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> @@ -277,9 +277,9 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> </table> </div> -<p>[1] Firefox 3.6 синтаксис - ранний реализованный вариант с префиксом. До Firefox 36, Gecko не применял градиенты на расширенное цветовое пространство, так как это приводило к неожиданному появлению серого оттенка при использовании прозрачности. Начиная с Firefox 42, версии градиентов с префиксом могую быть отключены установкой <code>layout.css.prefixes.gradients</code> to <code>false</code>.</p> +<p>[1] Firefox 3.6 синтаксис - ранний реализованный вариант с префиксом. До Firefox 36, Gecko не применял градиенты на расширенное цветовое пространство, так как это приводило к неожиданному появлению серого оттенка при использовании прозрачности. Начиная с Firefox 42, версии градиентов с префиксом могут быть отключены установкой <code>layout.css.prefixes.gradients</code> to <code>false</code>.</p> -<p>[2] Ранний синтаксис Webkit с префиксом. WebKit с версии 528 поддерживает устаревшый вариант <a href="https://developer.apple.com/library/safari/documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html#//apple_ref/doc/uid/TP40008032-CH10-SW34"><code>-webkit-gradient(radial,…)</code></a>. Смотрите также <a href="https://developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html#//apple_ref/doc/uid/TP40008032-CH10-SW15">текущую поддержку</a> радиальных градиентов.</p> +<p>[2] Ранний синтаксис Webkit с префиксом. WebKit с версии 528 поддерживает устаревший вариант <a href="https://developer.apple.com/library/safari/documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html#//apple_ref/doc/uid/TP40008032-CH10-SW34"><code>-webkit-gradient(radial,…)</code></a>. Смотрите также <a href="https://developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html#//apple_ref/doc/uid/TP40008032-CH10-SW15">текущую поддержку</a> радиальных градиентов.</p> <p>[3] Internet Explorer от 5.5 до 9.0 поддерживают собственный фильтр <a href="http://msdn.microsoft.com/en-us/library/ms532997(VS.85,loband).aspx"><code>filter: progid:DXImageTransform.Microsoft.Gradient()</code></a>.</p> @@ -289,13 +289,13 @@ radial-gradient(circle at center, red 0, blue, green 100%)</pre> <ul> <li>Gecko имеет долгоиграющий баг благодаря которому значения вроде <code>radial-gradient(circle gold,red)</code> будут работать, даже несмотря на то, что пропущена запятая между <code>circle</code> и <code>gold</code> ({{bug(1383323)}}). Новый parallel CSS движок от Firefox (также известный как <a href="https://wiki.mozilla.org/Quantum">Quantum CSS</a> или <a href="https://wiki.mozilla.org/Quantum/Stylo">Stylo</a>, планируемый к релизу в Firefox 57) исправляет этот баг.</li> - <li>Также в Gecko выражения с {{cssxref("calc")}} считаются недействительными — значени не валидно при использовании в radial-gradient() ({{bug(1376019)}}). Новый parallel CSS движок от Firefox (также известный как <a href="https://wiki.mozilla.org/Quantum">Quantum CSS</a> или <a href="https://wiki.mozilla.org/Quantum/Stylo">Stylo</a>, планируемый к релизув Firefox 57) исправляет этот баг.</li> + <li>Также в Gecko выражения с {{cssxref("calc")}} считаются недействительными — значение не валидно при использовании в radial-gradient() ({{bug(1376019)}}). Новый parallel CSS движок от Firefox (также известный как <a href="https://wiki.mozilla.org/Quantum">Quantum CSS</a> или <a href="https://wiki.mozilla.org/Quantum/Stylo">Stylo</a>, планируемый к релизув Firefox 57) исправляет этот баг.</li> </ul> <h2 id="Смотрите_так_же">Смотрите так же</h2> <ul> - <li><a href="/en-US/docs/CSS/Using_CSS_gradients">Использование CSS градиентов</a></li> + <li><a href="/en-US/docs/CSS/Using_CSS_gradients">Ииспользование CSS градиентов</a></li> <li>Другие варианты градиентов: {{cssxref("repeating-radial-gradient")}}, {{cssxref("linear-gradient")}}, {{cssxref("repeating-linear-gradient")}}</li> <li>{{cssxref("<image>")}}</li> </ul> diff --git a/files/ru/web/css/reference/index.html b/files/ru/web/css/reference/index.html index 2a32f7019f..507cc1fa72 100644 --- a/files/ru/web/css/reference/index.html +++ b/files/ru/web/css/reference/index.html @@ -10,7 +10,7 @@ translation_of: Web/CSS/Reference --- <p><span class="seoSummary">Данный <em>справочник по CSS</em> перечисляет все стандартные свойства, <a href="/ru/docs/Web/CSS/Pseudo-classes">псевдоклассы</a> и <a href="/ru/docs/Web/CSS/Pseudo-elements">псевдоэлементы</a>, <a href="/ru/docs/Web/CSS/At-rule">@-правила</a>, единицы измерения и селекторы <a href="/ru/docs/CSS">CSS</a> в алфавитном порядке. </span> Справочник позволит вам быстро найти подробную информацию о каждом из них. <span class="seoSummary">Он не только перечисляет свойства CSS 1 и CSS 2.1, но является и справочником по CSS3 со ссылками на описание каждого стандартизированного или уже стабилизированного свойства <a href="/ru/docs/Web/CSS/CSS3">CSS3</a>. Также включает в себя краткое руководство </span> <a href="https://developer.mozilla.org/ru/docs/Web/CSS/Reference$edit#DOM_CSS">DOM-CSS / CSSOM</a>.</p> -<p>Заметьте, что определения CSS-правил полностью (ASCII) <a href="https://www.w3.org/TR/css-syntax-3/#intro">тексто-ориентированы</a>, в то время как определения правил DOM-CSS / CSSOM <a href="https://www.w3.org/TR/cssom/#introduction">объектно-ориентированы</a>.</p> +<p>Заметьте, что определения CSS-правил полностью (ASCII) <a href="https://www.w3.org/TR/css-syntax-3/#intro">текста-ориентированы</a>, в то время как определения правил DOM-CSS / CSSOM <a href="https://www.w3.org/TR/cssom/#introduction">объектно-ориентированы</a>.</p> <p>Смотрите также <a href="/ru/docs/Web/CSS/CSS_Reference/Mozilla_Extensions">Mozilla CSS Extensions</a> для Gecko-специфичных свойств с префиксом <code>-moz</code>; и <a href="/ru/docs/Web/CSS/CSS_Reference/Webkit_Extensions">WebKit CSS Extensions</a> для WebKit-специфичных свойств. Смотрите <a href="http://peter.sh/experiments/vendor-prefixed-css-property-overview/">Обзор CSS-префиксов для разных браузеров от Peter Beverloo</a> для всех свойств с префиксами.</p> @@ -57,7 +57,7 @@ div.menu-bar li:hover > ul { display: block; } <li><a href="/ru/docs/Web/CSS/Attribute_selectors">По атрибутам</a><code> [attr=value]</code></li> </ul> </li> - <li>Комбиционные + <li>Комбинационные <ul> <li><a href="/ru/docs/Web/CSS/Adjacent_sibling_selectors">смежный селектор</a> <code>A + B</code></li> <li><a href="/ru/docs/Web/CSS/General_sibling_selectors">следующего элемента</a> <code>A ~ B</code></li> diff --git a/files/ru/web/css/resolved_value/index.html b/files/ru/web/css/resolved_value/index.html index 8ea7300dd7..295f999c83 100644 --- a/files/ru/web/css/resolved_value/index.html +++ b/files/ru/web/css/resolved_value/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/resolved_value --- <div>{{cssref}}</div> -<p><strong>Решённое значение</strong> CSS свойства - значение, возвращаемое {{domxref("Window.getComputedStyle", "getComputedStyle()")}}. Для многих свойств, это {{cssxref("computed_value", "вычисленное значение") }}, но для старых свойств (включая {{cssxref("width")}} и {{cssxref("height")}}), это {{cssxref("used_value", "используемое значение")}}. Смотрите ссылку спецификации ниже для дополнильной информации.</p> +<p><strong>Решённое значение</strong> CSS свойства - значение, возвращаемое {{domxref("Window.getComputedStyle", "getComputedStyle()")}}. Для многих свойств, это {{cssxref("computed_value", "вычисленное значение") }}, но для старых свойств (включая {{cssxref("width")}} и {{cssxref("height")}}), это {{cssxref("used_value", "используемое значение")}}. Смотрите ссылку спецификации ниже для дополнительной информации.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/css/revert/index.html b/files/ru/web/css/revert/index.html index 3b61c5ad38..86f135251a 100644 --- a/files/ru/web/css/revert/index.html +++ b/files/ru/web/css/revert/index.html @@ -5,16 +5,16 @@ translation_of: Web/CSS/revert --- <div>{{CSSRef}}</div> -<p><span class="seoSummary">Ключевое слово <strong><code>revert</code></strong> (CSS) откатывает один текущий уровень каскада, таким образом свойство принимает такое значение, которое было бы, если бы не было никаких стилей в текущем источнике стилей (авторских, пользовательских или браузерных).</span> Как следствие, оно сбрасывает свойство к значению по-умолчанию, которое было установлено браузером (или пользовательскими стилями, если такие имеются). Ключевое слово <strong><code>revert</code></strong> может быть применимо к любому свойству CSS, включая сокращённое свойство {{cssxref("all")}}.</p> +<p><span class="seoSummary">Ключевое слово <strong><code>revert</code></strong> (CSS) откатывает один текущий уровень каскада, таким образом свойство принимает такое значение, которое было бы, если бы не было никаких стилей в текущем источнике стилей (авторских, пользовательских или браузерных).</span> Как следствие, оно сбрасывает свойство к значению по умолчанию, которое было установлено браузером (или пользовательскими стилями, если такие имеются). Ключевое слово <strong><code>revert</code></strong> может быть применимо к любому свойству CSS, включая сокращённое свойство {{cssxref("all")}}.</p> <p>Ключевое слово <code>revert</code> полезно для изоляции встраиваемых виджетов или компонентов от стилей страницы, где они размещаются, особенно, когда оно используется совместно со свойством {{cssxref("all")}} .</p> -<p>В пользовательских стилях <code>revert</code> откатывает каскад и сбрасывает свойство к значению по-умолчанию, которое было установлено браузером.</p> +<p>В пользовательских стилях <code>revert</code> откатывает каскад и сбрасывает свойство к значению по умолчанию, которое было установлено браузером.</p> <div class="note"> -<p>Ключевое слово <code>revert</code> отличается от {{cssxref("initial")}}, поэтому его не следует с ним путать. {{cssxref("initial")}} использует <a href="/ru/docs/Web/CSS/initial_value">начальное значение</a>, которое определено отдельно для каждого свойства CSS-спецификацией. Для сравнения, браузеры устанавливают значения по-умолчанию в зависимости от CSS селектора.</p> +<p>Ключевое слово <code>revert</code> отличается от {{cssxref("initial")}}, поэтому его не следует с ним путать. {{cssxref("initial")}} использует <a href="/ru/docs/Web/CSS/initial_value">начальное значение</a>, которое определено отдельно для каждого свойства CSS-спецификацией. Для сравнения, браузеры устанавливают значения по умолчанию в зависимости от CSS селектора.</p> -<p>Например, <a href="/ru/docs/Web/CSS/initial_value">начальное значение</a> для свойства {{cssxref("display")}} — <code>inline</code>, тогда как браузер устанавливает значение по-умолчанию свойства {{cssxref("display")}} элемента {{HTMLElement("div")}} как <code>block</code>, а элемента {{HTMLElement("table")}} как <code>table</code>, и т.д</p> +<p>Например, <a href="/ru/docs/Web/CSS/initial_value">начальное значение</a> для свойства {{cssxref("display")}} — <code>inline</code>, тогда как браузер устанавливает значение по умолчанию свойства {{cssxref("display")}} элемента {{HTMLElement("div")}} как <code>block</code>, а элемента {{HTMLElement("table")}} как <code>table</code>, и т.д</p> </div> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/css/right/index.html b/files/ru/web/css/right/index.html index e39467180e..e825de23ab 100644 --- a/files/ru/web/css/right/index.html +++ b/files/ru/web/css/right/index.html @@ -24,7 +24,7 @@ translation_of: Web/CSS/right <li>Когда задано <code>position: static</code> — свойство <code>right</code> <em>не имеет никакого эффекта</em>.</li> </ul> -<p>Когда заданы оба свойства {{cssxref("left")}} и <code>right</code>, и элемент не может растянуться, чтобы им соответсвовать, то позиционированние элемента is<em> overspecified</em>. В этом случае значение <code>left</code> имеет приоритет, when the container is left-to-right; и наоборот, значение <code>right</code> имеет приоритет, when the container is right-to-left.</p> +<p>Когда заданы оба свойства {{cssxref("left")}} и <code>right</code>, и элемент не может растянуться, чтобы им соответствовать, то позиционированние элемента is<em> overspecified</em>. В этом случае значение <code>left</code> имеет приоритет, when the container is left-to-right; и наоборот, значение <code>right</code> имеет приоритет, when the container is right-to-left.</p> <h2 id="Синтаксис" name="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/css/selector_list/index.html b/files/ru/web/css/selector_list/index.html index 3bf50932d0..dfa5948008 100644 --- a/files/ru/web/css/selector_list/index.html +++ b/files/ru/web/css/selector_list/index.html @@ -76,7 +76,7 @@ h3 { font-family: sans-serif }</pre> <tr> <td>{{SpecName("CSS4 Selectors", "#grouping", "Selector Lists")}}</td> <td>{{Spec2("CSS4 Selectors")}}</td> - <td>Переименованно в "selector list"</td> + <td>Переименовано в "selector list"</td> </tr> <tr> <td>{{SpecName('CSS1', '#grouping', 'grouping')}}</td> diff --git a/files/ru/web/css/specificity/index.html b/files/ru/web/css/specificity/index.html index 79e8065987..42adadbf3a 100644 --- a/files/ru/web/css/specificity/index.html +++ b/files/ru/web/css/specificity/index.html @@ -28,13 +28,13 @@ translation_of: Web/CSS/Specificity <ol start="0"> <li>селекторы типов элементов (например, <code>h1</code>) и псевдоэлементов (например, <code>::before</code>).</li> - <li>селекторы классов (например, <code>.example</code>), селекторы атрибутов (например, <code>[type="radio"]</code>) и псевдокласов (например, <code>:hover</code>).</li> + <li>селекторы классов (например, <code>.example</code>), селекторы атрибутов (например, <code>[type="radio"]</code>) и псевдоклассов (например, <code>:hover</code>).</li> <li>селекторы идентификаторов (например, <code>#example</code>).</li> </ol> <p>Универсальный селектор (<code>*</code>), комбинаторы (<code>+</code>, <code>></code>, <code>~</code>, '<code> </code>') и отрицающий псевдокласс (<code>:not()</code>) не влияют на специфичность. (Однако селекторы, объявленные <em>внутри</em> <code>:not()</code>, влияют)</p> -<p>Стили, обьявленные в элементе (например, <code>style="font-weight:bold"</code>), всегда переопределяют любые правила из внешних файлов стилей и, таким образом, их специфичность можно считать наивысшей.</p> +<p>Стили, объявленные в элементе (например, <code>style="font-weight:bold"</code>), всегда переопределяют любые правила из внешних файлов стилей и, таким образом, их специфичность можно считать наивысшей.</p> <h3 id="Важное_исключение_из_правил_-_!important">Важное исключение из правил - <code>!important</code></h3> @@ -234,7 +234,7 @@ h1 { <h2 id="Дополнительная_информация">Дополнительная информация</h2> <ul> - <li>Калькулятор специфичности: Интерактивный сайт, помогущий вам проверить и понять ваши собственные правила CSS - <a href="https://specificity.keegan.st/">https://specificity.keegan.st/</a></li> + <li>Калькулятор специфичности: Интерактивный сайт, помогающий вам проверить и понять ваши собственные правила CSS - <a href="https://specificity.keegan.st/">https://specificity.keegan.st/</a></li> <li>Специфичность селекторов в CSS3 - <a class="external" href="http://www.w3.org/TR/selectors/#specificity" rel="freelink">http://www.w3.org/TR/selectors/#specificity</a></li> <li>{{ CSS_key_concepts() }}</li> </ul> diff --git a/files/ru/web/css/syntax/index.html b/files/ru/web/css/syntax/index.html index d2db52f659..ead0688e79 100644 --- a/files/ru/web/css/syntax/index.html +++ b/files/ru/web/css/syntax/index.html @@ -17,7 +17,7 @@ original_slug: Web/CSS/Синтаксис <h2 id="Объявления_CSS">Объявления CSS</h2> -<p>Задание CSS свойствам определенных значений — это основная функция CSS. Пара свойство-значение называется <em>объявлением</em>. Работа CSS движка заключается в поиске соответсвий между объявлениями стилей и элементом на странице, чтобы правильно отобразить и форматировать этот элемент.</p> +<p>Задание CSS свойствам определенных значений — это основная функция CSS. Пара свойство-значение называется <em>объявлением</em>. Работа CSS движка заключается в поиске соответствий между объявлениями стилей и элементом на странице, чтобы правильно отобразить и форматировать этот элемент.</p> <p>И свойство, и значения регистрозависимы. Пара свойство-значение разделяется двоеточием, '<code>:</code>' (<code>U+003A COLON</code>), а пробелы до, между и после свойства или значения игнорируются.</p> diff --git a/files/ru/web/css/text-shadow/index.html b/files/ru/web/css/text-shadow/index.html index d78071246f..82ff55c57e 100644 --- a/files/ru/web/css/text-shadow/index.html +++ b/files/ru/web/css/text-shadow/index.html @@ -47,9 +47,9 @@ text-shadow: unset; <dl> <dt>{{cssxref("<цвет>")}}</dt> - <dd>Необязательный. Цвет тени. Параметр может быть определён как до, так и после значений смещений. Если значение не задано, то его цвет будет определяться браузером пользователя, поэтому, для сохранения согласованности в отображении в браузерах, рекомендуется опредлить значение цвета явно.</dd> + <dd>Необязательный. Цвет тени. Параметр может быть определён как до, так и после значений смещений. Если значение не задано, то его цвет будет определяться браузером пользователя, поэтому, для сохранения согласованности в отображении в браузерах, рекомендуется определить значение цвета явно.</dd> <dt><code><смещение-x> <смещение-y></code></dt> - <dd>Обязательные. Эти величины {{cssxref("<длина>")}} задают расстояние тени от текста. <code><смещение-x></code> определяет горизонтальное расстояние; отрицательное значение размещает тень левее от текста. <code><смещение-y></code> определяет вертикальное растояние; отрицательное значение размещает тень выше текста. Если оба значения заданы в <code>0</code>, тень будет располагаться прямо за текстом, она может быть видна из-за эффекта <code><радиус-размытия></code>.</dd> + <dd>Обязательные. Эти величины {{cssxref("<длина>")}} задают расстояние тени от текста. <code><смещение-x></code> определяет горизонтальное расстояние; отрицательное значение размещает тень левее от текста. <code><смещение-y></code> определяет вертикальное расстояние; отрицательное значение размещает тень выше текста. Если оба значения заданы в <code>0</code>, тень будет располагаться прямо за текстом, она может быть видна из-за эффекта <code><радиус-размытия></code>.</dd> <dt><code><радиус-размытия></code></dt> <dd>Необязательный. Это величина {{cssxref("<длина>")}}. Чем больше значение, тем сильнее задаётся размытие; тень становится шире и светлее. Значение по умолчанию <code>0</code>, в случае когда параметр не определён.</dd> </dl> diff --git a/files/ru/web/css/text-size-adjust/index.html b/files/ru/web/css/text-size-adjust/index.html index bd58a6250f..f45e6b2ef3 100644 --- a/files/ru/web/css/text-size-adjust/index.html +++ b/files/ru/web/css/text-size-adjust/index.html @@ -2,7 +2,7 @@ title: text-size-adjust slug: Web/CSS/text-size-adjust tags: - - Эксперементально + - Экспериментально translation_of: Web/CSS/text-size-adjust --- <div>{{CSSRef}}{{SeeCompatTable}}</div> diff --git a/files/ru/web/css/time/index.html b/files/ru/web/css/time/index.html index c300093e72..6d15f3733d 100644 --- a/files/ru/web/css/time/index.html +++ b/files/ru/web/css/time/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/time --- <div>{{CSSRef}}</div> -<p><a href="https://developer.mozilla.org/ru/docs/Web/CSS/CSS_Types">Тип данных</a> <a href="/en-US/docs/Web/CSS">CSS</a> <strong><code><time></code></strong> представляет значение времени, выраженное в секундах или милисекундах. Он используется в {{cssxref("animation")}}, {{cssxref("transition")}}, и связанных свойствах.</p> +<p><a href="https://developer.mozilla.org/ru/docs/Web/CSS/CSS_Types">Тип данных</a> <a href="/en-US/docs/Web/CSS">CSS</a> <strong><code><time></code></strong> представляет значение времени, выраженное в секундах или миллисекундах. Он используется в {{cssxref("animation")}}, {{cssxref("transition")}}, и связанных свойствах.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -25,7 +25,7 @@ translation_of: Web/CSS/time <dt><strong><code id="s">s</code></strong></dt> <dd>Представляет время в секундах. Примеры: <code>0s</code>, <code>1.5s</code>, <code>-60s</code>.</dd> <dt><strong><code id="ms">ms</code></strong></dt> - <dd>Представляет время в милисекундах. Примеры: <code>0ms</code>, <code>150.25ms</code>, <code>-60000ms</code>.</dd> + <dd>Представляет время в миллисекундах. Примеры: <code>0ms</code>, <code>150.25ms</code>, <code>-60000ms</code>.</dd> </dl> <div class="note"> diff --git a/files/ru/web/css/transform-function/rotate()/index.html b/files/ru/web/css/transform-function/rotate()/index.html index 71d94f55e7..d8501cca91 100644 --- a/files/ru/web/css/transform-function/rotate()/index.html +++ b/files/ru/web/css/transform-function/rotate()/index.html @@ -33,8 +33,8 @@ translation_of: Web/CSS/transform-function/rotate() <tr> <th scope="col">Декартовы координаты на ℝ<sup>2</sup></th> <th scope="col">Однородные координаты на ℝℙ<sup>2</sup></th> - <th scope="col">Декартовы координаты наℝ<sup>3</sup></th> - <th scope="col">Однородные координаты наℝℙ<sup>3</sup></th> + <th scope="col">Декартовы координаты на ℝ<sup>3</sup></th> + <th scope="col">Однородные координаты на ℝℙ<sup>3</sup></th> </tr> </thead> <tbody> diff --git a/files/ru/web/css/transform-function/rotate3d()/index.html b/files/ru/web/css/transform-function/rotate3d()/index.html index 5558f3f69f..aeadb96e60 100644 --- a/files/ru/web/css/transform-function/rotate3d()/index.html +++ b/files/ru/web/css/transform-function/rotate3d()/index.html @@ -7,7 +7,7 @@ translation_of: Web/CSS/transform-function/rotate3d() --- <div>{{CSSRef}}</div> -<div>Функция <a href="/en-US/docs/Web/CSS">CSS</a> <strong><code>rotate3d()</code> </strong>трансформирует элемент без деформации, вращяя его в трехмерном пространстве вокруг зафиксированной оси. Её результатом является тип {{cssxref ("<transform-function>")}}.</div> +<div>Функция <a href="/en-US/docs/Web/CSS">CSS</a> <strong><code>rotate3d()</code> </strong>трансформирует элемент без деформации, вращая его в трехмерном пространстве вокруг зафиксированной оси. Её результатом является тип {{cssxref ("<transform-function>")}}.</div> <div> </div> diff --git a/files/ru/web/css/transform-function/scale3d()/index.html b/files/ru/web/css/transform-function/scale3d()/index.html index 7caca80cca..acfcf77edf 100644 --- a/files/ru/web/css/transform-function/scale3d()/index.html +++ b/files/ru/web/css/transform-function/scale3d()/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/transform-function/scale3d() --- <div>{{CSSRef}}</div> -<p><code>scale3d()</code> CSS функция изменяет размер элемента. Благодяря величине масштабирования определенной вектором, может изменять различные размеры в разных масштабах.</p> +<p><code>scale3d()</code> CSS функция изменяет размер элемента. Благодаря величине масштабирования определенной вектором, может изменять различные размеры в разных масштабах.</p> <p>Это преобразование характеризуется вектором, координаты которого определяют, сколько масштабирования выполняется в каждом направлении. Если все три координаты вектора равны, масштабирование равномерно или изотропно, а форма элемента сохраняется. В этом случае функция масштабирования определяет гомотетическое преобразование.</p> diff --git a/files/ru/web/css/transition-duration/index.html b/files/ru/web/css/transition-duration/index.html index cc71428846..30b0f8175e 100644 --- a/files/ru/web/css/transition-duration/index.html +++ b/files/ru/web/css/transition-duration/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/transition-duration --- <div>{{CSSRef}}</div> -<p>Свойство <strong><code>transition-duration</code></strong> определяет продолжительность выполнения анимации. Значение по-умолчанию равняется <code>0s</code>, т.е. отстутствие анимации.</p> +<p>Свойство <strong><code>transition-duration</code></strong> определяет продолжительность выполнения анимации. Значение по умолчанию равняется <code>0s</code>, т.е. отсутствие анимации.</p> <p>{{EmbedInteractiveExample("pages/css/transition-duration.html")}}</p> diff --git a/files/ru/web/css/used_value/index.html b/files/ru/web/css/used_value/index.html index 07cc2213ee..2467369481 100644 --- a/files/ru/web/css/used_value/index.html +++ b/files/ru/web/css/used_value/index.html @@ -16,7 +16,7 @@ translation_of: Web/CSS/used_value <p>После того как {{glossary("user agent")}} закончил свои расчеты каждое свойство CSS имеет своё значение. Используемые значения (например, {{cssxref("width")}}, {{cssxref("line-height")}}) в пикселях. Используемые значения сокращённых свойств (например, {{cssxref("background")}}) согласуются с теми из свойств компонентов (например, {{cssxref("background-color")}} или {{cssxref("background-size")}}) и с {{cssxref("position")}} и {{cssxref("float")}}.</p> <div class="blockIndicator note"> -<p><strong>Змечание</strong>: {{domxref("Window.getComputedStyle", "getComputedStyle()")}} DOM API возвращает <a href="/ru/docs/">решённое значение</a>, которое может быть <a href="/ru/docs/">вычесленным значением</a> или <a href="/ru/docs/">используемым значением</a>, в зависимости от свойства.</p> +<p><strong>Замечание</strong>: {{domxref("Window.getComputedStyle", "getComputedStyle()")}} DOM API возвращает <a href="/ru/docs/">решённое значение</a>, которое может быть <a href="/ru/docs/">численным значением</a> или <a href="/ru/docs/">используемым значением</a>, в зависимости от свойства.</p> </div> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/css/using_css_custom_properties/index.html b/files/ru/web/css/using_css_custom_properties/index.html index 905cbffe8d..829761ba71 100644 --- a/files/ru/web/css/using_css_custom_properties/index.html +++ b/files/ru/web/css/using_css_custom_properties/index.html @@ -199,7 +199,7 @@ translation_of: Web/CSS/Using_CSS_custom_properties }</code></pre> <div class="note"> -<p>В замещаемых значениях можно использовать запятые по аналогии с <a href="https://www.w3.org/TR/css-variables/#custom-property">пользовательскими свойствами</a>. Например, var(--foo, red, blue) опеределит red, blue как замещающее значение (от первой запятой и до конца определения функции)</p> +<p>В замещаемых значениях можно использовать запятые по аналогии с <a href="https://www.w3.org/TR/css-variables/#custom-property">пользовательскими свойствами</a>. Например, var(--foo, red, blue) определить red, blue как замещающее значение (от первой запятой и до конца определения функции)</p> </div> <div class="note"> diff --git a/files/ru/web/css/visibility/index.html b/files/ru/web/css/visibility/index.html index 69a510bb29..7889193f67 100644 --- a/files/ru/web/css/visibility/index.html +++ b/files/ru/web/css/visibility/index.html @@ -56,7 +56,7 @@ visibility: unset; <h2 id="Интерполяция">Интерполяция</h2> -<p>Значения видимости изменяются между <em>видим</em> и <em>не видим</em>. Интерполяция будет, если одно из начальных или конечных значений будет видимо или нет. Если одно из значений <code>visible</code>, интерполируется как дискретный шаг, где значения временной функции от <code>0</code> до <code>1</code> для <code>visible</code> и другие значения временной функции (которые происходят только в начале/конце перехода, или как результат функции <code>cubic-bezier()</code> cо значениями вне [0, 1]) ближе к конечной точке.</p> +<p>Значения видимости изменяются между <em>видим</em> и <em>не видим</em>. Интерполяция будет, если одно из начальных или конечных значений будет видимо или нет. Если одно из значений <code>visible</code>, интерполируется как дискретный шаг, где значения временной функции от <code>0</code> до <code>1</code> для <code>visible</code> и другие значения временной функции (которые происходят только в начале/конце перехода, или как результат функции <code>cubic-bezier()</code> со значениями вне [0, 1]) ближе к конечной точке.</p> <h2 id="Примеры">Примеры</h2> @@ -155,7 +155,7 @@ td { <tr> <td>{{SpecName('CSS3 Transitions', '#animatable-css', 'visibility')}}</td> <td>{{Spec2('CSS3 Transitions')}}</td> - <td>Определяет <code>visibility</code> как анимирумое.</td> + <td>Определяет <code>visibility</code> как анимируемое.</td> </tr> <tr> <td>{{SpecName('CSS2.1', 'visufx.html#visibility', 'visibility')}}</td> diff --git a/files/ru/web/css/visual_formatting_model/index.html b/files/ru/web/css/visual_formatting_model/index.html index b7cc6050f3..9faa4e62f5 100644 --- a/files/ru/web/css/visual_formatting_model/index.html +++ b/files/ru/web/css/visual_formatting_model/index.html @@ -18,19 +18,19 @@ original_slug: Web/Guide/CSS/Visual_formatting_model <li>другой внешней информацией.</li> </ul> -<p>Бокс отображается относительно краев <em>содержащего его блока. </em>Как правило, бокс определяет родительский блок для своих потомков. Однако, стоит заметить, что бокс не ограничен содержащим его блоком. Такое поведение слоев, выходящих за пределы своих содержащих блоков, называется <em>переполенинем</em> (<em>overflow).</em></p> +<p>Бокс отображается относительно краев <em>содержащего его блока. </em>Как правило, бокс определяет родительский блок для своих потомков. Однако, стоит заметить, что бокс не ограничен содержащим его блоком. Такое поведение слоев, выходящих за пределы своих содержащих блоков, называется <em>переполнением</em> (<em>overflow).</em></p> <h2 id="Генерация_бокса">Генерация бокса</h2> <p>Генерация бокса - часть алгоритма модели визуального форматирования, процедура, генерирующая блоки из элементов. Различные типы боксов определяют различное поведение в контексте форматирования. Тип бокса зависит от свойства CSS {{ cssxref("display") }}.</p> -<h3 id="Блочные_эклементы_и_блок-боксы">Блочные эклементы и блок-боксы</h3> +<h3 id="Блочные_элементы_и_блок-боксы">Блочные элементы и блок-боксы</h3> <p>Говорят, что элемент является блочным, когда вычисленное значение его CSS свойства {{ cssxref("display") }} равно: <code>block</code>, <code>list-item</code>, или <code>table</code>. Блочный элемент визуально форматируется как блок (например, параграф), предназначенный для вертикальной компоновки (в столбик).</p> -<p>Каждый элемент блочного уровня участвует в <a href="/ru/docs/CSS/block_formatting_context" title="block formatting context">контексте блочного форматирования</a>. Каждый элемент блочного уровня генерирует как миниум один блок-бокс, названный <em>главным блок-боксом</em>. Некоторые элементы, например, такие как list-item, создают дополнительные боксы для хранения маркеров и других типографических элементов, содержащихся в list item. Большинство блочных элементов генерирует только один, главный блок-бокс.</p> +<p>Каждый элемент блочного уровня участвует в <a href="/ru/docs/CSS/block_formatting_context" title="block formatting context">контексте блочного форматирования</a>. Каждый элемент блочного уровня генерирует как минимум один блок-бокс, названный <em>главным блок-боксом</em>. Некоторые элементы, например, такие как list-item, создают дополнительные боксы для хранения маркеров и других типографических элементов, содержащихся в list item. Большинство блочных элементов генерирует только один, главный блок-бокс.</p> -<p>Главный блок-бокс содержит сгенериованные боксы-потомки и сгенериованный контекст. Он так же будет боксом, участвующем в <a href="/en-US/docs/CSS/Positioning_scheme" title="CSS/Positioning scheme">схеме позиционирования</a>.</p> +<p>Главный блок-бокс содержит сгенерированные боксы-потомки и сгенерированный контекст. Он так же будет боксом, участвующем в <a href="/en-US/docs/CSS/Positioning_scheme" title="CSS/Positioning scheme">схеме позиционирования</a>.</p> <p><img alt="venn_blocks.png" class="internal lwrap" src="/@api/deki/files/5995/=venn_blocks.png" style="float: left;">Элемент блочного уровня так же может быть блоком-контейнером. Блок-контейнер - это блок, который содержит либо только другие элементы блочного уровня, либо создаёт <a href="/en-US/docs/CSS/Inline_formatting_context" title="CSS/Inline formatting context">контекст инлайнового форматирования</a> и, таким образом, содержит только инлайновые элементы.</p> @@ -40,7 +40,7 @@ original_slug: Web/Guide/CSS/Visual_formatting_model <h4 id="Анонимные_блок-боксы">Анонимные блок-боксы</h4> -<p>В некоторых случаях алгоритм визуального форматирования вынужден добавлять дополнительные боксы. Так как эти боксы невозможно как-то проименовать и к ним невозможно применить css-селекторы, поэтому эти боксы называют <em>анонимными</em>.</p> +<p>В некоторых случаях алгоритм визуального форматирования вынужден добавлять дополнительные боксы. Так как эти боксы невозможно как-то переименовать и к ним невозможно применить css-селекторы, поэтому эти боксы называют <em>анонимными</em>.</p> <p>Из-за того, что к анонимным боксам невозможно применить селекторы, их невозможно изменить с помощью таблицы стилей. Это значит, что все наследуемые CSS свойства для них будут иметь значение <code>inherit</code>, а все ненаследуемые свойства будут иметь значение <code>initial</code>.</p> @@ -86,12 +86,12 @@ followed by more inline text.</code></pre> <h3 id="Элементы_инлайн-уровня_и_инлайн-боксы">Элементы инлайн-уровня и инлайн-боксы</h3> -<p>Элементы, которые называются <em>элементами инлайн-уровня</em> - это элементы, у которых вычисленное значение CSS свойства {{ cssxref("display") }} установлено в : <code>inline</code>, <code>inline-block</code> или <code>inline-table</code>. Визуально они не представляют собой какие-то отдельные блоки, но они они распологаются в одну линию с другим контентом инлайн-уровня. Например, содержание параграфа, с различным форматированием, таким как подчёркивание или картинка, состоит из элементов инлайн-уровня.</p> +<p>Элементы, которые называются <em>элементами инлайн-уровня</em> - это элементы, у которых вычисленное значение CSS свойства {{ cssxref("display") }} установлено в : <code>inline</code>, <code>inline-block</code> или <code>inline-table</code>. Визуально они не представляют собой какие-то отдельные блоки, но они они располагаются в одну линию с другим контентом инлайн-уровня. Например, содержание параграфа, с различным форматированием, таким как подчёркивание или картинка, состоит из элементов инлайн-уровня.</p> <p><img alt="venn_inlines.png" class="internal lwrap" src="https://developer.mozilla.org/@api/deki/files/6008/=venn_inlines.png" style="float: left;"></p> <div class="warning"> -<p>Эта диаграмма использует устаревшую терминологию; см. примечания ниже. К тому же она некорректна, потому что жёлтый эллипс справа по определению должен быть изображён одинаковым по размеру с эллипсом слева или больше него (it could be a mathematical superset), потому что в спецификации сказано: "Элементв инлайн-уровня генерируют боксы инлайн-уровня, участвующие в форматировании инлайн-уровня", см. CSS 2.2, глава 9.2.2</p> +<p>Эта диаграмма использует устаревшую терминологию; см. примечания ниже. К тому же она некорректна, потому что жёлтый эллипс справа по определению должен быть изображён одинаковым по размеру с эллипсом слева или больше него (it could be a mathematical superset), потому что в спецификации сказано: "Элемент инлайн-уровня генерируют боксы инлайн-уровня, участвующие в форматировании инлайн-уровня", см. CSS 2.2, глава 9.2.2</p> </div> <p>Элементы инлайн-уровня создают <em>боксы инлайн-уровня</em>, которые определены как боксы, участвующие в <a href="https://developer.mozilla.org/en-US/docs/CSS/Inline_formatting_context" title="CSS/Inline formatting context">контексте форматирования инлайн-уровня</a>. <em>Inline boxes</em> are both inline-level boxes and boxes, whose contents participate in their container's inline formatting context. This is the case, for example, for all non-replaced boxes with <code>display:inline</code>. Inline-level boxes, whose contents do not participate in an inline formatting context, are called <em>atomic inline-level boxes</em>. These boxes, generated by replaced inline-level elements or by elements with a calculated {{ cssxref("display") }} value of <code>inline-block</code> or <code>inline-table</code>, are never split into several boxes, as is possible with inline boxes.</p> diff --git a/files/ru/web/css/width/index.html b/files/ru/web/css/width/index.html index e72da72aae..487f061001 100644 --- a/files/ru/web/css/width/index.html +++ b/files/ru/web/css/width/index.html @@ -9,7 +9,7 @@ translation_of: Web/CSS/width <div>{{EmbedInteractiveExample("pages/css/width.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул-реквест.</p> <p>Свойства {{cssxref("min-width")}} и {{cssxref("max-width")}} перекрывают {{cssxref("width")}}.</p> @@ -196,7 +196,7 @@ width: unset; <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> -<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пулл-реквест.</div> +<div class="hidden">Для создания таблицы совместимости из структурированных данных воспользуйтесь ресурсом <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. Если вы хотите внести свой вклад в данные, пожалуйста, проверьте данные и отправьте нам пул-реквест.</div> <p>{{Compat("css.properties.width")}}</p> diff --git a/files/ru/web/css/will-change/index.html b/files/ru/web/css/will-change/index.html index a6b0030a21..916c5d4263 100644 --- a/files/ru/web/css/will-change/index.html +++ b/files/ru/web/css/will-change/index.html @@ -5,7 +5,7 @@ translation_of: Web/CSS/will-change --- <p>{{ CSSRef() }}{{SeeCompatTable}}</p> -<p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <code style="font-style: normal;">will-change</code> предоставляет автору возможность уведомить браузер об ожидаемом изменении элемента<span class="seoSummary">, таким образом браузер может настроить соответсвующую оптимизацию до того как элемент действительно изменится. Такой тип оптимизации может повысить отзывчивость страницы, совершая, возможно дорогие операции до того как они действительно понадобятся. </span></p> +<p><a href="/en-US/docs/Web/CSS">CSS</a> свойство <code style="font-style: normal;">will-change</code> предоставляет автору возможность уведомить браузер об ожидаемом изменении элемента<span class="seoSummary">, таким образом браузер может настроить соответствующую оптимизацию до того как элемент действительно изменится. Такой тип оптимизации может повысить отзывчивость страницы, совершая, возможно дорогие операции до того как они действительно понадобятся. </span></p> <pre><code>/* Keyword values */ will-change: auto; @@ -32,7 +32,7 @@ will-change: unset;</code></pre> <p><em>Используйте умеренно.</em> Обычное поведение для оптимизаций которые выполняет браузер, удалить оптимизацию как можно скорее и вернуть нормальное состояние. Но добавление <code>will-change</code> прямо в файле стилей предполагает, что указанный элемент всегда находится в нескольких шагах от изменений и браузер будет сохранять для него оптимизацию гораздо больше времени. Так что, было бы хорошо включать и отключать <code>will-change</code> используя скрипт до и после того как произошли изменения.</p> </li> <li> - <p><em>Не применяйте will-change к элементам для выполнения преждевременной оптимизации</em>. Если ваша страница хорошо отрабатывается, не применяйте <code>will-change</code> свойство к элементу только чтобы выжать немного больше скорости. <code>will-change</code> предназначен для использования в крайнем случае, для того чтобы исправить существующие проблемы оптимизации. Его не следует использовать для предвидения проблем оптимизации. Черезмерное использование <code>will-change</code> приведет к излишнему потреблению памяти и вызовет более тяжелый рендеринг так как браузер будет пытаться подготовиться к возможным изменениям. Это приведет к ухудшению производительности.</p> + <p><em>Не применяйте will-change к элементам для выполнения преждевременной оптимизации</em>. Если ваша страница хорошо отрабатывается, не применяйте <code>will-change</code> свойство к элементу только чтобы выжать немного больше скорости. <code>will-change</code> предназначен для использования в крайнем случае, для того чтобы исправить существующие проблемы оптимизации. Его не следует использовать для предвидения проблем оптимизации. Чрезмерное использование <code>will-change</code> приведет к излишнему потреблению памяти и вызовет более тяжелый рендеринг так как браузер будет пытаться подготовиться к возможным изменениям. Это приведет к ухудшению производительности.</p> </li> <li> <p id="Give_it_sufficient_time_to_work"><em>Дайте ему достаточно времени, чтобы работать</em>. Это свойство дает автору способ указать пользовательскому агенту свойства, которые могут измениться в будущем. Затем браузер может применить любые предварительные оптимизации, необходимые для изменения свойств до того, когда эти свойства изменятся. Поэтому важно дать браузеру некоторое время, чтобы провести оптимизацию. Найдите способ предсказать изменение хотя бы немного заранее, что-то изменится, и затем установите изменение.</p> @@ -58,7 +58,7 @@ will-change: unset;</code></pre> <dt><code>contents</code></dt> <dd>Указывает, что автор ожидает анимацию или изменение чего то в контенте элемента в ближайшем будущем.</dd> <dt>{{cssxref("custom-ident", "<custom-ident>")}}</dt> - <dd>Указывает, что автор ожидает анимацию или измение свойства с заданным именем в элементе в ближайшем будущем . Если заданное свойство-это сокращенная запись, тогда оно указывает на все полные записи свойств, на которые указывает сокращенная запись. Это не может быть одним из следующих значений: <code>unset</code>, <code>initial</code>, <code>inherit</code>, <code>will-change</code>, <code>auto</code>, <code>scroll-position</code>, или <code>contents</code>. </dd> + <dd>Указывает, что автор ожидает анимацию или изменить свойства с заданным именем в элементе в ближайшем будущем . Если заданное свойство-это сокращенная запись, тогда оно указывает на все полные записи свойств, на которые указывает сокращенная запись. Это не может быть одним из следующих значений: <code>unset</code>, <code>initial</code>, <code>inherit</code>, <code>will-change</code>, <code>auto</code>, <code>scroll-position</code>, или <code>contents</code>. </dd> </dl> <h2 id="Примеры">Примеры</h2> @@ -86,7 +86,7 @@ function removeHint() { this.style.willChange = 'auto'; }</pre> -<p>Однако может быть целесообразно включить will-change в вашу таблицу стилей для приложения, в котором страница переворачивается при нажатии клавиши, например альбом или перезентация, где страницы большие и сложные. Это позволит браузеру заранее подготовить переход и позволит быстро переключаться между страницами, как только будет нажата клавиша.</p> +<p>Однако может быть целесообразно включить will-change в вашу таблицу стилей для приложения, в котором страница переворачивается при нажатии клавиши, например альбом или презентация, где страницы большие и сложные. Это позволит браузеру заранее подготовить переход и позволит быстро переключаться между страницами, как только будет нажата клавиша.</p> <pre class="brush: css">.slide { will-change: transform; diff --git a/files/ru/web/css/word-break/index.html b/files/ru/web/css/word-break/index.html index 0d5acf1fc4..e6d9699fb7 100644 --- a/files/ru/web/css/word-break/index.html +++ b/files/ru/web/css/word-break/index.html @@ -37,7 +37,7 @@ word-break: unset; <dt><code>break-all</code></dt> <dd>При превышении границ блока, перевод строки будет вставлен между любыми двумя символами (за исключением текста на китайском/японском/корейском языке).</dd> <dt><code>keep-all</code></dt> - <dd>Перевод строки не будет испольован в тексте на китайском/японском/корейском языке. Для текста на других языках будет применено поведение по умолчанию (<code>normal</code>).</dd> + <dd>Перевод строки не будет использован в тексте на китайском/японском/корейском языке. Для текста на других языках будет применено поведение по умолчанию (<code>normal</code>).</dd> <dt><code>break-word</code> {{Non-standard_Inline}}</dt> <dd>При превышении границ блока, обычно остающиеся целыми слова, могут быть разбиты в произвольном месте, если не будет найдено более подходящее для переноса строки место.</dd> </dl> diff --git a/files/ru/web/css/z-index/index.html b/files/ru/web/css/z-index/index.html index d99a55ba18..403486a8b3 100644 --- a/files/ru/web/css/z-index/index.html +++ b/files/ru/web/css/z-index/index.html @@ -94,7 +94,7 @@ z-index: unset; <p>{{ EmbedLiveSample('Examples', '550', '200', '') }}</p> -<h2 id="Спецфикации">Спецфикации</h2> +<h2 id="Спецификации">Спецификации</h2> <table class="standard-table"> <thead> diff --git a/files/ru/web/events/index.html b/files/ru/web/events/index.html index 554e82a33b..417b77443f 100644 --- a/files/ru/web/events/index.html +++ b/files/ru/web/events/index.html @@ -97,7 +97,7 @@ translation_of: Web/Events <table class="standard-table"> <caption> - <h3 id="События_вебсокетов">События вебсокетов</h3> + <h3 id="События_веб-сокетов">События веб-сокетов</h3> </caption> <thead> <tr> @@ -513,7 +513,7 @@ translation_of: Web/Events </tr> <tr> <td>{{Event("emptied")}}</td> - <td>Медиа стало пустым; например, это событие отправляется, если медиа уже загружено (или частично заргужено), и метод <a href="/en-US/docs/XPCOM_Interface_Reference/NsIDOMHTMLMediaElement" rel="internal"><code>load()</code></a> вызывается, чтобы перезагрузить его.</td> + <td>Медиа стало пустым; например, это событие отправляется, если медиа уже загружено (или частично загружено), и метод <a href="/en-US/docs/XPCOM_Interface_Reference/NsIDOMHTMLMediaElement" rel="internal"><code>load()</code></a> вызывается, чтобы перезагрузить его.</td> </tr> <tr> <td>{{Event("ended")}}</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/audio_and_video_delivery/adding_captions_and_subtitles_to_html5_video/index.html b/files/ru/web/guide/audio_and_video_delivery/adding_captions_and_subtitles_to_html5_video/index.html index f659c44aa3..2fc93f687e 100644 --- a/files/ru/web/guide/audio_and_video_delivery/adding_captions_and_subtitles_to_html5_video/index.html +++ b/files/ru/web/guide/audio_and_video_delivery/adding_captions_and_subtitles_to_html5_video/index.html @@ -31,9 +31,9 @@ translation_of: >- <p>В этой статье мы сошлемся на text tracks, отображаемые как субтистры, т.к их контент направлен на слышащих людей, со сложностью понимания языка в фильме, а не на людей с плохим или отсутствием слуха.</p> -<h3 id="Елемент_<track>">Елемент <track> </h3> +<h3 id="Элемент_<track>">Элемент <track> </h3> -<p>HTML5 позволяет нам указать субтитры для видео, используя {{ htmlelement("track") }} елемент. Различные атрибуты этого элемента позволяют нам указать такие вещи как тип контента, который мы хотим разместить, язык и конечно ссылку на текстовый файл который содержит информацию о субтитрах. </p> +<p>HTML5 позволяет нам указать субтитры для видео, используя {{ htmlelement("track") }} элемент. Различные атрибуты этого элемента позволяют нам указать такие вещи как тип контента, который мы хотим разместить, язык и конечно ссылку на текстовый файл который содержит информацию о субтитрах. </p> <h3 id="WebVTT">WebVTT</h3> @@ -43,13 +43,13 @@ translation_of: >- <h2 id="Modifications_to_the_HTML_and_CSS">Modifications to the HTML and CSS</h2> -<p>В этом разделе представлены модификции, сделанные в коде предыдущих статей, для того чтобы облегчить добавление субтитров в видео. Если вам это не интересно и вы просто хотите идти дальше в JavaScript и более соотвествующий CSS, пропустите {{ anch("Subtitle implementation") }} раздел.</p> +<p>В этом разделе представлены модификации, сделанные в коде предыдущих статей, для того чтобы облегчить добавление субтитров в видео. Если вам это не интересно и вы просто хотите идти дальше в JavaScript и более соответствующий CSS, пропустите {{ anch("Subtitle implementation") }} раздел.</p> <p>В этом примере мы используем другое видео, <a href="http://www.sintel.org/">Sintel</a>, так как оно имеет больше речи и следовательно лучше иллюстрирует работу субтитров.</p> <h3 id="HTML_Markup">HTML Markup</h3> -<p>Как упоминалось выше, нам необходимо использовать новый HTML5 <code><track></code> чтобы добавить файл с субтитрами в HTML5 Video. У нас уже имеется субтритры в 3х различных локалях, такие как English, German и Spanish, чтож теперь мы привяжем все 3 соотвествующих VTT файла, добавляя <code><track></code> внутрь нашего HTML5 <code><video></code> элемента: </p> +<p>Как упоминалось выше, нам необходимо использовать новый HTML5 <code><track></code> чтобы добавить файл с субтитрами в HTML5 Video. У нас уже имеется субтритры в 3х различных локалях, такие как English, German и Spanish, что ж теперь мы привяжем все 3 соответствующих VTT файла, добавляя <code><track></code> внутрь нашего HTML5 <code><video></code> элемента: </p> <pre class="brush: html"><video id="video" controls preload="metadata"> <source src="video/sintel-short.mp4" type="video/mp4"> @@ -90,7 +90,7 @@ translation_of: >- <p>Видео контроллеры подверглись некоторым изменениям, чтобы сделать пространство для новой кнопки, но эти изменения относительно просты.</p> -<p>В подписи кнопки не изпользовано никаких изображений, поэтому это просто стилизовано как: </p> +<p>В подписи кнопки не использовано никаких изображений, поэтому это просто стилизовано как: </p> <pre class="brush: css">.controls button[data-state="subtitles"] { height:85%; @@ -113,7 +113,7 @@ translation_of: >- <h3 id="Initial_setup">Initial setup</h3> -<p>Как и со всеми другими конопками, одно из первых вещеей, которые мы должны сделать - это получить дескриптор нашей кноки субтитров:</p> +<p>Как и со всеми другими кнопками, одно из первых вещей, которые мы должны сделать - это получить дескриптор нашей кнопки субтитров:</p> <pre class="brush: js">var subtitles = document.getElementById('subtitles');</pre> @@ -123,7 +123,7 @@ translation_of: >- video.textTracks[i].mode = 'hidden'; }</pre> -<p>Свойство <code>video.textTracks</code> содержит массив всех текстовых тректов, присоединных к видео. Мы проходим по каждому и утанавливаем его <code>mode</code> в <code>hidden</code></p> +<p>Свойство <code>video.textTracks</code> содержит массив всех текстовых треков, присоединенных к видео. Мы проходим по каждому и устанавливаем его <code>mode</code> в <code>hidden</code></p> <p>Примечание: <a href="http://dev.w3.org/html5/webvtt/#api">WebVTT API</a> дает нам доступ ко всем текстовым трекам, что определены в HTML5 video, c помощью элемента <code><track></code></p> diff --git a/files/ru/web/guide/audio_and_video_delivery/buffering_seeking_time_ranges/index.html b/files/ru/web/guide/audio_and_video_delivery/buffering_seeking_time_ranges/index.html index 48e7b00f6c..e4d2637356 100644 --- a/files/ru/web/guide/audio_and_video_delivery/buffering_seeking_time_ranges/index.html +++ b/files/ru/web/guide/audio_and_video_delivery/buffering_seeking_time_ranges/index.html @@ -32,7 +32,7 @@ var bufferedTimeRanges = myAudio.buffered;</pre> <h2 id="Объект_TimeRanges">Объект TimeRanges</h2> -<p>TimeRanges cодержит данные о частях буферизованных участков медиафайла (один или более — сколько успело буферизоваться) (<a href="https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges">Узнать больше о TimeRanges</a>).</p> +<p>TimeRanges содержит данные о частях буферизованных участков медиафайла (один или более — сколько успело буферизоваться) (<a href="https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges">Узнать больше о TimeRanges</a>).</p> <p>Объект {{ domxref("TimeRanges") }} имеет следующие свойства:</p> diff --git a/files/ru/web/guide/css/block_formatting_context/index.html b/files/ru/web/guide/css/block_formatting_context/index.html index 599d22764b..0114b27893 100644 --- a/files/ru/web/guide/css/block_formatting_context/index.html +++ b/files/ru/web/guide/css/block_formatting_context/index.html @@ -30,7 +30,7 @@ translation_of: Web/Guide/CSS/Block_formatting_context <li>флекс-элементы (непосредственные потомки элемента с {{ cssxref("display") }}<code>: flex</code> или <code>inline-flex</code>)</li> <li>грид-элементы (непосредственные потомки элемента с {{ cssxref("display") }}<code>: grid</code> или <code>inline-grid</code>)</li> <li>многоколоночные контейнеры (элементы, у которых {{ cssxref("column-count") }} или {{ cssxref("column-width") }} не равно <code>auto</code>, включая элементы с <code>column-count: 1</code>)</li> - <li>{{ cssxref("column-span") }}<code>: all</code> должно всегда создавать новый блочный контекст форматирования, даже если элемент с <code>column-span: all</code> не находится в многоголоночном контейнере (<a href="https://github.com/w3c/csswg-drafts/commit/a8634b96900279916bd6c505fda88dda71d8ec51">изменение в спецификации</a>, <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=709362">баг Chrome</a>).</li> + <li>{{ cssxref("column-span") }}<code>: all</code> должно всегда создавать новый блочный контекст форматирования, даже если элемент с <code>column-span: all</code> не находится в многоколоночном контейнере (<a href="https://github.com/w3c/csswg-drafts/commit/a8634b96900279916bd6c505fda88dda71d8ec51">изменение в спецификации</a>, <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=709362">баг Chrome</a>).</li> </ul> <p>Блочный контекст форматирования применяется ко всему содержимому того элемента, который его создал.</p> @@ -90,7 +90,7 @@ translation_of: Web/Guide/CSS/Block_formatting_context <p>{{EmbedLiveSample("flowroot", 200, 200)}}</p> </div> -<p>С помощью <code>display: flow-root;</code> применённом на элементе <code><div></code>, всё внутри этого контейнера будет учавствовать в едином блочном контексте форматирования этого контейнера, и плавающие элементы не будут торчать из нижней части контейнера.</p> +<p>С помощью <code>display: flow-root;</code> применённом на элементе <code><div></code>, всё внутри этого контейнера будет участвовать в едином блочном контексте форматирования этого контейнера, и плавающие элементы не будут торчать из нижней части контейнера.</p> <p>Задание значения <code>flow-root</code> имеет смысл тогда, когда Вы понимаете, что Вы создаёте что-то, что будет действовать так же, как действует корневой <code>root</code> элемент (<code><html></code> в браузерах) в том плане, что он создаёт новый контекст для компоновки потока внутри него.</p> diff --git a/files/ru/web/guide/events/creating_and_triggering_events/index.html b/files/ru/web/guide/events/creating_and_triggering_events/index.html index f766a93097..5502179fae 100644 --- a/files/ru/web/guide/events/creating_and_triggering_events/index.html +++ b/files/ru/web/guide/events/creating_and_triggering_events/index.html @@ -9,7 +9,7 @@ tags: translation_of: Web/Guide/Events/Creating_and_triggering_events original_slug: Web/Guide/Events/Создание_и_вызов_событий --- -<p>Эта статья демонстрирует, как создавать и вызывать пользовательские DOM-события. Такие события часто называют <strong>исскуственными</strong> событиями, по отношению к событиям, производимым браузером.</p> +<p>Эта статья демонстрирует, как создавать и вызывать пользовательские DOM-события. Такие события часто называют <strong>искусственными</strong> событиями, по отношению к событиям, производимым браузером.</p> <h2 id="Создание_собственных_событий">Создание собственных событий</h2> diff --git a/files/ru/web/guide/events/index.html b/files/ru/web/guide/events/index.html index ccf1d5b353..e670fc0d15 100644 --- a/files/ru/web/guide/events/index.html +++ b/files/ru/web/guide/events/index.html @@ -27,9 +27,9 @@ translation_of: Web/Guide/Events <p><span id="result_box" lang="ru"><span class="hps">Остальные</span> <span class="hps">страницы описывают</span><span>, как использовать</span> <span class="hps">события разных</span> <span class="hps">видов</span><span>, определенных</span> <span class="hps">в веб-браузерах</span><span>.</span> <span class="hps">К сожалению,</span> <span class="hps">эти события</span> <span class="hps">были определены</span> <span class="hps">по частям</span><span>,</span> <span class="atn hps">веб-</span><span>браузеры</span> <span class="hps">развивались</span> <span class="hps">таким образом, что</span> <span class="hps">нет</span> <span class="hps">удовлетворения</span> <span class="hps">систематическим</span> <span class="hps">характеристикам</span> <span class="hps">событий</span> <span class="hps">встроенным</span> <span class="hps">или</span> <span class="hps">определенным</span> в <span class="atn hps">современных веб-</span><span>браузерах.</span></span></p> -<p><span id="result_box" lang="ru"><span><strong>Устройство</strong>, на котором</span> <span class="atn hps">работа веб-</span><span>браузера</span> <span class="hps">может спровоцировать</span> <span class="hps">событие</span><span>, например</span> <span class="hps">связанное с</span> <span class="hps">изменением его</span> <span class="hps">положения и ориентации</span> <span class="hps">в реальном мире</span><span>,</span> <span class="hps">частично описано</span></span> <a href="/en-US/docs/Web/Guide/API/DOM/Events/Orientation_and_motion_data_explained">page on orientation coordinate systems</a> и <a href="/en-US/docs/Web/Guide/API/DOM/Events/Using_device_orientation_with_3D_transforms">page on the use of 3D transforms</a>. Они<span id="result_box" lang="ru"> <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></p> +<p><span id="result_box" lang="ru"><span><strong>Устройство</strong>, на котором</span> <span class="atn hps">работа веб-</span><span>браузера</span> <span class="hps">может спровоцировать</span> <span class="hps">событие</span><span>, например</span> <span class="hps">связанное с</span> <span class="hps">изменением его</span> <span class="hps">положения и ориентации</span> <span class="hps">в реальном мире</span><span>,</span> <span class="hps">частично описано</span></span> <a href="/en-US/docs/Web/Guide/API/DOM/Events/Orientation_and_motion_data_explained">page on orientation coordinate systems</a> и <a href="/en-US/docs/Web/Guide/API/DOM/Events/Using_device_orientation_with_3D_transforms">page on the use of 3D transforms</a>. Они<span id="result_box" lang="ru"> <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></p> -<p><span id="result_box" lang="ru"><strong><span>Окно в котором</span> <span class="hps">отображается</span> <span class="hps">браузер</span></strong> <span class="hps">может вызвать</span> <span class="hps">события</span><span>, к примеру</span><span>,</span> <span class="hps">измененить размер</span><span>, если пользователь</span> <span class="hps">максимизирует</span> <span class="hps">окно или</span> <span class="hps">изменит его размер</span><span>.</span></span></p> +<p><span id="result_box" lang="ru"><strong><span>Окно в котором</span> <span class="hps">отображается</span> <span class="hps">браузер</span></strong> <span class="hps">может вызвать</span> <span class="hps">события</span><span>, к примеру</span><span>,</span> <span class="hps">изменить размер</span><span>, если пользователь</span> <span class="hps">максимизирует</span> <span class="hps">окно или</span> <span class="hps">изменит его размер</span><span>.</span></span></p> <p><span id="result_box" lang="ru"><strong><span>Процесс загрузки</span></strong> <span class="hps">веб-страницы</span> <span class="hps">может вызвать</span> <span class="hps">ответное событие</span><span class="hps"> на завершение</span> <span class="hps">различных</span> <span class="hps">этапо</span><span class="hps">в</span> <span class="hps">загрузки,</span> анализирования <span class="hps">и перевода</span> <span class="hps">веб-страниц</span> <span class="hps">отображаемых пользователю</span><span>.</span></span></p> @@ -39,7 +39,7 @@ translation_of: Web/Guide/Events <li>обычное событие при нажатии,</li> <li>событие, активированное мышью,</li> <li><a href="/en-US/docs/Web/Guide/API/DOM/Events/Mouse_gesture_events">событие жеста мышью</a>,</li> - <li><a href="/en-US/docs/Web/Guide/API/DOM/Events/Touch_events">события нажатия на экран</a> и устаревшие <a href="/en-US/docs/Web/Guide/API/DOM/Events/Touch_events_(Mozilla_experimental)">экспериментальные события нажания на экран (от Mozilla)</a>.</li> + <li><a href="/en-US/docs/Web/Guide/API/DOM/Events/Touch_events">события нажатия на экран</a> и устаревшие <a href="/en-US/docs/Web/Guide/API/DOM/Events/Touch_events_(Mozilla_experimental)">экспериментальные события нажатия на экран (от Mozilla)</a>.</li> </ul> <p><span id="result_box" lang="ru"><strong><span>Модификация</span> <span class="hps">в структуре веб-страницы</span> <span class="hps">или содержании</span></strong> <span class="hps">может быть</span> <span class="hps">вызвано некоторым</span> <span class="hps">событием</span><span>, </span> <span class="hps">описанным в</span></span> <a href="/en-US/docs/Web/Guide/API/DOM/Events/Mutation_events">mutation events page</a><span id="result_box" lang="ru"><span class="hps">, но</span> их<span class="hps"> использование </span> <span class="hps">устарело в</span> <span class="hps">пользу более </span><span class="hps">легкого</span></span> <a href="/en-US/docs/Web/API/MutationObserver">Mutation Observer</a> подхода.</p> @@ -51,7 +51,7 @@ translation_of: Web/Guide/Events <p><span id="result_box" lang="ru"><span class="hps">Есть</span> <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></p> <div class="note"> -<p><span id="result_box" lang="ru"><span class="hps">Примечание</span><span>:</span> <span class="hps">Это руководство</span> <span class="hps">событие</span> <span class="hps">Разработчик</span>а <span class="hps">нуждается в существенной</span> <span class="hps">работе</span><span>.</span><span>Структура должна</span> <span class="hps">быть</span> <span class="hps">реорганизована</span> <span class="hps">и страницы</span> <span class="hps">переписаны.</span> <span class="hps">Мы надеемся, что</span> <span class="hps">все, что вы</span><span class="hps"> знаете и должны знать</span> <span class="hps">о событиях</span> <span class="hps">будет опубликованно</span> <span class="hps">здесь.</span></span></p> +<p><span id="result_box" lang="ru"><span class="hps">Примечание</span><span>:</span> <span class="hps">Это руководство</span> <span class="hps">событие</span> <span class="hps">Разработчик</span>а <span class="hps">нуждается в существенной</span> <span class="hps">работе</span><span>.</span><span>Структура должна</span> <span class="hps">быть</span> <span class="hps">реорганизована</span> <span class="hps">и страницы</span> <span class="hps">переписаны.</span> <span class="hps">Мы надеемся, что</span> <span class="hps">все, что вы</span><span class="hps"> знаете и должны знать</span> <span class="hps">о событиях</span> <span class="hps">будет опубликовано</span> <span class="hps">здесь.</span></span></p> </div> <h2 id="Docs">Docs</h2> diff --git a/files/ru/web/guide/events/media_events/index.html b/files/ru/web/guide/events/media_events/index.html index 655e71ec61..a3a13cc821 100644 --- a/files/ru/web/guide/events/media_events/index.html +++ b/files/ru/web/guide/events/media_events/index.html @@ -34,7 +34,7 @@ translation_of: Web/Guide/Events/Media_events </tr> <tr> <td><code>{{event("emptied")}}</code></td> - <td>Медиа стало пустым. Например, это событие отправляется, если медиа уже загружено (или частично заргужено), и метод <a class="internal" href="/En/XPCOM_Interface_Reference/NsIDOMHTMLMediaElement" title="en/nsIDOMHTMLMediaElement"><code>load()</code></a> был вызван что бы его перезагрузить.</td> + <td>Медиа стало пустым. Например, это событие отправляется, если медиа уже загружено (или частично загружено), и метод <a class="internal" href="/En/XPCOM_Interface_Reference/NsIDOMHTMLMediaElement" title="en/nsIDOMHTMLMediaElement"><code>load()</code></a> был вызван что бы его перезагрузить.</td> </tr> <tr> <td>encrypted <span style="line-height: 1.5;">{{experimental_inline}}</span></td> @@ -54,7 +54,7 @@ translation_of: Web/Guide/Events/Media_events </tr> <tr> <td><code>interruptend</code></td> - <td>Отправляется, когда ранее прерванное воспроизвдеение на Firefox OS устройстве продолжает воспроизведение. См. <a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a></td> + <td>Отправляется, когда ранее прерванное воспроизведение на Firefox OS устройстве продолжает воспроизведение. См. <a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a></td> </tr> <tr> <td><code>{{event("loadeddata")}}</code></td> @@ -106,7 +106,7 @@ translation_of: Web/Guide/Events/Media_events </tr> <tr> <td><code>{{event("suspend")}}</code></td> - <td>Отправляется, когда загрузка медиа приостановлена. Это может прозойти как потому, что загрузка была завершена, так и по другим причинам.</td> + <td>Отправляется, когда загрузка медиа приостановлена. Это может произойти как потому, что загрузка была завершена, так и по другим причинам.</td> </tr> <tr> <td><code>{{event("timeupdate")}}</code></td> diff --git a/files/ru/web/guide/events/overview_of_events_and_handlers/index.html b/files/ru/web/guide/events/overview_of_events_and_handlers/index.html index b9f689caa2..0f457ad8b2 100644 --- a/files/ru/web/guide/events/overview_of_events_and_handlers/index.html +++ b/files/ru/web/guide/events/overview_of_events_and_handlers/index.html @@ -4,23 +4,23 @@ slug: Web/Guide/Events/Overview_of_Events_and_Handlers translation_of: Web/Guide/Events/Overview_of_Events_and_Handlers --- <div class="summary"> -<p>Эта обзорная статья о событиях и их обработчиках описывает шаблон проектирования кода, который используется для реагирования на события, возникающие, когда браузер получает доступ к web-странице, и содержит подборку типов подобных событий, которые современные брауезеры могут обрабатывать.</p> +<p>Эта обзорная статья о событиях и их обработчиках описывает шаблон проектирования кода, который используется для реагирования на события, возникающие, когда браузер получает доступ к web-странице, и содержит подборку типов подобных событий, которые современные браузеры могут обрабатывать.</p> </div> <p>События и их обработчики представляют собой основную технику в JavaScript для реагирования на события, возникающие, когда браузер получает доступ к web-странице, включая события о подготовке страницы к отображению, взаимодействии с ее содержимым, в зависимости от устройства, на котором браузер был запущен, и многие другие случаи, такие как воспроизведение потоковой медиа-информации или расчет времени анимации.</p> -<p>События и обработчики событий заняли центральное место в web-программировании с добавлением языка в браузеры, сопровождая смену архитектуры рендеринга от перехвата и загрузки страницы к управлению с помощью событий, основанном на перекомпановке (reflow). Сначала браузер ожидает, пока он получит все ресурсы, связанные со страницей, чтобы проанализировать, обработать, отрисовать и предоставить страницу пользователю. Отрисованная страница остается неизменной, пока браузер не запросит новую. С изменением в подходе к рендерингу динамической страницы, браузер непрерывно зацикливается между обработкой, отрисовкой, представлением содержимого и ожиданием некоторого нового триггера события. Триггеры событий включают, например, завершение загрузки ресурса по сети<em>,</em> скачивание изображений, которые теперь могут быть отрисованы на экране, завершение браузером анализа ресурса, обработку HTML-содержимого страницы, взаимодействие пользователя с содержимым страницы<em>,</em> нажатия кнопок. Дуглас Крокфорд хорошо объясняет это изменение в нескольких лекциях, особенно своей речи <em>"Неудобные API: Теория DOM",</em> которая описывает изменения в потоке изначального потока браузера от управляемого событиями браузера.</p> +<p>События и обработчики событий заняли центральное место в web-программировании с добавлением языка в браузеры, сопровождая смену архитектуры рендеринга от перехвата и загрузки страницы к управлению с помощью событий, основанном на перекомпоновке (reflow). Сначала браузер ожидает, пока он получит все ресурсы, связанные со страницей, чтобы проанализировать, обработать, отрисовать и предоставить страницу пользователю. Отрисованная страница остается неизменной, пока браузер не запросит новую. С изменением в подходе к рендерингу динамической страницы, браузер непрерывно зацикливается между обработкой, отрисовкой, представлением содержимого и ожиданием некоторого нового триггера события. Триггеры событий включают, например, завершение загрузки ресурса по сети<em>,</em> скачивание изображений, которые теперь могут быть отрисованы на экране, завершение браузером анализа ресурса, обработку HTML-содержимого страницы, взаимодействие пользователя с содержимым страницы<em>,</em> нажатия кнопок. Дуглас Крокфорд хорошо объясняет это изменение в нескольких лекциях, особенно своей речи <em>"Неудобные API: Теория DOM",</em> которая описывает изменения в потоке изначального потока браузера от управляемого событиями браузера.</p> <div style="margin: 0 auto; width: 68%;"><img alt="A comparison of the sequential and event-driven browser load sequences." src="https://mdn.mozillademos.org/files/6641/Browser_sequence_comparitive.svg" style="height: 454px; width: 1857px;"></div> -<p>Второй подход изменяет последние шаги, переходя от просторого потока к бесконечному циклу, где ожидание и обработка возникновения новых событий следует за отрисовкой. Введение динамического подхода позволяет странице быть частично отрендериной, даже когда браузер еще не закончил извлечение всех ресурсов; это так же разрешено для действий, управляемыми событиями, которые JavaScript использует. (Речь доступна на нескольких ресурсах, включая <a href="http://www.youtube.com/watch?v=Y2Y0U-2qJMs">этот</a>.) На данный момент, все среды исполнения JavaScript используют события и их обработчики.</p> +<p>Второй подход изменяет последние шаги, переходя от простого потока к бесконечному циклу, где ожидание и обработка возникновения новых событий следует за отрисовкой. Введение динамического подхода позволяет странице быть частично отрендериной, даже когда браузер еще не закончил извлечение всех ресурсов; это так же разрешено для действий, управляемыми событиями, которые JavaScript использует. (Речь доступна на нескольких ресурсах, включая <a href="http://www.youtube.com/watch?v=Y2Y0U-2qJMs">этот</a>.) На данный момент, все среды исполнения JavaScript используют события и их обработчики.</p> <h2 id="Шаблон_проектирования_событий">Шаблон проектирования событий</h2> <p>Система событий, по своей сути, простой программный шаблон проектирования. Он начинается с соглашения о виде события и:</p> <ul> - <li>имени-строки, используемой для собыйтия,</li> + <li>имени-строки, используемой для события,</li> <li>типа структуры данных, используемых для представления ключевых свойств события,</li> <li>объекта JavaScript, который будет 'вызывать' это событие.</li> </ul> @@ -32,13 +32,13 @@ translation_of: Web/Guide/Events/Overview_of_Events_and_Handlers <li>регистрации функции с помощью имени-строки через объект, который будет вызывать событие.</li> </ul> -<p>Функция считается "слушателем" или "обработчиком", где оба именами взаимнозаменяемы. Этому шаблону можно легко следовать с использованием полностью пользовательского кода, как объяснено в <a href="/en-US/docs/Web/Guide/API/DOM/Events/Creating_and_triggering_events">статье о пользовательских событиях</a>. Шаблон так же используется современными web-браузерами, определяющими множество событий, которые вызываются в ответ на пользовательский ввод или активность браузера.</p> +<p>Функция считается "слушателем" или "обработчиком", где оба именами взаимозаменяемы. Этому шаблону можно легко следовать с использованием полностью пользовательского кода, как объяснено в <a href="/en-US/docs/Web/Guide/API/DOM/Events/Creating_and_triggering_events">статье о пользовательских событиях</a>. Шаблон так же используется современными web-браузерами, определяющими множество событий, которые вызываются в ответ на пользовательский ввод или активность браузера.</p> -<p>Современные браузеры следуют событийному шаблону, используя стандартизированный подход. В качестве структуры данных для свойств события они применяют объект, полученный от объекта <code>EventPrototype</code>. Для регистратрации функции, которая будет обрабатывать эту структуру даных, используется метод, называемый <code>addEventListener</code>, который ожидает в качестве аргумента имя-строку, соответствующую типу события, и функцию-обработчика. В итоге, браузеры определяют огромное число объектов источников событий и широкое разнообразие типов событий, сформированных объектами.</p> +<p>Современные браузеры следуют событийному шаблону, используя стандартизированный подход. В качестве структуры данных для свойств события они применяют объект, полученный от объекта <code>EventPrototype</code>. Для регистратрации функции, которая будет обрабатывать эту структуру данных, используется метод, называемый <code>addEventListener</code>, который ожидает в качестве аргумента имя-строку, соответствующую типу события, и функцию-обработчика. В итоге, браузеры определяют огромное число объектов источников событий и широкое разнообразие типов событий, сформированных объектами.</p> <h2 id="Button_Event_Handler" name="Button_Event_Handler">Пример обработчика события кнопки</h2> -<p>К примеру, браузерный элемент <code>button</code> предназначен для вызова события с именем <code>'click'</code> в ответ на нажатие кнопки мыши или прикосновене пальца к чувствительной части экрана. В HTML мы можем определить <code>button</code> как:</p> +<p>К примеру, браузерный элемент <code>button</code> предназначен для вызова события с именем <code>'click'</code> в ответ на нажатие кнопки мыши или прикосновение пальца к чувствительной части экрана. В HTML мы можем определить <code>button</code> как:</p> <pre class="brush: html"><button id="buttonOne">Click here to emit a 'click' event</button></pre> @@ -49,7 +49,7 @@ translation_of: Web/Guide/Events/Overview_of_Events_and_Handlers alert("We got a click event at " + ev.timeStamp + " with an argument object derived from: " + objKind ); };</pre> -<p>и затем зарегестрировать свою функцию с помощью объекта <code>Button</code> или со стороны скрипта, используя представление DOM (Document Object Model) на HTML-странице:</p> +<p>и затем зарегистрировать свою функцию с помощью объекта <code>Button</code> или со стороны скрипта, используя представление DOM (Document Object Model) на HTML-странице:</p> <pre class="brush: js">var buttonDOMElement = document.querySelector('#buttonOne'); buttonDOMElement.addEventListener('click', example_click_handler);</pre> @@ -58,7 +58,7 @@ buttonDOMElement.addEventListener('click', example_click_handler);</pre> <p>{{ EmbedLiveSample('Button_Event_Handler') }}</p> -<p>Этот код полагается на соглашение о том, что существует некоторый вид события, называемый <code>'click'</code> , который вызовет все функции-слушатели (или 'обработчи') с объектом-аргументом <code>Event</code> (на данный момент, в этом случае производный от объекта <code>MouseEvent</code> ) и будет запущен после манипуляций пользователя с элементами <code>button</code> на HTML-странице. Код не имеет видимого воздействия, пока пользователь не использует кнопки, наводит указатель мыши на элемент HTML и нажимает на левую кнопку или устанавливает палец или стилус на некоторое место на экране, выше кнопки; когда это произойдет, <code>buttonDOMElement</code> объекта JavaScript вызовет функцию <code>example_click_handler</code> с объектом <code>Event</code> в качестве аргумента. Функция, в свою очередь, исполнит любые действия, описанные программистом, в данном случае отрыв диалоговое окно HTML. Заметим, что обработчик имеет доступ к объекту <code>ev</code>, так как тот передается в качестве аргумента; объект содержит информацию о событие, в частности время его возникновения.</p> +<p>Этот код полагается на соглашение о том, что существует некоторый вид события, называемый <code>'click'</code> , который вызовет все функции-слушатели (или 'обработчик') с объектом-аргументом <code>Event</code> (на данный момент, в этом случае производный от объекта <code>MouseEvent</code> ) и будет запущен после манипуляций пользователя с элементами <code>button</code> на HTML-странице. Код не имеет видимого воздействия, пока пользователь не использует кнопки, наводит указатель мыши на элемент HTML и нажимает на левую кнопку или устанавливает палец или стилус на некоторое место на экране, выше кнопки; когда это произойдет, <code>buttonDOMElement</code> объекта JavaScript вызовет функцию <code>example_click_handler</code> с объектом <code>Event</code> в качестве аргумента. Функция, в свою очередь, исполнит любые действия, описанные программистом, в данном случае отрыв диалоговое окно HTML. Заметим, что обработчик имеет доступ к объекту <code>ev</code>, так как тот передается в качестве аргумента; объект содержит информацию о событие, в частности время его возникновения.</p> <p>Во втором варианте, интегрирован в web-страницу намного более современный JavaScript обернут в событийный вызов функции, чтобы убедиться, что код будет выполнен только тогда, когда HTML будет обработан и доступен для изменения или декорирования. Например, код может быть объявлен так:</p> @@ -71,7 +71,7 @@ document.addEventListener('DOMContentLoaded', funcInit); <p>так что этот код будет вызван только после того, как объект <code>document</code> вызовет событие <code>'DOMContentLoaded'</code>, потому что HTML был проанализирован и были созданы объекты Javasript, представляющие каждый узел HTML-документа. Заметим, что в этом примере, код даже не передает аргумент события в функцию, потому что тому никогда не понадобится использовать данные, описанные в нем; скорее, код всего лишь нужно подождать, пока не случится событие.</p> -<p>Шаблон легко изучить и внедрить. Сложность с событиями возникает из-за необходимости изучить большое разнообразие событий, которые представлены в современных web-браузерах. Так же есть некоторая сложность в понимании, как писать обработчики, так как данный код работает ассинхронно и потенциально может быть вызван несколько раз подряд, но в немного другой ситуации.</p> +<p>Шаблон легко изучить и внедрить. Сложность с событиями возникает из-за необходимости изучить большое разнообразие событий, которые представлены в современных web-браузерах. Так же есть некоторая сложность в понимании, как писать обработчики, так как данный код работает асинхронно и потенциально может быть вызван несколько раз подряд, но в немного другой ситуации.</p> <h2 id="Важные_события">Важные события</h2> @@ -93,12 +93,12 @@ document.addEventListener('DOMContentLoaded', funcInit); <p>Некоторые события, которые стоит отметить:</p> <div class="note"> -<p><strong>Заметка:</strong> Этот список событий будет нуждаться в доработке, чтобы соответствовать действительности; эта работа ожидает некоторой глобальной реорганизации в документе. Так же нужно найти хорошее объяснение событий, включая события во время загрузки страницы, таких, как частично описаных в <em><a href="http://ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload">этой статье</a> или <a href="http://stackoverflow.com/questions/1795438/load-and-execution-sequence-of-a-web-page">этом вопросе на Stack Overflow</a>. </em></p> +<p><strong>Заметка:</strong> Этот список событий будет нуждаться в доработке, чтобы соответствовать действительности; эта работа ожидает некоторой глобальной реорганизации в документе. Так же нужно найти хорошее объяснение событий, включая события во время загрузки страницы, таких, как частично описанных в <em><a href="http://ablogaboutcode.com/2011/06/14/how-javascript-loading-works-domcontentloaded-and-onload">этой статье</a> или <a href="http://stackoverflow.com/questions/1795438/load-and-execution-sequence-of-a-web-page">этом вопросе на Stack Overflow</a>. </em></p> </div> <ul> <li>глобальный объект <a href="/en-US/docs/Web/API/Window"><code>window</code></a> вызывает событие, называемое <a href="/en-US/docs/Web/Reference/Events/load_(ProgressEvent)"><code>'load'</code></a>, когда страница закончила рендеринг, подразумевая, что все ресурсы были скачаны и применены, так что скрипт был выполнен и изображения отображены,</li> - <li>глобальный объект <a href="/en-US/docs/Web/API/Window"><code>window</code></a> вызывает событие, называемое <a href="/en-US/docs/Web/Reference/Events/resize"><code>'resize'</code></a>, когда высота или ширина окна браузера была измененеа пользователем,</li> + <li>глобальный объект <a href="/en-US/docs/Web/API/Window"><code>window</code></a> вызывает событие, называемое <a href="/en-US/docs/Web/Reference/Events/resize"><code>'resize'</code></a>, когда высота или ширина окна браузера была изменена пользователем,</li> <li>объект DOM <a href="/en-US/docs/Web/API/Document"><code>document</code></a>, представляющий HTML-документ, вызывает событие, называемое <code><a href="/en-US/docs/Web/Reference/Events/DOMContentLoaded">'DOMContentLoaded'</a></code>, когда документ закончил загрузку,</li> <li>объект узла DOM, такой как <a href="/en-US/docs/Web/HTML/Element/div"><code>div</code></a> или <a href="/en-US/docs/Web/HTML/Element/button"><code>button</code></a>, вызывающий событие, называемое <a href="/en-US/docs/Web/Reference/Events/click"><code>'click'</code></a>, когда пользователь нажимает кнопку мыши, пока ее указатель находится поверх узла DOM на HTML-странице.</li> </ul> @@ -109,10 +109,10 @@ document.addEventListener('DOMContentLoaded', funcInit); <p>Web-браузер определяет множество событий различного вида. Каждое описание включает, как структуру данных, передающуюся в обработчика, объект, который наследуется от объекта <code>EventPrototype</code>.</p> -<p>Частичная диаграма иерархии класса объекта событий:</p> +<p>Частичная диаграмма иерархии класса объекта событий:</p> <div class="note"> -<p><strong>Заметка:</strong> Эта диаграма неполная.</p> +<p><strong>Заметка:</strong> Эта диаграмма неполная.</p> </div> <p><img alt="" src="https://mdn.mozillademos.org/files/6633/Js_Event_Object_Hierarchy.svg" style="height: 496px; width: 1417px;"></p> @@ -121,7 +121,7 @@ document.addEventListener('DOMContentLoaded', funcInit); <h2 id="Документации">Документации</h2> -<p>Три ресурса на MDN (Mozilla Developer Network) частично полезные для программистов, желащих работать с событиями:</p> +<p>Три ресурса на MDN (Mozilla Developer Network) частично полезные для программистов, желающих работать с событиями:</p> <ul> <li><a href="/en-US/docs/Web/Guide/API/DOM/Events">Гайд по событиям</a>, который является частью <a href="/en-US/docs/Web/Guide">Web Developers' Guide</a>,</li> diff --git a/files/ru/web/guide/html/content_categories/index.html b/files/ru/web/guide/html/content_categories/index.html index 7a7b3eb1fe..16e41106a0 100644 --- a/files/ru/web/guide/html/content_categories/index.html +++ b/files/ru/web/guide/html/content_categories/index.html @@ -108,7 +108,7 @@ translation_of: Web/Guide/HTML/Content_categories <h3 id="Контент_форм">Контент форм</h3> -<p>Контент форм включает в себя элементы, у которых есть владелец формы, обозначенный атрибутом <strong>form</strong>. Владелецем формы является либо элемент {{HTMLElement("form")}}, либо элемент, id которого указан в атрибуте <strong>form</strong>.</p> +<p>Контент форм включает в себя элементы, у которых есть владелец формы, обозначенный атрибутом <strong>form</strong>. Владельцем формы является либо элемент {{HTMLElement("form")}}, либо элемент, id которого указан в атрибуте <strong>form</strong>.</p> <ul> <li>{{HTMLElement("button")}}</li> diff --git a/files/ru/web/guide/html/html5/constraint_validation/index.html b/files/ru/web/guide/html/html5/constraint_validation/index.html index cad42baedb..6276de0ced 100644 --- a/files/ru/web/guide/html/html5/constraint_validation/index.html +++ b/files/ru/web/guide/html/html5/constraint_validation/index.html @@ -6,7 +6,7 @@ tags: translation_of: Web/Guide/HTML/HTML5/Constraint_validation original_slug: HTML/HTML5/Constraint_validation --- -<p>Создание веб форм всегда было комплексной задачей. В то время как сама по себе разметка формы - задача не сложная, проверка каждого поля на валидность - сложнее, а информирование юзера о проблеме - может стать головной болью. Стандарт <a href="/en-US/docs/Web/Guide/HTML/HTML5" title="en/HTML/HTML5">HTML5</a> предоставил новые механизмы для форм: были добавлены новые семантические типы для элемента {{ HTMLElement("input") }} и <em>обязательная валидация, </em>чтобы облегчить работу по проверке содержимого формы на стороне браузера. Проще говоря, обычная проверка может быть выполнена без JavaScript, простой установкой новых аттрибутов; более сложные ограничения могут быть реализованы через HTML5 <a href="/en-US/docs/Web/Guide/HTML/Forms_in_HTML#Constraint_Validation_API" title="en/HTML/HTML5/Forms in HTML5#Constraint Validation API">Constraint Validation API</a>.</p> +<p>Создание веб форм всегда было комплексной задачей. В то время как сама по себе разметка формы - задача не сложная, проверка каждого поля на валидность - сложнее, а информирование юзера о проблеме - может стать головной болью. Стандарт <a href="/en-US/docs/Web/Guide/HTML/HTML5" title="en/HTML/HTML5">HTML5</a> предоставил новые механизмы для форм: были добавлены новые семантические типы для элемента {{ HTMLElement("input") }} и <em>обязательная валидация, </em>чтобы облегчить работу по проверке содержимого формы на стороне браузера. Проще говоря, обычная проверка может быть выполнена без JavaScript, простой установкой новых атрибутов; более сложные ограничения могут быть реализованы через HTML5 <a href="/en-US/docs/Web/Guide/HTML/Forms_in_HTML#Constraint_Validation_API" title="en/HTML/HTML5/Forms in HTML5#Constraint Validation API">Constraint Validation API</a>.</p> <div class="note"><strong>Внимание:</strong> HTML5 Constraint validation не отменяет валидацию <em>на стороне сервера</em>. Несмотря на то что на сервер будет отправляться меньше запросов с невалидными данными, такие запросы всё ещё могут быть отправлены менее "сговорчивыми" браузерами (например, браузерами без поддержки HTML5 и без JavaScript) или плохими парнями, пытающимися взломать ваше веб-приложение. Следовательно, как и в случае с HTML4, вам всё ещё нужно проверять ввод на стороне сервера, таким образом, чтобы это было согласовано с валидацией на стороне клиента.</div> @@ -15,13 +15,13 @@ original_slug: HTML/HTML5/Constraint_validation <p>В HTML5, базовые ограничения описываются двумя способами:</p> <ul> - <li>Использованием наиболее семантически подходящего значения для {{ htmlattrxref("type", "input") }} аттрибута элемента {{ HTMLElement("input") }}, например, выбор типа <span style="font-family: courier new;">email</span> автоматически создаёт ограничение, которое проверяет, является ли значение e-mail адресом.</li> - <li>Установкой значений для аттрибутов, связанных с валидацией, описывая базовые ограничения без использования JavaScript.</li> + <li>Использованием наиболее семантически подходящего значения для {{ htmlattrxref("type", "input") }} атрибута элемента {{ HTMLElement("input") }}, например, выбор типа <span style="font-family: courier new;">email</span> автоматически создаёт ограничение, которое проверяет, является ли значение e-mail адресом.</li> + <li>Установкой значений для атрибутов, связанных с валидацией, описывая базовые ограничения без использования JavaScript.</li> </ul> <h3 id="Семантические_типы_input-ов">Семантические типы input-ов</h3> -<p>Аттрибуты, присущие элементам {{ htmlattrxref("type", "input") }}:</p> +<p>Атрибуты, присущие элементам {{ htmlattrxref("type", "input") }}:</p> <table class="standard-table"> <thead> @@ -37,8 +37,8 @@ original_slug: HTML/HTML5/Constraint_validation <td>Значение должно быть абсолютным URL, одним из: <ul> <li>валидным URI (как описано в <a class="external" href="http://www.ietf.org/rfc/rfc3986.txt" title="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>)</li> - <li>валидным IRI, без query сомпонента (как описано в <a class="external" href="http://www.ietf.org/rfc/rfc3987.txt" title="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>)</li> - <li>валидным IRI, без query сомпонента и без неэкранированных не-ASCII символов (как описано в <a class="external" href="http://www.ietf.org/rfc/rfc3987.txt" title="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>)</li> + <li>валидным IRI, без query компонента (как описано в <a class="external" href="http://www.ietf.org/rfc/rfc3987.txt" title="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>)</li> + <li>валидным IRI, без query компонента и без неэкранированных не-ASCII символов (как описано в <a class="external" href="http://www.ietf.org/rfc/rfc3987.txt" title="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>)</li> <li>валидным IRI, при условии, что кодировка документа UTF-8 или UTF-16 (как описано в <a class="external" href="http://www.ietf.org/rfc/rfc3987.txt" title="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>)</li> </ul> </td> @@ -53,7 +53,7 @@ original_slug: HTML/HTML5/Constraint_validation <li><code>ldh-str</code> (описан в <a class="external" href="http://www.apps.ietf.org/rfc/rfc1034.html#sec-3.5" title="http://www.apps.ietf.org/rfc/rfc1034.html#sec-3.5">RFC 1034</a>) - US-ASCII символы, цифры и "<span style="font-family: courier new;">-"</span>, сгруппированы по словам и разделённые точкой (<span style="font-family: courier new;">.</span>).</li> </ul> - <div class="note"><strong>Внимание:</strong> если установлен аттрибут {{ htmlattrxref("multiple", "input") }}, в поле могут быть вписаны несколько e-mail адресов, разделённых запятыми. Если любое из этих условий не выполнено, будет вызвано <strong>Type mismatch </strong>constraint violation.</div> + <div class="note"><strong>Внимание:</strong> если установлен атрибут {{ htmlattrxref("multiple", "input") }}, в поле могут быть вписаны несколько e-mail адресов, разделённых запятыми. Если любое из этих условий не выполнено, будет вызвано <strong>Type mismatch </strong>constraint violation.</div> </td> <td><strong>Type mismatch </strong>constraint violation</td> </tr> @@ -62,15 +62,15 @@ original_slug: HTML/HTML5/Constraint_validation <p>Следует учесть, что большинство типов input не имеют "нативных" ограничений, а некоторые из них просто лишены валидации или имеют автоматическую корректировку невалидных значений по умолчанию. </p> -<h3 id="Аттрибуты_валидации">Аттрибуты валидации</h3> +<h3 id="Атрибуты_валидации">Атрибуты валидации</h3> -<p>Ниже перечислены аттрибуты, которые описывают базовые ограничения:</p> +<p>Ниже перечислены атрибуты, которые описывают базовые ограничения:</p> <table class="standard-table"> <thead> <tr> - <th scope="col">Аттрибут</th> - <th scope="col">Типы input с поддержкой аттрибута</th> + <th scope="col">Атрибут</th> + <th scope="col">Типы input с поддержкой атрибута</th> <th scope="col">Возможные значения</th> <th scope="col">Описание ограничения</th> <th scope="col">Связанное нарушение</th> @@ -88,7 +88,7 @@ original_slug: HTML/HTML5/Constraint_validation <td rowspan="3">{{ htmlattrxref("min", "input") }}</td> <td>range, number</td> <td>Валидное число</td> - <td rowspan="3">Значение поля должно быть больше или равно значению аттрибута</td> + <td rowspan="3">Значение поля должно быть больше или равно значению атрибута</td> <td rowspan="3"><strong>Underflow</strong> constraint violation</td> </tr> <tr> @@ -103,7 +103,7 @@ original_slug: HTML/HTML5/Constraint_validation <td rowspan="3">{{ htmlattrxref("max", "input") }}</td> <td>range, number</td> <td>Валидное число</td> - <td rowspan="3">Значение поля должно быть меньше или равно значению аттрибута</td> + <td rowspan="3">Значение поля должно быть меньше или равно значению атрибута</td> <td rowspan="3"><strong>Overflow</strong> constraint violation</td> </tr> <tr> @@ -117,7 +117,7 @@ original_slug: HTML/HTML5/Constraint_validation <tr> <td>{{ htmlattrxref("required", "input") }}</td> <td>text, search, url, tel, email, password, date, datetime, datetime-local, month, week, time, number, checkbox, radio, file; also on the {{ HTMLElement("select") }} and {{ HTMLElement("textarea") }} elements</td> - <td><em>никакое</em> так как это Boolean аттрибут: его присутствие означает <em>true</em>, а отсутствие - <em>false</em></td> + <td><em>никакое</em> так как это Boolean атрибут: его присутствие означает <em>true</em>, а отсутствие - <em>false</em></td> <td>Значение должно быть не пустым (если установлено).</td> <td><strong>Missing</strong> constraint violation</td> </tr> @@ -125,7 +125,7 @@ original_slug: HTML/HTML5/Constraint_validation <td rowspan="5">{{ htmlattrxref("step", "input") }}</td> <td>date</td> <td>Целое число дней</td> - <td rowspan="5">Пока в аттрибут <code>step</code> не установлен <em>любой</em> литерал, значение может быть <strong>min</strong> + любое число, крастное шагу.</td> + <td rowspan="5">Пока в атрибут <code>step</code> не установлен <em>любой</em> литерал, значение может быть <strong>min</strong> + любое число, красное шагу.</td> <td rowspan="5"><strong>Step mismatch </strong>constraint violation</td> </tr> <tr> @@ -148,7 +148,7 @@ original_slug: HTML/HTML5/Constraint_validation <td>{{ htmlattrxref("maxlength", "input") }}</td> <td>text, search, url, tel, email, password; также на элементе {{ HTMLElement("textarea") }}</td> <td>Длина (целое число)</td> - <td>Количество символов (знаков) не должно превышать значение аттрибута.</td> + <td>Количество символов (знаков) не должно превышать значение атрибута.</td> <td><strong>Too long</strong> constraint violation</td> </tr> </tbody> diff --git a/files/ru/web/guide/html/html5/index.html b/files/ru/web/guide/html/html5/index.html index a090f00d95..6583613185 100644 --- a/files/ru/web/guide/html/html5/index.html +++ b/files/ru/web/guide/html/html5/index.html @@ -37,11 +37,11 @@ original_slug: HTML/HTML5 <dt><a href="/ru/docs/HTML/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_HTML5_audio_and_video" title="Using_audio_and_video_in_Firefox">Использование HTML5 audio и video</a></dt> <dd>{{ HTMLElement("audio") }} и {{ HTMLElement("video") }} элементы вставляют и позволяют управлять мультимедиа контентом.</dd> <dt><a href="/en-US/docs/HTML/Forms_in_HTML" title="Forms in HTML5">Формы в HTML5</a></dt> - <dd>Взгляд на улучшение форм в HTML5: API валидации, несколько новых атрибутов, новые значения для аттрибута {{ htmlattrxref("type", "input") }} тега {{ HTMLElement("input") }} и новый элемент {{ HTMLElement("output") }}.</dd> + <dd>Взгляд на улучшение форм в HTML5: API валидации, несколько новых атрибутов, новые значения для атрибута {{ htmlattrxref("type", "input") }} тега {{ HTMLElement("input") }} и новый элемент {{ HTMLElement("output") }}.</dd> <dt>Новые семантические элементы</dt> <dd>Кроме секций, медиа и форм, множество новых тегов, такие как {{ HTMLElement("mark") }}, {{ HTMLElement("figure") }}, {{ HTMLElement("figcaption") }}, {{ HTMLElement("data") }}, {{ HTMLElement("time") }}, {{ HTMLElement("output") }}, {{ HTMLElement("progress") }} и {{ HTMLElement("meter") }}, увеличено количество <a href="/en-US/docs/HTML/HTML5/HTML5_element_list" title="/en-US/docs/HTML/HTML5/HTML5_element_list">валидных HTML5 элементов</a>.</dd> <dt>Улучшение {{HTMLElement("iframe")}}</dt> - <dd>Использование атрубутов {{htmlattrxref("sandbox", "iframe")}}, {{htmlattrxref("seamless", "iframe")}}, and {{htmlattrxref("srcdoc", "iframe") }}, разработчики могут задать нужный уровень безопасности и осуществивить рендеринг тега {{HTMLElement("iframe")}}.</dd> + <dd>Использование атрибутов {{htmlattrxref("sandbox", "iframe")}}, {{htmlattrxref("seamless", "iframe")}}, and {{htmlattrxref("srcdoc", "iframe") }}, разработчики могут задать нужный уровень безопасности и осуществить рендеринг тега {{HTMLElement("iframe")}}.</dd> <dt><a href="/en-US/docs/MathML" title="/en-US/docs/MathML">MathML</a></dt> <dd>Позволяет вставлять математические формулы.</dd> <dt><a href="/ru/docs/HTML/HTML5/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML5" title="/en-US/docs/HTML/HTML5/Introduction_to_HTML5">Введение в HTML5</a></dt> @@ -59,7 +59,7 @@ original_slug: HTML/HTML5 <dt><a href="/en-US/docs/Server-sent_events/Using_server-sent_events" title="/en-US/docs/Server-sent_events/Using_server-sent_events">Server-sent события</a></dt> <dd>Позволяет серверу отправлять события клиенту, а не по классической парадигме, где сервер может передавать данные только в ответ на запрос клиента.</dd> <dt><a href="/en-US/docs/WebRTC" title="/en-US/WebRTC">WebRTC</a></dt> - <dd>Эта технология, где RTC создает возможость общения в реальном времени, позволяет подключаться к другим людям и контролировать видеоконференции непосредственно в браузере, без необходимости плагинов и внешний приложений.</dd> + <dd>Эта технология, где RTC создает возможность общения в реальном времени, позволяет подключаться к другим людям и контролировать видеоконференции непосредственно в браузере, без необходимости плагинов и внешний приложений.</dd> </dl> <h2 id="ОФФЛАЙН_И_ХРАНИЛИЩЕ" style="margin: 0 0 .25em; font: 200 24px/1 'Bebas Neue','League Gothic',Haettenschweiler,'Arial Narrow',sans-serif; letter-spacing: 1px; text-transform: uppercase; border: none;"><img alt="" src="/files/3833/HTML5_Offline_Storage_512.png" style="height: 64px; padding-right: 0.5em; vertical-align: middle; width: 64px;">ОФФЛАЙН И ХРАНИЛИЩЕ</h2> @@ -70,7 +70,7 @@ original_slug: HTML/HTML5 <dt><a href="/en-US/docs/Online_and_offline_events" title="Online_and_offline_events">Online and offline events</a></dt> <dd>Firefox 3 поддерживает WHATWG online и offline события, которые позволяют приложениям и расширениям обнаружить есть ли активное подключение к Интернет, а также определить, когда соединение портится или улучшается.</dd> <dt><a href="/en-US/docs/DOM/Storage" title="DOM/Storage">WHATWG сессионное или постоянное хранилище (aka DOM Storage)</a></dt> - <dd>Постоянное или сессионое храилище позволяет веб-приложениям хранить структурированны данные на стороне клиента.</dd> + <dd>Постоянное или сессионное хранилище позволяет веб-приложениям хранить структурированные данные на стороне клиента.</dd> <dt><a href="/en-US/docs/IndexedDB" title="/en-US/docs/IndexedDB">IndexedDB</a></dt> <dd>Веб-стандарт для хранения значительных количеств структурированных данных в браузере и для быстрого их поиска, используя индексы.</dd> <dt><a href="/en-US/docs/Using_files_from_web_applications" title="Using_files_from_web_applications">Using files from web applications</a></dt> @@ -83,7 +83,7 @@ original_slug: HTML/HTML5 <dt><a href="/en-US/docs/Using_HTML5_audio_and_video" title="Using_audio_and_video_in_Firefox">Использование HTML5 audio и video</a></dt> <dd>{{ HTMLElement("audio") }} и {{ HTMLElement("video") }} элементы вставляют и позволяют управлять мультимедиа контентом.</dd> <dt><a href="/en-US/docs/WebRTC" title="/en-US/WebRTC">WebRTC</a></dt> - <dd>Эта технология, где RTC создает возможость общения в реальном времени, позволяет подключаться к другим людям и контролировать видеоконференции непосредственно в браузере, без необходимости плагинов и внешний приложений.</dd> + <dd>Эта технология, где RTC создает возможность общения в реальном времени, позволяет подключаться к другим людям и контролировать видеоконференции непосредственно в браузере, без необходимости плагинов и внешний приложений.</dd> <dt><a href="/en-US/docs/DOM/Using_the_Camera_API" title="/en-US/docs/DOM/Using_the_Camera_API">Использование Camera API</a></dt> <dd>Позволяет контролировать, манипулировать и хранить изображения с камеры устройства.</dd> </dl> @@ -96,7 +96,7 @@ original_slug: HTML/HTML5 <dt><a href="/en-US/docs/Drawing_text_using_a_canvas" title="Drawing_text_using_a_canvas">HTML5 text API для <code><canvas></code></a></dt> <dd>HTML5 text API сейчас поддерживается в {{ HTMLElement("canvas") }}.</dd> <dt><a href="/en-US/docs/WebGL" title="WebGL">WebGL</a></dt> - <dd>WebGL приносит 3D в веб, соответстсвует OpenGL ES 2.0, может использоваться в HTML5 через {{ HTMLElement("canvas") }}.</dd> + <dd>WebGL приносит 3D в веб, соответствует OpenGL ES 2.0, может использоваться в HTML5 через {{ HTMLElement("canvas") }}.</dd> <dt><a href="/en-US/docs/SVG" title="/en-US/docs/SVG">SVG</a></dt> <dd>Основанный на XML формат векторных изображений, который может быть непосредственно вставлен в HTML.</dd> </dl> @@ -162,7 +162,7 @@ original_slug: HTML/HTML5 <dt>Анимируйте свой стиль</dt> <dd>Используйте <a href="/en-US/docs/CSS/Using_CSS_transitions" title="/en-US/docs/CSS/Using_CSS_transitions">CSS Переходы</a>, чтобы анимировать изменение состояния элемента или <a href="/en-US/docs/CSS/Using_CSS_animations" title="/en-US/docs/CSS/Using_CSS_animations">CSS Анимации</a> для анимации частей страницы без запуска событий, вы теперь можете контролировать мобильные элементы на вашей странице.</dd> <dt>Улучшение типографии</dt> - <dd>Авторы могут лучше контролировать типографию. Например, они могут контролировать {{ cssxref("text-overflow") }} и <a href="/en-US/docs/CSS/hyphens" title="/en-US/docs/CSS/hyphens">перенос слов</a>, а также <a href="/en-US/docs/CSS/text-shadow" title="/en-US/docs/CSS/text-shadow">тень текста</a> и его <a href="/en-US/docs/CSS/text-decoration" title="/en-US/docs/SVG/Attribute/text-decoration">декорированиe</a>. Могут загрузить и применить другой шрифт правилом {{ cssxref("@font-face") }}.</dd> + <dd>Авторы могут лучше контролировать типографию. Например, они могут контролировать {{ cssxref("text-overflow") }} и <a href="/en-US/docs/CSS/hyphens" title="/en-US/docs/CSS/hyphens">перенос слов</a>, а также <a href="/en-US/docs/CSS/text-shadow" title="/en-US/docs/CSS/text-shadow">тень текста</a> и его <a href="/en-US/docs/CSS/text-decoration" title="/en-US/docs/SVG/Attribute/text-decoration">декорирование</a>. Могут загрузить и применить другой шрифт правилом {{ cssxref("@font-face") }}.</dd> <dt>Новые презентационные макеты</dt> <dd>Для того, чтобы улучшить гибкость дизайна, добавили: <a href="/en-US/docs/CSS/Using_CSS_multi-column_layouts" title="/en-US/docs/CSS/Using_CSS_multi-column_layouts">CSS мульти-колоночный макет</a> и <a href="/en-US/docs/CSS/Flexbox" title="/en-US/docs/CSS/Flexbox">CSS отзывчивый блочный макет</a>.</dd> </dl> diff --git a/files/ru/web/guide/html/using_html_sections_and_outlines/index.html b/files/ru/web/guide/html/using_html_sections_and_outlines/index.html index 5bd0fa3f9d..57fc57b89d 100644 --- a/files/ru/web/guide/html/using_html_sections_and_outlines/index.html +++ b/files/ru/web/guide/html/using_html_sections_and_outlines/index.html @@ -341,7 +341,7 @@ original_slug: Web/Guide/HTML/Sections_and_Outlines_of_an_HTML5_document </script> <![endif]--></pre> -<p>Этот скрипт запускается в Internet Explorer (8 и более ранней версии), однако требует включенной поддержки скриптов для правильного отображения элементов задания разделов и заголовок HTML5. Если поддержа скриптов выключена, это может стать проблемой, поскольку данные элементы, скорее всего, определяют структуру всей страницы. Поэтому необходимо добавить элемент {{HTMLElement("noscript")}}:</p> +<p>Этот скрипт запускается в Internet Explorer (8 и более ранней версии), однако требует включенной поддержки скриптов для правильного отображения элементов задания разделов и заголовок HTML5. Если поддержка скриптов выключена, это может стать проблемой, поскольку данные элементы, скорее всего, определяют структуру всей страницы. Поэтому необходимо добавить элемент {{HTMLElement("noscript")}}:</p> <pre class="brush:xml notranslate"><noscript> <strong>Внимание!</strong> diff --git a/files/ru/web/guide/mobile/index.html b/files/ru/web/guide/mobile/index.html index e7eb95c172..23d971b083 100644 --- a/files/ru/web/guide/mobile/index.html +++ b/files/ru/web/guide/mobile/index.html @@ -53,7 +53,7 @@ translation_of: Web/Guide/Mobile <li>Для браузеров, которые не поддерживают эти свойства, обеспечьте приемлемый упрощенный вариант.</li> </ul> -<p>Например, если вы указываете градиент в качестве фона для какого-либо текста, используя стиль с вендорным префиксом типа <code>-webkit-linear-gradient</code>, правильнее включить другие варианты с вендор-специфичекими префиксами для свойства <a href="/en/CSS/linear-gradient" title="en/CSS/linear-gradient">linear-gradient</a>. Если вы этого не делаете, по крайней мере удостоверьтесь, что фон, отображаемый по умолчанию, контрастирует с текстом: тогда страница, по крайней мере, будет корректно отображаться в браузере, который не воспринимает ваше <code>linear-gradient</code> правило.</p> +<p>Например, если вы указываете градиент в качестве фона для какого-либо текста, используя стиль с вендорным префиксом типа <code>-webkit-linear-gradient</code>, правильнее включить другие варианты с вендор-специфическими префиксами для свойства <a href="/en/CSS/linear-gradient" title="en/CSS/linear-gradient">linear-gradient</a>. Если вы этого не делаете, по крайней мере удостоверьтесь, что фон, отображаемый по умолчанию, контрастирует с текстом: тогда страница, по крайней мере, будет корректно отображаться в браузере, который не воспринимает ваше <code>linear-gradient</code> правило.</p> <p>Смотрите этот <a href="/en/CSS/CSS_Reference/Mozilla_Extensions" title="en/CSS/CSS_Reference/Mozilla_Extensions">список Gecko-специфических свойств</a>, и этот список <a href="/en/CSS/CSS_Reference/Webkit_Extensions" title="en/CSS/CSS_Reference/Webkit_Extensions">WebKit-</a><a href="/en/CSS/CSS_Reference/Mozilla_Extensions" title="en/CSS/CSS_Reference/Mozilla_Extensions">специфических свойств</a>, и <a class="external" href="http://peter.sh/experiments/vendor-prefixed-css-property-overview/">таблицу вендор-специфических свойств</a> от Peter Beverloo.</p> @@ -61,7 +61,7 @@ translation_of: Web/Guide/Mobile <h3 id="Позаботьтесь_об_анализе_user_agent">Позаботьтесь об анализе user agent</h3> -<p>Для веб-сайтов предпочтительнее обнаружить свойства, специфичные для устройства, такие как размеры экрана и наличие сенсорного экрана, используя описанные выше способы, и соответсвенно адаптироваться. Но иногда это непрактично, и веб-сайты прибегают к синтаксическому разбору строки user agent браузера чтобы различить десктопы, планшеты, и смартфоны, чтобы отправлять разный контент под каждый тип устройств.</p> +<p>Для веб-сайтов предпочтительнее обнаружить свойства, специфичные для устройства, такие как размеры экрана и наличие сенсорного экрана, используя описанные выше способы, и соответственно адаптироваться. Но иногда это непрактично, и веб-сайты прибегают к синтаксическому разбору строки user agent браузера чтобы различить десктопы, планшеты, и смартфоны, чтобы отправлять разный контент под каждый тип устройств.</p> <p>Если вы это делаете, удостоверьтесь что ваш алгоритм точный, и вы не отправляете неверный тип контента на устройство из-за того что вы не знаете какой-то специфической для браузера user agent строки. Смотрите данное <a href="/en/Browser_detection_using_the_user_agent#Mobile.2C_Tablet_or_Desktop" title="browser detection using the user agent">руководство по использованию user agent строки чтобы определить тип устройства</a>.</p> @@ -71,5 +71,5 @@ translation_of: Web/Guide/Mobile <ul> <li>тестируйте под мобильный Safari на iPhone используя <a class="link-https" href="https://developer.apple.com/devcenter/ios/index.action">iOS симулятор</a></li> - <li>тестируйте под Opera и Firefox используя <a class="link-https" href="https://developer.android.com/sdk/index.html">Android SDK</a>. Смотрите эти дополнительные интсрукции для <a class="link-https" href="https://wiki.mozilla.org/Mobile/Fennec/Android/Emulator">запуска Firefox под Android используя эмулятор Android</a>.</li> + <li>тестируйте под Opera и Firefox используя <a class="link-https" href="https://developer.android.com/sdk/index.html">Android SDK</a>. Смотрите эти дополнительные инструкции для <a class="link-https" href="https://wiki.mozilla.org/Mobile/Fennec/Android/Emulator">запуска Firefox под Android используя эмулятор Android</a>.</li> </ul> diff --git a/files/ru/web/guide/user_input_methods/index.html b/files/ru/web/guide/user_input_methods/index.html index 9204a6fb1a..945fbc3269 100644 --- a/files/ru/web/guide/user_input_methods/index.html +++ b/files/ru/web/guide/user_input_methods/index.html @@ -179,7 +179,7 @@ if (elem.requestFullscreen) { <li><a href="/ru/docs/Web/API/CSS_Object_Model/ориентация_экрана">Разбираемся с ориентацией экрана</a></li> <li><a href="/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode">Использование полноэкранного режима</a></li> <li><a href="/en-US/docs/Web/Guide/HTML/Dragging_and_Dropping_Multiple_Items">Перетаскивание и сброс нескольких объектов</a></li> - <li><a href="/ru/docs/Web/Guide/HTML/Drag_and_drop/Drag_operations">Руководство по перетаскиваниям</a></li> + <li><a href="/ru/docs/Web/Guide/HTML/Drag_and_drop/Drag_operations">Руководство по перетаскиванием</a></li> </ul> <h2 id="См._также">См. также</h2> diff --git a/files/ru/web/html/applying_color/index.html b/files/ru/web/html/applying_color/index.html index f4bd383bf8..0ff6dd3410 100644 --- a/files/ru/web/html/applying_color/index.html +++ b/files/ru/web/html/applying_color/index.html @@ -77,7 +77,7 @@ translation_of: Web/HTML/Applying_color <dt>{{cssxref("border-block-start-color")}} and {{cssxref("border-block-end-color")}}</dt> <dd>С помощью этих свойств вы можете установить цвет границ, которые расположены ближе всего к началу и концу блока. Для письменности слева направо, начало границы блока - верхний край, а конец - нижний. Не путайте с началом и концом строки, где начало - это левый край, а конец - правый.</dd> <dt>{{cssxref("border-inline-start-color")}} and {{cssxref("border-inline-end-color")}}</dt> - <dd>Эти свойства определяют цвет границы, расположеной ближе всего к началу и концу текста в блоке. <span style="letter-spacing: -0.00278rem;">Сторона начала и конца зависит от свойств </span>{{cssxref("writing-mode")}}, {{cssxref("direction")}} <span style="letter-spacing: -0.00278rem;">и </span>{{cssxref("text-orientation")}}<span style="letter-spacing: -0.00278rem;">, которые обычно (но не всегда) используются для настройки направления текста. Например, если текст отображается справа налево, то </span><code>border-inline-start-color</code> п<span style="letter-spacing: -0.00278rem;">рименяется к правой стороне границы.</span></dd> + <dd>Эти свойства определяют цвет границы, расположенной ближе всего к началу и концу текста в блоке. <span style="letter-spacing: -0.00278rem;">Сторона начала и конца зависит от свойств </span>{{cssxref("writing-mode")}}, {{cssxref("direction")}} <span style="letter-spacing: -0.00278rem;">и </span>{{cssxref("text-orientation")}}<span style="letter-spacing: -0.00278rem;">, которые обычно (но не всегда) используются для настройки направления текста. Например, если текст отображается справа налево, то </span><code>border-inline-start-color</code> п<span style="letter-spacing: -0.00278rem;">рименяется к правой стороне границы.</span></dd> </dl> <h3 id="Как_можно_еще_использовать_цвет">Как можно еще использовать цвет</h3> @@ -103,7 +103,7 @@ translation_of: Web/HTML/Applying_color <h3 id="Ключевые_слова">Ключевые слова</h3> -<p>Существует набор названий цветов стандартной палитры, который позволяет использовать ключевые слова вместо числового значения цвета. Ключевые слова включают основные и вторичные цвета (такие как красный (<code>red</code>), синий (<code>blue</code>), или оранжевый (<code>orange</code>)), оттенки серого (от черного (<code>black</code>) к белому (<code>white</code>), включая такие цвета как темносерый (<code>darkgray</code>) или светлосерый (<code>lightgrey</code>)), а также множество других смешаных цветов: <code>lightseagreen</code>, <code>cornflowerblue</code>, и <code>rebeccapurple</code>.</p> +<p>Существует набор названий цветов стандартной палитры, который позволяет использовать ключевые слова вместо числового значения цвета. Ключевые слова включают основные и вторичные цвета (такие как красный (<code>red</code>), синий (<code>blue</code>), или оранжевый (<code>orange</code>)), оттенки серого (от черного (<code>black</code>) к белому (<code>white</code>), включая такие цвета как темносерый (<code>darkgray</code>) или светло-серый (<code>lightgrey</code>)), а также множество других смешанных цветов: <code>lightseagreen</code>, <code>cornflowerblue</code>, и <code>rebeccapurple</code>.</p> <p>См. {{SectionOnPage("/en-US/docs/Web/CSS/color_value", "Color keywords", "code")}} - полный перечень всех доступных ключевых слов.</p> @@ -111,28 +111,28 @@ translation_of: Web/HTML/Applying_color <p>Есть три способа передачи RGB цвета в CSS.</p> -<h4 id="Шестнадцатиричная_запись_в_виде_строки">Шестнадцатиричная запись в виде строки</h4> +<h4 id="Шестнадцатеричная_запись_в_виде_строки">Шестнадцатеричная запись в виде строки</h4> -<p>Шестнадцатиричная запись передает цвет, используя шестнадцатричные числа, которые передают каждый компонент цвета (красный, зеленый и синий). Запись также может включать четвертый компонент: альфа-канал (или прозрачность). Каждый компонент цвета может быть представлен как число от 0 до 255 (0x00 - 0xFF) или, опционально, как число от 0 до 15 (0x0 - 0xF). Каждый компонент <em>необходимо</em> задавать используя одинаковое количество чисел. Так, если вы используете однозначное число, то итоговый цвет расчитывается используя число каждого компонента дважды: <code>"#D"</code> превращается в <code>"#DD"</code>.</p> +<p>Шестнадцатеричная запись передает цвет, используя шестнадцатеричные числа, которые передают каждый компонент цвета (красный, зеленый и синий). Запись также может включать четвертый компонент: альфа-канал (или прозрачность). Каждый компонент цвета может быть представлен как число от 0 до 255 (0x00 - 0xFF) или, опционально, как число от 0 до 15 (0x0 - 0xF). Каждый компонент <em>необходимо</em> задавать используя одинаковое количество чисел. Так, если вы используете однозначное число, то итоговый цвет рассчитывается используя число каждого компонента дважды: <code>"#D"</code> превращается в <code>"#DD"</code>.</p> -<p>Цвет в шестнадцатиричной записи всегда начинается с символа <code>"#"</code>. После него начинаются шестнадцатричные числа цветового кода. Запись не зависит от регистра.</p> +<p>Цвет в шестнадцатеричной записи всегда начинается с символа <code>"#"</code>. После него начинаются шестнадцатеричные числа цветового кода. Запись не зависит от регистра.</p> <dl> <dt><code>"#rrggbb"</code></dt> - <dd>Задает полностью непрозрачный цвет, у которого компонент красного цвета представлен шестнадцатиричным числом <code>0xrr</code>, зеленого - <code>0xgg</code> и синего - <code>0xbb</code>.</dd> + <dd>Задает полностью непрозрачный цвет, у которого компонент красного цвета представлен шестнадцатеричным числом <code>0xrr</code>, зеленого - <code>0xgg</code> и синего - <code>0xbb</code>.</dd> <dt><code>"#rrggbbaa"</code></dt> - <dd>Задает цвет, у которого компонент красного представлен шестнадцатиричным числом <code>0xrr</code>, зеленого - <code>0xgg</code> и синего - <code>0xbb</code>. Альфа канал представлен <code>0xaa</code>; чем ниже значение, тем прозрачнее становится цвет.</dd> + <dd>Задает цвет, у которого компонент красного представлен шестнадцатеричным числом <code>0xrr</code>, зеленого - <code>0xgg</code> и синего - <code>0xbb</code>. Альфа канал представлен <code>0xaa</code>; чем ниже значение, тем прозрачнее становится цвет.</dd> <dt><code>"#rgb"</code></dt> - <dd>Задает цвет, у которого компонент красного представлен шестнадцатиричным числом <code>0xr</code>, зеленого - <code>0xg</code> и синего - <code>0xb</code>.</dd> + <dd>Задает цвет, у которого компонент красного представлен шестнадцатеричным числом <code>0xr</code>, зеленого - <code>0xg</code> и синего - <code>0xb</code>.</dd> <dt><code>"#rgba"</code></dt> - <dd>Задает цвет, у которого компонент красного представлен шестнадцатиричным числом <code>0xr</code>, зеленого - <code>0xg</code> и синего - <code>0xb</code>. Альфа канал представлен <code>0xa</code>; чем ниже значение, тем прозрачнее становится цвет.</dd> + <dd>Задает цвет, у которого компонент красного представлен шестнадцатеричным числом <code>0xr</code>, зеленого - <code>0xg</code> и синего - <code>0xb</code>. Альфа канал представлен <code>0xa</code>; чем ниже значение, тем прозрачнее становится цвет.</dd> </dl> -<p>Например, вы можете представить непрозрачный ярко-синий цвет как <code>"#0000ff"</code> или <code>"#00f"</code>. Для того, чтобы сделать его на 25% прозачным, вы можете использовать <code>"#0000ff44"</code> или <code>"#00f4"</code>.</p> +<p>Например, вы можете представить непрозрачный ярко-синий цвет как <code>"#0000ff"</code> или <code>"#00f"</code>. Для того, чтобы сделать его на 25% прозрачным, вы можете использовать <code>"#0000ff44"</code> или <code>"#00f4"</code>.</p> <h4 id="RGB_запись_в_виде_функции">RGB запись в виде функции</h4> -<p>RGB запись в виде функции, как и шестнадцатиричная запись, представляет цвет, используя красный, зеленый и синий компоненты (также, опцинально можно использовать компонент альфа канала для прозрачности). Но, вместо того, чтоб использовать строку, цвет определяется CSS функцией {{cssxref("rgb()")}}. Данная функция принимает как вводные параметры значения красного, зеленого и синего компонентов и, опционально, четвертого компонента - значение альфа канала.</p> +<p>RGB запись в виде функции, как и шестнадцатеричная запись, представляет цвет, используя красный, зеленый и синий компоненты (также, опционально можно использовать компонент альфа канала для прозрачности). Но, вместо того, чтоб использовать строку, цвет определяется CSS функцией {{cssxref("rgb()")}}. Данная функция принимает как вводные параметры значения красного, зеленого и синего компонентов и, опционально, четвертого компонента - значение альфа канала.</p> <p>Допустимые значения для каждого из этих параметров:</p> @@ -152,7 +152,7 @@ translation_of: Web/HTML/Applying_color <div style="padding-bottom: 20px;"> <figure style="width: 500px;"><img alt="HSL color cylinder" src="https://mdn.mozillademos.org/files/15445/1200px-HSL_color_solid_cylinder_alpha_lowgamma.png" style="height: 375px; width: 500px;"> <figcaption> -<p><em><strong>Рис. 1. Цилиндрическая модель HSL.</strong> Hue (оттенок) определяет фактический цвет, основыванный на положении вдоль цветового круга, представляя цвета видимого спектра. Saturation (насыщенность) представляет собой процентое соотношение оттенка от серого до максимально насыщенного цвета. По мере увеличения значения luminance/ lightness (светлоты) цвет переходит от самого темного к самому светлому (от черного к белому). Изображение представлено пользователем <a href="http://commons.wikimedia.org/wiki/User:SharkD">SharkD</a> в <a href="https://www.wikipedia.org/">Wikipedia</a>, распространяется на правах лицензии <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY-SA 3.0</a> .</em></p> +<p><em><strong>Рис. 1. Цилиндрическая модель HSL.</strong> Hue (оттенок) определяет фактический цвет, основанный на положении вдоль цветового круга, представляя цвета видимого спектра. Saturation (насыщенность) представляет собой процентное соотношение оттенка от серого до максимально насыщенного цвета. По мере увеличения значения luminance/ lightness (светлоты) цвет переходит от самого темного к самому светлому (от черного к белому). Изображение представлено пользователем <a href="http://commons.wikimedia.org/wiki/User:SharkD">SharkD</a> в <a href="https://www.wikipedia.org/">Wikipedia</a>, распространяется на правах лицензии <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY-SA 3.0</a> .</em></p> </figcaption> </figure> </div> @@ -165,7 +165,7 @@ translation_of: Web/HTML/Applying_color <ol> <li>Вы начинаете с базовой краски, т.е. с максимально возможной интенсивности данного цвета. Например, наиболее насыщенный синий, который может быть представлен на экране пользователя. Это компонент <em>hue (оттенок)</em>: значение представляющее <strong>угол</strong> вокруг цветового круга для насыщенного оттенка, который мы хотим использовать в качестве нашей базы.</li> - <li>Далее выбирете краску серого оттенка, которая будет соответствовать тому, насколько ярким вы хотите сделать цвет. Это <em>luminance/ lightness (яркость)</em>. Вы хотите, чтобы цвет был очень ярким, практически белым или очень темным, ближе к черному, или что-то среднее? Данный компонент определяется в процентах, где 0% - совершенный черный цвет и 100% - совершенный белый (независимо от насыщенности или оттенка). Средние значения - это буквальная серая область.</li> + <li>Далее выберете краску серого оттенка, которая будет соответствовать тому, насколько ярким вы хотите сделать цвет. Это <em>luminance/ lightness (яркость)</em>. Вы хотите, чтобы цвет был очень ярким, практически белым или очень темным, ближе к черному, или что-то среднее? Данный компонент определяется в процентах, где 0% - совершенный черный цвет и 100% - совершенный белый (независимо от насыщенности или оттенка). Средние значения - это буквальная серая область.</li> <li>Теперь, когда у есть серый цвет и идеально насыщенный цвет, вам необходимо их смешать. Компонент <em>saturation (насыщенность) </em>определяет какой процент конечного цвета должен состоять из идеально насыщенного цвета. Остаток конечного цвета формируется серым цветом, который представляет насыщенность.</li> </ol> @@ -253,7 +253,7 @@ th { <h4 id="HTML">HTML</h4> -<p>HTML, который создает вышеупоменутый пример:</p> +<p>HTML, который создает вышеупомянутый пример:</p> <pre class="brush: html"><div class="wrapper"> <div class="box boxLeft"> diff --git a/files/ru/web/html/attributes/index.html b/files/ru/web/html/attributes/index.html index 44f61d6c8a..874a7d2137 100644 --- a/files/ru/web/html/attributes/index.html +++ b/files/ru/web/html/attributes/index.html @@ -133,7 +133,7 @@ translation_of: Web/HTML/Attributes <tr> <td><code>method</code></td> <td>{{ HTMLElement("form") }}</td> - <td>Определяет, какой HTTP метод использовать, когда отправлются данные формы. Может быть GET (по умолчанию) или POST.</td> + <td>Определяет, какой HTTP метод использовать, когда отправляются данные формы. Может быть GET (по умолчанию) или POST.</td> </tr> <tr> <td><code>min</code></td> @@ -420,7 +420,7 @@ translation_of: Web/HTML/Attributes <td><code>color</code></td> <td>{{ HTMLElement("basefont") }}, {{ HTMLElement("font") }}, {{ HTMLElement("hr") }}</td> <td> - <p>Этот атрибут устанавливает цвет текста, используя либо название цвета, либо шестнадцатиричный формат #RRGGBB.</p> + <p>Этот атрибут устанавливает цвет текста, используя либо название цвета, либо шестнадцатеричный формат #RRGGBB.</p> <p>Примечание: это устаревший атрибут. Используйте CSS свойство {{ Cssxref("color") }}.</p> </td> @@ -551,7 +551,7 @@ translation_of: Web/HTML/Attributes <tr> <td><code>formaction</code></td> <td>{{ HTMLElement("input") }}, {{ HTMLElement("button") }}</td> - <td>Указывает действие элемента, перезаписвающее действие, указанное в форме {{ HTMLElement("form") }}.</td> + <td>Указывает действие элемента, перезаписывающее действие, указанное в форме {{ HTMLElement("form") }}.</td> </tr> <tr> <td><code>headers</code></td> @@ -641,11 +641,11 @@ translation_of: Web/HTML/Attributes <p>Атрибут содержимого — это атрибут как вы его устанавливаете из содержимого (HTML-код), и его можно устанавливать или получать с помощью {{domxref("element.setAttribute()")}} или {{domxref("element.getAttribute()")}}. Атрибут содержимого всегда строка, даже когда ожидаемое значение должно быть число. Например, для того чтобы установить <code>maxlength элемента </code>{{HTMLElement("input")}} в 42 используя атрибут содержимого, вам нужно вызвать <code>setAttribute("maxlength", "42")</code> на этом элементе.</p> -<p>IDL-атрибут также известен как свойство JavaScript. Это атрибуты, которые вы можете читать или устанавливать используя JavaScript-свойства наподобие <code class="moz-txt-verticalline">element.foo</code>. IDL-атрибут всегда собирается использовать (но может преобразовать) основной атрибут содержимого для возврата, когды вы получаете его и сохраняет в атрибут содержимого, когда вы устанавливаете его. Другими словами, IDL-атрибуты, в сущности, отражают атрибуты содержимого.</p> +<p>IDL-атрибут также известен как свойство JavaScript. Это атрибуты, которые вы можете читать или устанавливать используя JavaScript-свойства наподобие <code class="moz-txt-verticalline">element.foo</code>. IDL-атрибут всегда собирается использовать (но может преобразовать) основной атрибут содержимого для возврата, когда вы получаете его и сохраняет в атрибут содержимого, когда вы устанавливаете его. Другими словами, IDL-атрибуты, в сущности, отражают атрибуты содержимого.</p> <p>Большую часть времени, IDL атрибуты возвращают их значения такими, какими они используются. Например, по умолчанию <code>type</code> для элементов {{HTMLElement("input")}} — "text", поэтому если вы установите <code>input.type="foobar"</code>, элемент <code><input></code> будет иметь тип text (по виду и по поведению) но значение атрибута содержимого "type" будет "foobar". Однако, IDL-атрибут <code>type</code> возвратит строку "text".</p> -<p>IDL-атрибуты не всегда строки; например, <code>input.maxlength</code> число (long со знаком). Когда используете IDL атрибуты, вы читаете или устанавливаете значения желаемого типа, поэтому <code>input.maxlength</code> всегда намеревается вернуть число и когда вы устанавливаете <code>input.maxlength</code>, это требует число. Если вы передадите другой тип, это автоматически конвентируется в число, по стандартным правилам преобразования типов в JavaScript.</p> +<p>IDL-атрибуты не всегда строки; например, <code>input.maxlength</code> число (long со знаком). Когда используете IDL атрибуты, вы читаете или устанавливаете значения желаемого типа, поэтому <code>input.maxlength</code> всегда намеревается вернуть число и когда вы устанавливаете <code>input.maxlength</code>, это требует число. Если вы передадите другой тип, это автоматически конвертируется в число, по стандартным правилам преобразования типов в JavaScript.</p> <p>IDL атрибуты могут <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#reflecting-content-attributes-in-idl-attributes" title="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#reflecting-content-attributes-in-idl-attributes">отображать другие типы</a> такие как unsigned long, URLs, booleans, и т.д. К несчастью нет ясных правил и способа, чтобы IDL атрибуты работали в связке с их соответствующими атрибутами содержимого в зависимости от атрибута. Большую часть времени, будет следовать <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#reflecting-content-attributes-in-idl-attributes" title="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#reflecting-content-attributes-in-idl-attributes">правилам из спецификации</a>, но иногда нет. HTML спецификации пытаются сделать это как можно дружелюбнее для разработчиков, но по различным причинам (по большинству историческим), некоторые атрибуты работают странно (<code>select.size</code>, например) и вам следует прочитать спецификацию для точного понимания того, как они работают.</p> diff --git a/files/ru/web/html/element/a/index.html b/files/ru/web/html/element/a/index.html index 49ad727381..dff65ceb59 100644 --- a/files/ru/web/html/element/a/index.html +++ b/files/ru/web/html/element/a/index.html @@ -28,7 +28,7 @@ translation_of: Web/HTML/Element/a <td>Открывающий и закрывающий теги обязательны.</td> </tr> <tr> - <th scope="row">Разрешённые родительские элеметны</th> + <th scope="row">Разрешённые родительские элементы</th> <td>Любые элементы, в которых разрешён <a href="/ru/docs/Web/Guide/HTML/Content_categories#Заголовочный_контент">текстовый контент</a> или элементы, в которых разрешёны элементы <a href="/ru/docs/Web/Guide/HTML/Content_categories#Основной_поток">основного потока</a>.</td> </tr> <tr> @@ -61,7 +61,7 @@ translation_of: Web/HTML/Element/a <dl> <dt>{{htmlattrdef("href")}}</dt> - <dd>Единственный обязательный атрибут для опредения ссылки в HTML4, но больше необязательный в HTML5. Упущение этого атрибута создаёт ссылку-заполнитель. Атрибут <code>href</code> указывает ссылку: либо URL, либо якорь. Якорь — это название после символа <code>#</code>, который указывает на элемент (<a href="/ru/docs/HTML/Global_attributes#attr-id">ID</a>) на текущей странице. URL не ограничены только ссылками на HTTP, они могут использовать любой протокол, поддерживающийся браузером. Например, <code>file</code>, <code>ftp</code> и <code>mailto</code> работают в большинстве браузеров.</dd> + <dd>Единственный обязательный атрибут для определения ссылки в HTML4, но больше необязательный в HTML5. Упущение этого атрибута создаёт ссылку-заполнитель. Атрибут <code>href</code> указывает ссылку: либо URL, либо якорь. Якорь — это название после символа <code>#</code>, который указывает на элемент (<a href="/ru/docs/HTML/Global_attributes#attr-id">ID</a>) на текущей странице. URL не ограничены только ссылками на HTTP, они могут использовать любой протокол, поддерживающийся браузером. Например, <code>file</code>, <code>ftp</code> и <code>mailto</code> работают в большинстве браузеров.</dd> </dl> <div class="note"> @@ -136,7 +136,7 @@ translation_of: Web/HTML/Element/a <dl> <dt><code>shape</code> {{HTMLVersionInline(4)}} {{obsoleteGeneric("inline","HTML5")}}</dt> - <dd>Этот атрибут используется, чтобы определить выбранный регион для ссылок на источник гипертекста, которые соединены с фигурой для создания изображения-карты. Значения для атрибута — <code>circle</code>, <code>default</code>, <code>polygon</code> и <code>rect</code>. Формат координат зависит от выбранной формы. Для <code>circle</code> — <code>x</code>, <code>y</code>, <code>r</code>, где <code>x</code> и <code>y</code> — пиксельные координаты центра круга и <code>r</code> — радиус в пикселях. Для rect — <code>x</code>, <code>y</code>, <code>w</code>, <code>h</code>, где <code>x</code> и <code>y</code> — координаты верхнего левого угла прямоугольника, а <code>w</code> и <code>h</code> — ширина и высота соответственно. Значениями <code>polygon</code> для координатов формы являются <code>x1</code>, <code>y1</code>, <code>x2</code>, <code>y2</code>... Каждая пара <code>x</code>, <code>y</code> определяет точку в полигоне, с последующей точкой становится прямой линией, и последняя точка объединяется с первой. Значение <code>default</code> для форм требует, чтобы полностью закрытая территория, например, изображение, было использовано.</dd> + <dd>Этот атрибут используется, чтобы определить выбранный регион для ссылок на источник гипертекста, которые соединены с фигурой для создания изображения-карты. Значения для атрибута — <code>circle</code>, <code>default</code>, <code>polygon</code> и <code>rect</code>. Формат координат зависит от выбранной формы. Для <code>circle</code> — <code>x</code>, <code>y</code>, <code>r</code>, где <code>x</code> и <code>y</code> — пиксельные координаты центра круга и <code>r</code> — радиус в пикселях. Для rect — <code>x</code>, <code>y</code>, <code>w</code>, <code>h</code>, где <code>x</code> и <code>y</code> — координаты верхнего левого угла прямоугольника, а <code>w</code> и <code>h</code> — ширина и высота соответственно. Значениями <code>polygon</code> для координатор формы являются <code>x1</code>, <code>y1</code>, <code>x2</code>, <code>y2</code>... Каждая пара <code>x</code>, <code>y</code> определяет точку в полигоне, с последующей точкой становится прямой линией, и последняя точка объединяется с первой. Значение <code>default</code> для форм требует, чтобы полностью закрытая территория, например, изображение, было использовано.</dd> </dl> <div class="note"> @@ -147,7 +147,7 @@ translation_of: Web/HTML/Element/a <dl> <dt>{{htmlattrdef("datafld")}} {{Non-standard_inline}}</dt> - <dd>Этот атрибут определяет назание столбца из объекта исходных данных, который принимает связанные данные.</dd> + <dd>Этот атрибут определяет название столбца из объекта исходных данных, который принимает связанные данные.</dd> </dl> <div class="warning"> @@ -253,7 +253,7 @@ translation_of: Web/HTML/Element/a <pre class="brush: html"><a href="tel:+491570156">+49 157 0156</a> </pre> -<p>Для дополнителных деталей о протоколе <code>tel</code>, смотрите {{RFC(2806)}} и {{RFC(2396)}}.</p> +<p>Для дополнительных деталей о протоколе <code>tel</code>, смотрите {{RFC(2806)}} и {{RFC(2396)}}.</p> <h3 id="Использование_download_для_сохранения_canvas_как_PNG" name="Использование_download_для_сохранения_canvas_как_PNG">Использование <code>download</code> для сохранения canvas как PNG</h3> @@ -314,7 +314,7 @@ document.body.appendChild(link); <h2 id="Нажатие_и_фокус">Нажатие и фокус</h2> -<p>Нажатие на {{HTMLElement("a")}} приводит (по умолчанию) к фокусировке элемента, но оно может быть разным в засивисимости от браузера и ОС.</p> +<p>Нажатие на {{HTMLElement("a")}} приводит (по умолчанию) к фокусировке элемента, но оно может быть разным в зависимости от браузера и ОС.</p> <table> <caption> diff --git a/files/ru/web/html/element/abbr/index.html b/files/ru/web/html/element/abbr/index.html index c5e667922e..bafacbbc6e 100644 --- a/files/ru/web/html/element/abbr/index.html +++ b/files/ru/web/html/element/abbr/index.html @@ -15,7 +15,7 @@ translation_of: Web/HTML/Element/abbr <p class="hidden">Исходный код этого интерактивного примера находится в GitHub репозитории. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> и отправьте нам запрос.</p> -<p>Статья <em><a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/Advanced_text_formatting#%D0%90%D0%B1%D0%B1%D1%80%D0%B5%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%8B">Как помечать аббревиатуры и сделать их потянтыми</a></em> поможет понять как использовать <code><abbr></code> и связанные элементы.</p> +<p>Статья <em><a href="https://developer.mozilla.org/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/Advanced_text_formatting#%D0%90%D0%B1%D0%B1%D1%80%D0%B5%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%8B">Как помечать аббревиатуры и сделать их потянутыми</a></em> поможет понять как использовать <code><abbr></code> и связанные элементы.</p> <table class="htmlelt"> <tbody> @@ -60,18 +60,18 @@ translation_of: Web/HTML/Element/abbr <ul> <li>Когда используете аббревиатуру и хотите показать описание или расшифровку вне основного потока содержания, используйте <code><abbr></code> c подходящим {{htmlattrxref("title")}}.</li> - <li>Чтобы обозначить аббревиатуру, которая может быть незнакома читателю, используете <code><abbr></code> с атрибутом title или просто текст с описанем.</li> + <li>Чтобы обозначить аббревиатуру, которая может быть незнакома читателю, используете <code><abbr></code> с атрибутом title или просто текст с описанием.</li> <li>Когда присутствие аббревиатуры в тексте должно быть семантически выделено, полезен элемент <code><abbr></code>. В свою очередь, его использование может быть использовано для стилизации или написания сценариев.</li> - <li>Вы можете использовать <code><abbr></code> вместе с {{HTMLElement("dfn")}}, чтобы установить определения для терминов, которые являются аббревиатурами или акронимами. Смотрите пример {{anch("Определение в абревиатуре")}} ниже.</li> + <li>Вы можете использовать <code><abbr></code> вместе с {{HTMLElement("dfn")}}, чтобы установить определения для терминов, которые являются аббревиатурами или акронимами. Смотрите пример {{anch("Определение в аббревиатуре")}} ниже.</li> </ul> -<h3 id="Граматческие_вопросы">Граматческие вопросы</h3> +<h3 id="Грамматические_вопросы">Грамматические вопросы</h3> -<p>В языках с {{interwiki("wikipedia", "grammatical number")}} (то есть, языки, в которых количество предметов влияет на грамматику предложения), используйте одинаковое граматическое число в атрибуте <code>title</code> и внутри элемента <code><abbr></code>. Это также имеет место в языках с более чем двумя грамматическими числами (например, арабский имеет не только категории единственного и множественного числа, но двойственного).</p> +<p>В языках с {{interwiki("wikipedia", "grammatical number")}} (то есть, языки, в которых количество предметов влияет на грамматику предложения), используйте одинаковое грамматическое число в атрибуте <code>title</code> и внутри элемента <code><abbr></code>. Это также имеет место в языках с более чем двумя грамматическими числами (например, арабский имеет не только категории единственного и множественного числа, но двойственного).</p> -<h2 id="Стили_по-умолчанию">Стили по-умолчанию</h2> +<h2 id="Стили_по умолчанию">Стили по умолчанию</h2> -<p>Назначение данного элемента исключитально для удобства автора и браузеры отображают его как ({{cssxref('display')}}<code>: inline</code>) по-умолчанию, хотя его стиль по-умолчанию меняется в разных браузерах:</p> +<p>Назначение данного элемента исключительно для удобства автора и браузеры отображают его как ({{cssxref('display')}}<code>: inline</code>) по умолчанию, хотя его стиль по умолчанию меняется в разных браузерах:</p> <ul> <li>Некоторые браузеры, например Internet Explorer, стилизуют его как элемент {{HTMLElement("span")}}.</li> @@ -124,9 +124,9 @@ translation_of: Web/HTML/Element/abbr <p>{{EmbedLiveSample("Задание_расшифровки")}}</p> -<h3 id="Определение_в_абревиатуре">Определение в абревиатуре</h3> +<h3 id="Определение_в_аббревиатуре">Определение в аббревиатуре</h3> -<p>Вы можете использовать <code><abbr></code> вместе с {{HTMLElement("dfn")}} для более формального определения абревиатуры, как показано ниже.</p> +<p>Вы можете использовать <code><abbr></code> вместе с {{HTMLElement("dfn")}} для более формального определения аббревиатуры, как показано ниже.</p> <h4 id="HTML_4">HTML</h4> @@ -140,7 +140,7 @@ translation_of: Web/HTML/Element/abbr <h4 id="Result_2">Result</h4> -<p>{{EmbedLiveSample("Определение_в_абревиатуре", 600, 120)}}</p> +<p>{{EmbedLiveSample("Определение_в_аббревиатуре", 600, 120)}}</p> <p>Смотрите больше примеров в статье <a href="/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/Advanced_text_formatting#%D0%90%D0%B1%D0%B1%D1%80%D0%B5%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%8B">Как размечать аббревиатуры и делать их понятными</a>.</p> diff --git a/files/ru/web/html/element/acronym/index.html b/files/ru/web/html/element/acronym/index.html index ae4456dd4e..2f9af89af9 100644 --- a/files/ru/web/html/element/acronym/index.html +++ b/files/ru/web/html/element/acronym/index.html @@ -19,7 +19,7 @@ translation_of: Web/HTML/Element/acronym <p>Этот элемент поддерживает <em>только </em><a class="new " href="/en-US/docs/HTML/global_attributes" rel="internal" title="HTML/global attributes">глобальные атрибуты</a>.</p> -<h2 id="DOM_Interface" name="DOM_Interface">Интерефейс DOM</h2> +<h2 id="DOM_Interface" name="DOM_Interface">Интерфейс DOM</h2> <p>Этот элемент реализует интерфейс {{domxref('HTMLElement')}}.</p> @@ -49,7 +49,7 @@ translation_of: Web/HTML/Element/acronym <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коометарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/html/element/address/index.html b/files/ru/web/html/element/address/index.html index 3a45048f57..2378f1c42d 100644 --- a/files/ru/web/html/element/address/index.html +++ b/files/ru/web/html/element/address/index.html @@ -5,7 +5,7 @@ tags: - HTML - HTML секции - HTML справочник - - Вэб + - Веб - Элемент translation_of: Web/HTML/Element/address --- @@ -38,7 +38,7 @@ translation_of: Web/HTML/Element/address <td>{{no_tag_omission}}</td> </tr> <tr> - <th scope="row">Разрешённые родительские элеметны</th> + <th scope="row">Разрешённые родительские элементы</th> <td>Любой элемент, который принимает <a href="/en-US/docs/HTML/Content_categories#Flow_content" title="HTML/Content_categories#Flow_content">flow content</a>.</td> </tr> <tr> diff --git a/files/ru/web/html/element/area/index.html b/files/ru/web/html/element/area/index.html index fb40396f4a..c161b623e6 100644 --- a/files/ru/web/html/element/area/index.html +++ b/files/ru/web/html/element/area/index.html @@ -28,7 +28,7 @@ translation_of: Web/HTML/Element/area <tr> <th scope="row">Допустимые родительские элементы</th> <td> - <p>Любой элемент, допускающий <a href="/ru/docs/Web/Guide/HTML/Content_categories#Phrasing_content">фразовый контент</a>. У элемента <code><area></code> должен быть родитель {{HTMLElement("map")}}, но он не должен быть прямым родетелем.</p> + <p>Любой элемент, допускающий <a href="/ru/docs/Web/Guide/HTML/Content_categories#Phrasing_content">фразовый контент</a>. У элемента <code><area></code> должен быть родитель {{HTMLElement("map")}}, но он не должен быть прямым родителем.</p> </td> </tr> <tr> @@ -58,7 +58,7 @@ translation_of: Web/HTML/Element/area <dl> <dt>{{htmlattrdef("coords")}}</dt> - <dd>Задает значения координат для активной области. Значение и количество значений зависят от значения укзанного для атрибута <strong>shape</strong>. Для <code>rect</code> или прямоугольника задаются две пары значений x,y <strong>coords</strong>: лево, верх, право и низ. Для <code>circle</code>, значения <code>x,y,r</code> где <code>x,y</code> координаты центра круга, а <code>r</code> радиус. Для <code>poly</code> или многоугольника, значения задаются парой x и y для каждой вершины многоугольника: <code>x1,y1,x2,y2,x3,y3,</code> и т.д. В HTML4 значения задаются в пикселях или процентах, когда добавлен знак (%); в HTML5, значения — величины в пикселях.</dd> + <dd>Задает значения координат для активной области. Значение и количество значений зависят от значения указанного для атрибута <strong>shape</strong>. Для <code>rect</code> или прямоугольника задаются две пары значений x,y <strong>coords</strong>: лево, верх, право и низ. Для <code>circle</code>, значения <code>x,y,r</code> где <code>x,y</code> координаты центра круга, а <code>r</code> радиус. Для <code>poly</code> или многоугольника, значения задаются парой x и y для каждой вершины многоугольника: <code>x1,y1,x2,y2,x3,y3,</code> и т.д. В HTML4 значения задаются в пикселях или процентах, когда добавлен знак (%); в HTML5, значения — величины в пикселях.</dd> <dt>{{htmlattrdef("download")}} {{HTMLVersionInline("5")}}</dt> <dd>Этот атрибут, если он добавлен, указывает, что ссылка используется для скачивания файла. Смотри {{HTMLElement("a")}} для полного описания атрибута {{htmlattrxref("download", "a")}}.</dd> </dl> @@ -70,12 +70,12 @@ translation_of: Web/HTML/Element/area <dl> <dt>{{htmlattrdef("hreflang")}} {{HTMLVersionInline("5")}}</dt> - <dd>Указывает язык связанного ресурса. Допустимые значения определяются <a class="external" href="https://www.ietf.org/rfc/bcp/bcp47.txt" title="Tags for Identifying Languages">BCP47</a>. Используйте данный атрибут при наналичии атрибута <strong>href</strong>.</dd> + <dd>Указывает язык связанного ресурса. Допустимые значения определяются <a class="external" href="https://www.ietf.org/rfc/bcp/bcp47.txt" title="Tags for Identifying Languages">BCP47</a>. Используйте данный атрибут при наличии атрибута <strong>href</strong>.</dd> </dl> <dl> <dt>{{htmlattrdef("name")}} {{HTMLVersionInline("4")}} only, {{obsolete_inline("5.0")}}</dt> - <dd>Определяет имя интерактивной области, чтобы оно могло прописатся в старых браузерах.</dd> + <dd>Определяет имя интерактивной области, чтобы оно могло прописаться в старых браузерах.</dd> </dl> <dl> diff --git a/files/ru/web/html/element/audio/index.html b/files/ru/web/html/element/audio/index.html index 7993fe03be..aae3df398d 100644 --- a/files/ru/web/html/element/audio/index.html +++ b/files/ru/web/html/element/audio/index.html @@ -112,7 +112,7 @@ translation_of: Web/HTML/Element/audio <p>Стандартные элементы управления имеют значение свойства {{cssxref("display")}}, равное <code>inline</code>, и зачастую хорошей идеей является установка этого свойства в значение <code>block</code>, чтобы улучшить контроль над позиционированием и разметкой, если вы не хотите, чтобы он находился внутри текстового блока или чего-то подобного.</p> -<p>Вы можете стилизовать стандартные элементы управления CSS-свойствами, которые влияют на блок как единое целое, например, вы можете задать {{cssxref("border")}} и {{cssxref("border-radius")}}, {{cssxref("padding")}}, {{cssxref("margin")}} и т.д. Тем не менее вы не можете стилизовать отдельные компоненты внутри аудиопреера (например, изменить размер кнопок, иконок, размер шрифта и т.д.), и элементы управления в разных браузерах отличаются.</p> +<p>Вы можете стилизовать стандартные элементы управления CSS-свойствами, которые влияют на блок как единое целое, например, вы можете задать {{cssxref("border")}} и {{cssxref("border-radius")}}, {{cssxref("padding")}}, {{cssxref("margin")}} и т.д. Тем не менее вы не можете стилизовать отдельные компоненты внутри аудиоплеера (например, изменить размер кнопок, иконок, размер шрифта и т.д.), и элементы управления в разных браузерах отличаются.</p> <p>Чтобы получить внешний вид совместимый с разными браузерами, вам необходимо создать собственные элементы управления. Они могут быть размечены и стилизованы любым удобным для вас способом и затем может быть использован {{glossary("JavaScript")}} вместе с {{glossary("API")}} {{domxref("HTMLMediaElement")}} для объединения функций, которые они выполняют.</p> diff --git a/files/ru/web/html/element/base/index.html b/files/ru/web/html/element/base/index.html index 3ae5989fe1..7db5cfd3ad 100644 --- a/files/ru/web/html/element/base/index.html +++ b/files/ru/web/html/element/base/index.html @@ -136,7 +136,7 @@ translation_of: Web/HTML/Element/base <th>Safari Mobile</th> </tr> <tr> - <td>Базовая поддердка</td> + <td>Базовая поддержка</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatGeckoMobile("1.0")}} [1]</td> <td>{{CompatVersionUnknown}}</td> diff --git a/files/ru/web/html/element/blockquote/index.html b/files/ru/web/html/element/blockquote/index.html index 5bee0521f5..d8a3b73dc2 100644 --- a/files/ru/web/html/element/blockquote/index.html +++ b/files/ru/web/html/element/blockquote/index.html @@ -26,7 +26,7 @@ translation_of: Web/HTML/Element/blockquote <td>{{no_tag_omission}}</td> </tr> <tr> - <th scope="row">Разрешённые родительские элеметны</th> + <th scope="row">Разрешённые родительские элементы</th> <td>Любой элемент, который принимает <a href="/ru/docs/Web/Guide/HTML/Content_categories#Основной_контент" title="HTML/Content categories#Flow content">основной контент</a>.</td> </tr> <tr> diff --git a/files/ru/web/html/element/br/index.html b/files/ru/web/html/element/br/index.html index 555d249c61..f088017482 100644 --- a/files/ru/web/html/element/br/index.html +++ b/files/ru/web/html/element/br/index.html @@ -38,7 +38,7 @@ translation_of: Web/HTML/Element/br <p>Элемент <code><br></code> имеет единственную цель – создать разрыв линии в блоке текста. Таким образом, он не имеет размеров или визуального стиля как такового. Есть всего несколько свойств, которые вы можете стилизовать.</p> -<p>Вы можете установить значение {{cssxref("margin")}} на <code><br></code> чтобы увеличть расстояние между линиями в блоке, но это плохая практика – лучше использовать свойство {{cssxref("line-height")}} для этой цели.</p> +<p>Вы можете установить значение {{cssxref("margin")}} на <code><br></code> чтобы увеличить расстояние между линиями в блоке, но это плохая практика – лучше использовать свойство {{cssxref("line-height")}} для этой цели.</p> <h2 id="Example" name="Example">Примеры</h2> diff --git a/files/ru/web/html/element/button/index.html b/files/ru/web/html/element/button/index.html index 813ab839f3..78cd1a07f7 100644 --- a/files/ru/web/html/element/button/index.html +++ b/files/ru/web/html/element/button/index.html @@ -32,7 +32,7 @@ original_slug: Web/HTML/Element/кнопка </tr> <tr> <th scope="row">Разрешённый родительский контент</th> - <td>Любой элемент с поддержкой <a href="/en-US/docs/HTML/Content_categories#Phrasing_content">текстового контета</a>.</td> + <td>Любой элемент с поддержкой <a href="/en-US/docs/HTML/Content_categories#Phrasing_content">текстового контента</a>.</td> </tr> <tr> <th scope="row">Разрешённые роли ARIA</th> @@ -63,7 +63,7 @@ original_slug: Web/HTML/Element/кнопка <dd>Использование данного атрибута на элементе <code><button></code> не описано в стандарте и используется только в Firefox браузере. По умолчанию, в отличие от прочих браузеров, <a href="https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing">Firefox сохраняет назначенное динамически отключенное состояние </a>для элемента <code><button></code> при последующих загрузках страницы. Установка для данного атрибута значения <code>off</code> отключает подобное поведение. Смотрите {{bug(654072)}}.</dd> <dt>{{htmlattrdef("disabled")}}</dt> <dd> - <p>Булевый атрибут, указывающий, что пользователь не может взаимодействовать с кнопкой. Если атрибут не установлен, то кнопка наследует его от элемента-контейнера, в котором она расположена, например от {{HTMLElement("fieldset")}}; если отсутсвует элемент-контейнер, с установленным атрибутом <strong>disabled</strong>, то кнопка доступна для взаимодействия.</p> + <p>Булевый атрибут, указывающий, что пользователь не может взаимодействовать с кнопкой. Если атрибут не установлен, то кнопка наследует его от элемента-контейнера, в котором она расположена, например от {{HTMLElement("fieldset")}}; если отсутствует элемент-контейнер, с установленным атрибутом <strong>disabled</strong>, то кнопка доступна для взаимодействия.</p> <p>Firefox по умолчанию, в отличие от прочих браузеров, <a href="https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing">сохраняет назначенное динамически отключенное состояние </a>для элемента <code><button></code>, даже при обновлении страницы. Чтобы изменить поведение браузера в этом случае, используйте атрибут {{htmlattrxref("autocomplete","button")}}.</p> </dd> diff --git a/files/ru/web/html/element/canvas/index.html b/files/ru/web/html/element/canvas/index.html index b138e2b3a7..748a5cb9ea 100644 --- a/files/ru/web/html/element/canvas/index.html +++ b/files/ru/web/html/element/canvas/index.html @@ -15,7 +15,7 @@ translation_of: Web/HTML/Element/canvas </tr> <tr> <th scope="row">Permitted content</th> - <td>Transparent но без <a href="/en-US/docs/HTML/Content_categories#Interactive_content">interactive content</a> descendants except(соглашаться?) для {{HTMLElement("a")}} елементы, {{HTMLElement("button")}} елементы, {{HTMLElement("input")}} елементы как {{htmlattrxref("type", "input")}} атрибут is <code>checkbox</code>, <code>radio</code>, или <code>button</code>.</td> + <td>Transparent но без <a href="/en-US/docs/HTML/Content_categories#Interactive_content">interactive content</a> descendants except(соглашаться?) для {{HTMLElement("a")}} элементы, {{HTMLElement("button")}} элементы, {{HTMLElement("input")}} элементы как {{htmlattrxref("type", "input")}} атрибут is <code>checkbox</code>, <code>radio</code>, или <code>button</code>.</td> </tr> <tr> <th scope="row">Tag omission</th> @@ -38,11 +38,11 @@ translation_of: Web/HTML/Element/canvas <dl> <dt>{{htmlattrdef("height")}}</dt> - <dd>Высота в координантном пространстве в CSS пикселях. По умолчанию 150.</dd> + <dd>Высота в координатном пространстве в CSS пикселях. По умолчанию 150.</dd> <dt>{{htmlattrdef("moz-opaque")}} {{non-standard_inline}}</dt> <dd>Дай холсту знать будет ли фактором или нет полупрозрачность. Если холст знает что нет полупрозрачности, производительность рисования может быть оптимизирована.</dd> <dt>{{htmlattrdef("width")}}</dt> - <dd>Ширина в координантном пространстве в CSS пикселях. По умолчанию 300.</dd> + <dd>Ширина в координатном пространстве в CSS пикселях. По умолчанию 300.</dd> </dl> <h2 id="Описание">Описание</h2> diff --git a/files/ru/web/html/element/caption/index.html b/files/ru/web/html/element/caption/index.html index e678d6a922..a0c094c7c8 100644 --- a/files/ru/web/html/element/caption/index.html +++ b/files/ru/web/html/element/caption/index.html @@ -62,7 +62,7 @@ translation_of: Web/HTML/Element/caption <dd>Заголовок отображается под таблицей.</dd> </dl> - <div class="note"><strong>Примчание к использованию: </strong>Не используйте этот атрибут, так как он устарел. Элемент {{HTMLElement("caption")}} должен быть стилизован с использованием свойств <a href="/en-US/docs/CSS">CSS</a> {{cssxref("caption-side")}} и{{cssxref("text-align")}}.</div> + <div class="note"><strong>Примечание к использованию: </strong>Не используйте этот атрибут, так как он устарел. Элемент {{HTMLElement("caption")}} должен быть стилизован с использованием свойств <a href="/en-US/docs/CSS">CSS</a> {{cssxref("caption-side")}} и{{cssxref("text-align")}}.</div> </dd> </dl> diff --git a/files/ru/web/html/element/cite/index.html b/files/ru/web/html/element/cite/index.html index 62a5beb61d..acc999a2a8 100644 --- a/files/ru/web/html/element/cite/index.html +++ b/files/ru/web/html/element/cite/index.html @@ -17,7 +17,7 @@ translation_of: Web/HTML/Element/cite <ul> <li>Творческая работа может включать в себя книгу, статью, очерк, стихотворение, суждение, песню, сценарий, фильм, ТВ-шоу, игру, скульптуру, живопись, театральную постановку, пьесу, оперу, мюзикл, выставку, юридический отчет, компьютерную программу, веб-сайт, веб-страницу, сообщение или комментарий в блоге или на форуме, tweet, письменное или устное заявление и так далее.</li> - <li>Спецификация W3C утверждает, что ссылка на творческую работу может содержать имя автора, в то время, как WHATWG заявляет, что она не может включать имя человена ни в коем случае.</li> + <li>Спецификация W3C утверждает, что ссылка на творческую работу может содержать имя автора, в то время, как WHATWG заявляет, что она не может включать имя человека ни в коем случае.</li> <li>Используйте атрибут {{htmlattrxref("cite", "blockquote")}} элемента {{HTMLElement("blockquote")}} или элемента {{HTMLElement("q")}} для ссылки на интернет-ресурс источника.</li> </ul> </div> @@ -146,7 +146,7 @@ translation_of: Web/HTML/Element/cite <ul> <li>Элемент {{HTMLElement("blockquote")}} для длинных цитат.</li> - <li>Элемент {{HTMLElement("q")}} для встраиваимых цитат.</li> + <li>Элемент {{HTMLElement("q")}} для встраиваемых цитат.</li> </ul> <div>{{HTMLRef}}</div> diff --git a/files/ru/web/html/element/col/index.html b/files/ru/web/html/element/col/index.html index 312a30bff0..47b0998714 100644 --- a/files/ru/web/html/element/col/index.html +++ b/files/ru/web/html/element/col/index.html @@ -52,9 +52,9 @@ translation_of: Web/HTML/Element/col <dt>{{htmlattrdef("align")}} {{Deprecated_inline("html4.01")}}, {{obsolete_inline("html5")}}</dt> <dd>Этот перечисляемый атрибут указывает, как будет обрабатываться горизонтальное выравнивание контента каждой ячейки столбца. Возможные значения: <ul> - <li><code>left</code>, выравнивает контент к левой стророне ячейки</li> + <li><code>left</code>, выравнивает контент к левой стороне ячейки</li> <li><code>center</code>, центрирует контент ячейки</li> - <li><code>right</code>, выравнивает контент к правой стророне ячейки</li> + <li><code>right</code>, выравнивает контент к правой стороне ячейки</li> <li><code>justify</code>, вставляет пробелы в текстовый контент так, чтобы контент был выравнен по ширине</li> <li><code>char</code>, выравнивает текстовый контент по специальному символу с минимальным смещением, определяемым атрибутами {{htmlattrxref("char", "col")}} и {{htmlattrxref("charoff", "col")}} {{unimplemented_inline(2212)}}.</li> </ul> @@ -80,7 +80,7 @@ translation_of: Web/HTML/Element/col <dl> <dt>{{htmlattrdef("bgcolor")}} {{Non-standard_inline}}</dt> - <dd>Этот атрибут определяет цвет фона каждой яцейки столбца. Это один из 6-и значных кодов в шестнадцатеричной системе считсления, определенный как <a href="https://www.w3.org/Graphics/Color/sRGB">sRGB </a>с префиксом '#'. Можно использовать одну из шестнадцати предопределенных строк: + <dd>Этот атрибут определяет цвет фона каждой ячейки столбца. Это один из 6-и значных кодов в шестнадцатеричной системе счисления, определенный как <a href="https://www.w3.org/Graphics/Color/sRGB">sRGB </a>с префиксом '#'. Можно использовать одну из шестнадцати предопределенных строк: <table style="width: 80%;"> <tbody> <tr> @@ -134,7 +134,7 @@ translation_of: Web/HTML/Element/col </tbody> </table> - <div class="note"><strong>Замечание по использованию:</strong> Не используй этот атрибут, тпоскольку он нестандартный и реализован только в некоторых версиях Microsoft Internet Explorer: элемент {{HTMLElement("col")}} должне быть стилизован с использованием <a href="/en-US/docs/CSS">CSS</a>. Для получения подобного эффекта, используй свойство <a href="/en-US/docs/CSS">CSS</a> {{cssxref("background-color")}}, для соответсвующих элементов {{HTMLElement("td")}}.</div> + <div class="note"><strong>Замечание по использованию:</strong> Не используй этот атрибут, поскольку он нестандартный и реализован только в некоторых версиях Microsoft Internet Explorer: элемент {{HTMLElement("col")}} должно быть стилизован с использованием <a href="/en-US/docs/CSS">CSS</a>. Для получения подобного эффекта, используй свойство <a href="/en-US/docs/CSS">CSS</a> {{cssxref("background-color")}}, для соответствующих элементов {{HTMLElement("td")}}.</div> </dd> </dl> diff --git a/files/ru/web/html/element/datalist/index.html b/files/ru/web/html/element/datalist/index.html index 1479b7bcf6..8af1475c47 100644 --- a/files/ru/web/html/element/datalist/index.html +++ b/files/ru/web/html/element/datalist/index.html @@ -101,7 +101,7 @@ translation_of: Web/HTML/Element/datalist <h2 id="Полифил">Полифил</h2> -<p>Для использованиях в браузерах, которые не поддерживают данную технологию, рекомендуется использовать полифилл: <a href="https://github.com/mfranzke/datalist-polyfill">datalist-polyfill</a>.</p> +<p>Для использованиях в браузерах, которые не поддерживают данную технологию, рекомендуется использовать полифил: <a href="https://github.com/mfranzke/datalist-polyfill">datalist-polyfill</a>.</p> <h2 id="Смотрите_так_же">Смотрите так же</h2> diff --git a/files/ru/web/html/element/del/index.html b/files/ru/web/html/element/del/index.html index ea09f3bddc..7c6e497506 100644 --- a/files/ru/web/html/element/del/index.html +++ b/files/ru/web/html/element/del/index.html @@ -48,9 +48,9 @@ translation_of: Web/HTML/Element/del <dl> <dt>{{htmlattrdef("cite")}}</dt> - <dd>URI для ресурса, который объясняет изменение (fнапример, протоколы соединений).</dd> + <dd>URI для ресурса, который объясняет изменение (например, протоколы соединений).</dd> <dt>{{htmlattrdef("datetime")}}</dt> - <dd>Этот атрибут устанавливает время и дату изменение и должен представлять собой строку с допустимой датой и временем (время не является обязательным параметром - параметр опционален). Если значение не может быть проанализировано как дата с опциональм временем, элемент не будет иметь соответствующей временной отметки. Формат строки без времени смотри в {{SectionOnPage("/en-US/docs/Web/HTML/Date_and_time_formats", "Format of a valid date string")}}. Формат строки с датой и временем описан в {{SectionOnPage("/en-US/docs/Web/HTML/Date_and_time_formats", "Format of a valid local date and time string")}}.</dd> + <dd>Этот атрибут устанавливает время и дату изменение и должен представлять собой строку с допустимой датой и временем (время не является обязательным параметром - параметр опционален). Если значение не может быть проанализировано как дата с опционально временем, элемент не будет иметь соответствующей временной отметки. Формат строки без времени смотри в {{SectionOnPage("/en-US/docs/Web/HTML/Date_and_time_formats", "Format of a valid date string")}}. Формат строки с датой и временем описан в {{SectionOnPage("/en-US/docs/Web/HTML/Date_and_time_formats", "Format of a valid local date and time string")}}.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/html/element/dl/index.html b/files/ru/web/html/element/dl/index.html index 511138568f..037d3e61c5 100644 --- a/files/ru/web/html/element/dl/index.html +++ b/files/ru/web/html/element/dl/index.html @@ -174,7 +174,7 @@ translation_of: Web/HTML/Element/dl <h2 id="Проблемы_доступности">Проблемы доступности</h2> -<p>Каждый скринридер произносит содержимое элемента <code><dl></code> по-разному. Некоторые скринридеры, такие как VoiceOver на iOS, не будут озвучивать, что содержимое <code><dl></code> это список. В связи с этим, убедитеcь, что содержимое каждого элемента списка написано таким образом, что оно сообщает о своём отношенении с другими элементами списка в списке группы.</p> +<p>Каждый скринридер произносит содержимое элемента <code><dl></code> по-разному. Некоторые скринридеры, такие как VoiceOver на iOS, не будут озвучивать, что содержимое <code><dl></code> это список. В связи с этим, убедитесь, что содержимое каждого элемента списка написано таким образом, что оно сообщает о своём отношении с другими элементами списка в списке группы.</p> <ul> <li><a href="https://s.codepen.io/aardrian/debug/NzGaKP">CodePen - HTML Buddies: dt & dd</a></li> diff --git a/files/ru/web/html/element/dt/index.html b/files/ru/web/html/element/dt/index.html index 899aaf9fd9..093e46aa6d 100644 --- a/files/ru/web/html/element/dt/index.html +++ b/files/ru/web/html/element/dt/index.html @@ -52,9 +52,9 @@ translation_of: Web/HTML/Element/dt </tbody> </table> -<h2 id="Аттрибуты">Аттрибуты</h2> +<h2 id="Атрибуты">Атрибуты</h2> -<p>Этот элемент включает только <a href="/ru/docs/Web/HTML/Общие_атрибуты">глобальные аттрибуты</a>.</p> +<p>Этот элемент включает только <a href="/ru/docs/Web/HTML/Общие_атрибуты">глобальные атрибуты</a>.</p> <h2 id="Пример">Пример</h2> diff --git a/files/ru/web/html/element/embed/index.html b/files/ru/web/html/element/embed/index.html index 692f0b8ef6..7fbe94c866 100644 --- a/files/ru/web/html/element/embed/index.html +++ b/files/ru/web/html/element/embed/index.html @@ -22,7 +22,7 @@ translation_of: Web/HTML/Element/embed <p>{{Note("Этот раздел посвящен только элементу, который является частью стандарта HTML5, и никак не касается ранних, нестандартизированных его реализаций.")}}</p> -<p>Имейте ввиду, что большинство современных браузеров посчитали устаревшей и удалили поддержку встраивания плагинов, так что использование <code><embed></code>, как правило, не рекоменуется, если вы хотите, чтобы ваш сайт одинаково работал у всех его пользователей.</p> +<p>Имейте ввиду, что большинство современных браузеров посчитали устаревшей и удалили поддержку встраивания плагинов, так что использование <code><embed></code>, как правило, не рекомендуется, если вы хотите, чтобы ваш сайт одинаково работал у всех его пользователей.</p> <table class="properties"> <tbody> @@ -39,7 +39,7 @@ translation_of: Web/HTML/Element/embed <td>Должен иметь открывающий тег, закрывающий тег должен быть пропущен</td> </tr> <tr> - <th scope="row">Разрешённые родительские элеметны</th> + <th scope="row">Разрешённые родительские элементы</th> <td>Любой элемент, который допускает встроенный контент</td> </tr> <tr> @@ -104,7 +104,7 @@ translation_of: Web/HTML/Element/embed <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> <div class="note"> -<p><strong>Note</strong>: До версии 45, Firefox не отображает сожержимое HTML-ресурса, но сообщает о том, что для отображения контента требуется плагин (см. {{Bug("730768")}}).</p> +<p><strong>Note</strong>: До версии 45, Firefox не отображает содержимое HTML-ресурса, но сообщает о том, что для отображения контента требуется плагин (см. {{Bug("730768")}}).</p> </div> diff --git a/files/ru/web/html/element/fieldset/index.html b/files/ru/web/html/element/fieldset/index.html index 37aa4d325c..2d526b1275 100644 --- a/files/ru/web/html/element/fieldset/index.html +++ b/files/ru/web/html/element/fieldset/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTML/Element/fieldset <p class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> and send us a pull request.</p> -<p>Пример выше показывает, как элемент <code><fieldset></code> группирует части HTML-формы, а вложенный элемент {{htmlelement("legend")}} даёт заголовок для <code><fieldset></code>. Он может иметь несколько атрибутов, самый используемый из них <code>form</code>, который содержит <code>id</code> формы {{htmlelement("form")}} на этой же странице. Этот артибут позволяет сделать <code><fieldset></code> частью формы <code><form></code> даже если он не находится внутри неё. Также вы можете отключить <code><fieldset></code> и всё его содержимое с помощью атрибута <code>disabled</code>.</p> +<p>Пример выше показывает, как элемент <code><fieldset></code> группирует части HTML-формы, а вложенный элемент {{htmlelement("legend")}} даёт заголовок для <code><fieldset></code>. Он может иметь несколько атрибутов, самый используемый из них <code>form</code>, который содержит <code>id</code> формы {{htmlelement("form")}} на этой же странице. Этот атрибут позволяет сделать <code><fieldset></code> частью формы <code><form></code> даже если он не находится внутри неё. Также вы можете отключить <code><fieldset></code> и всё его содержимое с помощью атрибута <code>disabled</code>.</p> <h2 id="Атрибуты">Атрибуты</h2> @@ -17,7 +17,7 @@ translation_of: Web/HTML/Element/fieldset <dl> <dt>{{htmlattrdef("disabled")}} {{HTMLVersionInline(5)}}</dt> - <dd>Если этот логический атрибут установлен, все элементы управления формой, вложенные в <code><fieldset></code> будут отключены. Это значит, что их нельзя изменять, но можно отправить через форму <code><form></code>, в отличие от атрибута {{htmlattrdef("disabled")}} на элементах управления формой. Они не будут реагировать на браузерные события, такие как клики мышью или события focus. По-умолчанию, браузер отображает такие элементы управления в сером цвете. Обратите внимание, что элементы формы внутри элемента {{HTMLElement("legend")}} не будут отключены.</dd> + <dd>Если этот логический атрибут установлен, все элементы управления формой, вложенные в <code><fieldset></code> будут отключены. Это значит, что их нельзя изменять, но можно отправить через форму <code><form></code>, в отличие от атрибута {{htmlattrdef("disabled")}} на элементах управления формой. Они не будут реагировать на браузерные события, такие как клики мышью или события focus. По умолчанию, браузер отображает такие элементы управления в сером цвете. Обратите внимание, что элементы формы внутри элемента {{HTMLElement("legend")}} не будут отключены.</dd> <dt>{{htmlattrdef("form")}} {{HTMLVersionInline(5)}}</dt> <dd>Этот атрибут принимает значение атрибута <code>id</code> элемента {{HTMLElement("form")}}, с которой вам нужно связать <code><fieldset></code>, даже если он находится вне формы.</dd> <dt>{{htmlattrdef("name")}} {{HTMLVersionInline(5)}}</dt> @@ -30,7 +30,7 @@ translation_of: Web/HTML/Element/fieldset <p>Есть несколько особенностей стилизации <code><fieldset></code>. </p> -<p>По-умолчанию, значение свойства {{cssxref("display")}} равняется <code>block</code>, что создаёт блочный контекст форматирования. Если установить значение <code>display</code> как inline-элементу <code><fieldset></code>, это будет работать как <code>inline-block</code>, в ином случае, это будет работать как <code>block</code>. По-умолчанию, имеется border 2px groobe вокруг содержимого и небольшой внутренний отступ. Элемент имеет <code>min-inline-size: min-content</code> по-умолчанию.</p> +<p>По умолчанию, значение свойства {{cssxref("display")}} равняется <code>block</code>, что создаёт блочный контекст форматирования. Если установить значение <code>display</code> как inline-элементу <code><fieldset></code>, это будет работать как <code>inline-block</code>, в ином случае, это будет работать как <code>block</code>. По умолчанию, имеется border 2px groobe вокруг содержимого и небольшой внутренний отступ. Элемент имеет <code>min-inline-size: min-content</code> по умолчанию.</p> <p>Если задан <legend>, он будет помещён поверх верхней границы. <legend> сжимается и переносится, также имеет свой контекст форматирования. Значение <code>display</code> блочное (например, <code>display: inline</code> работает как <code>block</code>).</p> diff --git a/files/ru/web/html/element/figcaption/index.html b/files/ru/web/html/element/figcaption/index.html index f696e4537f..b452665035 100644 --- a/files/ru/web/html/element/figcaption/index.html +++ b/files/ru/web/html/element/figcaption/index.html @@ -10,7 +10,7 @@ translation_of: Web/HTML/Element/figcaption --- <div>{{HTMLRef}}</div> -<p><span class="seoSummary"><strong>HTML-элемент <code><figcaption></code> или элемент подписи иллюстрации</strong> представляет собой подпись (заголовок) или легенду, описывающую остальную часть содержимого родистельского элемента {{HTMLElement("figure")}}.</span></p> +<p><span class="seoSummary"><strong>HTML-элемент <code><figcaption></code> или элемент подписи иллюстрации</strong> представляет собой подпись (заголовок) или легенду, описывающую остальную часть содержимого родительского элемента {{HTMLElement("figure")}}.</span></p> <div>{{EmbedInteractiveExample("pages/tabbed/figcaption.html","tabbed-shorter")}}</div> diff --git a/files/ru/web/html/element/form/index.html b/files/ru/web/html/element/form/index.html index fb2506c7cc..070dc37cc3 100644 --- a/files/ru/web/html/element/form/index.html +++ b/files/ru/web/html/element/form/index.html @@ -81,7 +81,7 @@ translation_of: Web/HTML/Element/form <dt>{{htmlattrdef("novalidate")}} {{HTMLVersionInline(5)}}</dt> <dd>Это Boolean атрибут показывает, что форма не проверяется на валидность, когда отправляется серверу. Если атрибут пропущен (и поэтому форма проверяется), эта настройка по умолчанию, может быть переписана атрибутом {{htmlattrxref("formnovalidate", "button")}} на {{HTMLElement("button")}} или {{HTMLElement("input")}} элементе, принадлежащем форме.</dd> <dt>{{htmlattrdef("target")}}</dt> - <dd>Имя или ключевое слово, показывающее где отображать ответ, который будет получен, после отправки формы. В HTML 4, это имя или ключевое слово для фрейма. В HTML5, это имя или ключевое слово, <em>контекста</em> <em>просмотра </em>(например, вкладка, окно, или линейный фрейм). Следующие ключевые слова имееют специальное значение: + <dd>Имя или ключевое слово, показывающее где отображать ответ, который будет получен, после отправки формы. В HTML 4, это имя или ключевое слово для фрейма. В HTML5, это имя или ключевое слово, <em>контекста</em> <em>просмотра </em>(например, вкладка, окно, или линейный фрейм). Следующие ключевые слова имеют специальное значение: <ul> <li><code>_self</code>: Загружает ответ в том же самом фрейме HTML 4 (или HTML5 контексте просмотра) как текущий. Это значение по умолчанию, если атрибут не указан.</li> <li><code>_blank</code>: Загружает ответ в новом безымянном окне HTML 4 или HTML5 контексте просмотра.</li> @@ -188,7 +188,7 @@ translation_of: Web/HTML/Element/form </table> </div> -<p><a id="Google_Chrome_notes" name="Google_Chrome_notes">[1] Интерфейс для автодополнений в Google Chrome может меняться при запросе, в зависимости от утверждения установлен ли <code>autocomplete</code> со значеним <code>off</code> на {{HTMLElement("input")}} элементах формы, так же как и на самой форме. С одной стороны, когда <code>autocomplete</code> со значеним <code>off</code> установлен для формы, но при этом не установлен для её {{HTMLElement("input")}} элементов, при запросе пользователя автоматически заполнить поля формы, Chrome может отобразить сообщение "autocomplete has been disabled for this form." С другой стороны, если и форма и её input элементы имеют <code>autocomplete</code> со значеним <code>off</code>, браузер не отобразит это сообщение. По этой причине, вам следует устанавливать атрибуту <code>autocomplete</code> значение <code>off</code> для каждого {{HTMLElement("input")}} у которого стоит нестандартное автодополнение.</a></p> +<p><a id="Google_Chrome_notes" name="Google_Chrome_notes">[1] Интерфейс для автодополнений в Google Chrome может меняться при запросе, в зависимости от утверждения установлен ли <code>autocomplete</code> со значением <code>off</code> на {{HTMLElement("input")}} элементах формы, так же как и на самой форме. С одной стороны, когда <code>autocomplete</code> со значением <code>off</code> установлен для формы, но при этом не установлен для её {{HTMLElement("input")}} элементов, при запросе пользователя автоматически заполнить поля формы, Chrome может отобразить сообщение "autocomplete has been disabled for this form." С другой стороны, если и форма и её input элементы имеют <code>autocomplete</code> со значением <code>off</code>, браузер не отобразит это сообщение. По этой причине, вам следует устанавливать атрибуту <code>autocomplete</code> значение <code>off</code> для каждого {{HTMLElement("input")}} у которого стоит нестандартное автодополнение.</a></p> <h2 id="See_also" name="See_also">Смотрите также</h2> diff --git a/files/ru/web/html/element/head/index.html b/files/ru/web/html/element/head/index.html index 58b9d8deb8..d3b60218c1 100644 --- a/files/ru/web/html/element/head/index.html +++ b/files/ru/web/html/element/head/index.html @@ -39,7 +39,7 @@ translation_of: Web/HTML/Element/head Закрывающий тег может быть пропущен, если первое, что следует за элементом <code><head></code> не является пробелом или комментарием.</td> </tr> <tr> - <th scope="row">Разрешённые родительские элеметны</th> + <th scope="row">Разрешённые родительские элементы</th> <td>Элемент {{HTMLElement("html")}} (<code><head></code> является его первым дочерним элементом).</td> </tr> <tr> diff --git a/files/ru/web/html/element/heading_elements/index.html b/files/ru/web/html/element/heading_elements/index.html index 36a44b736e..8917869d9f 100644 --- a/files/ru/web/html/element/heading_elements/index.html +++ b/files/ru/web/html/element/heading_elements/index.html @@ -21,7 +21,7 @@ translation_of: Web/HTML/Element/Heading_Elements </tr> <tr> <th scope="row">Разрешенные родители</th> - <td>Любые елементы которые принимают <a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">Содержание потока</a>; не используй как дочерний {{HTMLElement("hgroup")}} елемент, сейчас он устарел</td> + <td>Любые элементы которые принимают <a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">Содержание потока</a>; не используй как дочерний {{HTMLElement("hgroup")}} элемент, сейчас он устарел</td> </tr> <tr> <th scope="row">Разрешенные роли ДМИП</th> @@ -124,7 +124,7 @@ translation_of: Web/HTML/Element/Heading_Elements <li><code>h2</code> Распределение и разнообразие</li> <li><code>h2</code><span> Эволюция</span> <ol> - <li><code>h3</code> Позний полиозой</li> + <li><code>h3</code> Поздний полиозой</li> <li><code>h3</code> Юрский период</li> <li><code>h3</code> Меловойский период</li> <li><code>h3</code><span> К</span>айнозойский период</li> @@ -203,7 +203,7 @@ translation_of: Web/HTML/Element/Heading_Elements <tr> <th scope="col">Характеристика</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/html/element/hgroup/index.html b/files/ru/web/html/element/hgroup/index.html index ae21df6496..029afcecdb 100644 --- a/files/ru/web/html/element/hgroup/index.html +++ b/files/ru/web/html/element/hgroup/index.html @@ -8,10 +8,10 @@ translation_of: Web/HTML/Element/hgroup <div></div> <div class="note"> -<p><strong>Примечание использования: </strong>Этот элемент был удален из HTML5 (W3C) спецификации , но до сих пор остается в спецификации WHATWG. Он частично встроен в большинство браузеров, хотя бы поэтому врядли уйдет. Поскольку схематический алгоритм не реализован ни в одном брузере, семантика тега <code><hgroup></code> на практике реализована только теоретически. Спецификация HTML5 (W3C) дает совет как обозначать <a href="http://www.w3.org/TR/html5/common-idioms.html#sub-head">подзаголовки, альтернативные заголовки и слоганы</a>.</p> +<p><strong>Примечание использования: </strong>Этот элемент был удален из HTML5 (W3C) спецификации , но до сих пор остается в спецификации WHATWG. Он частично встроен в большинство браузеров, хотя бы поэтому вряд ли уйдет. Поскольку схематический алгоритм не реализован ни в одном браузере, семантика тега <code><hgroup></code> на практике реализована только теоретически. Спецификация HTML5 (W3C) дает совет как обозначать <a href="http://www.w3.org/TR/html5/common-idioms.html#sub-head">подзаголовки, альтернативные заголовки и слоганы</a>.</p> </div> -<p>HTML <hgroup> Элемент (HTML Headings Group Element - Элемент Группы Заголовков HTML) представляет заголовок раздела. Он определяет один заголовок, который участвует в cхеме документа как заголовок явно или неявно заданного раздела, к которому он принадлежит.</p> +<p>HTML <hgroup> Элемент (HTML Headings Group Element - Элемент Группы Заголовков HTML) представляет заголовок раздела. Он определяет один заголовок, который участвует в схеме документа как заголовок явно или неявно заданного раздела, к которому он принадлежит.</p> <p>Собственно текст для схематического алгоритма - это текст первого элемента заголовка HTML наивысшего ранга (т. Е. Первый {{HTMLElement ("h1")}}, {{HTMLElement ("h2")}}, {{HTMLElement (" h3 ")}}, {{HTMLElement (" h4 ")}}, {{HTMLElement (" h5 ")}} или {{HTMLElement (" h6 ")}} с наименьшим числом потомков), а rank - уровень этого элемента заголовка HTML.</p> diff --git a/files/ru/web/html/element/hr/index.html b/files/ru/web/html/element/hr/index.html index 8776efb3aa..054c0923f2 100644 --- a/files/ru/web/html/element/hr/index.html +++ b/files/ru/web/html/element/hr/index.html @@ -52,7 +52,7 @@ translation_of: Web/HTML/Element/hr <dl> <dt>{{htmlattrdef("align")}} {{deprecated_inline}}</dt> - <dd>Задает правило выравнивания.По умолчанию значение выставленно как<strong> left</strong></dd> + <dd>Задает правило выравнивания.По умолчанию значение выставлено как<strong> left</strong></dd> <dt>{{htmlattrdef("color")}} {{Non-standard_inline}}</dt> <dd>Задает цвет линии</dd> <dt>{{htmlattrdef("noshade")}} {{deprecated_inline}}</dt> diff --git a/files/ru/web/html/element/image/index.html b/files/ru/web/html/element/image/index.html index e6a269b753..d8279494f3 100644 --- a/files/ru/web/html/element/image/index.html +++ b/files/ru/web/html/element/image/index.html @@ -10,7 +10,7 @@ translation_of: Web/HTML/Element/image <h2 id="Словарь">Словарь</h2> -<p>Элемент HTML <code><image></code> был эксперементальным элементом, предназначенный для отображения изображений. Он никогда не был реализован, вместо него должен использоваться стандартный элемент {{HTMLElement("img")}}.</p> +<p>Элемент HTML <code><image></code> был экспериментальным элементом, предназначенный для отображения изображений. Он никогда не был реализован, вместо него должен использоваться стандартный элемент {{HTMLElement("img")}}.</p> <div class="note"> <p><strong>НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ЕГО!<em> </em></strong>Для отображения изображений используйте стандартный элемент {{HTMLElement("img")}}.</p> diff --git a/files/ru/web/html/element/img/index.html b/files/ru/web/html/element/img/index.html index d21362cce8..7f9820ad69 100644 --- a/files/ru/web/html/element/img/index.html +++ b/files/ru/web/html/element/img/index.html @@ -174,7 +174,7 @@ translation_of: Web/HTML/Element/img <li>Значения размера источника.</li> </ol> - <p>Значения размера источника устанавливаются исходя из предполагаемых размеров изображения. {{glossary("user agent", "Пользовательские агенты")}} используют текущий размер источника, чтобы выбрать один из источников, предоставленных атрибутом <code>srcset</code>, если эти источники описываются с помощью дескриптора ширины '<code>w</code>' (сокращение от width). Выбранный размер источника влияет на {{glossary("intrinsic size", "внутренний размер")}} изображения (отображаемый размер изображения, если не применены стили CSS). Если атрибут <code>srcset</code> отсутствует или не содержит значений с дискриптором '<code>w</code>', то атрибут <code>sizes</code> не будет иметь никакого эффекта.</p> + <p>Значения размера источника устанавливаются исходя из предполагаемых размеров изображения. {{glossary("user agent", "Пользовательские агенты")}} используют текущий размер источника, чтобы выбрать один из источников, предоставленных атрибутом <code>srcset</code>, если эти источники описываются с помощью дескриптора ширины '<code>w</code>' (сокращение от width). Выбранный размер источника влияет на {{glossary("intrinsic size", "внутренний размер")}} изображения (отображаемый размер изображения, если не применены стили CSS). Если атрибут <code>srcset</code> отсутствует или не содержит значений с дескриптором '<code>w</code>', то атрибут <code>sizes</code> не будет иметь никакого эффекта.</p> </dd> <dt>{{htmlattrdef("src")}}</dt> <dd>{{glossary("URL")}} изображения. Этот атрибут является обязательным для элемента <code><img></code>. В браузерах, поддерживающих <code>srcset</code>, <code>src</code> обрабатывается как изображение-кандидат с дескриптором плотности пикселей <code>1x</code>, если только изображение с этим дескриптором уже не определено в <code>srcset</code> или если <code>srcset</code> не содержит дескрипторы '<code>w</code>'.</dd> diff --git a/files/ru/web/html/element/input/date/index.html b/files/ru/web/html/element/input/date/index.html index 5fb53a1437..c69a1eba71 100644 --- a/files/ru/web/html/element/input/date/index.html +++ b/files/ru/web/html/element/input/date/index.html @@ -123,7 +123,7 @@ console.log(dateControl.valueAsNumber); // prints 1496275200000, a JavaScript ti <h2 id="Использование_полей_ввода_c_типом_date">Использование полей ввода c типом date</h2> -<p>На первый взгляд, элемент <code><input type="date"></code> выглядит заманчиво — он предоставляет легкий графический интерфейс для выбора даты, нормализует формат даты, отправляемой на сервер независимо от локальных настроек пользователя. Тем не менее, есть проблемы с <code><input type="date"></code> в связи с ограниченой поддержкой браузеров.</p> +<p>На первый взгляд, элемент <code><input type="date"></code> выглядит заманчиво — он предоставляет легкий графический интерфейс для выбора даты, нормализует формат даты, отправляемой на сервер независимо от локальных настроек пользователя. Тем не менее, есть проблемы с <code><input type="date"></code> в связи с ограниченной поддержкой браузеров.</p> <p>В этом разделе мы посмотрим на простые, а затем и более сложные способы использования <code><input type="date"></code>, и позже дадим советы по уменьшению влияния поддержки браузерами (смотрите {{anch("Handling browser support")}}).</p> @@ -160,7 +160,7 @@ console.log(dateControl.valueAsNumber); // prints 1496275200000, a JavaScript ti <p>В результате выполнения кода, пользователь сможет выбрать любой день апреля 2017 года, но не сможет выбрать и даже просмотреть дни других месяцев и годов, в том числе через виджет <em>date picker</em>.</p> <div class="note"> -<p><strong>Примечание</strong>: Вы <em>должны</em> уметь использовать аттрибут {{htmlattrxref("step", "input")}}, чтобы менять количество дней, на которое будет происходить шаг при изменении даты (например, чтобы сделать выбираемыми только субботы). Однако, не похоже, что это где-то применялось на данный момент.</p> +<p><strong>Примечание</strong>: Вы <em>должны</em> уметь использовать атрибут {{htmlattrxref("step", "input")}}, чтобы менять количество дней, на которое будет происходить шаг при изменении даты (например, чтобы сделать выбираемыми только субботы). Однако, не похоже, что это где-то применялось на данный момент.</p> </div> <h3 id="Controlling_input_size">Controlling input size</h3> diff --git a/files/ru/web/html/element/input/datetime-local/index.html b/files/ru/web/html/element/input/datetime-local/index.html index 99ddddd6bd..63ad6800fc 100644 --- a/files/ru/web/html/element/input/datetime-local/index.html +++ b/files/ru/web/html/element/input/datetime-local/index.html @@ -89,7 +89,7 @@ dateControl.value = '2017-06-01T08:30';</pre> <h3 id="Установка_максимума_и_минимума_даты_и_времени">Установка максимума и минимума даты и времени</h3> -<p>Вы можете использовать {{htmlattrxref("min", "input")}} и {{htmlattrxref("max", "input")}} аттрибуты чтобы ограничить дату/время, которое может выбрать пользователь. В примере ниже мы устанавливает минимальные дату и время в <code>2017-06-01T08:30</code> и максимальные в <code>2017-06-30T16:30</code>:</p> +<p>Вы можете использовать {{htmlattrxref("min", "input")}} и {{htmlattrxref("max", "input")}} атрибуты чтобы ограничить дату/время, которое может выбрать пользователь. В примере ниже мы устанавливает минимальные дату и время в <code>2017-06-01T08:30</code> и максимальные в <code>2017-06-30T16:30</code>:</p> <pre class="brush: html"> <form> <label for="party">Enter a date and time for your party booking:</label> @@ -101,12 +101,12 @@ dateControl.value = '2017-06-01T08:30';</pre> <p>Как результат:</p> <ul> - <li>Могут быть выбраны только дни из Июня 2017 — только дни, которые входят в заданный диапазон дат доступны для выбота, и в виджете нельзя увидеть даты, не принадлежaщие Июню.</li> - <li>В зависимости от того, какой браузер Вы используете, Вы можете заметить, что вребя вне заданного диапазона не доступно к выбору (e.g. Edge), или доступно к выбору(e.g. Chrome) но невалидно (see {{anch("Validation")}}).</li> + <li>Могут быть выбраны только дни из Июня 2017 — только дни, которые входят в заданный диапазон дат доступны для выбора, и в виджете нельзя увидеть даты, не принадлежащие Июню.</li> + <li>В зависимости от того, какой браузер Вы используете, Вы можете заметить, что время вне заданного диапазона не доступно к выбору (e.g. Edge), или доступно к выбору(e.g. Chrome) но невалидно (see {{anch("Validation")}}).</li> </ul> <div class="note"> -<p><strong>Примечание</strong>: Существует возможность использовать {{htmlattrxref("step", "input")}} аттрибут для того, чтобы установить количество дней, которые будут пропущены каждый раз, когда дата увеличивается (например, если Вы хотите сделать доступными для выбора только Субботы). Однако, на момент написание этой статьи это нет эффективной реализации этой функции.</p> +<p><strong>Примечание</strong>: Существует возможность использовать {{htmlattrxref("step", "input")}} атрибут для того, чтобы установить количество дней, которые будут пропущены каждый раз, когда дата увеличивается (например, если Вы хотите сделать доступными для выбора только Субботы). Однако, на момент написание этой статьи это нет эффективной реализации этой функции.</p> </div> <h3 id="Controlling_input_size">Controlling input size</h3> diff --git a/files/ru/web/html/element/input/datetime/index.html b/files/ru/web/html/element/input/datetime/index.html index 6b6b0a2292..5fe53d2c59 100644 --- a/files/ru/web/html/element/input/datetime/index.html +++ b/files/ru/web/html/element/input/datetime/index.html @@ -19,7 +19,7 @@ translation_of: Web/HTML/Element/input/datetime <p>Вместо этого, браузеры реализуют (и разработчикам рекомендуется использовать) <code><a href="/ru/docs/Web/HTML/Element/input/datetime-local"><input type="datetime-local"></a></code>.</p> -<p>Формат значений даты и времени, использумый этим типом описан в {{SectionOnPage("/ru/docs/Web/HTML/Date_and_time_formats", "Строки глобальной даты и времени")}}.</p> +<p>Формат значений даты и времени, используемый этим типом описан в {{SectionOnPage("/ru/docs/Web/HTML/Date_and_time_formats", "Строки глобальной даты и времени")}}.</p> <h2 id="Смотрите_также">Смотрите также</h2> diff --git a/files/ru/web/html/element/input/file/index.html b/files/ru/web/html/element/input/file/index.html index 7e47d3be03..950ee5931f 100644 --- a/files/ru/web/html/element/input/file/index.html +++ b/files/ru/web/html/element/input/file/index.html @@ -41,7 +41,7 @@ translation_of: Web/HTML/Element/input/file <h2 id="Value">Value</h2> -<p>Атрибут {{htmlattrxref("value", "input")}} элемента input содержит {{domxref("DOMString")}}, который представляет путь к выбранным файлам. Если пользователь выбрал несколько файлов, <code>value</code> представляет первый файл из списка. Отстальные файлы можно определить используя {{domxref("HTMLInputElement.files")}} свойство элемента input.</p> +<p>Атрибут {{htmlattrxref("value", "input")}} элемента input содержит {{domxref("DOMString")}}, который представляет путь к выбранным файлам. Если пользователь выбрал несколько файлов, <code>value</code> представляет первый файл из списка. Остальные файлы можно определить используя {{domxref("HTMLInputElement.files")}} свойство элемента input.</p> <div class="note"><strong>Note:</strong> diff --git a/files/ru/web/html/element/input/password/index.html b/files/ru/web/html/element/input/password/index.html index eb87000912..e745967864 100644 --- a/files/ru/web/html/element/input/password/index.html +++ b/files/ru/web/html/element/input/password/index.html @@ -611,4 +611,4 @@ ssn.oninput = function(event) { <p>[3] Поддерживается для элемента {{HTMLElement("select")}}.</p> -<p>[4] Firefox, в отличие от других браузеров, по умолчанию <a href="http://stackoverflow.com/q/5985839/432681">pсохраняет состояние динамического отключения и (если применимо) динамическую проверку</a> из <code><input></code> для загрузки страницы. Установка значения атрибута {{htmlattrxref("autocomplete","input")}} в <code>off</code> отключает эту функцию; это работает, даже если атрибут {{htmlattrxref("autocomplete","input")}} обычно не применяется к <code><input></code> в силу его {{htmlattrxref("type","input")}}. Смотри {{bug(654072)}}.</p> +<p>[4] Firefox, в отличие от других браузеров, по умолчанию <a href="http://stackoverflow.com/q/5985839/432681">сохраняет состояние динамического отключения и (если применимо) динамическую проверку</a> из <code><input></code> для загрузки страницы. Установка значения атрибута {{htmlattrxref("autocomplete","input")}} в <code>off</code> отключает эту функцию; это работает, даже если атрибут {{htmlattrxref("autocomplete","input")}} обычно не применяется к <code><input></code> в силу его {{htmlattrxref("type","input")}}. Смотри {{bug(654072)}}.</p> diff --git a/files/ru/web/html/element/input/range/index.html b/files/ru/web/html/element/input/range/index.html index b46af66650..b099b28018 100644 --- a/files/ru/web/html/element/input/range/index.html +++ b/files/ru/web/html/element/input/range/index.html @@ -12,7 +12,7 @@ translation_of: Web/HTML/Element/input/range <div>{{EmbedInteractiveExample("pages/tabbed/input-range.html", "tabbed-standard")}}</div> -<p class="hidden">Исходный код данного примера расположен в GitHub репозитории. Если вы хотите внести внести изменения в привер, пожалуйста склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправте нам пул реквест.</p> +<p class="hidden">Исходный код данного примера расположен в GitHub репозитории. Если вы хотите внести внести изменения в привер, пожалуйста склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул реквест.</p> <p>Если используемый браузер не поддерживает тип <code>range</code>, он будет отображаться как input<code>{{HTMLElement('input/text', 'text')}}.</code></p> @@ -43,7 +43,7 @@ translation_of: Web/HTML/Element/input/range <h3 id="Валидация">Валидация</h3> -<p>Для этого поля нет доступного патерна валидации, но следующая валидация реализованны следующие проверки</p> +<p>Для этого поля нет доступного паттерна валидации, но следующая валидация реализованы следующие проверки</p> <ul> <li>Если значение {{htmlattrxref("value", "input")}} содержит что-то что не может быть конвертированно в число с плавающей точкой, произойдет ошибка некорректного ввода.</li> @@ -75,7 +75,7 @@ translation_of: Web/HTML/Element/input/range <tbody> <tr> <td><code>{{anch("list")}}</code></td> - <td>id элемента <datalist>, который сожержит предопределенные значение (не обязательно)</td> + <td>id элемента <datalist>, который содержит предопределенные значение (не обязательно)</td> </tr> <tr> <td><code>{{anch("max")}}</code></td> @@ -131,11 +131,11 @@ translation_of: Web/HTML/Element/input/range <dl> <dt>{{htmlattrdef("orient")}} {{non-standard_inline}}</dt> - <dd id="orient-include">Похоже на -moz-orient не стандартное CSS свойство влияющее на {{htmlelement('progress')}} и{{htmlelement('meter')}} элемены, <code>orient</code> атрибут определяем ориентацию слайдера. Значение <code>horizontal</code>, значет что слайдер быдет отображен горизонтально, а <code>vertical</code>- что вертикально .</dd> + <dd id="orient-include">Похоже на -moz-orient не стандартное CSS свойство влияющее на {{htmlelement('progress')}} и{{htmlelement('meter')}} элементы, <code>orient</code> атрибут определяем ориентацию слайдера. Значение <code>horizontal</code>, значит что слайдер будет отображен горизонтально, а <code>vertical</code>- что вертикально .</dd> </dl> <div class="blockIndicator note"> -<p>Note: Следующие атрибуты не применимы: <code>accept</code>, <code>alt</code>, <code>checked</code>, <code>dirname</code>, <code>formaction</code>, <code>formenctype</code>, <code>formmethod</code>, <code>formnovalidate</code>, <code>formtarget</code>, <code>height</code>, <code>maxlength</code>, <code>minlength</code>, <code>multiple</code>, <code>pattern</code>, <code>placeholder</code>, <code>readonly</code>, <code>required</code>, <code>size</code>, <code>src</code>, и <code>width</code>. Каждый из них будет проигнорирован в случаее употребления.</p> +<p>Note: Следующие атрибуты не применимы: <code>accept</code>, <code>alt</code>, <code>checked</code>, <code>dirname</code>, <code>formaction</code>, <code>formenctype</code>, <code>formmethod</code>, <code>formnovalidate</code>, <code>formtarget</code>, <code>height</code>, <code>maxlength</code>, <code>minlength</code>, <code>multiple</code>, <code>pattern</code>, <code>placeholder</code>, <code>readonly</code>, <code>required</code>, <code>size</code>, <code>src</code>, и <code>width</code>. Каждый из них будет проигнорирован в случае употребления.</p> </div> <h2 id="Examples">Examples</h2> @@ -191,7 +191,7 @@ translation_of: Web/HTML/Element/input/range <p>Так как браузеры имеют эту гибкость, и на сегодняшний день ни один из них не поддерживает все возможности, определенные HTML, представляем несколько макетов, показывающих как вы можете получить на macOS в браузере, который их поддерживает.</p> -<h5 id="Недекорированный_контроллер_даипазона">Недекорированный контроллер даипазона</h5> +<h5 id="Недекорированный_контроллер_диапазона">Недекорированный контроллер диапазона</h5> <p>Этот результат вы получите, если не укажите атрибут {{htmlattrxref("list", "input")}}, или браузер не будет его поддерживать.</p> @@ -282,12 +282,12 @@ translation_of: Web/HTML/Element/input/range </table> <div class="note"> -<p><strong>Примечание</strong>: В настоящее время ни один браузер полностью не поддерживает эти возможности. Firefox не поддрживает хэш-метки и лейблы, например, в то время как Chrome поддерживает хэш-метки, но не поддерживает лейблы. Версия 66 (66.0.3359.181) Chrome поддерживает лейблы, но тэг {{htmlelement("datalist")}} должен быть стилизован с помощью CSS, так как его свойство {{cssxref("display")}} по умолчанию - <code>none</code>, тем самым скрывая лейблы.</p> +<p><strong>Примечание</strong>: В настоящее время ни один браузер полностью не поддерживает эти возможности. Firefox не поддерживает хэш-метки и лейблы, например, в то время как Chrome поддерживает хэш-метки, но не поддерживает лейблы. Версия 66 (66.0.3359.181) Chrome поддерживает лейблы, но тэг {{htmlelement("datalist")}} должен быть стилизован с помощью CSS, так как его свойство {{cssxref("display")}} по умолчанию - <code>none</code>, тем самым скрывая лейблы.</p> </div> <h3 id="Изменение_ориентации">Изменение ориентации</h3> -<p>По умолчанию, если браузер отображает инпут диапозона как слайдер, он отобразит его так чтоб ползунок ездил в право и в лево. Когда поддержка браузерами будет реализованно, можно будет делать слайдер вертикальным, так чтобы ползунок мог ездить вверх и вниз. Ниодин из наиболее используемых браузеров не имплементировал это пока. (Firefox {{bug(981916)}}, <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=341071">Chrome bug 341071</a>). также, возможно, <a href="https://github.com/whatwg/html/issues/4177">следующий баг под вопросом</a>.</p> +<p>По умолчанию, если браузер отображает инпут диапазона как слайдер, он отобразит его так чтоб ползунок ездил в право и в лево. Когда поддержка браузерами будет реализовано, можно будет делать слайдер вертикальным, так чтобы ползунок мог ездить вверх и вниз. Ни один из наиболее используемых браузеров не имплементировал это пока. (Firefox {{bug(981916)}}, <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=341071">Chrome bug 341071</a>). также, возможно, <a href="https://github.com/whatwg/html/issues/4177">следующий баг под вопросом</a>.</p> <p>В реальности, мы можем сделать слайдер вертикальным используя CSS трансформации, или применяя уникальный метод для каждого браузера в отдельности, включая: настройки {{cssxref('appearance')}} для <code>slider-vertical</code>, использование нестандартной ориентации <code>orient</code> в Firefox,или изменение text direction для Internet Explorer и Edge</p> @@ -301,7 +301,7 @@ translation_of: Web/HTML/Element/input/range <h3 id="Standards">Standards</h3> -<p>Следуюя спецификации, сделать его вертикальным также просто как добавить CSS, чтобы изменить размеры контроллера, чтобы его высота оказалась больше ширины:</p> +<p>Следуя спецификации, сделать его вертикальным также просто как добавить CSS, чтобы изменить размеры контроллера, чтобы его высота оказалась больше ширины:</p> <h4 id="CSS">CSS</h4> @@ -318,11 +318,11 @@ translation_of: Web/HTML/Element/input/range <p>{{EmbedLiveSample("Orientation_sample2", 200, 200, "https://mdn.mozillademos.org/files/14985/Orientation_sample2.png")}}</p> -<p>К сожалению, большенство браузеров сейчас не поддерживают вертикальные контроллы напрямую.</p> +<p>К сожалению, большинство браузеров сейчас не поддерживают вертикальные контроллы напрямую.</p> <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> @@ -355,7 +355,7 @@ translation_of: Web/HTML/Element/input/range transform: rotate(-90deg); }</pre> -<p>Размеры контроллера это набор из 150 пикселей длины и 20 пикселей высоты. Маржинги установлены на 0 и {{cssxref("transform-origin")}} смещается в середину пространства, на котором вращается слайдер; поскольку слайдер имеет ширину 150 пикселей, он вращается через прямоугольник по 150 пикселей с каждой стороны. Смещение начала координат на 75px по каждой оси означает, что мы будем вращаться вокруг центра этого пространства. Наконец, мы поварачиваем против часовой стрелки на 90°. Результат: инпут range, который вращается таким образом, что максимальное значение находится сверху, а минимальное снизу.</p> +<p>Размеры контроллера это набор из 150 пикселей длины и 20 пикселей высоты. Маржинги установлены на 0 и {{cssxref("transform-origin")}} смещается в середину пространства, на котором вращается слайдер; поскольку слайдер имеет ширину 150 пикселей, он вращается через прямоугольник по 150 пикселей с каждой стороны. Смещение начала координат на 75px по каждой оси означает, что мы будем вращаться вокруг центра этого пространства. Наконец, мы поворачиваем против часовой стрелки на 90°. Результат: инпут range, который вращается таким образом, что максимальное значение находится сверху, а минимальное снизу.</p> <p>{{EmbedLiveSample("Orientation_sample3", 200, 200, "https://mdn.mozillademos.org/files/14987/Orientation_sample3.png")}}</p> @@ -372,7 +372,7 @@ translation_of: Web/HTML/Element/input/range <h4 id="CSS_3">CSS</h4> -<p>Берем только те инпуты что иеют тип range:</p> +<p>Берем только те инпуты что имеют тип range:</p> <pre class="notranslate">input[type="range"] { -webkit-appearance: slider-vertical; @@ -382,11 +382,11 @@ translation_of: Web/HTML/Element/input/range <h3 id="orient_attribute">orient attribute</h3> -<p>В Firefox, реализованно нестандартное свойство <code>orient</code>.</p> +<p>В Firefox, реализовано нестандартное свойство <code>orient</code>.</p> <h4 id="HTML_4">HTML</h4> -<p>Используем тот же HTML что и в предыдущем примере и добавляем атрибут со значением <code>vertical</code>:</p> +<p>Используем тот же HTML что и в предыдущем примере и ддобавляем атрибут со значением <code>vertical</code>:</p> <pre class="notranslate"><input type="range" min="0" max="11" value="7" step="1" orient="vertical"> </pre> @@ -395,7 +395,7 @@ translation_of: Web/HTML/Element/input/range <h3 id="writing-mode_bt-lr">writing-mode: bt-lr;</h3> -<p>Свойство {{cssxref('writing-mode')}} может быть использовано для специальных эфектов </p> +<p>Свойство {{cssxref('writing-mode')}} может быть использовано для специальных эффектов </p> <h4 id="HTML_5">HTML</h4> @@ -406,7 +406,7 @@ translation_of: Web/HTML/Element/input/range <h4 id="CSS_4">CSS</h4> -<p>Берем только те инпуты что иеют тип range, меняем writing mode с default на <code>bt-lr</code>, или bottom-to-top и left-to-right:</p> +<p>Берем только те инпуты что имеют тип range, меняем writing mode с default на <code>bt-lr</code>, или bottom-to-top и left-to-right:</p> <pre class="notranslate">input[type="range"] { writing-mode: bt-lr; @@ -416,7 +416,7 @@ translation_of: Web/HTML/Element/input/range <h3 id="Все_вместе">Все вместе</h3> -<p>Каждый из вышеперечисленных примеров работает в своем браузере, мы попробуем обьединить все вместе чтоб добится кроссбраузерности решения:</p> +<p>Каждый из вышеперечисленных примеров работает в своем браузере, мы попробуем объединить все вместе чтоб добиться кроссбраузерности решения:</p> <h4 id="HTML_6">HTML</h4> @@ -427,7 +427,7 @@ translation_of: Web/HTML/Element/input/range <h4 id="CSS_5">CSS</h4> -<p>Берем только те инпуты что иеют тип range, меняем writing mode с default на <code>bt-lr</code>, или bottom-to-top и left-to-right, для Edge и Internet Explorer, и обавляем <code>-webkit-appearance: slider-vertical</code> для всех -webkit-based браузеров:</p> +<p>Берем только те инпуты что имеют тип range, меняем writing mode с default на <code>bt-lr</code>, или bottom-to-top и left-to-right, для Edge и Internet Explorer, и добавляем <code>-webkit-appearance: slider-vertical</code> для всех -webkit-based браузеров:</p> <pre class="notranslate">input[type="range"] { writing-mode: bt-lr; diff --git a/files/ru/web/html/element/input/tel/index.html b/files/ru/web/html/element/input/tel/index.html index e13cf8729e..fca5203560 100644 --- a/files/ru/web/html/element/input/tel/index.html +++ b/files/ru/web/html/element/input/tel/index.html @@ -5,7 +5,7 @@ translation_of: Web/HTML/Element/input/tel --- <div>{{HTMLRef}}</div> -<p><span class="seoSummary">{{HTMLElement("input")}} элемент типа <code><strong>tel</strong></code> используется чтобы разрешить пользователю вводить и редактировать номер телефона. В отличии от<code><a href="/en-US/docs/Web/HTML/Element/input/email"><input type="email"></a></code> и <code><a href="/en-US/docs/Web/HTML/Element/input/url"><input type="url"></a></code> , введеное значение не проверяется автоматически по определенном формату, перед тем как форма может быть отправлена , потому что форматы телефонных номеров сильно различаются по всему миру</span></p> +<p><span class="seoSummary">{{HTMLElement("input")}} элемент типа <code><strong>tel</strong></code> используется чтобы разрешить пользователю вводить и редактировать номер телефона. В отличии от<code><a href="/en-US/docs/Web/HTML/Element/input/email"><input type="email"></a></code> и <code><a href="/en-US/docs/Web/HTML/Element/input/url"><input type="url"></a></code> , введенное значение не проверяется автоматически по определенном формату, перед тем как форма может быть отправлена , потому что форматы телефонных номеров сильно различаются по всему миру</span></p> <div>{{EmbedInteractiveExample("pages/tabbed/input-tel.html", "tabbed-standard")}}</div> diff --git a/files/ru/web/html/element/ins/index.html b/files/ru/web/html/element/ins/index.html index 2698c1fbe0..5378c50a55 100644 --- a/files/ru/web/html/element/ins/index.html +++ b/files/ru/web/html/element/ins/index.html @@ -114,7 +114,7 @@ translation_of: Web/HTML/Element/ins <h2 id="Смотрите_также">Смотрите также</h2> <ul> - <li>Элемент {{HTMLElement("del")}} для помечания удаления в документе.</li> + <li>Элемент {{HTMLElement("del")}} для помещения удаления в документе.</li> </ul> <div>{{HTMLRef}}</div> diff --git a/files/ru/web/html/element/kbd/index.html b/files/ru/web/html/element/kbd/index.html index a875abbe96..bcb2759bd5 100644 --- a/files/ru/web/html/element/kbd/index.html +++ b/files/ru/web/html/element/kbd/index.html @@ -3,7 +3,7 @@ title: '<kbd>: Элемент ввода с клавиатуры' slug: Web/HTML/Element/kbd translation_of: Web/HTML/Element/kbd --- -<p><span class="seoSummary"><strong>HTML элемент ввода с клавиатуры</strong> (<strong><code><kbd></code></strong>) указывает на то, что текст внутри элемента описывает пользовательский ввод с клавиатуры, голосовой ввод или ввод с использованием любого другого типа устройств ввода текста.</span> По общему соглашению, {{Glossary("user agent")}} использует моноширный шрифт для отображения содержимого элемента <code><kbd></code> по-умолчанию, хотя это и не указывается HTML стандартом явно.</p> +<p><span class="seoSummary"><strong>HTML элемент ввода с клавиатуры</strong> (<strong><code><kbd></code></strong>) указывает на то, что текст внутри элемента описывает пользовательский ввод с клавиатуры, голосовой ввод или ввод с использованием любого другого типа устройств ввода текста.</span> По общему соглашению, {{Glossary("user agent")}} использует моноширинный шрифт для отображения содержимого элемента <code><kbd></code> по умолчанию, хотя это и не указывается HTML стандартом явно.</p> <p><code><kbd></code> можно использовать в различных комбинациях с {{HTMLElement("samp")}} (Sample Output) элементом для отображения различных форм ввода с клавиатуры или ввода, базирующегося на визуальных сигналах.</p> diff --git a/files/ru/web/html/element/legend/index.html b/files/ru/web/html/element/legend/index.html index 1b9b7eda8e..df9ed96bdc 100644 --- a/files/ru/web/html/element/legend/index.html +++ b/files/ru/web/html/element/legend/index.html @@ -90,6 +90,6 @@ translation_of: Web/HTML/Element/legend <h2 id="Смотрите_также">Смотрите также</h2> <ul> - <li>Другие сзязанные элементы: {{HTMLElement("form")}}, {{HTMLElement("option")}}, {{HTMLElement("label")}}, {{HTMLElement("button")}}, {{HTMLElement("select")}}, {{HTMLElement("datalist")}}, {{HTMLElement("optgroup")}}, {{HTMLElement("fieldset")}}, {{HTMLElement("textarea")}}, {{HTMLElement("keygen")}}, {{HTMLElement("input")}}, {{HTMLElement("output")}}, {{HTMLElement("progress")}} и {{HTMLElement("meter")}}.</li> + <li>Другие связанные элементы: {{HTMLElement("form")}}, {{HTMLElement("option")}}, {{HTMLElement("label")}}, {{HTMLElement("button")}}, {{HTMLElement("select")}}, {{HTMLElement("datalist")}}, {{HTMLElement("optgroup")}}, {{HTMLElement("fieldset")}}, {{HTMLElement("textarea")}}, {{HTMLElement("keygen")}}, {{HTMLElement("input")}}, {{HTMLElement("output")}}, {{HTMLElement("progress")}} и {{HTMLElement("meter")}}.</li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Form_Role">ARIA: Form role</a></li> </ul> diff --git a/files/ru/web/html/element/li/index.html b/files/ru/web/html/element/li/index.html index 93210daadd..a87ea6a2b0 100644 --- a/files/ru/web/html/element/li/index.html +++ b/files/ru/web/html/element/li/index.html @@ -51,8 +51,8 @@ translation_of: Web/HTML/Element/li <dl> <dt>{{htmlattrdef("value")}}</dt> - <dd>Этот числовой атрибут указывает на текущий порядковый номер элемента в списке, заданного с помощью элемента {{HTMLElement("ol")}}. Единственное разрешёное значение этого атрибута — число, даже если список отображается с римскими цифрами или буквами. Элементы списка, которые идут после элемента с таким атрибутом, нумеруются с заданого значения. Атрибут <strong>value</strong> не имеет значения для неупорядоченных списков ({{HTMLElement("ul")}}) или для меню ({{HTMLElement("menu")}}). - <div class="note"><strong>Примечание</strong>: Этот арибут был убран в HTML4, но заново добавлен в HTML5.</div> + <dd>Этот числовой атрибут указывает на текущий порядковый номер элемента в списке, заданного с помощью элемента {{HTMLElement("ol")}}. Единственное разрешенное значение этого атрибута — число, даже если список отображается с римскими цифрами или буквами. Элементы списка, которые идут после элемента с таким атрибутом, нумеруются с заданного значения. Атрибут <strong>value</strong> не имеет значения для неупорядоченных списков ({{HTMLElement("ul")}}) или для меню ({{HTMLElement("menu")}}). + <div class="note"><strong>Примечание</strong>: Этот атрибут был убран в HTML4, но заново добавлен в HTML5.</div> <div class="note"> <p><strong>Примечание:</strong> Предыдущие до {{Gecko("9.0")}}, отрицательные значения неправильно конвертировались в 0. Начиная с {{Gecko("9.0")}} все числовые значения воспринимаются правильно.</p> diff --git a/files/ru/web/html/element/link/index.html b/files/ru/web/html/element/link/index.html index dd70ccce31..9c1a838dcf 100644 --- a/files/ru/web/html/element/link/index.html +++ b/files/ru/web/html/element/link/index.html @@ -21,7 +21,7 @@ original_slug: Web/HTML/Element/ссылка <pre class="brush: html no-line-numbers notranslate"><link href="main.css" rel="stylesheet"></pre> -<p>В этом простом примере указывается путь к таблице стилей внутри атрибута <code>href</code> и атрибут <code>rel</code> со значением <code>stylesheet</code>. <code>rel</code> означает "отношения (relationship)", и, вероятно, является одной из ключевых особенностей элемента <code><link></code> — значение сообщает как указанный элемент связан с содержащим его документом. Как вы увидете в нашем справочнике <a href="/en-US/docs/Web/HTML/Link_types">типы ссылок</a>, есть много различных видов отношений.</p> +<p>В этом простом примере указывается путь к таблице стилей внутри атрибута <code>href</code> и атрибут <code>rel</code> со значением <code>stylesheet</code>. <code>rel</code> означает "отношения (relationship)", и, вероятно, является одной из ключевых особенностей элемента <code><link></code> — значение сообщает как указанный элемент связан с содержащим его документом. Как вы увидите в нашем справочнике <a href="/en-US/docs/Web/HTML/Link_types">типы ссылок</a>, есть много различных видов отношений.</p> <p>Существует ряд других распространенных типов, с которыми вы столкнетесь. Например, ссылка на сайт иконок:</p> @@ -90,7 +90,7 @@ original_slug: Web/HTML/Element/ссылка </div> </dd> <dt>{{HTMLAttrDef("integrity")}} {{Experimental_Inline}}</dt> - <dd>Содержит встроенные метаданные — криптографический хеш-код ресурса(файла) в кодировке base64, который вы сообщаете браузеру для заргузки. Браузер может использовать его для проверки, что загруженный ресурс был получен без неожиданных манипуляций. Смотрите <a href="/en-US/docs/Web/Security/Subresource_Integrity">Subresource Integrity</a>.</dd> + <dd>Содержит встроенные метаданные — криптографический хеш-код ресурса(файла) в кодировке base64, который вы сообщаете браузеру для загрузки. Браузер может использовать его для проверки, что загруженный ресурс был получен без неожиданных манипуляций. Смотрите <a href="/en-US/docs/Web/Security/Subresource_Integrity">Subresource Integrity</a>.</dd> <dt>{{HTMLAttrDef("media")}}</dt> <dd>Этот атрибут указывает медиа, который применяет связываемый ресурс. Его значение должно быть типом медиа или <a href="/en-US/docs/Web/CSS/Media_queries">медиа-запросом</a>. Этот атрибут, в основном, полезен при связывании с внешними таблицами стилей — он позволяет пользовательскому агенту выбрать наиболее подходящее устройство для запуска. <div class="blockIndicator note"> @@ -115,9 +115,9 @@ original_slug: Web/HTML/Element/ссылка <dt>{{HTMLAttrDef("rel")}}</dt> <dd>Этот атрибут определяет отношения связываемого документа и текущего документа. Атрибут должен быть разделенным пробелами списком <a href="/en-US/docs/Web/HTML/Link_types">значений типов ссылки</a>.</dd> <dt>{{HTMLAttrDef("sizes")}}</dt> - <dd>Этот атрибут определяет размеры иконки для визуальных медиа, содержщихся в ресурсе. Он должен быть представлен только, если {{HTMLAttrxRef("rel", "link")}} содержит значение <code>icon</code> или нестандартный тип, например <code>apple-touch-icon</code> Apple. Может иметь следующие значения: + <dd>Этот атрибут определяет размеры иконки для визуальных медиа, содержащихся в ресурсе. Он должен быть представлен только, если {{HTMLAttrxRef("rel", "link")}} содержит значение <code>icon</code> или нестандартный тип, например <code>apple-touch-icon</code> Apple. Может иметь следующие значения: <ul> - <li><code>any</code>, означает, что иконка может быть маштабируема до любого размера, например в векторном формае <code>image/svg+xml</code>.</li> + <li><code>any</code>, означает, что иконка может быть масштабируема до любого размера, например в векторном формате <code>image/svg+xml</code>.</li> <li>пробелоразделенный список размеров, каждый в формате <code><em><width in pixels></em>x<em><height in pixels></em></code> или <code><em><width in pixels></em>X<em><height in pixels></em></code>. Каждый из этих размеров должен содержаться в ресурсе.</li> </ul> diff --git a/files/ru/web/html/element/main/index.html b/files/ru/web/html/element/main/index.html index 44b9b4db78..e3b64bf33d 100644 --- a/files/ru/web/html/element/main/index.html +++ b/files/ru/web/html/element/main/index.html @@ -17,7 +17,7 @@ translation_of: Web/HTML/Element/main <div>{{EmbedInteractiveExample("pages/tabbed/main.html","tabbed-shorter")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> и отправте нам "pull request" (предложение изменения кода в чужом репозитории).</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> и отправьте нам "pull request" (предложение изменения кода в чужом репозитории).</p> <p>Документ не должен иметь более одного элемента <code><main></code> у которого не указан атрибут {{htmlattrxref("hidden")}}.</p> diff --git a/files/ru/web/html/element/meta/index.html b/files/ru/web/html/element/meta/index.html index e22e24ca90..4ce26b0214 100644 --- a/files/ru/web/html/element/meta/index.html +++ b/files/ru/web/html/element/meta/index.html @@ -26,7 +26,7 @@ translation_of: Web/HTML/Element/meta <td><code><meta charset></code>, <code><meta http-equiv></code>: {{HTMLElement("head")}} элемент. Если {{htmlattrxref("http-equiv", "meta")}} это не заявленная декларация, то может быть внутри элемента {{HTMLElement("noscript")}} или {{HTMLElement("head")}}.</td> </tr> <tr> - <th scope="row">Разрешёные роли ARIA</th> + <th scope="row">Разрешенные роли ARIA</th> <td>Отсутствуют</td> </tr> <tr> @@ -70,7 +70,7 @@ translation_of: Web/HTML/Element/meta Нет веских оснований для объявления неточного набора символов.</li> <li><code><meta></code> элемент должен находиться внутри элемента {{HTMLElement("head")}} и задаваться в <strong>1024 первых байтах</strong> HTML страницы, поскольку некоторые браузеры смотрят только эти байты перед выбором кодировки.</li> <li>Этот <code><meta></code> элемент - часть алгоритма, определяющего набор символов (<a href="https://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#encoding-sniffing-algorithm" title="Algorithm charset page">algorithm to determine the character set</a>) страницы, который браузер поддерживает. Заголовок {{HTTPHeader("Content-Type")}} и любые {{Glossary("Byte-Order Mark","Byte-Order Marks")}} элементы переопределяют данный элемент.</li> - <li>Настоятельно рекомендуется определить кодировку символов. Если для страницы не определён набор символов, то некоторые cross-scripting тхнологии могут повредить страницу, например такие как <a class="external" href="https://code.google.com/p/doctype-mirror/wiki/ArticleUtf7">UTF-7 fallback cross-scripting technique</a>. Постоянная установка этого элемента будет защищать Вас от этого риска.</li> + <li>Настоятельно рекомендуется определить кодировку символов. Если для страницы не определён набор символов, то некоторые cross-scripting технологии могут повредить страницу, например такие как <a class="external" href="https://code.google.com/p/doctype-mirror/wiki/ArticleUtf7">UTF-7 fallback cross-scripting technique</a>. Постоянная установка этого элемента будет защищать Вас от этого риска.</li> <li>Этот {{HTMLElement("meta")}} элемент это синоним для pre-HTML5 <code><meta http-equiv="Content-Type" content="text/html; charset=<em>IANAcharset</em>"> </code>где <em><code>IANAcharset</code> </em>соответствует значению эквивалентного {{htmlattrxref("charset", "meta")}} атрибута.<br> Этот синтаксис по-прежнему разрешен, хотя и устарел и больше не рекомендуется.</li> </ul> @@ -92,7 +92,7 @@ translation_of: Web/HTML/Element/meta Поэтому допустимым синтаксисом для его содержимого является литеральная строка '<code>text/html</code>', за которой следует набор символов со следующим синтаксисом: '<code>; charset=</code><em><code>IANAcharset</code></em>' где <code>IANAcharset</code> это предпочтительное<em> MIME имя</em> для набора символов, который определяется как<a class="external" href="https://www.iana.org/assignments/character-sets"> IANA.</a> <div class="note"><strong>Замечания:</strong> <ul> - <li>Не используйте эту прагму, так как она устарела. Используйте атибут{{htmlattrxref("charset", "meta")}} в элементе {{HTMLElement("meta")}} вместо этого.</li> + <li>Не используйте эту прагму, так как она устарела. Используйте атрибут{{htmlattrxref("charset", "meta")}} в элементе {{HTMLElement("meta")}} вместо этого.</li> <li>{{HTMLElement("meta")}} не может быть использована для выбора типа документа в XHTML документе, или в HTML5 документе, за которым следует XHTML синтаксис, никогда не задавайте MIME тип как XHTML MIME. Это будет некорректно.</li> <li>Только HTML документ может использовать контент-тип, так что большинство из них являются неиспользуемыми, поэтому они являются устаревшими и заменяются {{htmlattrxref("charset", "meta")}} атрибутом.</li> </ul> @@ -116,12 +116,12 @@ translation_of: Web/HTML/Element/meta <dt>{{htmlattrdef("name")}}</dt> <dd>Этот атрибут определяет имя уровня документа метаданных. <br> Его не следует устанавливать, если один из атрибутов {{htmlattrxref("itemprop", "meta")}}, {{htmlattrxref("http-equiv", "meta")}} или {{htmlattrxref("charset", "meta")}} также указан в наборе.<br> - Имя этого документального уровня метаданных связано со значением, которое содержится в {{htmlattrxref("content", "meta")}} атрибуте.Допустимые значения для имени элемента, со связанными с ними значениями, хранятся посредтвом {{htmlattrxref("content", "meta")}} атрибута: + Имя этого документального уровня метаданных связано со значением, которое содержится в {{htmlattrxref("content", "meta")}} атрибуте.Допустимые значения для имени элемента, со связанными с ними значениями, хранятся посредством {{htmlattrxref("content", "meta")}} атрибута: <ul> <li><code>application-name</code>, определяет имя веб-приложения, запущенного на веб-странице; <div class="note"><strong>Замечание:</strong> <ul> - <li>Браузеры могут использовать его для идентификации приложения. Он отличается от {{HTMLElement("title")}} элемента, который обычно состоит из имени приложения, но также может содержать специальную информацию, как например име документа или статус;</li> + <li>Браузеры могут использовать его для идентификации приложения. Он отличается от {{HTMLElement("title")}} элемента, который обычно состоит из имени приложения, но также может содержать специальную информацию, как например имя документа или статус;</li> <li>Простые веб-страницы не определяют application-name meta.</li> </ul> </div> @@ -191,7 +191,7 @@ translation_of: Web/HTML/Element/meta </tr> <tr> <td><code>noindex</code></td> - <td>Освобождает робота от идексирования страниц</td> + <td>Освобождает робота от индексирования страниц</td> <td>All</td> </tr> <tr> @@ -206,7 +206,7 @@ translation_of: Web/HTML/Element/meta </tr> <tr> <td><code>none</code></td> - <td>Эквивалетно <code>noindex, nofollow</code></td> + <td>Эквивалентно <code>noindex, nofollow</code></td> <td><a class="external" href="https://support.google.com/webmasters/answer/79812">Google</a></td> </tr> <tr> diff --git a/files/ru/web/html/element/meter/index.html b/files/ru/web/html/element/meter/index.html index 1fdcc828ae..1b7d72d8ad 100644 --- a/files/ru/web/html/element/meter/index.html +++ b/files/ru/web/html/element/meter/index.html @@ -8,7 +8,7 @@ translation_of: Web/HTML/Element/meter --- <div>{{HTMLRef}}</div> -<p><strong>HTML-элемент <code><meter></code> </strong> преставляет собой скалярное значение в пределах известного диапазона или дробного значения.</p> +<p><strong>HTML-элемент <code><meter></code> </strong> представляет собой скалярное значение в пределах известного диапазона или дробного значения.</p> <div>{{EmbedInteractiveExample("pages/tabbed/meter.html", "tabbed-shorter")}}</div> @@ -53,15 +53,15 @@ translation_of: Web/HTML/Element/meter <div class="note"><strong>Примечание по использованию: </strong>Если атрибут <code>value</code> не находится в диапазоне от <code>0</code> до <code>1</code> (включительно), то атрибуты <code>min</code> и <code>max</code> должны определять диапазон, в котором будет находиться значение <code>value</code>.</div> </dd> <dt>{{htmlattrdef("min")}}</dt> - <dd>Нижняя числовая граница измеряемого диапазона. Он должен быть меньше, чем максимальное значение (<code>max</code> атрибут), если указан. Если неопределен, то минимальное значение равно 0.</dd> + <dd>Нижняя числовая граница измеряемого диапазона. Он должен быть меньше, чем максимальное значение (<code>max</code> атрибут), если указан. Если не определен, то минимальное значение равно 0.</dd> <dt>{{htmlattrdef("max")}}</dt> - <dd>Верхняя числовая граница измеряемого диапазона. Он должен быть больше, чем минимальное значение (<code>min</code> атрибут), если указан. Если неопределен, то максимальное значение равно 1.</dd> + <dd>Верхняя числовая граница измеряемого диапазона. Он должен быть больше, чем минимальное значение (<code>min</code> атрибут), если указан. Если не определен, то максимальное значение равно 1.</dd> <dt>{{htmlattrdef("low")}}</dt> <dd>Верхняя числовая граница нижнего предела измеряемого диапазона. Он должен быть больше, чем минимальное значение (<code>min</code> атрибут), а также, меньше, чем значение high и максимальное значение(<code>high</code> атрибут и <code>max</code> атрибут, соответственно), если они указаны. Если не указан или меньше минимального значения, то значение <code>low</code> равно минимальному значению.</dd> <dt>{{htmlattrdef("high")}}</dt> <dd>Нижняя числовая граница верхнего предела измеряемого диапазона. Он должен быть меньше, чем максимальное значение (<code>max</code> атрибут), а также, больше, чем значение low и минимальное значение (<code>low</code> атрибут и <strong>min</strong> атрибут, соответственно), если они указаны. Если не указан или больше максимального значения, то значение <code>high</code> равно максимальному значению.</dd> <dt>{{htmlattrdef("optimum")}}</dt> - <dd>Этот атрибут указывает оптимальное числовое значение. Он должен находиться в пределах диапазона (который определен атрибутами <code>min</code> и <code>max</code>). При использовании с атрибутами <code>low</code> и <code>high</code>, он указывает какая часть дипазона является предпочтительной. Например, если он находится между атрибутами <code>min</code> и <code>low</code>, нижний диапазон является предпочтительным.</dd> + <dd>Этот атрибут указывает оптимальное числовое значение. Он должен находиться в пределах диапазона (который определен атрибутами <code>min</code> и <code>max</code>). При использовании с атрибутами <code>low</code> и <code>high</code>, он указывает какая часть диапазона является предпочтительной. Например, если он находится между атрибутами <code>min</code> и <code>low</code>, нижний диапазон является предпочтительным.</dd> <dt>{{htmlattrdef("form")}}</dt> <dd>Этот атрибут связывает элемент с элементом <code>form</code>, частью которого является элемент <code>meter</code>. Например, <code>meter</code> может отображать диапазон, соответствующий элементу <code>input</code> с <code>type</code> <em>number</em>. Этот атрибут используется только в случае, если элемент <code>meter</code> используется как элемент, связанный с формой; даже в этом случае он может быть опущен, если элемент является потомком элемента <code>form</code>.</dd> </dl> diff --git a/files/ru/web/html/element/ol/index.html b/files/ru/web/html/element/ol/index.html index 8024e608a6..a8a7235f5a 100644 --- a/files/ru/web/html/element/ol/index.html +++ b/files/ru/web/html/element/ol/index.html @@ -63,7 +63,7 @@ translation_of: Web/HTML/Element/ol <li><code>1</code> для цифр (по умолчанию)</li> </ul> - <p>указанный тип используется для всего списка, если только не указан любой другой аттрибут {{HTMLAttrxRef("type", "li")}} в элементе {{HTMLElement("li")}}.</p> + <p>указанный тип используется для всего списка, если только не указан любой другой атрибут {{HTMLAttrxRef("type", "li")}} в элементе {{HTMLElement("li")}}.</p> <div class="blockIndicator note"> <p><strong>Note:</strong> Если тип цифр в списке не имеет значения (к примеру, юридические или технические документы, где элементы обозначены буквами/цифрами), используйте свойство CSS {{CSSxRef("list-style-type")}}.</p> @@ -82,7 +82,7 @@ translation_of: Web/HTML/Element/ol <ul> <li>Инструкции рецепта</li> <li>Направление по заданному маршруту</li> - <li>Список ингридиентов на информации о питании, в убывающих пропорциях.</li> + <li>Список ингредиентов на информации о питании, в убывающих пропорциях.</li> </ul> <p>Чтобы определить, каким списком пользоваться, можно поменять порядок элементов с списке.Если значение меняется, используйте элемент <code><ol></code> — в противном случае {{HTMLElement("ul")}}.</p> diff --git a/files/ru/web/html/element/optgroup/index.html b/files/ru/web/html/element/optgroup/index.html index 7f5ff96cf8..23ead1b83f 100644 --- a/files/ru/web/html/element/optgroup/index.html +++ b/files/ru/web/html/element/optgroup/index.html @@ -42,13 +42,13 @@ translation_of: Web/HTML/Element/optgroup <p>{{Note("Элементы optgroup не могут быть вложенными друг в друга.")}}</p> -<h2 id="Аттрибуты">Аттрибуты</h2> +<h2 id="Атрибуты">Атрибуты</h2> -<p>Элемент <code><optgroup></code> допускает использование <a href="/en-US/docs/Web/HTML/Global_attributes">глобальных аттрибутов</a>.</p> +<p>Элемент <code><optgroup></code> допускает использование <a href="/en-US/docs/Web/HTML/Global_attributes">глобальных атрибутов</a>.</p> <dl> <dt>{{htmlattrdef("disabled")}}</dt> - <dd>Если установить этот аттрибут, опции, находящиеся внутри элемента станут недоступными для выбора. Часто браузеры отображают эти опции серым цветом и игнорируют срабатывающие на них события, таие как события мыши или события получения фокуса.</dd> + <dd>Если установить этот атрибут, опции, находящиеся внутри элемента станут недоступными для выбора. Часто браузеры отображают эти опции серым цветом и игнорируют срабатывающие на них события, такие как события мыши или события получения фокуса.</dd> <dt>{{htmlattrdef("label")}}</dt> <dd>Имя группы, которое будет отображено браузером в выпадающем списке. Этот атрибут обязателен.</dd> </dl> diff --git a/files/ru/web/html/element/output/index.html b/files/ru/web/html/element/output/index.html index 63ba4bb6ff..ffd25be957 100644 --- a/files/ru/web/html/element/output/index.html +++ b/files/ru/web/html/element/output/index.html @@ -15,7 +15,7 @@ translation_of: Web/HTML/Element/output <tbody> <tr> <th scope="row"><a href="/en-US/docs/Web/HTML/Content_categories">Категории контента</a></th> - <td><a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">Потоковый контент</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Phrasing_content">фразовый контент</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Form_listed">перечисляемые</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Form_labelable">лэйбловые</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Form_resettable">сбрасываемые формо-ассоциированные элементы</a>, явный контент.</td> + <td><a href="/en-US/docs/Web/HTML/Content_categories#Flow_content">Потоковый контент</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Phrasing_content">фразовый контент</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Form_listed">перечисляемые</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Form_labelable">лэйбловые</a>, <a href="/en-US/docs/Web/HTML/Content_categories#Form_resettable">сбрасываемые форма-ассоциированные элементы</a>, явный контент.</td> </tr> <tr> <th scope="row">Разрешенный контент</th> diff --git a/files/ru/web/html/element/p/index.html b/files/ru/web/html/element/p/index.html index 74e115173a..f80877bf62 100644 --- a/files/ru/web/html/element/p/index.html +++ b/files/ru/web/html/element/p/index.html @@ -178,7 +178,7 @@ p.pilcrow + p.pilcrow::before { <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице составлена из структурированных данных. Если вы хотите дополнить данные, создайте пулл-реквест (pull request) здесь <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> +<div class="hidden">Таблица совместимости на этой странице составлена из структурированных данных. Если вы хотите дополнить данные, создайте пул-реквест (pull request) здесь <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> <p>{{Compat("html.elements.p")}}</p> diff --git a/files/ru/web/html/element/picture/index.html b/files/ru/web/html/element/picture/index.html index bba3bab963..73934da9de 100644 --- a/files/ru/web/html/element/picture/index.html +++ b/files/ru/web/html/element/picture/index.html @@ -65,7 +65,7 @@ translation_of: Web/HTML/Element/picture <h3 id="Атрибут_type">Атрибут <code>type</code></h3> -<p>Атрибут <code>type</code> позволяет Вам обозначить MIME-тип данных, указанных в атрибуте <code>srcset</code> элемента {{HTMLElement("source")}}. Если браузер не подерживает данный тип, то элемент {{ HTMLElement("source")}} опускается.</p> +<p>Атрибут <code>type</code> позволяет Вам обозначить MIME-тип данных, указанных в атрибуте <code>srcset</code> элемента {{HTMLElement("source")}}. Если браузер не поддерживает данный тип, то элемент {{ HTMLElement("source")}} опускается.</p> <pre class="brush: html"><picture> <source srcset="mdn-logo.svg" type="image/svg+xml"> diff --git a/files/ru/web/html/element/progress/index.html b/files/ru/web/html/element/progress/index.html index 87d221455b..3044cb72c1 100644 --- a/files/ru/web/html/element/progress/index.html +++ b/files/ru/web/html/element/progress/index.html @@ -59,7 +59,7 @@ translation_of: Web/HTML/Element/progress </div> <div class="note"> -<p><strong>Примечение:</strong> Псевдокласс {{ cssxref(":indeterminate") }} может быть использован для работы с неопределенным индикатором выполнения. Чтобы индикатор выполнения стал неопределенным после присвоения ему значения, вы должны удалить атрибут value с помощью <code>element.removeAttribute("value")</code></p> +<p><strong>Примечание:</strong> Псевдокласс {{ cssxref(":indeterminate") }} может быть использован для работы с неопределенным индикатором выполнения. Чтобы индикатор выполнения стал неопределенным после присвоения ему значения, вы должны удалить атрибут value с помощью <code>element.removeAttribute("value")</code></p> </div> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/html/element/script/index.html b/files/ru/web/html/element/script/index.html index 5f03eb7943..7febc40d50 100644 --- a/files/ru/web/html/element/script/index.html +++ b/files/ru/web/html/element/script/index.html @@ -76,7 +76,7 @@ translation_of: Web/HTML/Element/script <dl> <dd>Чтобы достигнуть такого же эффекта для динамически вставленных скриптов используйте <code>async=false.</code></dd> - <dd>Cкрипты с атрибутом <code>{{htmlattrdef("defer")}}</code> будут выполняться в том порядке, в котором они появились при разборе документа.</dd> + <dd>Скрипты с атрибутом <code>{{htmlattrdef("defer")}}</code> будут выполняться в том порядке, в котором они появились при разборе документа.</dd> </dl> <dl> diff --git a/files/ru/web/html/element/select/index.html b/files/ru/web/html/element/select/index.html index 77c08dac62..53b0bc2509 100644 --- a/files/ru/web/html/element/select/index.html +++ b/files/ru/web/html/element/select/index.html @@ -20,7 +20,7 @@ translation_of: Web/HTML/Element/select <td>Открывающий и закрывающий теги обязательны.</td> </tr> <tr> - <th scope="row">Допустимие родительские элементы</th> + <th scope="row">Допустимые родительские элементы</th> <td>Любые элементы в которых разрешено текстовое содержимое</td> </tr> <tr> @@ -52,7 +52,7 @@ translation_of: Web/HTML/Element/select <dt>{{htmlattrdef("required")}} {{HTMLVersionInline("5")}}</dt> <dd>Этот логический атрибут указывает что обязательно должна быть выбрана опция и которая содержит не пустую строку.</dd> <dt>{{htmlattrdef("size")}}</dt> - <dd>Если элемент управления представлен как прокручаваемый список, этот атрибут указывает количество строк в списке, которые должны быть видны за раз. Браузеру не требуется представлять <select> в виде прокручеваемого списка. Значение по умолчанию 0.</dd> + <dd>Если элемент управления представлен как прокручиваемый список, этот атрибут указывает количество строк в списке, которые должны быть видны за раз. Браузеру не требуется представлять <select> в виде прокручиваемого списка. Значение по умолчанию 0.</dd> </dl> <div class="note"><strong>Примечания Firefox:</strong> Согласно спецификации HTML5, значение размера по умолчанию должно быть 1; однако на практике, оказывается что это портит некоторые веб сайты, и ни один браузер не придерживается этого на данный момент, поэтому Mozilla предпочла также указать 0 пока что в Firefox.</div> @@ -82,7 +82,7 @@ translation_of: Web/HTML/Element/select <tr> <th scope="col">Спецификации</th> <th scope="col">Статус</th> - <th scope="col">Коментарии</th> + <th scope="col">Комментарии</th> </tr> </thead> <tbody> diff --git a/files/ru/web/html/element/slot/index.html b/files/ru/web/html/element/slot/index.html index 10e39b72a4..c87c67b648 100644 --- a/files/ru/web/html/element/slot/index.html +++ b/files/ru/web/html/element/slot/index.html @@ -47,7 +47,7 @@ translation_of: Web/HTML/Element/slot <dl> <dt>{{htmlattrdef("name")}}</dt> <dd>Название слота.</dd> - <dd><dfn><strong>Именованый слот</strong></dfn> это элемент <code><slot></code> с атрибутом<code> name</code>.</dd> + <dd><dfn><strong>Именованный слот</strong></dfn> это элемент <code><slot></code> с атрибутом<code> name</code>.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/html/element/source/index.html b/files/ru/web/html/element/source/index.html index 847326d6b2..45b22066ba 100644 --- a/files/ru/web/html/element/source/index.html +++ b/files/ru/web/html/element/source/index.html @@ -45,7 +45,7 @@ translation_of: Web/HTML/Element/source <ol> <li>адреса изображения (URL);</li> <li>дескриптора ширины, представляющего собой целое положительное число, за которым следует <code>'w'</code>. Значением по умолчанию, если оно отсутствует, является бесконечность.</li> - <li>дескриптора плотности пикселей, представляющее собой положительное десятичное число, за которым следует <code>'x'</code>. Значением по умолчанию, если оно остутствует, является <code>1x</code>.</li> + <li>дескриптора плотности пикселей, представляющее собой положительное десятичное число, за которым следует <code>'x'</code>. Значением по умолчанию, если оно отсутствует, является <code>1x</code>.</li> </ol> <dl> @@ -63,7 +63,7 @@ translation_of: Web/HTML/Element/source <p>Атрибут <code>srcset</code> работает только в том случае, когда элемент {{HTMLElement("source")}} находится внутри элемента {{HTMLElement("picture")}}.</p> </dd> <dt>{{htmlattrdef("type")}}</dt> - <dd>MIME-тип ресурса, опцинально содержащий параметр <code>codecs</code>. Для получения полной информации по указанию кодеков смотрите <a class="external" href="https://tools.ietf.org/html/rfc4281">RFC 4281</a>. </dd> + <dd>MIME-тип ресурса, опционально содержащий параметр <code>codecs</code>. Для получения полной информации по указанию кодеков смотрите <a class="external" href="https://tools.ietf.org/html/rfc4281">RFC 4281</a>. </dd> <dt>{{htmlattrdef("media")}} {{experimental_inline}}</dt> <dd>Определяет <a class="internal" href="/en-US/docs/CSS/Media_queries">медиа-запрос</a> , согласно которому будет выводиться изображение. Работает только в элементе {{HTMLElement("picture")}}.</dd> </dl> diff --git a/files/ru/web/html/element/strong/index.html b/files/ru/web/html/element/strong/index.html index a1fffd37c6..28010968a3 100644 --- a/files/ru/web/html/element/strong/index.html +++ b/files/ru/web/html/element/strong/index.html @@ -51,7 +51,7 @@ translation_of: Web/HTML/Element/strong <p>Элемент <code><strong></code> предназначен для контента, который имеет "большое значение", включая вещи большой серьезности или срочности (например, предупреждения). Это может быть предложение, которое имеет большое значение для всей страницы, или вы можете просто попытаться указать, что некоторые слова имеют большее значение по сравнению с соседним контентом.</p> -<p>Обычно этот элемент отображается по умолчанию с использованием жирного шрифта. Однако, он не должен быть использован просто для применения жирного стиля; используйте свойсто CSS {{cssxref("font-weight")}} для этой цели. Используйте элемент {{HTMLElement("b")}}, чтобы привлечь внимание к определенному тексту без указания более высокого уровня важности. Испоьзуйте элемент {{HTMLElement("em")}} element для выделения текста, который имеет выраженный акцент.</p> +<p>Обычно этот элемент отображается по умолчанию с использованием жирного шрифта. Однако, он не должен быть использован просто для применения жирного стиля; используйте свойство CSS {{cssxref("font-weight")}} для этой цели. Используйте элемент {{HTMLElement("b")}}, чтобы привлечь внимание к определенному тексту без указания более высокого уровня важности. Используйте элемент {{HTMLElement("em")}} element для выделения текста, который имеет выраженный акцент.</p> <p>Другим приемлемым использованием для <code><strong></code> является обозначение ярлыков абзацев, которые представляют заметки или предупреждения в тексте страницы.</p> @@ -69,7 +69,7 @@ translation_of: Web/HTML/Element/strong <p>Добавление к путанице заключается в том, что, хотя HTML 4 определяет <code><strong></code> как просто указывающий на более сильный акцент, HTML 5 определяет <code><strong></code> как представляющий "большое значение для его содержимого". Это важное различие.</p> -<p>В то время, как <code><em></code> используется для изменения значения предложения, поскольку делается устный акцент ("Я <em>люблю</em> морковь" против "Я люблю<em>морковь</em>"), <code><strong></code> используется, для придания предложению порции особого значения (например, "<strong>Предупреждение!</strong> Это <strong>очень опасно.</strong>") Оба элемента <code><strong></code> и <code><em></code> могут быть вложены для увеличения относительной степени важности или усиленого акцента, соответственно.</p> +<p>В то время, как <code><em></code> используется для изменения значения предложения, поскольку делается устный акцент ("Я <em>люблю</em> морковь" против "Я люблю<em>морковь</em>"), <code><strong></code> используется, для придания предложению порции особого значения (например, "<strong>Предупреждение!</strong> Это <strong>очень опасно.</strong>") Оба элемента <code><strong></code> и <code><em></code> могут быть вложены для увеличения относительной степени важности или усиленного акцента, соответственно.</p> <h2 id="Примеры">Примеры</h2> @@ -120,7 +120,7 @@ translation_of: Web/HTML/Element/strong <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправьте нам пулл-реквест.</div> +<div class="hidden">Таблица совместимости на этой странице создается из структурированных данных. Если вы хотите внести свой вклад в данные, ознакомьтесь с https://github.com/mdn/browser-compat-data и отправьте нам пул-реквест.</div> <p>{{Compat("html.elements.strong")}}</p> diff --git a/files/ru/web/html/element/td/index.html b/files/ru/web/html/element/td/index.html index b32c32037d..13adb17b58 100644 --- a/files/ru/web/html/element/td/index.html +++ b/files/ru/web/html/element/td/index.html @@ -41,14 +41,14 @@ translation_of: Web/HTML/Element/td <dl> <dt>{{htmlattrdef("abbr")}} {{obsolete_inline("html5")}}</dt> - <dd>Этот аргумент содержит краткое описание содержимого в ячейке. Некотрые устройства для чтения могут подставлять это описание перед самим содержимым ячейки. + <dd>Этот аргумент содержит краткое описание содержимого в ячейке. Некоторые устройства для чтения могут подставлять это описание перед самим содержимым ячейки. <div class="note"><strong>Примечание: </strong>Не используйте этот атрибут, поскольку он устарел в последнем стандарте. Вместо этого рассмотрите возможность использования атрибута <strong>title</strong>.</div> </dd> <dt>{{htmlattrdef("align")}} {{Deprecated_inline("html4.01")}}, {{obsolete_inline("html5")}}</dt> <dd>Это перечисляемый атрибут указывает каким будет горизонтальное выравнивание содержимого каждой ячейки. Возможные значения: <ul> <li><code>left</code>, выравнивание содержимого слева ячейки</li> - <li><code>center</code>, центрирвание контента в ячейке</li> + <li><code>center</code>, центрирование контента в ячейке</li> <li><code>right</code>, выравнивание контента справа ячейки</li> <li><code>justify</code>, вставляет пробелы в текстовое содержимое ячейки, чтобы содержимое заняло ячейку</li> <li><code>char</code>, выравнивает текстовое содержимое по заданному символу с минимальным смещением, определяется атрибутами {{htmlattrxref("char", "td")}} и {{htmlattrxref("charoff", "td")}} {{unimplemented_inline(2212)}}.</li> @@ -60,7 +60,7 @@ translation_of: Web/HTML/Element/td <ul> <li>Чтобы добиться такого же эффекта как при <code>left</code>, <code>center</code>, <code>right</code> или <code>justify</code> значениях, используйте их как параметры CSS свойства {{cssxref("text-align")}}.</li> - <li>Чтобы добиться эффеккта как <code>char</code> значение в CSS3, вы можете использовать значение {{htmlattrxref("char", "td")}} как значение свойства {{cssxref("text-align")}} {{unimplemented_inline}}.</li> + <li>Чтобы добиться эффекта как <code>char</code> значение в CSS3, вы можете использовать значение {{htmlattrxref("char", "td")}} как значение свойства {{cssxref("text-align")}} {{unimplemented_inline}}.</li> </ul> </div> </dd> @@ -72,7 +72,7 @@ translation_of: Web/HTML/Element/td <div class="note"><strong>Примечание: </strong>Не используйте этот атрибут, он устарел в последней версии стандарта: вместо этого используйте атрибут {{htmlattrxref("scope", "td")}}.</div> </dd> <dt>{{htmlattrdef("bgcolor")}} {{Non-standard_inline}}</dt> - <dd>Этот атрибут определяет цвет фона ячейки. Значением задается 6-значными шестнадцатиричными кодами как определено в <a href="https://www.w3.org/Graphics/Color/sRGB">sRGB</a>, с префиксом '#'. Можно также использовать предопределенные цветовые строки, например: + <dd>Этот атрибут определяет цвет фона ячейки. Значением задается 6-значными шестнадцатеричными кодами как определено в <a href="https://www.w3.org/Graphics/Color/sRGB">sRGB</a>, с префиксом '#'. Можно также использовать предопределенные цветовые строки, например: <table style="width: 80%;"> <tbody> <tr> @@ -126,14 +126,14 @@ translation_of: Web/HTML/Element/td </tbody> </table> - <div class="note"><strong>Примечание использования:</strong> Не ипользуйте этот атрибут, поскольку он нестандартный: элемент {{HTMLElement("td")}} должен быть стилизован с помощью <a href="/en-US/docs/CSS">CSS</a>. Чтобы получить аналогичный эффект как атрибут <strong>bgcolor</strong>, используйте <a href="/en-US/docs/Web/CSS">CSS</a> свойство {{cssxref("background-color")}}.</div> + <div class="note"><strong>Примечание использования:</strong> Не используйте этот атрибут, поскольку он нестандартный: элемент {{HTMLElement("td")}} должен быть стилизован с помощью <a href="/en-US/docs/CSS">CSS</a>. Чтобы получить аналогичный эффект как атрибут <strong>bgcolor</strong>, используйте <a href="/en-US/docs/Web/CSS">CSS</a> свойство {{cssxref("background-color")}}.</div> </dd> </dl> <dl> <dt>{{htmlattrdef("char")}} {{Deprecated_inline("html4.01")}}, {{obsolete_inline("html5")}}</dt> - <dd>Этот атрибут используется для определения символа по которому происходит выравнивание в ячейке. Типичный случай когда для него задают значение периода (.) когда необходимо выровнять числовые или денежные значеия. Если {{htmlattrxref("align", "td")}} не задан. то атрибут <code>char</code> игнорируется. - <div class="note"><strong>Примечание: </strong>Не используйте этот атрибут, тк он устарел (и больше не поддерживется) в последней версии стандарта. Достигнуть такого же эффекта как от {{htmlattrxref("char", "thead")}}, в CSS3 вы можете you can use the character set using the {{htmlattrxref("char", "th")}} attribute as the value of the {{cssxref("text-align")}} property {{unimplemented_inline}}.</div> + <dd>Этот атрибут используется для определения символа по которому происходит выравнивание в ячейке. Типичный случай когда для него задают значение периода (.) когда необходимо выровнять числовые или денежные значения. Если {{htmlattrxref("align", "td")}} не задан. то атрибут <code>char</code> игнорируется. + <div class="note"><strong>Примечание: </strong>Не используйте этот атрибут, тк он устарел (и больше не поддерживается) в последней версии стандарта. Достигнуть такого же эффекта как от {{htmlattrxref("char", "thead")}}, в CSS3 вы можете you can use the character set using the {{htmlattrxref("char", "th")}} attribute as the value of the {{cssxref("text-align")}} property {{unimplemented_inline}}.</div> </dd> <dt>{{htmlattrdef("charoff")}} {{Deprecated_inline("html4.01")}}, {{obsolete_inline("html5")}}</dt> <dd>Этот атрибут атрибут включает количество символов на которое смещаются при выравнивании данные от установленного <strong>char</strong> атрибута. @@ -144,7 +144,7 @@ translation_of: Web/HTML/Element/td <dt>{{htmlattrdef("headers")}}</dt> <dd>Этот атрибут содержит список срок разделенных пробелами, каждая соответствует <strong>id</strong> атрибуту {{HTMLElement("th")}} элементов которые использует этот элемент.</dd> <dt>{{htmlattrdef("rowspan")}}</dt> - <dd>Этот атрибут содержит положительное целое число указывающее какое количество строк необходимо объеденить. По умолчанию значение равно<code>1</code>; Если его значение <code>0</code>, тогда его действие распространяется до конца табличной секции ({{HTMLElement("thead")}}, {{HTMLElement("tbody")}}, {{HTMLElement("tfoot")}}, даже если неявно определено чему ячейка принадлежит. Значения выше 65534 сокращаются до 65534.</dd> + <dd>Этот атрибут содержит положительное целое число указывающее какое количество строк необходимо объединить. По умолчанию значение равно<code>1</code>; Если его значение <code>0</code>, тогда его действие распространяется до конца табличной секции ({{HTMLElement("thead")}}, {{HTMLElement("tbody")}}, {{HTMLElement("tfoot")}}, даже если неявно определено чему ячейка принадлежит. Значения выше 65534 сокращаются до 65534.</dd> <dt>{{htmlattrdef("scope")}} {{obsolete_inline("html5")}}</dt> <dd> </dd> <dt>{{htmlattrdef("valign")}} {{Deprecated_inline("html4.01")}}, {{obsolete_inline("html5")}}</dt> diff --git a/files/ru/web/html/element/tfoot/index.html b/files/ru/web/html/element/tfoot/index.html index 3f5d5fbf5c..c23f18e84c 100644 --- a/files/ru/web/html/element/tfoot/index.html +++ b/files/ru/web/html/element/tfoot/index.html @@ -49,10 +49,10 @@ translation_of: Web/HTML/Element/tfoot <li><span style="font-family: courier new;">center</span>, выравнивание содержимого по центру ячейки</li> <li><span style="font-family: courier new;">right</span>, выравнивание содержимого по правому краю ячейки</li> <li><span style="font-family: courier new;">justify</span>, выравнивание по ширине ячейки: добавление пробелов к тексту содержимого ячейки до тех пор, пока содержимое не выровняется от одного края ячейки до другого</li> - <li><span style="font-family: courier new;">char</span>, выравнивание текстового содержимого по специальному символу с минимальным смещением, определенным {{ htmlattrxref("char", "tbody") }} и {{ htmlattrxref("charoff", "tbody") }} аттрибутами {{ unimplemented_inline("2212") }}.</li> + <li><span style="font-family: courier new;">char</span>, выравнивание текстового содержимого по специальному символу с минимальным смещением, определенным {{ htmlattrxref("char", "tbody") }} и {{ htmlattrxref("charoff", "tbody") }} атрибутами {{ unimplemented_inline("2212") }}.</li> </ul> - <p>Если этот аттрибут не задан, то значением по умолчанию является <span style="font-family: courier new;">left</span>.</p> + <p>Если этот атрибут не задан, то значением по умолчанию является <span style="font-family: courier new;">left</span>.</p> <div class="note"><strong>Note: </strong>Do not use this attribute as it is obsolete (not supported) in the latest standard. @@ -66,7 +66,7 @@ translation_of: Web/HTML/Element/tfoot <dl> <dt>{{ htmlattrdef("bgcolor") }} {{ Non-standard_inline() }}</dt> - <dd>Этот атрибут определяет цвет фона каждой ячейки столбца. Это один из 6-ти значного шеснадцатиричного кода определенного в <a class="external" href="http://www.w3.org/Graphics/Color/sRGB" title="http://www.w3.org/Graphics/Color/sRGB">sRGB</a>, предваряется '#'. Может быть использован один из шестнадцати предопределенных строк: + <dd>Этот атрибут определяет цвет фона каждой ячейки столбца. Это один из 6-ти значного шестнадцатеричного кода определенного в <a class="external" href="http://www.w3.org/Graphics/Color/sRGB" title="http://www.w3.org/Graphics/Color/sRGB">sRGB</a>, предваряется '#'. Может быть использован один из шестнадцати предопределенных строк: <table style="width: 80%;"> <tbody> <tr> diff --git a/files/ru/web/html/element/u/index.html b/files/ru/web/html/element/u/index.html index 814e23532f..a5df007d21 100644 --- a/files/ru/web/html/element/u/index.html +++ b/files/ru/web/html/element/u/index.html @@ -46,7 +46,7 @@ translation_of: Web/HTML/Element/u </tbody> </table> -<h2 id="Аттрибуты">Аттрибуты</h2> +<h2 id="Атрибуты">Атрибуты</h2> <p>This element only includes the <a href="/en-US/docs/Web/HTML/Global_attributes">global attributes</a>.</p> diff --git a/files/ru/web/html/element/ul/index.html b/files/ru/web/html/element/ul/index.html index 08d5c01b00..65cd81e8f6 100644 --- a/files/ru/web/html/element/ul/index.html +++ b/files/ru/web/html/element/ul/index.html @@ -54,7 +54,7 @@ translation_of: Web/HTML/Element/ul <dl> <dt>{{ htmlattrdef("type") }} {{Deprecated_inline}}</dt> - <dd>Этот атрибут добавляет маркеры (bullets) в список. Значения установлены под <a href="/en-US/docs/HTML3.2">HTML3.2</a> и переходными на <a href="/en-US/docs/HTML4.01">HTML 4.0/4.01</a> явлются: + <dd>Этот атрибут добавляет маркеры (bullets) в список. Значения установлены под <a href="/en-US/docs/HTML3.2">HTML3.2</a> и переходными на <a href="/en-US/docs/HTML4.01">HTML 4.0/4.01</a> являются: <ul> <li><code>circle</code></li> <li><code>disc</code></li> @@ -63,16 +63,16 @@ translation_of: Web/HTML/Element/ul <p>Четвёртый маркер задан в интерфейсе WebTV, но не все браузеры смогут его отобразить: <code>triangle</code>.</p> - <p>Если данный атрибут отсутсвует и если атрибут <a href="/en-US/docs/CSS">CSS</a> {{ cssxref("list-style-type") }} не присвоен к данному элементу, пользовательский агент (user agent) выберет маркер в зависимости от вложенного уровня в списке.</p> + <p>Если данный атрибут отсутствует и если атрибут <a href="/en-US/docs/CSS">CSS</a> {{ cssxref("list-style-type") }} не присвоен к данному элементу, пользовательский агент (user agent) выберет маркер в зависимости от вложенного уровня в списке.</p> - <div class="warning"><strong>Предупреждение:</strong> Не используйте атот атрибут, ибо он устаревший; используйте свойство <a href="/en-US/docs/Web/CSS">CSS</a> {{ cssxref("list-style-type") }}.</div> + <div class="warning"><strong>Предупреждение:</strong> Не используйте этот атрибут, ибо он устаревший; используйте свойство <a href="/en-US/docs/Web/CSS">CSS</a> {{ cssxref("list-style-type") }}.</div> </dd> </dl> <h2 id="Заметки_об_использовании">Заметки об использовании</h2> <ul> - <li>Элемент <code><ul></code> используется для группировки непронумерованных элементов данных, и их последовательность в списке не нужна. Что характерно, неупорядочные списки используют маркеры, которые могут быть разных форм (в форме точки, круга или прямоугольной формы). Стиль задаётся не в HTML, а со связанным с ним CSS, используя свойство {{ cssxref("list-style-type") }}.</li> + <li>Элемент <code><ul></code> используется для группировки непронумерованных элементов данных, и их последовательность в списке не нужна. Что характерно, непорядочные списки используют маркеры, которые могут быть разных форм (в форме точки, круга или прямоугольной формы). Стиль задаётся не в HTML, а со связанным с ним CSS, используя свойство {{ cssxref("list-style-type") }}.</li> <li>Элементы <code><ul></code> и {{HTMLElement("ol")}} могут быть вложены на любом уровне. Более того, вложенные списки могут чередоваться между <code><ol></code> и <code><ul></code> без ограничений.</li> <li>Элементы {{ HTMLElement("ol") }} и <code><ul></code> используются для списков. Различие лишь в том, что в элементе {{ HTMLElement("ol") }} порядок имеет значение. Согласно эмпирической закономерности (или правилу большого пальца), чтобы определить, какую маркировку использовать, попробуйте поменять порядок элементов в списке. Если суть списка меняется, то тогда подойдёт элемент {{ HTMLElement("ol") }}, в противном случае используйте <code><ul></code>.</li> </ul> diff --git a/files/ru/web/html/element/video/index.html b/files/ru/web/html/element/video/index.html index f3235438bb..ba4dfabd2f 100644 --- a/files/ru/web/html/element/video/index.html +++ b/files/ru/web/html/element/video/index.html @@ -78,7 +78,7 @@ translation_of: Web/HTML/Element/video <li><em>пустая строка</em>: синоним значения <code>auto</code>.</li> </ul> - <p>Если не задано, значение атрибута определяется бразуером по умолчанию (то есть, каждый браузер имеет по умолчанию значение данного атрибута). Спецификация рекомендует использовать <code>metadata</code>.</p> + <p>Если не задано, значение атрибута определяется браузером по умолчанию (то есть, каждый браузер имеет по умолчанию значение данного атрибута). Спецификация рекомендует использовать <code>metadata</code>.</p> <div class="note"><strong>Usage notes:</strong> diff --git a/files/ru/web/html/element/wbr/index.html b/files/ru/web/html/element/wbr/index.html index 73406f47fd..85e6e5c732 100644 --- a/files/ru/web/html/element/wbr/index.html +++ b/files/ru/web/html/element/wbr/index.html @@ -18,7 +18,7 @@ translation_of: Web/HTML/Element/wbr <td><strong><a href="/en-US/docs/Web/Guide/HTML/Content_categories#Flow_content">Основной поток</a>, <a href="/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content">фразовый контент</a>.</strong></td> </tr> <tr> - <th scope="row"><strong>Разрешенное сожержимое</strong></th> + <th scope="row"><strong>Разрешенное содержимое</strong></th> <td><strong>Отсутствует</strong></td> </tr> <tr> @@ -54,7 +54,7 @@ translation_of: Web/HTML/Element/wbr <h2 id="Пример"><strong>Пример</strong></h2> -<p><a href="https://web.archive.org/web/20121105171040/http://styleguide.yahoo.com/">Руководство по стилю Yahoo</a> рекомендует <a href="https://web.archive.org/web/20121105171040/http://styleguide.yahoo.com/editing/treat-abbreviations-capitalization-and-titles-consistently/website-names-and-addresses">рабивать URL перед пунктуацией</a>, чтобы не оставлять знаки припинания в конце строки, которые читатель может ошибочно принять за конец URL.<strong> </strong></p> +<p><a href="https://web.archive.org/web/20121105171040/http://styleguide.yahoo.com/">Руководство по стилю Yahoo</a> рекомендует <a href="https://web.archive.org/web/20121105171040/http://styleguide.yahoo.com/editing/treat-abbreviations-capitalization-and-titles-consistently/website-names-and-addresses">разбивать URL перед пунктуацией</a>, чтобы не оставлять знаки препинания в конце строки, которые читатель может ошибочно принять за конец URL.<strong> </strong></p> <pre class="brush: html notranslate"><strong><p>http://this<wbr>.is<wbr>.a<wbr>.really<wbr>.long<wbr>.example<wbr>.com/With<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages</p> </strong></pre> diff --git a/files/ru/web/html/global_attributes/accesskey/index.html b/files/ru/web/html/global_attributes/accesskey/index.html index 209d8b95e5..3f1ef4a77e 100644 --- a/files/ru/web/html/global_attributes/accesskey/index.html +++ b/files/ru/web/html/global_attributes/accesskey/index.html @@ -63,7 +63,7 @@ translation_of: Web/HTML/Global_attributes/accesskey </tbody> </table> -<p>Обратите внимание, что в Firefox пользоватеть может настроить свой модификатор активации.</p> +<p>Обратите внимание, что в Firefox пользователь может настроить свой модификатор активации.</p> <h2 id="Проблемы_с_доступностью">Проблемы с доступностью</h2> @@ -72,7 +72,7 @@ translation_of: Web/HTML/Global_attributes/accesskey <ul> <li>Значение атрибута <code>accesskey</code> может конфликтовать с комбинациями клавиш системы, браузера или вспомогательными инструментами доступности.</li> <li>Определённые значения атрибута <code>accesskey</code> могут отсутствовать на некоторых клавиатурах. Это особенно сильно проявляется, если вы используете язык отличный от английского.</li> - <li>Числовые значения атрибута могут <code>accesskey</code> затруднить работу с сайтом для людей с растройствами мышления. Например, когда числовые значения не имеют логической связи со связанным элементом.</li> + <li>Числовые значения атрибута могут <code>accesskey</code> затруднить работу с сайтом для людей с расстройствами мышления. Например, когда числовые значения не имеют логической связи со связанным элементом.</li> <li>Не существует стандартизированного способа информировать пользователя о наличии атрибута <code>accesskey</code> на элементе. Неинформированный пользователь может случайно активировать элемент с атрибутом <code>accesskey</code>.</li> </ul> diff --git a/files/ru/web/html/global_attributes/class/index.html b/files/ru/web/html/global_attributes/class/index.html index 644e281562..08824dc4c9 100644 --- a/files/ru/web/html/global_attributes/class/index.html +++ b/files/ru/web/html/global_attributes/class/index.html @@ -5,7 +5,7 @@ translation_of: Web/HTML/Global_attributes/class --- <div>{{HTMLSidebar("Global_attributes")}}</div> -<p><span class="seoSummary"><a href="/ru/docs/Web/HTML/Global_attributes">Глобальный атрибут</a> <code><strong>class</strong></code> это разделенный пробелом список регистро зависимых классов элемента. Классы позволяют CSS и Javascript выбирать и получать доступ с помощью <a href="/ru/docs/Web/CSS/Class_selectors">селекторов класса</a> или функций, таких как методы DOM {{domxref("document.getElementsByClassName")}}.</span></p> +<p><span class="seoSummary"><a href="/ru/docs/Web/HTML/Global_attributes">Глобальный атрибут</a> <code><strong>class</strong></code> это разделенный пробелом список регистров зависимых классов элемента. Классы позволяют CSS и Javascript выбирать и получать доступ с помощью <a href="/ru/docs/Web/CSS/Class_selectors">селекторов класса</a> или функций, таких как методы DOM {{domxref("document.getElementsByClassName")}}.</span></p> <div>{{EmbedInteractiveExample("pages/tabbed/attribute-class.html","tabbed-standard")}}</div> diff --git a/files/ru/web/html/global_attributes/id/index.html b/files/ru/web/html/global_attributes/id/index.html index 273036614b..11ec8acfa3 100644 --- a/files/ru/web/html/global_attributes/id/index.html +++ b/files/ru/web/html/global_attributes/id/index.html @@ -13,7 +13,7 @@ translation_of: Web/HTML/Global_attributes/id <div>{{EmbedInteractiveExample("pages/tabbed/attribute-id.html","tabbed-shorter")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> и отправте нам "pull request" (предложение изменения кода в чужом репозитории).</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a> и отправьте нам "pull request" (предложение изменения кода в чужом репозитории).</p> <p>Значение этого атрибута "непрозрачная" строка: это означает, что веб-автор не должен использовать его для передачи какой-либо информации. Особое значение, например семантическое, получать из этой строки не надо.</p> diff --git a/files/ru/web/html/global_attributes/index.html b/files/ru/web/html/global_attributes/index.html index 3e61730d7c..67c599c6a9 100644 --- a/files/ru/web/html/global_attributes/index.html +++ b/files/ru/web/html/global_attributes/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTML/Global_attributes <p><strong>Глобальные атрибуты </strong>—<strong> это атрибуты общие для всех HTML элементов</strong>; они могут использоваться всеми элементами, хотя на некоторые элементы могут не оказывать влияния.</p> </div> -<p>Глобальные атрибуты могут быть указаны для любых <a href="/ru/docs/Web/HTML/Element">элементов HTML</a>, <em>даже для тех, которые не указаны в стандарте.</em> Это значит, что все нестандартные элементы должны допускать эти атрибуты, даже если использование этих элементов означает, что документ больше не является HTML5-совместимым. Например, HTML5-совместимые бразузеры скрывают содержимое, помеченное как <code><foo hidden>...<foo></code><code>, хотя </code><code><foo></code> не является верным HTML элементом.</p> +<p>Глобальные атрибуты могут быть указаны для любых <a href="/ru/docs/Web/HTML/Element">элементов HTML</a>, <em>даже для тех, которые не указаны в стандарте.</em> Это значит, что все нестандартные элементы должны допускать эти атрибуты, даже если использование этих элементов означает, что документ больше не является HTML5-совместимым. Например, HTML5-совместимые браузеры скрывают содержимое, помеченное как <code><foo hidden>...<foo></code><code>, хотя </code><code><foo></code> не является верным HTML элементом.</p> <p>В дополнение к <em>основным </em>для HTML глобальным атрибутам, также существуют следующие глобальные атрибуты:</p> @@ -27,10 +27,10 @@ translation_of: Web/HTML/Global_attributes <dt id="attr-class"><code><a href="/ru/docs/Web/HTML/Global_attributes/class">class</a></code></dt> <dd>Это список разделенных пробелами классов элемента. Классы позволяют CSS и JavaScript выбирать и получать доступ к конкретным элементам через <a href="/ru/docs/Web/CSS/Class_selectors" title="В HTML документе, селекторы по CSS классу находят элементы с нужным классом.">селекторы по классу</a> или через функции, такие как метод {{domxref("Document.getElementsByClassName()")}}.</dd> <dt id="attr-contenteditable"><code><a href="/ru/docs/Web/HTML/Global_attributes/contenteditable">contenteditable</a></code></dt> - <dd>Это перечислимый атрибут, указывающий, нужно ли предоставить пользователю возможность редактировать элемент. Если это так, браузер изменит свой виджет таким образом, чтобы позволить редактирование. Атрибут должен принимать одно из следующих значений: + <dd>Это перечислимый атрибут, указывающий, нужно ли предоставить пользователю возможность редактировать ээлемент. Если это так, браузер изменит свой виджет таким образом, чтобы позволить редактирование. Атрибут должен принимать одно из следующих значений: <ul> - <li><code>true</code> или <em>пустая строка</em>, указывает, что элемент должен быть редактируемым;</li> - <li><code>false</code>, указывает, что элемент не должен быть редактируемым.</li> + <li><code>true</code> или <em>пустая строка</em>, указывает, что ээлемент должен быть редактируемым;</li> + <li><code>false</code>, указывает, что ээлемент не должен быть редактируемым.</li> </ul> </dd> <dt id="attr-contextmenu"><code><a href="/ru/docs/Web/HTML/Global_attributes/contextmenu">contextmenu</a></code></dt> @@ -46,24 +46,24 @@ translation_of: Web/HTML/Global_attributes </ul> </dd> <dt id="attr-draggable"><code><a href="/ru/docs/Web/HTML/Global_attributes/draggable">draggable</a></code> {{experimental_inline}}</dt> - <dd>Это перечислимый атрибут, указывающий, можно ли перетаскивать элемент используя <a href="/ru/docs/Web/Guide/HTML/Drag_and_drop">Drag and Drop API</a>. Он может иметь одно из следующих значений: + <dd>Это перечислимый атрибут, указывающий, можно ли перетаскивать ээлемент используя <a href="/ru/docs/Web/Guide/HTML/Drag_and_drop">Drag and Drop API</a>. Он может иметь одно из следующих значений: <ul> - <li><code>true</code>, указывающее, что элемент можно перетаскивать;</li> - <li><code>false</code>, указывающее, что элемень нельзя перетаскивать.</li> + <li><code>true</code>, указывающее, что ээлемент можно перетаскивать;</li> + <li><code>false</code>, указывающее, что ээлемент нельзя перетаскивать.</li> </ul> </dd> <dt id="attr-dropzone"><code><a href="/ru/docs/Web/HTML/Global_attributes/dropzone">dropzone</a></code> {{experimental_inline}}</dt> - <dd>Это перечислимый атрибут, указывающий типы содержимого, которое можно перетащить в элемент с использованием <a href="/ru/docs/Web/Guide/HTML/Drag_and_drop">Drag and Drop API</a>. Он может иметь одно из следующих значений: + <dd>Это перечислимый атрибут, указывающий типы содержимого, которое можно перетащить в ээлемент с использованием <a href="/ru/docs/Web/Guide/HTML/Drag_and_drop">Drag and Drop API</a>. Он может иметь одно из следующих значений: <ul> <li><code>copy</code>, указывающее, что перетаскивание создаст копию перетаскиваемого элемента;</li> - <li><code>move</code>, указывающее, что перетаскиваемый элемент будет перемещен в новое расположение;</li> + <li><code>move</code>, указывающее, что перетаскиваемый ээлемент будет перемещен в новое расположение;</li> <li><code>link</code> — создаст ссылку на перетаскиваемые данные.</li> </ul> </dd> <dt id="attr-hidden"><code><a href="/ru/docs/Web/HTML/Global_attributes/hidden">hidden</a></code></dt> - <dd>Это логический атрибут, указывающий, что элемент уже (или еще) не актуален. Можно использовать этот атрибут, например для того, чтобы спрятать части страницы, которые не должны быть видны до завершения авторизации. Браузер не будет отображать такие элементы. Этот атрибут не должен использоваться, чтобы скрыть содержимое, которое может быть показано на законных основаниях.</dd> + <dd>Это логический атрибут, указывающий, что ээлемент уже (или еще) не актуален. Можно использовать этот атрибут, например для того, чтобы спрятать части страницы, которые не должны быть видны до завершения авторизации. Браузер не будет отображать такие элементы. Этот атрибут не должен использоваться, чтобы скрыть содержимое, которое может быть показано на законных основаниях.</dd> <dt id="attr-id"><code><a href="/ru/docs/Web/HTML/Global_attributes/id">id</a></code></dt> - <dd>Определяет идентификатор (ID), который должен быть уникален для всего документа. Он предназначен для идентификации элемента при созданиии ссылок на него, исполнении скриптов или применении стилей (посредством CSS).</dd> + <dd>Определяет идентификатор (ID), который должен быть уникален для всего документа. Он предназначен для идентификации элемента при создании ссылок на него, исполнении скриптов или применении стилей (посредством CSS).</dd> <dt id="attr-itemid"><code><a href="/ru/docs/Web/HTML/Global_attributes/itemid">itemid</a></code> {{experimental_inline}}</dt> <dt id="attr-itemprop"><code><a href="/ru/docs/Web/HTML/Global_attributes/itemprop">itemprop</a></code> {{experimental_inline}}</dt> <dt id="attr-itemref"><code><a href="/ru/docs/Web/HTML/Global_attributes/itemref">itemref</a></code> {{experimental_inline}}</dt> @@ -73,20 +73,20 @@ translation_of: Web/HTML/Global_attributes <dt id="attr-lang"><code><a href="/ru/docs/Web/HTML/Global_attributes/lang">lang</a></code></dt> <dd>Участвует в определении языка элемента, языка написания нередактируемых элементов или языка, на котором должны быть написаны редактируемые элементы. Содержит единственное значение в формате, определенном в документе IETF <a class="external" href="http://www.ietf.org/rfc/bcp/bcp47.txt" title="Tags for Identifying Languages"><em>BCP47</em></a>. <a href="#attr-xml:lang"><strong>xml:lang</strong></a> имеет приоритет над ним.</dd> <dt id="attr-spellcheck"><code><a href="/ru/docs/Web/HTML/Global_attributes/spellcheck">spellcheck</a></code> {{experimental_inline}}</dt> - <dd>Это перечислимый атрибут, определяющий, может ли содержимое элемента быть проверено на наличие орфорафических ошибок. Он может принимать одно из следующих значений: + <dd>Это перечислимый атрибут, определяющий, может ли содержимое элемента быть проверено на наличие орфографических ошибок. Он может принимать одно из следующих значений: <ul> - <li><code>true</code>, указывающее, что элемент должен, по возможности, проверяться на наличие орфографических ошибок;</li> - <li><code>false</code>, указывающее, что элемент не должен проверяться на наличие орфографических ошибок.</li> + <li><code>true</code>, указывающее, что ээлемент должен, по возможности, проверяться на наличие орфографических ошибок;</li> + <li><code>false</code>, указывающее, что ээлемент не должен проверяться на наличие орфографических ошибок.</li> </ul> </dd> <dt id="attr-style"><code><a href="/ru/docs/Web/HTML/Global_attributes/style">style</a></code></dt> - <dd>Содержит описание стилей <a href="/ru/CSS">CSS</a>, которые должны быть применены к элементу. Учтите, что рекомендуется определять стили в отдельном файле или файлах. Этот атрибут, как и элемент {{ HTMLElement("style") }}, предназначен, в основном, для оперативного применения стилей, например в целях тестирования.</dd> + <dd>Содержит описание стилей <a href="/ru/CSS">CSS</a>, которые должны быть применены к элементу. Учтите, что рекомендуется определять стили в отдельном файле или файлах. Этот атрибут, как и ээлемент {{ HTMLElement("style") }}, предназначен, в основном, для оперативного применения стилей, например в целях тестирования.</dd> <dt id="attr-tabindex"><code><a href="/ru/docs/Web/HTML/Global_attributes/tabindex">tabindex</a></code></dt> - <dd>Это числовой атрибут, указывающий, может ли элемент получать фокус, участвует ли он в последовательной навигации с клавиатуры, и если да, то в какой позиции. Может принимать одно из нескольких значений: + <dd>Это числовой атрибут, указывающий, может ли ээлемент получать фокус, участвует ли он в последовательной навигации с клавиатуры, и если да, то в какой позиции. Может принимать одно из нескольких значений: <ul> - <li><em>отрицательное число</em> означает, что элемент фокусируемый, но он не может получить фокус посредством последовательной навигации с клавиатуры;</li> - <li><code>0</code> означает, что элемент фокусируемый и может получить фокус посредством последовательной навигации с клавиатуры, но порядок его следования определяется платформой;</li> - <li><em>положительное значение</em> означает, что лемент фокусируемый и может получить фокус посредством последовательной навигации с клавиатуры. Порядок его следования определяется значением атрибута — последовательно возрастающего числа <a href="#attr-tabindex"><strong>tabindex</strong></a>. В случае, когда несколько элементов имеют одинаковое значение атрибута <strong><a href="#attr-tabindex">tabindex</a></strong>, порядок их следования при навигации определяется их местом в документе.</li> + <li><em>отрицательное число</em> означает, что ээлемент фокусируемый, но он не может получить фокус посредством последовательной навигации с клавиатуры;</li> + <li><code>0</code> означает, что ээлемент фокусируемый и может получить фокус посредством последовательной навигации с клавиатуры, но порядок его следования определяется платформой;</li> + <li><em>положительное значение</em> означает, что элемент фокусируемый и может получить фокус посредством последовательной навигации с клавиатуры. Порядок его следования определяется значением атрибута — последовательно возрастающего числа <a href="#attr-tabindex"><strong>tabindex</strong></a>. В случае, когда несколько элементов имеют одинаковое значение атрибута <strong><a href="#attr-tabindex">tabindex</a></strong>, порядок их следования при навигации определяется их местом в документе.</li> </ul> </dd> <dt id="attr-title"><code><a href="/ru/docs/Web/HTML/Global_attributes/title">title</a></code></dt> @@ -94,8 +94,8 @@ translation_of: Web/HTML/Global_attributes <dt id="attr-translate"><code><a href="/ru/docs/Web/HTML/Global_attributes/translate">translate</a></code></dt> <dd>Это перечислимый атрибут, используемый для того, чтобы указать, следует ли переводить значения атрибутов элемента и его текстовое содержимое (содержимое узла {{domxref("Text")}}) при локализации страницы. Этот атрибут может принимать следующие значения: <ul> - <li><em>пустая строка</em> или <code>"yes"</code> указывает, что элемент должен быть переведен;</li> - <li><code>"no</code>" указывает, что элемент не должен быть переведен.</li> + <li><em>пустая строка</em> или <code>"yes"</code> указывает, что ээлемент должен быть переведен;</li> + <li><code>"no</code>" указывает, что ээлемент не должен быть переведен.</li> </ul> </dd> </dl> @@ -130,13 +130,13 @@ translation_of: Web/HTML/Global_attributes <td>{{SpecName('HTML4.01')}}</td> <td>{{Spec2('HTML4.01')}}</td> <td>Глобальные атрибуты на определены. Некоторые атрибуты из тех, что стали глобальными в последующих спецификациях, определены в подмножестве элементов .<br> - <strong>class</strong> и <strong>style</strong> поддериваются для всех элементов кроме {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("head")}}, {{HTMLElement("html")}}, {{HTMLElement("meta")}}, {{HTMLElement("param")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}} и {{HTMLElement("title")}}.<br> - <strong>dir</strong> поддеривается для всех элементов кроме {{HTMLElement("applet")}}, {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("bdo")}}, {{HTMLElement("br")}}, {{HTMLElement("frame")}}, {{HTMLElement("frameset")}}, {{HTMLElement("iframe")}}, {{HTMLElement("param")}} и {{HTMLElement("script")}}.<br> - <strong>id</strong> поддеривается для всех элементов кроме {{HTMLElement("base")}}, {{HTMLElement("head")}}, {{HTMLElement("html")}}, {{HTMLElement("meta")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}} и {{HTMLElement("title")}}.<br> - <strong>lang</strong> поддеривается для всех элементов кроме {{HTMLElement("applet")}}, {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("br")}}, {{HTMLElement("frame")}}, {{HTMLElement("frameset")}}, {{HTMLElement("iframe")}}, {{HTMLElement("param")}} и {{HTMLElement("script")}}.<br> - <strong>tabindex</strong> поддеривается только для {{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("button")}}, {{HTMLElement("object")}}, {{HTMLElement("select")}} и {{HTMLElement("textarea")}}.<br> - <strong>accesskey</strong> поддеривается только для {{ HTMLElement("a") }}, {{ HTMLElement("area") }}, {{ HTMLElement("button") }}, {{ HTMLElement("input") }}, {{ HTMLElement("label") }}, {{ HTMLElement("legend") }} и {{ HTMLElement("textarea") }}.<br> - <strong>title</strong> поддеривается для всех элементов кроме {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("head")}}, {{HTMLElement("html")}}, {{HTMLElement("meta")}}, {{HTMLElement("param")}}, {{HTMLElement("script")}} и {{HTMLElement("title")}}.</td> + <strong>class</strong> и <strong>style</strong> поддерживаются для всех элементов кроме {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("head")}}, {{HTMLElement("html")}}, {{HTMLElement("meta")}}, {{HTMLElement("param")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}} и {{HTMLElement("title")}}.<br> + <strong>dir</strong> поддерживается для всех элементов кроме {{HTMLElement("applet")}}, {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("bdo")}}, {{HTMLElement("br")}}, {{HTMLElement("frame")}}, {{HTMLElement("frameset")}}, {{HTMLElement("iframe")}}, {{HTMLElement("param")}} и {{HTMLElement("script")}}.<br> + <strong>id</strong> поддерживается для всех элементов кроме {{HTMLElement("base")}}, {{HTMLElement("head")}}, {{HTMLElement("html")}}, {{HTMLElement("meta")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}} и {{HTMLElement("title")}}.<br> + <strong>lang</strong> поддерживается для всех элементов кроме {{HTMLElement("applet")}}, {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("br")}}, {{HTMLElement("frame")}}, {{HTMLElement("frameset")}}, {{HTMLElement("iframe")}}, {{HTMLElement("param")}} и {{HTMLElement("script")}}.<br> + <strong>tabindex</strong> поддерживается только для {{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("button")}}, {{HTMLElement("object")}}, {{HTMLElement("select")}} и {{HTMLElement("textarea")}}.<br> + <strong>accesskey</strong> поддерживается только для {{ HTMLElement("a") }}, {{ HTMLElement("area") }}, {{ HTMLElement("button") }}, {{ HTMLElement("input") }}, {{ HTMLElement("label") }}, {{ HTMLElement("legend") }} и {{ HTMLElement("textarea") }}.<br> + <strong>title</strong> поддерживается для всех элементов кроме {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("head")}}, {{HTMLElement("html")}}, {{HTMLElement("meta")}}, {{HTMLElement("param")}}, {{HTMLElement("script")}} и {{HTMLElement("title")}}.</td> </tr> </tbody> </table> diff --git a/files/ru/web/html/global_attributes/inputmode/index.html b/files/ru/web/html/global_attributes/inputmode/index.html index feb9eaf958..14b98a01bc 100644 --- a/files/ru/web/html/global_attributes/inputmode/index.html +++ b/files/ru/web/html/global_attributes/inputmode/index.html @@ -13,7 +13,7 @@ translation_of: Web/HTML/Global_attributes/inputmode <dt><code>text</code></dt> <dd>Стандартная раскладка клавиатуры для пользователя, учитывая его локализацию.</dd> <dt><code>decimal</code></dt> - <dd>Дробные значения чисел, содержащие разряд и соответствующий символ-разделитель, который учитывае локализацию пользователя (чаще всего "." или ","). Устройства могут показывать или нет символ минуса (отрицательное знаение).</dd> + <dd>Дробные значения чисел, содержащие разряд и соответствующий символ-разделитель, который учитывает локализацию пользователя (чаще всего "." или ","). Устройства могут показывать или нет символ минуса (отрицательное значение).</dd> <dt><code>numeric</code></dt> <dd>Числовая раскладка клавиатуры; числа от 0 до 9. Устройства могут показывать или нет символ минуса (отрицательное значение).</dd> <dt><code>tel</code></dt> diff --git a/files/ru/web/html/global_attributes/itemid/index.html b/files/ru/web/html/global_attributes/itemid/index.html index 6fbadf42b5..feb88b9d11 100644 --- a/files/ru/web/html/global_attributes/itemid/index.html +++ b/files/ru/web/html/global_attributes/itemid/index.html @@ -7,9 +7,9 @@ translation_of: Web/HTML/Global_attributes/itemid --- <div>{{HTMLSidebar("Global_attributes")}}</div> -<p><span class="seoSummary"><a href="/en-US/docs/Web/HTML/Global_attributes">Глобальный атрибут </a><code><strong>itemid</strong></code> предоставляет микроданные в форме уникального глобального идентификатора элемента.</span> Атрибут <code>itemid</code> может быть указан только для элемента, который имеет оба атрибута {{htmlattrxref("itemscope")}} и {{htmlattrxref("itemtype")}}. Также, <code>itemid</code> может бытьуказан только для элементов, обладающих атрибутом<code>itemscope,</code> соответствующий ссылке<code>itemtype</code> или определяющий словарь, поддерживающий глобальные идентификаторы.</p> +<p><span class="seoSummary"><a href="/en-US/docs/Web/HTML/Global_attributes">Глобальный атрибут </a><code><strong>itemid</strong></code> предоставляет микроданные в форме уникального глобального идентификатора элемента.</span> Атрибут <code>itemid</code> может быть указан только для элемента, который имеет оба атрибута {{htmlattrxref("itemscope")}} и {{htmlattrxref("itemtype")}}. Также, <code>itemid</code> может быть указан только для элементов, обладающих атрибутом<code>itemscope,</code> соответствующий ссылке<code>itemtype</code> или определяющий словарь, поддерживающий глобальные идентификаторы.</p> -<p>Точное значение глобального идентификатора <code>itemtype</code> обеспечивается определением этого идентификатора в пределах указанного словаря. Словарь определяет, могут ли сосуществовать несколько элементов с одним и тем же глобальным идентификатором, и, если да, то как обрабатывабтся элементы с одним и тем же идентификатором.</p> +<p>Точное значение глобального идентификатора <code>itemtype</code> обеспечивается определением этого идентификатора в пределах указанного словаря. Словарь определяет, могут ли сосуществовать несколько элементов с одним и тем же глобальным идентификатором, и, если да, то как обрабатываются элементы с одним и тем же идентификатором.</p> <p class="note"><strong>Примечание:</strong> Определение Whatwg.org указывает, что <code>itemid</code> должен быть URL. Однако, следующий пример правильно иллюстрирует, что URN, также может быть использован. Это несоответствие может отражать неполную природу спецификации микроданных.</p> diff --git a/files/ru/web/html/global_attributes/lang/index.html b/files/ru/web/html/global_attributes/lang/index.html index c8dc52d542..e12675b78c 100644 --- a/files/ru/web/html/global_attributes/lang/index.html +++ b/files/ru/web/html/global_attributes/lang/index.html @@ -26,7 +26,7 @@ translation_of: Web/HTML/Global_attributes/lang <dt>Языковой подтег</dt> <dd>Обязателен. Двух-или-трех-символьный код, определяющий базовый язык, обычно записываемый в нижнем регистре. К примеру, код английского языка является <code>en</code>, а для Бадеши — <code>bdz</code>. </dd> <dt>Подтег скрипта</dt> - <dd>Необязателен. Данный подтег определяет систему записи, и всегда состоящий из 4 символов с первой заглавной буквой. К примеру, французский язык Брайля — это <code>fr-Brai</code>, а <code>ja-Kana</code> — это японский язык, написанный с использованием алфавита Катакана (Katakana). Если язык написан типичным способом, например, английский с латинским алфавитом, нет необходимости использовть данный подтег.</dd> + <dd>Необязателен. Данный подтег определяет систему записи, и всегда состоящий из 4 символов с первой заглавной буквой. К примеру, французский язык Брайля — это <code>fr-Brai</code>, а <code>ja-Kana</code> — это японский язык, написанный с использованием алфавита Катакана (Katakana). Если язык написан типичным способом, например, английский с латинским алфавитом, нет необходимости использовать данный подтег.</dd> <dt>Подтег региона</dt> <dd>Необязателен. Данный подтег определяет диалект основного языка из определенного места и состоит из двух букв в ALLCAPS, соответствующих коду страны, или трех цифр, соответствующих региону, который не относится к стране. К примеру, <code>es-ES</code> — это испанский язык, на котором разговаривают в Испании, а <code>es-013</code> означает испанский язык, на котором разговаривают в Центральной Америке. “Международный испанский” было бы просто <code>es</code>.</dd> </dl> @@ -38,7 +38,7 @@ translation_of: Web/HTML/Global_attributes/lang <p>Даже если указан атрибут <strong>lang</strong>, то он может не учитываться, поскольку атрибут <strong><a href="/ru/docs/Web/HTML/Global_attributes/xml:lang">xml:lang</a> </strong>имеет приоритет над <strong>lang</strong>.</p> -<p>Для псевдо-класса CSS {{cssxref(":lang")}}, два недопустимых названия языка будут разными, если их имены различны. Хотя, <code>:lang(es)</code> соответствует обоим <code>lang="es-ES"</code> и <code>lang="es-419"</code>, но <code>:lang(xyzzy)</code> не соответствует <code>lang="xyzzy-Zorp!"</code>.</p> +<p>Для псевдо-класса CSS {{cssxref(":lang")}}, два недопустимых названия языка будут разными, если их имена различны. Хотя, <code>:lang(es)</code> соответствует обоим <code>lang="es-ES"</code> и <code>lang="es-419"</code>, но <code>:lang(xyzzy)</code> не соответствует <code>lang="xyzzy-Zorp!"</code>.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/html/preloading_content/index.html b/files/ru/web/html/preloading_content/index.html index a07be2d14a..6aafc27ec5 100644 --- a/files/ru/web/html/preloading_content/index.html +++ b/files/ru/web/html/preloading_content/index.html @@ -100,7 +100,7 @@ translation_of: Web/HTML/Preloading_content </video> </body></pre> -<p>В этом случае браузеры, поддерживающие MP4, будут пред-загружать и использовать MP4, что, как мы надеемся, сделает видеоплеер плавнее/отзывчивее для пользователей. Браузеры, не поддерживающие MP4, могут загружать версию WebM, при этом не получая преимуществ пред-загрузки. Это показывает, как пред-загрузка контента может сочетаться с философией прогрессивного улучшения.</p> +<p>В этом случае браузеры, поддерживающие MP4, будут пред-загружать и использовать MP4, что, как мы надеемся, сделает видеоплеер плавное/отзывчивее для пользователей. Браузеры, не поддерживающие MP4, могут загружать версию WebM, при этом не получая преимуществ пред-загрузки. Это показывает, как пред-загрузка контента может сочетаться с философией прогрессивного улучшения.</p> <h2 id="Выборки_из_разных_источников">Выборки из разных источников</h2> @@ -183,7 +183,7 @@ preloadLink<span class="punctuation token">.</span><span class="keyword token">a document<span class="punctuation token">.</span>head<span class="punctuation token">.</span><span class="function token">appendChild</span><span class="punctuation token">(</span>preloadLink<span class="punctuation token">)</span><span class="punctuation token">;</span> </code></pre> -<p>Пдразумевается, что браузер загрузит JavaScript файл, но, пока не будет его применять.</p> +<p>Подразумевается, что браузер загрузит JavaScript файл, но, пока не будет его применять.</p> <p>Чтобы выполнить его, вы можете использовать следующую конструкцию:</p> diff --git a/files/ru/web/html/quirks_mode_and_standards_mode/index.html b/files/ru/web/html/quirks_mode_and_standards_mode/index.html index b29bebc61a..3fe60b6d28 100644 --- a/files/ru/web/html/quirks_mode_and_standards_mode/index.html +++ b/files/ru/web/html/quirks_mode_and_standards_mode/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTML/Quirks_Mode_and_Standards_Mode <h2 id="How_does_Mozilla_determine_which_mode_to_use.3F" name="How_does_Mozilla_determine_which_mode_to_use.3F">Как браузеры понимают, какой режим использовать?</h2> -<p>Браузеры используют тег DOCTYPE, чтобы определить в каком режиме обрабатывать документ. Для отображения страницы в стандартном режиме необходмо добавить тег DOCTYPE в HTML-код страницы как показано в примере ниже:</p> +<p>Браузеры используют тег DOCTYPE, чтобы определить в каком режиме обрабатывать документ. Для отображения страницы в стандартном режиме необходимо добавить тег DOCTYPE в HTML-код страницы как показано в примере ниже:</p> <pre class="brush: html"><!DOCTYPE html> <html> @@ -31,7 +31,7 @@ translation_of: Web/HTML/Quirks_Mode_and_Standards_Mode <h3 id="XHTML">XHTML</h3> -<p>Если страница написана в <a href="/en-US/docs/XHTML" title="XHTML">XHTML</a> формате с указаннием типа MIME <code>application/xhtml+xml</code> в заголовке <code>Content-Type</code>, то не нужно указывать DOCTYPE для активации стандартного режима, так как подобные документы всегда отображаются в стандартном режиме. Важно иметь в виду, что Internet Explorer 8 вместо контента такой страницы отображает <a href="/en-US/docs/XHTML#Support" title="XHTML">диалоговое окно загрузки</a> как для неизвестного формата, поскольку поддержка XHTML реализована в Internet Explorer, начиная с 9 версии.</p> +<p>Если страница написана в <a href="/en-US/docs/XHTML" title="XHTML">XHTML</a> формате с указанием типа MIME <code>application/xhtml+xml</code> в заголовке <code>Content-Type</code>, то не нужно указывать DOCTYPE для активации стандартного режима, так как подобные документы всегда отображаются в стандартном режиме. Важно иметь в виду, что Internet Explorer 8 вместо контента такой страницы отображает <a href="/en-US/docs/XHTML#Support" title="XHTML">диалоговое окно загрузки</a> как для неизвестного формата, поскольку поддержка XHTML реализована в Internet Explorer, начиная с 9 версии.</p> <p>Если страница написана в XHTML формате с использованием типа MIME <code>text/html</code>, браузер будет интерпретировать его как HTML, поэтому для использования браузером стандартного режима отображения необходимо указать тег DOCTYPE. </p> diff --git a/files/ru/web/html/using_the_application_cache/index.html b/files/ru/web/html/using_the_application_cache/index.html index ca63200bbf..2ed99d36b9 100644 --- a/files/ru/web/html/using_the_application_cache/index.html +++ b/files/ru/web/html/using_the_application_cache/index.html @@ -5,11 +5,11 @@ translation_of: Web/HTML/Using_the_application_cache original_slug: Web/HTML/Использование_кэширования_приложений --- <h2 id="Введение">Введение</h2> -<p><a href="/en-US/docs/HTML/HTML5" title="HTML/HTML5">HTML5</a> предоставляет механизм <em>кэширования приложения</em>, позволяющий веб-приложениям работать в автономном режиме. Разработчики теперь могут использовать интерфейс <strong>Кэша приложения</strong> (<em>AppCache</em>), сообщая браузеру, какие из ресурсов браузеру следует закэшировать и сделать доступными в режиме оффлайн. Закэшированные приложения загружаются и работают корректно, даже если пользователь обновляет страницу в тот момент, когда он отключён от сети.</p> +<p><a href="/en-US/docs/HTML/HTML5" title="HTML/HTML5">HTML5</a> предоставляет механизм <em>кэширования приложения</em>, позволяющий веб-приложениям работать в автономном режиме. Разработчики теперь могут использовать интерфейс <strong>Кэша приложения</strong> (<em>AppCache</em>), сообщая браузеру, какие из ресурсов браузеру следует закешировать и сделать доступными в режиме оффлайн. Закодированные приложения загружаются и работают корректно, даже если пользователь обновляет страницу в тот момент, когда он отключён от сети.</p> <p>Использование механизма кэширования даёт следующие преимущества:</p> <ul> <li>Просмотр страниц в автономном режиме: пользователи могут переходить по сайту даже в режиме оффлайн.</li> - <li>Скорость: закэшированные ресурсы хранятся на устройстве пользователя и, следовательно, загружаются быстрее.</li> + <li>Скорость: закешированные ресурсы хранятся на устройстве пользователя и, следовательно, загружаются быстрее.</li> <li>Уменьшение нагрузки на сервер: браузер загружает с сервера только те ресурсы, которые были изменены.</li> </ul> <h2 id="Как_работает_кэш_приложения">Как работает кэш приложения</h2> @@ -21,15 +21,15 @@ original_slug: Web/HTML/Использование_кэширования_при </html> </pre> </div> -<p>Атрибут <code>manifest</code> ссылается на файл <strong>манифеста кэша</strong>, который является текстовым файлом и содержит список ресурсов (файлов), которые браузеру следует закэшировать для вашего приложения.</p> -<p>Вам следует включить атрибут <code>manifest</code> в каждую страницу вашего приложения, внутри которой вы хотели бы осуществлять кэширование. Браузер не закэширует страницы, не содержащие атрибута <code>manifest</code>, пока такие страницы не будут явно указаны в файле манифеста. Вам не обязательно перечислять все страницы, которые вы хотите закэшировать, в файле манифеста, т.к. браузер неявно добавляет в кэш приложения каждую посещаемую пользователем страницу, где есть атрибут <code>manifest</code>.</p> +<p>Атрибут <code>manifest</code> ссылается на файл <strong>манифеста кэша</strong>, который является текстовым файлом и содержит список ресурсов (файлов), которые браузеру следует закешировать для вашего приложения.</p> +<p>Вам следует включить атрибут <code>manifest</code> в каждую страницу вашего приложения, внутри которой вы хотели бы осуществлять кэширование. Браузер не закеширует страницы, не содержащие атрибута <code>manifest</code>, пока такие страницы не будут явно указаны в файле манифеста. Вам не обязательно перечислять все страницы, которые вы хотите закешировать, в файле манифеста, т.к. браузер неявно добавляет в кэш приложения каждую посещаемую пользователем страницу, где есть атрибут <code>manifest</code>.</p> <p>Некоторые браузеры (например, Firefox) показывают панель уведомлений , когда пользователь загружает использующее кэш приложение в первый раз. Панель уведомлений может показывать примерно такое сообщение::</p> <p style="margin-left: 40px;">Этот веб-сайт (<code>www.example.com</code>) запрашивает у вас разрешение на хранение данных для автономной работы на вашем компьютере. [Разрешить] [Никогда для этого сайта] [Не сейчас]</p> <p>Термин "оффлайн(-доступные) приложения" иногда относится конкретно к приложениям, которым пользователь разрешил использовать возможности работы оффлайн.</p> <h3 id="Загрузка_документов">Загрузка документов</h3> <p>Использование кэша приложений изменяет обычный процесс загрузки документа:</p> <ul> - <li>Если существует кэш приложения, браузер загружает документ и связаные с ним ресурсы напрямую из кэша без использования сети. Это ускоряет загрузку документа.</li> + <li>Если существует кэш приложения, браузер загружает документ и связанные с ним ресурсы напрямую из кэша без использования сети. Это ускоряет загрузку документа.</li> <li>Затем браузер проверяет, был ли изменён манифест кэша на стороне сервера.</li> <li>Если манифест кэша изменён, браузер загружает новую версию манифеста и перечисленных в нём ресурсов. Данные действия происходят в фоновом режиме и почти не влияют на производительность.</li> </ul> @@ -37,9 +37,9 @@ original_slug: Web/HTML/Использование_кэширования_при <ol> <li>Когда браузер посещает страницу со включенным атрибутом <code>manifest</code> и кэша приложения не существует, браузер загружает документ, а затем получает все пункты файла манифеста, создавая тем самым первую версию кэша приложения.</li> <li>Последующие посещения данной страницы приводят к загрузке документа и других ресурсов, указанных в файле манифеста, уже из кэша приложения (не с сервера). К тому же браузер также посылает событие <code>checking</code> объекту <code><a href="/en-US/docs/DOM/window.applicationCache" title="DOM/window.applicationCache">window.applicationCache</a></code> и получает файл манифеста в соответствии с правилами кэширования HTTP.</li> - <li>Если текущая закэшированная копия манифеста совпадает со скачанной, браузер посылает событие <code>noupdate</code> объекту <code>applicationCache</code>, завершая процесс обновления. Обратите внимание, если вы изменили закэшированные ресурсы на стороне сервера, вам также необходимо изменить и файл манифеста, тем самым давая браузеру знать, какие из ресурсов нужно получить повторно.</li> + <li>Если текущая закешированная копия манифеста совпадает со скачанной, браузер посылает событие <code>noupdate</code> объекту <code>applicationCache</code>, завершая процесс обновления. Обратите внимание, если вы изменили закешированные ресурсы на стороне сервера, вам также необходимо изменить и файл манифеста, тем самым давая браузеру знать, какие из ресурсов нужно получить повторно.</li> <li>Если файл манифеста изменился, то все перечисленные в нём файлы, так же, как и добавленные в кэш с помощью вызова <code><a href="/en-US/docs/nsIDOMOfflineResourceList#add.28.29" title="nsIDOMOfflineResourceList#add.28.29">applicationCache.add()</a></code>, попадают во временный кэш с учётом правил кэширования HTTP. Во время обновления каждого файла в этом временном кэше браузер посылает событие <code>progress</code> объекту <code>applicationCache</code>. Если происходит ошибка, браузер посылает событие <code>error</code>, а обновление прекращается.</li> - <li>Как только успешно получены все файлы, они автоматически отправляются в настоящий оффлайн-кэш, а объекту <code>applicationCache</code> посылается событие <code>cached</code>. Поскольку документ уже был загружен в браузер из кэша, обновлёный документ не перерисуется, пока страница не будет перезагружена (неважно как, вручную или программно).</li> + <li>Как только успешно получены все файлы, они автоматически отправляются в настоящий оффлайн-кэш, а объекту <code>applicationCache</code> посылается событие <code>cached</code>. Поскольку документ уже был загружен в браузер из кэша, обновленный документ не перерисуется, пока страница не будет перезагружена (неважно как, вручную или программно).</li> </ol> <h2 id="Место_хранения_и_очистка_оффлайн-кэша">Место хранения и очистка оффлайн-кэша</h2> <p>В Chrome оффлайн-кэш можно очистить, выбрав «Очистить историю...» в настройках или перейдя на адрес <a title="chrome://appcache-internals/">chrome://appcache-internals/</a>. У Safari также есть похожий пункт «Очистить кэш» в настройках, но для этого также может понадобиться перезапуск браузера.</p> @@ -48,18 +48,18 @@ original_slug: Web/HTML/Использование_кэширования_при <li>В Windows Vista/7: <code>C:\Users\<пользователь>\AppData\<strong>Local</strong>\Mozilla\Firefox\Profiles\<соль>.<имя профиля>\OfflineCache</code></li> <li>В Mac/Linux: <code>/Users/<<code>пользователь</code>>/Library/Caches/Firefox/Profiles/<<code>соль</code>>.<<code>имя профиля</code>>/OfflineCache</code></li> </ul> -<p>Текущее состояние оффлайн-кэша в Firefox можно посмотреть на странице <code>about:cache</code> (в разеделе «Offline cache device»). Оффлайн-кэш можно очистить по отдельности для каждого сайта, используя кнопку «Удалить...» в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое.</p> +<p>Текущее состояние оффлайн-кэша в Firefox можно посмотреть на странице <code>about:cache</code> (в разделе «Offline cache device»). Оффлайн-кэш можно очистить по отдельности для каждого сайта, используя кнопку «Удалить...» в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое.</p> <p>До Firefox 11 кэш нельзя было очистить ни кнопкой Инструменты -> Удалить недавнюю историю, ни Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое -> Очистить сейчас. Сейчас эта проблема устранена.</p> <p>В Linux настройки оффлайн-кэша можно найти в разделе Инструменты -> Настройки -> Дополнительные -> Сеть -> Автономное содержимое и данные пользователя</p> <p>См. также <a href="/en-US/docs/DOM/Storage#Storage_location_and_clearing_the_data" title="DOM/Storage#Storage location and clearing the data">очистка данных хранилища DOM</a>.</p> <p>Также кэши приложения могут устареть. Если с сервера удалить файл манифеста, браузер удалит все кэши, которые были в нём указаны, и пошлёт событие <code>obsoleted</code> объекту <code>applicationCache</code>, что установит состояние кэша в <code>OBSOLETE</code>.</p> <h2 id="Файл_манифеста_кэша">Файл манифеста кэша</h2> <h3 id="Ссылки_на_файл_манифеста_кэша">Ссылки на файл манифеста кэша</h3> -<p><code>Атрибут manifest</code> может модержать как относительный путь, так и абсолютный URL (который должен соответствовать принципу единого источника) к файлу манифеста. Файл манифеста кэша может иметь любое расширение, но его MIME- тип должен быть <code>text/cache-manifest</code>.</p> +<p><code>Атрибут manifest</code> может содержать как относительный путь, так и абсолютный URL (который должен соответствовать принципу единого источника) к файлу манифеста. Файл манифеста кэша может иметь любое расширение, но его MIME- тип должен быть <code>text/cache-manifest</code>.</p> <div class="note"> <strong>Примечание: </strong>На серверах Apache MIME-тип файлов манифеста (.appcache) можно настроить, добавив строчку <code>AddType text/cache-manifest .appcache</code> в файл .htaccess в корневой директории или же директории приложения.</div> <h3 id="Пункты_манифеста_кэша">Пункты манифеста кэша</h3> -<p>Манифест кэша представляет собой обычный текстовый файл, содержащий список ресурсов, которые браузеру следует закэшировать для обеспечения автономного доступа. Ресурсы идентифицируются по URI. Объекты, перечисленные в манифесте кэша должны иметь те же протокол, хост и порт, что и сам манифест.</p> +<p>Манифест кэша представляет собой обычный текстовый файл, содержащий список ресурсов, которые браузеру следует закешировать для обеспечения автономного доступа. Ресурсы идентифицируются по URI. Объекты, перечисленные в манифесте кэша должны иметь те же протокол, хост и порт, что и сам манифест.</p> <h3 id="Пример_1_простой_файл_манифеста_кэша">Пример 1: простой файл манифеста кэша</h3> <p>Ниже приведено содержимое простого файла манифеста кэша для воображаемого веб-сайта <span class="nowiki">www.example.com</span>.</p> <pre>CACHE MANIFEST @@ -70,7 +70,7 @@ original_slug: Web/HTML/Использование_кэширования_при <span class="nowiki">http://www.example.com/blah/blah</span> </pre> <p>Манифест кэша может включать три секции (<code>CACHE</code>, <code>NETWORK</code> и <code>FALLBACK</code>, которые будут рассмотрены далее). В приведённом примере нет заголовков секций, поэтому предполагается, что все строчки находятся в явной секции <code>CACHE</code>, подразумевая, что все указанные в них ресурсы браузеру следует сохранить в кэше приложения. Ресурсы могут быть указаны с использованием как абсолютных, так и относительных URL (например, <code>index.html</code>).</p> -<p>Для наличия в кэше комментария «v1» есть веские основания. Браузер обновляет кэш приложения, только если изменён файл манифеста, хотя бы один байт в нём. Если вы изменяете закэшированный ресурс на стороне сервера, (например, при обновлении содержимого картинки <code>header.png</code>), вы также должны изменить содержимое файла манифеста, тем самым сообщая браузеру, что нужно обновить кэш. Вы можете изменять файл манифеста так, как вам угодно, но лучшие практики рекомендуют использовать изменение номера пересмотра.</p> +<p>Для наличия в кэше комментария «v1» есть веские основания. Браузер обновляет кэш приложения, только если изменён файл манифеста, хотя бы один байт в нём. Если вы изменяете закешированный ресурс на стороне сервера, (например, при обновлении содержимого картинки <code>header.png</code>), вы также должны изменить содержимое файла манифеста, тем самым сообщая браузеру, что нужно обновить кэш. Вы можете изменять файл манифеста так, как вам угодно, но лучшие практики рекомендуют использовать изменение номера пересмотра.</p> <div class="warning"> <strong>Важное замечание:</strong> Не указывайте в манифесте ссылку на него самого, в противном случае будет невозможно сообщить браузеру о том, что кэш обновился.</div> <h3 id="Sections_in_a_cache_manifest_file_CACHE_NETWORK_and_FALLBACK">Sections in a cache manifest file: <code>CACHE</code>, <code>NETWORK</code>, and <code>FALLBACK</code></h3> diff --git a/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html b/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html index 5109191113..debd21c8bf 100644 --- a/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html +++ b/files/ru/web/http/basics_of_http/identifying_resources_on_the_web/index.html @@ -22,7 +22,7 @@ original_slug: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web_RU <p class="summary">"Объект" (или "цель") HTTP-запроса называется "ресурс", чья природа может быть разной: фото, документ, или что-либо ещё. Каждый ресурс идентифицируется с помощью унифицированного идентификатора ресурса ({{Glossary("URI")}}) используемого повсюду в HTTP для идентификации ресурсов.</p> -<p>Обычно чтобы описать конкретный ресурс (его имя) и его местоположение в Вебе, используется всего один URL (Uniform Resource Locator - Унифицированный локатор ресурса, вид URI, его ещё называеют <em>веб-адресом</em>). Можно добавить, что иногда с помощью специального заголовка {{HTTPHeader("Alt-Svc")}} в ответе на запрос можно попросить клиента перезапросить ресурс с другой локации.</p> +<p>Обычно чтобы описать конкретный ресурс (его имя) и его местоположение в Вебе, используется всего один URL (Uniform Resource Locator - Унифицированный локатор ресурса, вид URI, его ещё называют <em>веб-адресом</em>). Можно добавить, что иногда с помощью специального заголовка {{HTTPHeader("Alt-Svc")}} в ответе на запрос можно попросить клиента перезапросить ресурс с другой локации.</p> <h2 id="URLы_и_URNы">URLы и URNы</h2> @@ -147,7 +147,7 @@ urn:ietf:rfc:7230 <dl> <dt><img alt="Anchor" src="https://mdn.mozillademos.org/files/8023/mdn-url-anchor@x2.png" style="height: 70px; width: 440px;"></dt> - <dd><code>#SomewhereInTheDocument</code> - это "якорь" на другую часть ресурса. Якорь представляет собой что-то вроде "закладки" внутри ресурса, давая браузеру указание показать содержимое с определенного места. В HTML-документе, к примеру, браузер будет скроллить к точке где якорь определён, а на аудио/видео-документе бразуер попытается перейти на время, указанное в якоре. Важно что часть, начинающаяся с # - никогда не пересылается серверу в запросе.</dd> + <dd><code>#SomewhereInTheDocument</code> - это "якорь" на другую часть ресурса. Якорь представляет собой что-то вроде "закладки" внутри ресурса, давая браузеру указание показать содержимое с определенного места. В HTML-документе, к примеру, браузер будет скроллить к точке где якорь определён, а на аудио/видео-документе браузер попытается перейти на время, указанное в якоре. Важно что часть, начинающаяся с # - никогда не пересылается серверу в запросе.</dd> </dl> <h2 id="Заметки_по_использованию">Заметки по использованию</h2> diff --git a/files/ru/web/http/basics_of_http/mime_types/index.html b/files/ru/web/http/basics_of_http/mime_types/index.html index e368e2a496..41b620e326 100644 --- a/files/ru/web/http/basics_of_http/mime_types/index.html +++ b/files/ru/web/http/basics_of_http/mime_types/index.html @@ -25,7 +25,7 @@ translation_of: Web/HTTP/Basics_of_HTTP/MIME_types <pre class="syntaxbox"><var>тип</var>/<var>подтип</var>;<var>параметр</var>=<var>значение</var></pre> -<p>Например, для MIME типов катогории<var> </var><code>text</code>, необязательный параметр <code>charset</code> может быть задан для уточнения кодировки, используемой в документе. Для объявления, что пересылаемый файл имеет кодировку UTF-8, необходимо использовать MIME тип <code>text/plain;charset=UTF-8</code>. При не указании параметра <code>charset</code>, его значение автоматически будет задано, как {{Glossary("ASCII")}} (<code>US</code><code>-</code><code>ASCII</code>), если в настройках браузера не будет определено иначе.</p> +<p>Например, для MIME типов категории<var> </var><code>text</code>, необязательный параметр <code>charset</code> может быть задан для уточнения кодировки, используемой в документе. Для объявления, что пересылаемый файл имеет кодировку UTF-8, необходимо использовать MIME тип <code>text/plain;charset=UTF-8</code>. При не указании параметра <code>charset</code>, его значение автоматически будет задано, как {{Glossary("ASCII")}} (<code>US</code><code>-</code><code>ASCII</code>), если в настройках браузера не будет определено иначе.</p> <p>MIME типы являются нечувствительными к регистру, но традиционно их пишут строчными буквами, за исключением значений параметров.</p> diff --git a/files/ru/web/http/caching/index.html b/files/ru/web/http/caching/index.html index ff4905250b..9e6efe7d3e 100644 --- a/files/ru/web/http/caching/index.html +++ b/files/ru/web/http/caching/index.html @@ -11,7 +11,7 @@ original_slug: Web/HTTP/Кэширование --- <div>{{HTTPSidebar}}</div> -<p><strong>Производительность веб-сайтов и приложений можно значительно повысить за счет повторного использования ранее полученных ресурсов. Веб-кеши сокращают задержку и снижают сетевой траффик, уменьшая тем самым время, необходимое для отображения ресурсов. Используя HTTP-кеширование, сайты становятся более отзывчивыми.</strong></p> +<p><strong>Производительность веб-сайтов и приложений можно значительно повысить за счет повторного использования ранее полученных ресурсов. Веб-кеши сокращают задержку и снижают сетевой трафик, уменьшая тем самым время, необходимое для отображения ресурсов. Используя HTTP-кеширование, сайты становятся более отзывчивыми.</strong></p> <h2 id="Различные_виды_кеширования">Различные виды кеширования</h2> @@ -31,7 +31,7 @@ original_slug: Web/HTTP/Кэширование <h3 id="Общий_shared_прокси-кеш">Общий (shared) прокси-кеш</h3> -<p>Кеш совместного использования — это кеш, который сохраняет ответы, чтобы их потом могли использовать разные пользователи. Например, в локальной сети вашего провайдера или компании, может быть установлен прокси, обслуживающий множество пользователей, чтобы можно было повторно использовать популярные ресурсы, сокращая тем самым сетевой траффик и время ожидания.</p> +<p>Кеш совместного использования — это кеш, который сохраняет ответы, чтобы их потом могли использовать разные пользователи. Например, в локальной сети вашего провайдера или компании, может быть установлен прокси, обслуживающий множество пользователей, чтобы можно было повторно использовать популярные ресурсы, сокращая тем самым сетевой трафик и время ожидания.</p> <h2 id="Цели_кеширования">Цели кеширования</h2> @@ -99,7 +99,7 @@ Cache-Control: public <h2 id="Свежесть_сохраненной_копии"><a id="Freshness" name="Freshness">Свежесть сохраненной копии</a></h2> -<p>Однажды попав в кеш, ресурс, теоретически, может храниться там вечно. Однако, поскольку объем хранилища конечен, записи периодически приходится оттуда удалять. Этот процесс называют <em>вытеснением данных из кеша</em> (cache eviction). Кроме того, ресурсы могут изменяться на сервере, поэтому кеш требуется обновлять. Поскольку HTTP является клиент-серверным протоколом, сервера не могут сами обращаться к кешам и клиентам при изменении ресурса; им необходимо договориться о сроке действия сохраненной копии. До его истечения ресурс считается <em>свежим </em>(fresh), после — <em>устаревшим </em>(stale). Алгоритмы вытеснения отдают предпочтение "свежим" ресурсам. Тем не менее, копия ресурса не удаляется из кеша сразу же по истечении ее срока действия; при получении запроса на устаревший ресурс кеш передаёт его дальше с заголовком {{HTTPHeader("If-None-Match")}} на случай, если копия все еще актуальна. Если это так, сервер возвращает заголовок {{HTTPStatus("304")}} <code>Not Modified</code> («не изменялось»), а тело ресурса не посылает, экономя тем самым траффик.</p> +<p>Однажды попав в кеш, ресурс, теоретически, может храниться там вечно. Однако, поскольку объем хранилища конечен, записи периодически приходится оттуда удалять. Этот процесс называют <em>вытеснением данных из кеша</em> (cache eviction). Кроме того, ресурсы могут изменяться на сервере, поэтому кеш требуется обновлять. Поскольку HTTP является клиент-серверным протоколом, сервера не могут сами обращаться к кешам и клиентам при изменении ресурса; им необходимо договориться о сроке действия сохраненной копии. До его истечения ресурс считается <em>свежим </em>(fresh), после — <em>устаревшим </em>(stale). Алгоритмы вытеснения отдают предпочтение "свежим" ресурсам. Тем не менее, копия ресурса не удаляется из кеша сразу же по истечении ее срока действия; при получении запроса на устаревший ресурс кеш передаёт его дальше с заголовком {{HTTPHeader("If-None-Match")}} на случай, если копия все еще актуальна. Если это так, сервер возвращает заголовок {{HTTPStatus("304")}} <code>Not Modified</code> («не изменялось»), а тело ресурса не посылает, экономя тем самым трафик.</p> <p>Вот пример того, как протекает этот процесс при использовании совместного кеша прокси:</p> diff --git a/files/ru/web/http/conditional_requests/index.html b/files/ru/web/http/conditional_requests/index.html index 547d4a80af..e515d13e24 100644 --- a/files/ru/web/http/conditional_requests/index.html +++ b/files/ru/web/http/conditional_requests/index.html @@ -5,11 +5,11 @@ translation_of: Web/HTTP/Conditional_requests --- <p>{{HTTPSidebar}}</p> -<p class="summary">В HTTP есть понятие <em>условных запросов</em>, в которых результат, и даже успех запрос, могут быть изменены с помощью сравнения затронутых ресурсов со значением <em>валидатора</em>. Такие запросы могут быть полезными для валидации контента в кеше, и избавления от бесполезного контроля, чтобы проверить целостность документа, например, пока длится загрузка, или пока предовращается потеря обновлений, пока выгружаются или изменяются файлы на сервере.</p> +<p class="summary">В HTTP есть понятие <em>условных запросов</em>, в которых результат, и даже успех запрос, могут быть изменены с помощью сравнения затронутых ресурсов со значением <em>валидатора</em>. Такие запросы могут быть полезными для валидации контента в кеше, и избавления от бесполезного контроля, чтобы проверить целостность документа, например, пока длится загрузка, или пока предотвращается потеря обновлений, пока выгружаются или изменяются файлы на сервере.</p> <h2 id="Принципы">Принципы</h2> -<p>Условные запросы HTTP это запросы, которые выполняся по разному, в зависимости значения особых заголовков. Эти заголовки определяют предусловие, и результат запроса будет разным, если условие согласовано или нет.</p> +<p>Условные запросы HTTP это запросы, которые выполняются по разному, в зависимости значения особых заголовков. Эти заголовки определяют предусловие, и результат запроса будет разным, если условие согласовано или нет.</p> <p>Отличие в поведении определяется используемым методом, и набором заголовков для предусловий:</p> diff --git a/files/ru/web/http/connection_management_in_http_1.x/index.html b/files/ru/web/http/connection_management_in_http_1.x/index.html index 16ce498108..4b75db2059 100644 --- a/files/ru/web/http/connection_management_in_http_1.x/index.html +++ b/files/ru/web/http/connection_management_in_http_1.x/index.html @@ -41,7 +41,7 @@ translation_of: Web/HTTP/Connection_management_in_HTTP_1.x <p>У постоянных соединений есть свои недочеты; даже работая вхолостую, они потребляют ресурсы сервера, а при высокой нагрузке могут проводиться {{glossary("DoS attack", "DoS attacks")}}. В таких случаях большую эффективность могут обеспечить не постоянные соединения, которые закрываются как только освободятся.</p> -<p>Соединеня HTTP/1.0 по умолчанию не являются постоянными. Для превращения их в постоянные надо присвоить заголовку {{HTTPHeader("Connection")}} значение, отличное от <code>close</code> - обычно <code>retry-after.</code></p> +<p>Соединения HTTP/1.0 по умолчанию не являются постоянными. Для превращения их в постоянные надо присвоить заголовку {{HTTPHeader("Connection")}} значение, отличное от <code>close</code> - обычно <code>retry-after.</code></p> <p>В HTTP/1.1 соединения являются постоянными по умолчанию, так что этот заголовок больше не требуется (но часто добавляется в качестве защитной меры на случай, если потребуется откат к HTTP/1.0).</p> @@ -51,7 +51,7 @@ translation_of: Web/HTTP/Connection_management_in_HTTP_1.x <p>Конвейерная обработка HTTP в современных браузерах не активирована по умолчанию:</p> <ul> - <li><a href="https://en.wikipedia.org/wiki/Proxy_server">Прокси</a> с багами все еще встречаются, что приводит к странным и непредсказуемым явлениям, которые веб-разработчикам трудно предсказать и диагносцировать.</li> + <li><a href="https://en.wikipedia.org/wiki/Proxy_server">Прокси</a> с багами все еще встречаются, что приводит к странным и непредсказуемым явлениям, которые веб-разработчикам трудно предсказать и диагностировать.</li> <li>Конвейерную обработку сложно правильно реализовать: объем передаваемых ресурсов, используемая <a href="https://en.wikipedia.org/wiki/Round-trip_delay_time">RTT</a> и эффективная пропускная способность имеют непосредственное влияние на те улучшения, что обеспечиваются конвейерной обработкой. Конвейерная обработка HTTP, таким образом, дает существенное улучшение не во всех случаях.</li> <li>Конвейерная обработка подвержена проблеме <a href="https://en.wikipedia.org/wiki/Head-of-line_blocking">HOL</a>.</li> </ul> @@ -73,7 +73,7 @@ translation_of: Web/HTTP/Connection_management_in_HTTP_1.x <p>Не используйте этот устаревший метод без крайней необходимости; вместо этого переходите на HTTP/2. В HTTP/2 доменное разделение больше не требуется: соединение HTTP/2 соединение прекрасно работает с параллельными неприоритезированными запросами. Доменное разделение даже вредит производительности. Большинство реализаций HTTP/2 использует метод, называемый <a href="I wonder if it's related to the nobash/nobreak/nopick secret exit s of Elrond's chambers.">слиянием соединений (connection coalescing</a>) для возврата конечного доменного разделения.</p> </div> -<p>Поскольку соединение HTTP/1.x является последовательными запросами, даже без упорядочивания, оно не может быть оптимальным без наличия достаточно большой пропускной способности. Браузеры находят решение в открытии нескольких соедининий к каждому домену с отсылкой параллельных запросов. По умолчанию это когда-то было 2-3 соединения, но сейчас их число возросло примерно до 6 параллельных соединений. При попытке использовать большее количество есть риск спровоцировать защиту от <a href="/en-US/docs/Glossary/DOS_attack">DoS</a> со стороны сервера.</p> +<p>Поскольку соединение HTTP/1.x является последовательными запросами, даже без упорядочивания, оно не может быть оптимальным без наличия достаточно большой пропускной способности. Браузеры находят решение в открытии нескольких соединений к каждому домену с отсылкой параллельных запросов. По умолчанию это когда-то было 2-3 соединения, но сейчас их число возросло примерно до 6 параллельных соединений. При попытке использовать большее количество есть риск спровоцировать защиту от <a href="/en-US/docs/Glossary/DOS_attack">DoS</a> со стороны сервера.</p> <p>Если сервер хочет иметь более быстрый ответ от веб-сайта или приложения, он может открыть больше соединений. Например, вместо того, чтобы иметь все ресурсы на одном домене, скажем, <code>www.example.com</code>, он может распределить их по нескольким доменам, <code>www1.example.com</code>, <code>www2.example.com</code>, <code>www3.example.com</code>. Каждый из этих доменов разрешается на том же сервере, и веб-браузер откроет 6 соединений к каждому (в нашем примере число соединений возрастет до 18). Этот метод называют доменным разделением (<em>domain sharding)</em>.</p> diff --git a/files/ru/web/http/content_negotiation/index.html b/files/ru/web/http/content_negotiation/index.html index 3b9760e25f..28d401e3ad 100644 --- a/files/ru/web/http/content_negotiation/index.html +++ b/files/ru/web/http/content_negotiation/index.html @@ -11,7 +11,7 @@ translation_of: Web/HTTP/Content_negotiation <h2 id="Принципы_согласования_контента">Принципы согласования контента</h2> -<p>Конкретный документ называется <em>ресурсом</em>. Когда клиент хочет его получить, он запрашивает его используя его URL. Сервер использует этот URL, чтобы выбрать один из возможных вариантов - каждый вариант, назывется <em>представлением</em>, – и возвращает этот вариант клиенту. Ресурс в общем, а также каждое из представлений, имеют определенный URL. Выбор конкретного представления при вызове ресурса определяется механизмом <em>согласования контента</em> и существует несколько способов согласования между клиентом и сервером.</p> +<p>Конкретный документ называется <em>ресурсом</em>. Когда клиент хочет его получить, он запрашивает его используя его URL. Сервер использует этот URL, чтобы выбрать один из возможных вариантов - каждый вариант, называется <em>представлением</em>, – и возвращает этот вариант клиенту. Ресурс в общем, а также каждое из представлений, имеют определенный URL. Выбор конкретного представления при вызове ресурса определяется механизмом <em>согласования контента</em> и существует несколько способов согласования между клиентом и сервером.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/16156/HTTPNego_ru.png" style="height: 311px; width: 767px;"></p> @@ -26,25 +26,25 @@ translation_of: Web/HTTP/Content_negotiation <h2 id="Согласование_на_основе_сервера">Согласование на основе сервера</h2> -<p>В <em>согласовании на стороне сервера</em> или <em>упреждающем согласовании</em>, браузер (или любое другое клиентское приложение) посылае несколько заголовков HTTP наряду с URL. Эти заголовки описывают предпочтения пользователя. Сервер использует их в качестве посказок для внутреннего алгоритма, который выбирает наиболее подходящее представление ресурса, чтобы предоставить его клиенту. Реализация алгоритма в стандарт не входит и полностью зависит от сервера. Для примера, смотрите <a class="external" href="http://httpd.apache.org/docs/2.2/en/content-negotiation.html#algorithm">алгоритм согласования Apache 2.2</a>.</p> +<p>В <em>согласовании на стороне сервера</em> или <em>упреждающем согласовании</em>, браузер (или любое другое клиентское приложение) посылает несколько заголовков HTTP наряду с URL. Эти заголовки описывают предпочтения пользователя. Сервер использует их в качестве подсказок для внутреннего алгоритма, который выбирает наиболее подходящее представление ресурса, чтобы предоставить его клиенту. Реализация алгоритма в стандарт не входит и полностью зависит от сервера. Для примера, смотрите <a class="external" href="http://httpd.apache.org/docs/2.2/en/content-negotiation.html#algorithm">алгоритм согласования Apache 2.2</a>.</p> <p><img alt="" src="https://mdn.mozillademos.org/files/13791/HTTPNegoServer.png" style="height: 380px; width: 767px;"></p> <p>Стандарт HTTP/1.1 определяет список стандартных заголовков которые используются в этом механизме согласования – ({{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Language")}}). Хотя, строго говоря, {{HTTPHeader("User-Agent")}} не находится в этом списке, в некоторых случаях он используется, чтобы послать определённое представление запрошенного ресурса, несмотря на то, что это и не является хорошей практикой. Сервер использует заголовок {{HTTPHeader("Vary")}} чтобы обозначить, какие заголовки он использовал для согласования (точнее, ассоциированные с ними заголовки ответа), чтобы <a href="/en-US/docs/Web/HTTP/Caching">кэширование</a> работало оптимально.</p> -<p>В дополнение к этим, есть предложение добавить больше заголовков в список доступным, так называемые Подсказки Клиента (Client Hints). Они будут предоставлять информацио о типе устройства на котором они используются (например, будет это настольный компьютер или мобильное устройство).</p> +<p>В дополнение к этим, есть предложение добавить больше заголовков в список доступным, так называемые Подсказки Клиента (Client Hints). Они будут предоставлять информацию о типе устройства на котором они используются (например, будет это настольный компьютер или мобильное устройство).</p> <p>Согласование на стороне сервера является самым популярным способом согласования контента, но у него есть несколько недостатков:</p> <ul> <li>У сервера нет всей информации о клиентском приложении. Даже с расширением Client Hints сервер не может знать всех возможностей браузера. В отличие от реактивного согласования, где клиент совершает выбор, выбор сервера всегда остается в каком-то смысле произвольным.</li> <li>Информация, полученная от клиента, довольно подробная (сжатие заголовков протокола HTTP/2 отчасти решает эту проблему) и является источником утечки конфиденциальности (идентификация по HTTP).</li> - <li>С увеличением количества представлений падает эффективность общих кэшэй и усложняется реализация сервера.</li> + <li>С увеличением количества представлений падает эффективность общих кешей и усложняется реализация сервера.</li> </ul> <h3 id="Заголовок_Accept">Заголовок <code>Accept</code></h3> -<p>Заголовок {{HTTPHeader("Accept")}} перечисляет MIME типы содержимого ресурса, которые клиент желает получить. Он представляет список MIME типов, разделенный запятыми, каждый из которых, опционально, снабжён коэффицентом желательности – параметром, определяющим относительный уровень желательности среди разных MIME типов.</p> +<p>Заголовок {{HTTPHeader("Accept")}} перечисляет MIME типы содержимого ресурса, которые клиент желает получить. Он представляет список MIME типов, разделенный запятыми, каждый из которых, опционально, снабжён коэффициентом желательности – параметром, определяющим относительный уровень желательности среди разных MIME типов.</p> <p>{{HTTPHeader("Accept")}} определяется браузером, или любым другим клиентом, и может изменяться в зависимости от контекста, например, при получении страницы HTML, изображения, видео или скрипта – его содержимое будет различаться при запросе документа из строки адреса, через тег {{ HTMLElement("img") }}, {{ HTMLElement("video") }} или {{ HTMLElement("audio") }}. Браузеры могут использовать любое значение, которые они считают наиболее подходящим; можете ознакомиться со списком <a href="/en-US/docs/Web/HTTP/Content_negotiation/List_of_default_Accept_values">значений по умолчанию, используемых распространенными браузерами</a>.</p> @@ -54,7 +54,7 @@ translation_of: Web/HTTP/Content_negotiation <p>Перед вами <strong>экспериментальная</strong> технология под названием <em>Client Hints (Подсказки Клиента)</em>, реализуемая на данный момент только в Chrome 46 и более поздних версиях</p> </div> -<p>Экспериментальный заголовок {{HTTPHeader("Accept-CH")}} перечисляет конфигурфцию клиента, которая может быть использована сервером для выбора подходящего ответа. Определённые значения:</p> +<p>Экспериментальный заголовок {{HTTPHeader("Accept-CH")}} перечисляет конфигурацию клиента, которая может быть использована сервером для выбора подходящего ответа. Определённые значения:</p> <table class="standard-table"> <thead> @@ -81,9 +81,9 @@ translation_of: Web/HTTP/Content_negotiation <h3 id="Заголовок_Accept-Charset">Заголовок <code>Accept-Charset</code></h3> -<p>Заголовок {{HTTPHeader("Accept-Charset")}} указывает серверу какие кодировки текста поддерживает клиент. По-традиции он имеет своё значение для каждой локали браузера, например, <code>ISO-8859-1,utf-8;q=0.7,*;q=0.7</code> установлен для западноевропейской локали.</p> +<p>Заголовок {{HTTPHeader("Accept-Charset")}} указывает серверу какие кодировки текста поддерживает клиент. По традиции он имеет своё значение для каждой локали браузера, например, <code>ISO-8859-1,utf-8;q=0.7,*;q=0.7</code> установлен для западноевропейской локали.</p> -<p>В настоящее время, UTF-8 имеет серьёзную поддержку, является предпочтительным способом кодировки текста и гарантирует лучшую конфеденциальность за счет уменьшения разнообразия конфигураций, поэтому большая часть браузеров пропускает заголовок <code>Accept-Charset</code>: Internet Explorer 8, Safari 5, Opera 11 и Firefox 10 отказались от этого заголовка в запросах.</p> +<p>В настоящее время, UTF-8 имеет серьёзную поддержку, является предпочтительным способом кодировки текста и гарантирует лучшую конфиденциальность за счет уменьшения разнообразия конфигураций, поэтому большая часть браузеров пропускает заголовок <code>Accept-Charset</code>: Internet Explorer 8, Safari 5, Opera 11 и Firefox 10 отказались от этого заголовка в запросах.</p> <h3 id="Заголовок_Accept-Encoding">Заголовок <code>Accept-Encoding</code></h3> diff --git a/files/ru/web/http/cookies/index.html b/files/ru/web/http/cookies/index.html index 15aedf93b7..f18f00eda4 100644 --- a/files/ru/web/http/cookies/index.html +++ b/files/ru/web/http/cookies/index.html @@ -121,7 +121,7 @@ console.log(document.cookie); <pre class="brush: html"><img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory"></pre> -<p>Теперь, если вы зашли в свой банковский аккаунт, а куки по-прежнему действительны (и никакой дополнительной проверки не требуется), то при загрузке HTML-документа с этим изображением деньги будут переведены с вашего счета. Для защиты от этого изпользуется ряд методов:</p> +<p>Теперь, если вы зашли в свой банковский аккаунт, а куки по-прежнему действительны (и никакой дополнительной проверки не требуется), то при загрузке HTML-документа с этим изображением деньги будут переведены с вашего счета. Для защиты от этого используется ряд методов:</p> <ul> <li>Как и при {{Glossary("XSS")}}, важна фильтрация входящей информации.</li> diff --git a/files/ru/web/http/cors/errors/corsalloworiginnotmatchingorigin/index.html b/files/ru/web/http/cors/errors/corsalloworiginnotmatchingorigin/index.html index 8a59413663..63532d0183 100644 --- a/files/ru/web/http/cors/errors/corsalloworiginnotmatchingorigin/index.html +++ b/files/ru/web/http/cors/errors/corsalloworiginnotmatchingorigin/index.html @@ -25,7 +25,7 @@ translation_of: Web/HTTP/CORS/Errors/CORSAllowOriginNotMatchingOrigin <p>Проще говоря, источник делает запрос который не совпадает ни с одним из источников разрешенных заголовком - {{HTTPHeader("Access-Control-Allow-Origin")}}.</p> -<p>Эта ошибка также может произойти, если ответ содежит более одного заголовка <code>Access-Control-Allow-Origin</code>.</p> +<p>Эта ошибка также может произойти, если ответ содержит более одного заголовка <code>Access-Control-Allow-Origin</code>.</p> <p>Если сервис, к которому ваш код обращается с помощью CORS запроса находится под вашим контролем, убедитесь что он настроен для включения в себя вашего источника в заголовке <code>Access-Control-Allow-Origin</code> и что в ответах от сервера присутствует только один такой заголовок. Заголовок принимает список источников, поэтому указать новый источник совсем не сложно.</p> diff --git a/files/ru/web/http/cors/index.html b/files/ru/web/http/cors/index.html index ee6cfda506..58ed9b8b87 100644 --- a/files/ru/web/http/cors/index.html +++ b/files/ru/web/http/cors/index.html @@ -23,7 +23,7 @@ translation_of: Web/HTTP/CORS <h2 id="Какие_запросы_используют_CORS">Какие запросы используют CORS?</h2> -<p>Этот <a class="external" href="https://fetch.spec.whatwg.org/#http-cors-protocol">cтандарт сross-origin обмена</a> используется для разрешения кросс-сайтовых HTTP запросов для:</p> +<p>Этот <a class="external" href="https://fetch.spec.whatwg.org/#http-cors-protocol">стандарт сross-origin обмена</a> используется для разрешения кросс-сайтовых HTTP запросов для:</p> <ul> <li>Вызова {{domxref("XMLHttpRequest")}} или <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> APIs в кросс-сайт манере, как описано выше.</li> @@ -38,7 +38,7 @@ translation_of: Web/HTTP/CORS <h2 id="Обзор_функциональности">Обзор функциональности</h2> -<p>Стандарт Cross-Origin Resource Sharing работает с помощью добавления новых <a href="/en-US/docs/Web/HTTP/Headers">HTTP-заголовков</a>, которые позволяют серверам описывать набор источников, которым разрешено читать информацию, запрашиваемую web-браузером. В частности, для методов HTTP-запросов, которые могут привести к побочным эффектам над данными сервера (в частности, для HTTP методов, отличных от {{HTTPMethod("GET")}} или для {{HTTPMethod("POST")}} запросов, использующих определнные <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME-</a>типы), спецификация требует, чтобы браузеры "предпроверяли" запрос, запрашивая поддерживающие методы с сервера с помощью метода HTTP-запроса {{HTTPMethod("OPTIONS")}} и затем, поверх "подтверждения" с сервера, отсылали фактический запрос с фактическим методом HTTP-запроса. Сервера также могут оповещать клиентов должны ли "полномочия" (включая <a href="/en-US/docs/Web/HTTP/Cookies">Cookies</a> и HTTP Authentication данные) быть отправлены с запросом.</p> +<p>Стандарт Cross-Origin Resource Sharing работает с помощью добавления новых <a href="/en-US/docs/Web/HTTP/Headers">HTTP-заголовков</a>, которые позволяют серверам описывать набор источников, которым разрешено читать информацию, запрашиваемую web-браузером. В частности, для методов HTTP-запросов, которые могут привести к побочным эффектам над данными сервера (в частности, для HTTP методов, отличных от {{HTTPMethod("GET")}} или для {{HTTPMethod("POST")}} запросов, использующих определенные <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME-</a>типы), спецификация требует, чтобы браузеры "предпроверяли" запрос, запрашивая поддерживающие методы с сервера с помощью метода HTTP-запроса {{HTTPMethod("OPTIONS")}} и затем, поверх "подтверждения" с сервера, отсылали фактический запрос с фактическим методом HTTP-запроса. Сервера также могут оповещать клиентов должны ли "полномочия" (включая <a href="/en-US/docs/Web/HTTP/Cookies">Cookies</a> и HTTP Authentication данные) быть отправлены с запросом.</p> <p>Следующая секция описывает сценарии, а также предоставляет анализ использования HTTP-заголовков. </p> @@ -209,7 +209,7 @@ function callOtherDomain(){ <p><img alt="" src="https://mdn.mozillademos.org/files/16753/preflight_correct.png" style="height: 553px; width: 521px;"></p> <div class="blockIndicator note"> -<p><strong>Замечнаие:</strong> как описано ниже, фактический <code>POST</code> запрос не включает <code>Access-Control-Request-*</code> заголовки; они нужны только для <code>OPTIONS</code> запроса.</p> +<p><strong>Замечание:</strong> как описано ниже, фактический <code>POST</code> запрос не включает <code>Access-Control-Request-*</code> заголовки; они нужны только для <code>OPTIONS</code> запроса.</p> </div> <p>Давайте посмотрим на полный обмен между клиентом и сервером. Первый обмен - это <em>предварительный</em> <em>запрос/ответ</em>:</p> @@ -330,7 +330,7 @@ Access-Control-Max-Age: 86400</pre> <h3 id="Запросы_с_учетными_данными">Запросы с учетными данными</h3> -<p>Наиболее интересная возможность, предоставляемая как {{domxref("XMLHttpRequest")}}, так и <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> и CORS - это возможность делать "проверенные" запросы, которые осведомленны о файлах <a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookie</a> и информации HTTP аутентификаци. По умолчанию, в кросс-сайтовых {{domxref("XMLHttpRequest")}} или <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> вызовах, браузеры <strong>не </strong>отправляют учетные данные. Конкретный флаг должен быть установлен для объекта {{domxref("XMLHttpRequest")}} или конструктора {{domxref("Request")}} при его вызове.</p> +<p>Наиболее интересная возможность, предоставляемая как {{domxref("XMLHttpRequest")}}, так и <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> и CORS - это возможность делать "проверенные" запросы, которые осведомлены о файлах <a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookie</a> и информации HTTP аутентификации. По умолчанию, в кросс-сайтовых {{domxref("XMLHttpRequest")}} или <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> вызовах, браузеры <strong>не </strong>отправляют учетные данные. Конкретный флаг должен быть установлен для объекта {{domxref("XMLHttpRequest")}} или конструктора {{domxref("Request")}} при его вызове.</p> <p>В этом примере контент, изначально загруженный из <code class="plain">http://foo.example,</code> выполняет простой GET запрос к ресурсу <code class="plain">http://bar.other,</code> который устанавливает файлы сookie. Содержимое на foo.example может содержать такой JavaScript:</p> @@ -350,7 +350,7 @@ function callOtherDomain(){ <p><img alt="" src="https://mdn.mozillademos.org/files/14291/cred-req.png" style="height: 223px; width: 521px;"></p> -<p>Вот пример обмена между клентом и сервером:</p> +<p>Вот пример обмена между клиентом и сервером:</p> <pre class="brush: none notranslate">GET /resources/access-control-with-credentials/ HTTP/1.1 Host: bar.other diff --git a/files/ru/web/http/csp/index.html b/files/ru/web/http/csp/index.html index b0d13ff4fc..c5c1d48294 100644 --- a/files/ru/web/http/csp/index.html +++ b/files/ru/web/http/csp/index.html @@ -73,7 +73,7 @@ translation_of: Web/HTTP/CSP <ul> <li>Изображения могут быть получены из любого источника (источник - "*").</li> <li>Другие медиа-файлы доступны только с media1.com и media2.com (но не с их поддоменов).</li> - <li>Имсполняемый код доступен только с userscripts.example.com.</li> + <li>Исполняемый код доступен только с userscripts.example.com.</li> </ul> <h3 id="Пример_4">Пример 4</h3> @@ -179,7 +179,7 @@ translation_of: Web/HTTP/CSP <p>{{Compat("http.headers.csp")}}</p> -<p>Для некоторых версий Safari существует специфическая невсовместимость реализации CSP. Если установить заголовок Content Security Policy без заголовка Same Origin, то браузер начнет блокировать и создавать ложно-положительные отчеты о нарушении политики для всего контента, как с запрашеваемого источника, так и из внешних источников.</p> +<p>Для некоторых версий Safari существует специфическая несовместимость реализации CSP. Если установить заголовок Content Security Policy без заголовка Same Origin, то браузер начнет блокировать и создавать ложно-положительные отчеты о нарушении политики для всего контента, как с запрашиваемого источника, так и из внешних источников.</p> <p>Смотрите также:</p> diff --git a/files/ru/web/http/feature_policy/index.html b/files/ru/web/http/feature_policy/index.html index c97e13a4e5..972b15c168 100644 --- a/files/ru/web/http/feature_policy/index.html +++ b/files/ru/web/http/feature_policy/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTTP/Feature_Policy <h2 id="Краткое_описание">Краткое описание</h2> -<p>Заголовок Feature Policy предоставляет механизм для ясного указания функций, используемых или не используемых вашим ваб-сайтом. Это позволяет закрепить лучшие практики, даже если кодовая база развивается с течением времени, а также более безопасно включать сторонний контент, ограничивая доступные функции.</p> +<p>Заголовок Feature Policy предоставляет механизм для ясного указания функций, используемых или не используемых вашим веб-сайтом. Это позволяет закрепить лучшие практики, даже если кодовая база развивается с течением времени, а также более безопасно включать сторонний контент, ограничивая доступные функции.</p> <p>С помощью заголовка Feature Policy вы можете включить набор "политик" для браузера, чтобы использовать определенные функции, необходимые веб-сайту. Эти политики определяют какие API сайта могут получать доступ или изменять поведение по умолчанию для определенных функций.</p> diff --git a/files/ru/web/http/feature_policy/using_feature_policy/index.html b/files/ru/web/http/feature_policy/using_feature_policy/index.html index bdf46e1be5..b2dc5d8792 100644 --- a/files/ru/web/http/feature_policy/using_feature_policy/index.html +++ b/files/ru/web/http/feature_policy/using_feature_policy/index.html @@ -13,9 +13,9 @@ translation_of: Web/HTTP/Feature_Policy/Using_Feature_Policy <p>Для каждой функции, контролируемой функциональной политикой, браузер отслеживает список источников происхождения, для документов которого, эта функция разрешена. Если разработчик не определил политику для функциональности, тогда будет использован список разрешенных источников по умолчанию. Этот список специфичен для каждой функциональности. </p> -<h2 id="Описание_полититки">Описание полититки</h2> +<h2 id="Описание_политики">Описание политики</h2> -<p>Политика определяется, используя набор индивидуальных установочных директив. Установочная директива - это комбинация имен определяемых функциональностей, со списком источников происхождения, которым разрешается достук к указанной функциональности. Имена функциональностей в политике разделяются точкой с запятой.</p> +<p>Политика определяется, используя набор индивидуальных установочных директив. Установочная директива - это комбинация имен определяемых функциональностей, со списком источников происхождения, которым разрешается доступ к указанной функциональности. Имена функциональностей в политике разделяются точкой с запятой.</p> <h3 id="список_доступа">список доступа</h3> @@ -26,10 +26,10 @@ translation_of: Web/HTTP/Feature_Policy/Using_Feature_Policy <li><code>'self'</code>: Функциональность разрешается в документе и всем вложенным в него браузерным контекстам (элементам <code>iframes</code>) общего с этим документом источником происхождения.</li> <li><code>'src'</code>: (только для элемента<code> iframe</code> с атрибутом <code>allow</code>) Функциональность доступна в этом фрейме, при условии, что загруженный в него документ происходит из того же источника, что и URL в атрибуте {{HTMLElement('iframe','src','#Attributes')}} элемента <code>iframe</code>.</li> <li><code>'none'</code>: Функциональность отключена как для высокоуровневых документов, так и для вложенных в него контекстов (<code>iframes</code>).</li> - <li><origin(s)>: Функциональность доступна для специфичных источников происхождения, указываемых разработчиком (к примеру, https://example.com), раздедяемые между собой пробелом.</li> + <li><origin(s)>: Функциональность доступна для специфичных источников происхождения, указываемых разработчиком (к примеру, https://example.com), разделяемые между собой пробелом.</li> </ul> -<p>Значение <code>*</code> (доступность функциональности для всех источников) или <code>'none'</code> (не доступность функциональности для всех источников), можут использоваться только однократно, в то время как, значения <code>'self'</code> и <code>'src'</code> могут быть использованы с одним или несколькими источниками происхождения.</p> +<p>Значение <code>*</code> (доступность функциональности для всех источников) или <code>'none'</code> (не доступность функциональности для всех источников), может использоваться только однократно, в то время как, значения <code>'self'</code> и <code>'src'</code> могут быть использованы с одним или несколькими источниками происхождения.</p> <p>Каждая функциональность определяется со своим списком разрешений по умолчанию, который содержит одно из значений:</p> @@ -60,7 +60,7 @@ translation_of: Web/HTTP/Feature_Policy/Using_Feature_Policy <pre class="brush: bash">Feature-Policy: geolocation 'none'</pre> -<p>Несколько функциональностей можно контролировать одновременно, отправив один HTTP заголовок, разделяющий точкой с запятой между собой список установочных директив, или отпраить отдельный заголовок для каждой установочной директивы.</p> +<p>Несколько функциональностей можно контролировать одновременно, отправив один HTTP заголовок, разделяющий точкой с запятой между собой список установочных директив, или отправить отдельный заголовок для каждой установочной директивы.</p> <p>К примеру, ниже директивы идентичны:</p> @@ -104,9 +104,9 @@ Feature-Policy: camera *; <p>Отключение функциональности в политике является односторонним. Если функциональность не доступна (отключена) для дочернего фрейма его родителем, дочерний фрейм не может это отменить, и ни его потомки.</p> -<h2 id="Применение_новейших_решений_для_наилутшего_пользовательского_впечатления">Применение новейших решений для наилутшего пользовательского впечатления</h2> +<h2 id="Применение_новейших_решений_для_наилучшего_пользовательского_впечатления">Применение новейших решений для наилучшего пользовательского впечатления</h2> -<p>Трудно создать веб сайт, который использует новейшие решения и предлагает отличную производительность. Со временем, эволюционируя, сайту может даже труднее обеспечивать наилутшие пользовательские впечатления. Используйте функциональные политики для определения новейших решений, и полагайтесь на современные браузеры в предотвращении негативных изменений.</p> +<p>Трудно создать веб сайт, который использует новейшие решения и предлагает отличную производительность. Со временем, эволюционируя, сайту может даже труднее обеспечивать наилучшие пользовательские впечатления. Используйте функциональные политики для определения новейших решений, и полагайтесь на современные браузеры в предотвращении негативных изменений.</p> <p>Существуют несколько функциональных политик, спроектированных для предоставления функциональности, но которые могут негативно влиять на впечатления пользователя. Ими являются:</p> @@ -121,7 +121,7 @@ Feature-Policy: camera *; <p>Для исключения поломки веб контента, значения по умолчанию для таких функциональных политик, позволяют функциональности быть использованной для всех источников происхождения. То есть, списком разрешений по умолчанию является <code>'*'</code> для каждой функциональности. Предотвращение использования неоптимальной функциональности, требует явного определения политики, которая отключает функциональности.</p> -<p>Для нового контента можно начать разработку с политикой, которая отключает все функциональности. Такой подход гаранитрует, что ни одна из функциональностей не включена. При применении политики для существующего контента, тестирование работы наиболее желательный вариант для ожидаемой проверки работоспособности. Это особенно важно для встроенных или сторонних контентов, которых разработчик не может контролировать.</p> +<p>Для нового контента можно начать разработку с политикой, которая отключает все функциональности. Такой подход гарантирует, что ни одна из функциональностей не включена. При применении политики для существующего контента, тестирование работы наиболее желательный вариант для ожидаемой проверки работоспособности. Это особенно важно для встроенных или сторонних контентов, которых разработчик не может контролировать.</p> <p>Для включения правоприменения всех новейших решений, определяется политика ниже.</p> @@ -141,5 +141,5 @@ Feature-Policy: camera *; <li>Атрибут {{HTMLElement('iframe','allow','#Attributes')}} элемента <code>iframe</code></li> <li>Заголовок {{HTTPHeader("Content-Security-Policy")}} </li> <li>Заголовок {{HTTPHeader("Referrer-Policy")}}</li> - <li><a href="/en-US/docs/Web/Privacy">Конфеденциальность, разрешения и информационная безопасность</a></li> + <li><a href="/en-US/docs/Web/Privacy">Конфиденциальность, разрешения и информационная безопасность</a></li> </ul> diff --git a/files/ru/web/http/headers/accept-charset/index.html b/files/ru/web/http/headers/accept-charset/index.html index 5201aa7df9..a8008ec1b8 100644 --- a/files/ru/web/http/headers/accept-charset/index.html +++ b/files/ru/web/http/headers/accept-charset/index.html @@ -6,7 +6,7 @@ original_slug: Web/HTTP/Заголовки/Accept-Charset --- <div>{{HTTPSidebar}}</div> -<p>Заголовок <strong><code>Accept-Charset</code></strong> запроса HTTP сообщает какую кодировку клиент может понять. Используя <a href="/en-US/docs/Web/HTTP/Content_negotiation">согласование контента</a>, сервер выбирает один из предложенных вариантов, использует его и информирует клиент о своем выборе в {{HTTPHeader("Content-Type")}} ответном заголовке. Браузер обычно не устанавливает этот заголовок, т.к. значение по умолчанию для каждого контентного типа обычно коректный и передача его позволит с большей легкостью получить цифровой отпечаток.</p> +<p>Заголовок <strong><code>Accept-Charset</code></strong> запроса HTTP сообщает какую кодировку клиент может понять. Используя <a href="/en-US/docs/Web/HTTP/Content_negotiation">согласование контента</a>, сервер выбирает один из предложенных вариантов, использует его и информирует клиент о своем выборе в {{HTTPHeader("Content-Type")}} ответном заголовке. Браузер обычно не устанавливает этот заголовок, т.к. значение по умолчанию для каждого контентного типа обычно корректный и передача его позволит с большей легкостью получить цифровой отпечаток.</p> <p>Если сервер не может обслужить никакую из предоставленных кодировок, теоретически он может вернуть {{HTTPStatus("406")}} (Not Acceptable) код ошибки. Но, для более лучшего пользовательского опыта, это редко делается и более частый способ в этом случае, это просто игнорирование заголовка <code>Accept-Charset</code>.</p> diff --git a/files/ru/web/http/headers/accept-language/index.html b/files/ru/web/http/headers/accept-language/index.html index 493d22e849..8cce5856b6 100644 --- a/files/ru/web/http/headers/accept-language/index.html +++ b/files/ru/web/http/headers/accept-language/index.html @@ -6,7 +6,7 @@ original_slug: Web/HTTP/Заголовки/Accept-Language --- <div>{{HTTPSidebar}}</div> -<div>{{Glossary("HTTP-заголовок")}} Запрос <strong><code>Accept-Language</code></strong> сообщает серверу, какие языки клиент понимает и какая локаль предпочтительнее (имеются в виду естественные языки, такие как английский, а не языки программирования). Используя механизм обсуждения содержимого (<a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a>), сервер выбирает один из предложенных вариантов, использует его и информирует клиента о своем выборе при помощи заголовка ответа {{HTTPHeader("Content-Language")}}. Браузеры устанавливают соответствующие значения для данного заголовка, исходя из языка пользовательсокого интерфейса, и, даже если у пользователя есть возможность изменить значение заголовка <strong><code>Accept-Language</code></strong>, это происходит редко (и не одобряется, так как ведет.к идентификации).</div> +<div>{{Glossary("HTTP-заголовок")}} Запрос <strong><code>Accept-Language</code></strong> сообщает серверу, какие языки клиент понимает и какая локаль предпочтительнее (имеются в виду естественные языки, такие как английский, а не языки программирования). Используя механизм обсуждения содержимого (<a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a>), сервер выбирает один из предложенных вариантов, использует его и информирует клиента о своем выборе при помощи заголовка ответа {{HTTPHeader("Content-Language")}}. Браузеры устанавливают соответствующие значения для данного заголовка, исходя из языка пользовательского интерфейса, и, даже если у пользователя есть возможность изменить значение заголовка <strong><code>Accept-Language</code></strong>, это происходит редко (и не одобряется, так как ведет.к идентификации).</div> <div></div> diff --git a/files/ru/web/http/headers/accept-ranges/index.html b/files/ru/web/http/headers/accept-ranges/index.html index 52b098c390..fc91bb80fe 100644 --- a/files/ru/web/http/headers/accept-ranges/index.html +++ b/files/ru/web/http/headers/accept-ranges/index.html @@ -36,7 +36,7 @@ Accept-Ranges: none</pre> <dl> <dt><code>none</code></dt> - <dd>Единица измерения диапазона не поддерживается, что эквивалентно отсутствию диапазона и поэтому редко используется, хотя некоторые браузеры, такие как IE9 используют его для отключения или удаления кнопоки паузы у активной загрузке в менеджере загрузок.</dd> + <dd>Единица измерения диапазона не поддерживается, что эквивалентно отсутствию диапазона и поэтому редко используется, хотя некоторые браузеры, такие как IE9 используют его для отключения или удаления кнопки паузы у активной загрузке в менеджере загрузок.</dd> <dt><code>bytes</code></dt> <dd> <p>Единицей измерения для диапазона являются байты.</p> diff --git a/files/ru/web/http/headers/access-control-allow-headers/index.html b/files/ru/web/http/headers/access-control-allow-headers/index.html index a17c117bc5..d405260c68 100644 --- a/files/ru/web/http/headers/access-control-allow-headers/index.html +++ b/files/ru/web/http/headers/access-control-allow-headers/index.html @@ -13,7 +13,7 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Allow-Headers <p>Заголовок ответа <strong><code>Access-Control-Allow-Headers</code></strong> используется в ответ на {{glossary("preflight request")}}, чтобы указать, какие заголовки HTTP могут использоваться во время фактического запроса.</p> -<p>The {{glossary("simple header", "simple headers")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Language")}}, {{HTTPHeader("Content-Language")}}, {{HTTPHeader("Content-Type")}} (но только с MIME-типом, найденым в этом значении (исключая параметры), либо <code>application/x-www-form-urlencoded</code>, <code>multipart/form-data</code> или <code>text/plain</code>), всегда доступны и не должны быть перечислены в этом заголовке.</p> +<p>The {{glossary("simple header", "simple headers")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Language")}}, {{HTTPHeader("Content-Language")}}, {{HTTPHeader("Content-Type")}} (но только с MIME-типом, найденным в этом значении (исключая параметры), либо <code>application/x-www-form-urlencoded</code>, <code>multipart/form-data</code> или <code>text/plain</code>), всегда доступны и не должны быть перечислены в этом заголовке.</p> <p>Этот заголовок обязателен, если запрос содержит заголовок {{HTTPHeader("Access-Control-Request-Headers")}}.</p> diff --git a/files/ru/web/http/headers/access-control-allow-methods/index.html b/files/ru/web/http/headers/access-control-allow-methods/index.html index 8b48a2b470..788d616348 100644 --- a/files/ru/web/http/headers/access-control-allow-methods/index.html +++ b/files/ru/web/http/headers/access-control-allow-methods/index.html @@ -60,7 +60,7 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Allow-Methods <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<p class="hidden">Таблица сравнения сгенерирована из структурных данных. Если вы хотите внести вклад в данные, пожалйуста, посмотрите эту ссылку и отправьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> pull request.</p> +<p class="hidden">Таблица сравнения сгенерирована из структурных данных. Если вы хотите внести вклад в данные, пожалуйста, посмотрите эту ссылку и отправьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> pull request.</p> <p>{{Compat("http.headers.Access-Control-Allow-Methods")}}</p> diff --git a/files/ru/web/http/headers/access-control-allow-origin/index.html b/files/ru/web/http/headers/access-control-allow-origin/index.html index deb4b12a85..402d34c996 100644 --- a/files/ru/web/http/headers/access-control-allow-origin/index.html +++ b/files/ru/web/http/headers/access-control-allow-origin/index.html @@ -37,7 +37,7 @@ Access-Control-Allow-Origin: null <dd>Указывает источник. Может быть указан только один источник.</dd> <dt><code>null</code></dt> <dd>Определяет в качестве источника "null". - <div class="note"><strong>Замечание:</strong> <a href="https://w3c.github.io/webappsec-cors-for-developers/#avoid-returning-access-control-allow-origin-null">Не используйте</a> <code>null</code>: "Может показаться, что вернуть <code>Access-Control-Allow-Origin: "null"</code> безопасно, но сериализация Источника любого ресурса, использующего неиерархическую схему (такие как <code>data:</code> или <code>file:</code>), и изолированные документы, определяются как "null". Многие пользовательские агенты предоставляют таким документам доступ к ответу сзаголовком <code>Access-Control-Allow-Origin: "null"</code>, и любой источник модет создать враждебный документ с Источником "null". Поэтому использования заголовка ACAO со значением "null" следует избегать."</div> + <div class="note"><strong>Замечание:</strong> <a href="https://w3c.github.io/webappsec-cors-for-developers/#avoid-returning-access-control-allow-origin-null">Не используйте</a> <code>null</code>: "Может показаться, что вернуть <code>Access-Control-Allow-Origin: "null"</code> безопасно, но сериализация Источника любого ресурса, использующего неиерархическую схему (такие как <code>data:</code> или <code>file:</code>), и изолированные документы, определяются как "null". Многие пользовательские агенты предоставляют таким документам доступ к ответу с заголовком <code>Access-Control-Allow-Origin: "null"</code>, и любой источник может создать враждебный документ с Источником "null". Поэтому использования заголовка ACAO со значением "null" следует избегать."</div> </dd> </dl> @@ -51,11 +51,11 @@ Access-Control-Allow-Origin: null <pre class="notranslate">Access-Control-Allow-Origin: https://developer.mozilla.org</pre> -<p>Чтобы ограничить <code>Access-Control-Allow-Origin</code> разрешенным набором значений, необходимо реализовать логику на стороне сервера для проверки значения заговока {{HTTPHeader("Origin")}} запроса, спавнить его с разрешенным списком источников, а затем, если значение {{HTTPHeader("Origin")}} присутствует в списке, задать значение <code>Access-Control-Allow-Origin</code>, равное значению {{HTTPHeader("Origin")}}.</p> +<p>Чтобы ограничить <code>Access-Control-Allow-Origin</code> разрешенным набором значений, необходимо реализовать логику на стороне сервера для проверки значения заголовка {{HTTPHeader("Origin")}} запроса, сравнить его с разрешенным списком источников, а затем, если значение {{HTTPHeader("Origin")}} присутствует в списке, задать значение <code>Access-Control-Allow-Origin</code>, равное значению {{HTTPHeader("Origin")}}.</p> <h3 id="CORS_и_кэширование">CORS и кэширование</h3> -<p>Если сервер послал ответ со значением <code>Access-Control-Allow-Origin</code>, которое содержит явное указание источника (а не шаблонное значние "<code>*</code>"), тогда ответ также должен включать в себя заголовок {{HTTPHeader("Vary")}} со значением <code>Origin</code> — чтобы указать браузеру, что ответы с сервера могут отличаться в зависимости от заголовка запроса <code>Origin</code>.</p> +<p>Если сервер послал ответ со значением <code>Access-Control-Allow-Origin</code>, которое содержит явное указание источника (а не шаблонное значение "<code>*</code>"), тогда ответ также должен включать в себя заголовок {{HTTPHeader("Vary")}} со значением <code>Origin</code> — чтобы указать браузеру, что ответы с сервера могут отличаться в зависимости от заголовка запроса <code>Origin</code>.</p> <pre class="notranslate">Access-Control-Allow-Origin: https://developer.mozilla.org Vary: Origin</pre> diff --git a/files/ru/web/http/headers/access-control-max-age/index.html b/files/ru/web/http/headers/access-control-max-age/index.html index deef2422ab..b889deae0f 100644 --- a/files/ru/web/http/headers/access-control-max-age/index.html +++ b/files/ru/web/http/headers/access-control-max-age/index.html @@ -29,7 +29,7 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Max-Age <dl> <dt><delta-seconds></dt> <dd>Количество секунд, на которое запрос может быть кэширован.<br> - Максимальное значение в Firefox составляет <a href="https://dxr.mozilla.org/mozilla-central/rev/7ae377917236b7e6111146aa9fb4c073c0efc7f4/netwerk/protocol/http/nsCORSListenerProxy.cpp#1131">24 часа</a> (86400 секунд), в Chromium <a href="https://cs.chromium.org/chromium/src/services/network/public/cpp/cors/preflight_result.cc?rcl=43ab0ff8fdcf3a10a89c4d0d0421f461967f2bd5&l=36">10 минут</a> (600 секунд). Chromium также определяет значение по-умолчанию <a href="https://cs.chromium.org/chromium/src/services/network/public/cpp/cors/preflight_result.cc?rcl=43ab0ff8fdcf3a10a89c4d0d0421f461967f2bd5&l=26">5</a> секунд.<br> + Максимальное значение в Firefox составляет <a href="https://dxr.mozilla.org/mozilla-central/rev/7ae377917236b7e6111146aa9fb4c073c0efc7f4/netwerk/protocol/http/nsCORSListenerProxy.cpp#1131">24 часа</a> (86400 секунд), в Chromium <a href="https://cs.chromium.org/chromium/src/services/network/public/cpp/cors/preflight_result.cc?rcl=43ab0ff8fdcf3a10a89c4d0d0421f461967f2bd5&l=36">10 минут</a> (600 секунд). Chromium также определяет значение по умолчанию <a href="https://cs.chromium.org/chromium/src/services/network/public/cpp/cors/preflight_result.cc?rcl=43ab0ff8fdcf3a10a89c4d0d0421f461967f2bd5&l=26">5</a> секунд.<br> Значение <strong>-1</strong> отменяет кэширование, отправляя предзапрос перед каждым запросом.</dd> </dl> diff --git a/files/ru/web/http/headers/cache-control/index.html b/files/ru/web/http/headers/cache-control/index.html index b626f4a284..4d1165c324 100644 --- a/files/ru/web/http/headers/cache-control/index.html +++ b/files/ru/web/http/headers/cache-control/index.html @@ -74,13 +74,13 @@ Cache-Control: stale-if-error=<seconds> <dl> <dt><code>public</code></dt> - <dd>Указывает, что ответ может быть закэширован в любом кэше.</dd> + <dd>Указывает, что ответ может быть закеширован в любом кэше.</dd> <dt><code>private</code></dt> <dd>Указывает, что ответ предназначен для одного пользователя и не должен помещаться в разделяемый кэш. Частный кэш может хранить ресурс.</dd> <dt><code>no-cache</code></dt> <dd>Указывает на необходимость отправить запрос на сервер для валидации ресурса перед использованием закешированных данных.</dd> <dt><code>only-if-cached</code></dt> - <dd>Указывает на необходимость использования только закэшированных данных. Запрос на сервер не должен посылаться.</dd> + <dd>Указывает на необходимость использования только закешированных данных. Запрос на сервер не должен посылаться.</dd> </dl> <h3 id="Управление_временем_жизни">Управление временем жизни</h3> @@ -91,7 +91,7 @@ Cache-Control: stale-if-error=<seconds> <dt><code>s-maxage=<seconds></code></dt> <dd>Переопределяет <code>max-age</code> или заголовок <code>Expires</code>, но применяется только для разделяемых кэшей (например, прокси) и игнорируется частными кэшами.</dd> <dt><code>max-stale[=<seconds>]</code></dt> - <dd>Указывает, что клиент хочет пролучить ответ, для которого было превышено время устаревания. Дополнительно может быть указано значение в секундах, указывающее, что ответ не должен быть просрочен более чем на указанное значение.</dd> + <dd>Указывает, что клиент хочет получить ответ, для которого было превышено время устаревания. Дополнительно может быть указано значение в секундах, указывающее, что ответ не должен быть просрочен более чем на указанное значение.</dd> <dt><code>min-fresh=<seconds></code></dt> <dd>Указывает, что клиент хочет получить ответ, который будет актуален как минимум указанное количество секунд.</dd> <dt><code>stale-while-revalidate=<seconds></code> {{experimental_inline}}</dt> diff --git a/files/ru/web/http/headers/content-disposition/index.html b/files/ru/web/http/headers/content-disposition/index.html index 7004a28735..144fb4b808 100644 --- a/files/ru/web/http/headers/content-disposition/index.html +++ b/files/ru/web/http/headers/content-disposition/index.html @@ -10,7 +10,7 @@ original_slug: Web/HTTP/Заголовки/Content-Disposition --- <div>{{HTTPSidebar}}</div> -<div>В обычном HTTP-ответе заголовок <code><strong>Content-Disposition</strong></code> является индикатором того, что ожидаемый контент ответа будет отображаться в браузере, как вэб-страница или часть вэб-страницы, или же как вложение, которое затем может быть скачано и сохранено локально.</div> +<div>В обычном HTTP-ответе заголовок <code><strong>Content-Disposition</strong></code> является индикатором того, что ожидаемый контент ответа будет отображаться в браузере, как веб-страница или часть веб-страницы, или же как вложение, которое затем может быть скачано и сохранено локально.</div> <div> </div> @@ -36,7 +36,7 @@ original_slug: Web/HTTP/Заголовки/Content-Disposition <h3 id="Как_заголовок_ответа_с_обычным_телом">Как заголовок ответа с обычным телом</h3> -<p>Первым параметром в контексте HTTP должен быть или <code>inline</code> (это значение по умолчанию, указывающее, что контент должен быть отображен внутри вэб-страницы или как вэб-страница) или <code>attachment</code> (указывает на скачиваемый контент; большинство браузеров отображают диалог "Сохранить как" с заранее заполненным именем файла из параметра <code>filename</code>, если он задан).</p> +<p>Первым параметром в контексте HTTP должен быть или <code>inline</code> (это значение по умолчанию, указывающее, что контент должен быть отображен внутри веб-страницы или как веб-страница) или <code>attachment</code> (указывает на скачиваемый контент; большинство браузеров отображают диалог "Сохранить как" с заранее заполненным именем файла из параметра <code>filename</code>, если он задан).</p> <pre class="syntaxbox">Content-Disposition: inline Content-Disposition: attachment diff --git a/files/ru/web/http/headers/content-language/index.html b/files/ru/web/http/headers/content-language/index.html index 82099fc680..bf273885a3 100644 --- a/files/ru/web/http/headers/content-language/index.html +++ b/files/ru/web/http/headers/content-language/index.html @@ -58,7 +58,7 @@ Content-Language: de-DE, en-CA <h3 id="Указание_использованного_языка_документа">Указание использованного языка документа</h3> -<p>Глобальный аттрибут <code><a href="/en-US/docs/Web/HTML/Global_attributes/lang">lang</a></code> используется на HTML элементах для указания языка всего HTML документа или его частей.</p> +<p>Глобальный атрибут <code><a href="/en-US/docs/Web/HTML/Global_attributes/lang">lang</a></code> используется на HTML элементах для указания языка всего HTML документа или его частей.</p> <pre class="brush: html"><html lang="de"></pre> diff --git a/files/ru/web/http/headers/content-length/index.html b/files/ru/web/http/headers/content-length/index.html index 8212fa93f4..baefce6314 100644 --- a/files/ru/web/http/headers/content-length/index.html +++ b/files/ru/web/http/headers/content-length/index.html @@ -57,7 +57,7 @@ original_slug: Web/HTTP/Заголовки/Content-Length <h2 id="Браузерная_совместимость">Браузерная совместимость</h2> -<p class="hidden">Таблица совместимостина этой странице сгенерирована из структурированных данных. Если вы хотите добавить данные, пожалуйста отправьте пулл-реквест в репозиторий <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a></p> +<p class="hidden">Таблица совместимости на этой странице сгенерирована из структурированных данных. Если вы хотите добавить данные, пожалуйста отправьте пул-реквест в репозиторий <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a></p> <p>{{Compat("http.headers.Content-Length")}}</p> diff --git a/files/ru/web/http/headers/date/index.html b/files/ru/web/http/headers/date/index.html index db727dfc9b..164663440a 100644 --- a/files/ru/web/http/headers/date/index.html +++ b/files/ru/web/http/headers/date/index.html @@ -35,11 +35,11 @@ original_slug: Web/HTTP/Заголовки/Date <dl> <dt><day-name></dt> - <dd>Одно из "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", или "Sun" (регистро-зависимое значение).</dd> + <dd>Одно из "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", или "Sun" (регистрозависимое значение).</dd> <dt><day></dt> <dd>Номер дня с ведущим нулем, например "04" или "23".</dd> <dt><month></dt> - <dd>Один из "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (регистро-зависимое значение).</dd> + <dd>Один из "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (регистрозависимое значение).</dd> <dt><year></dt> <dd>Год из 4-х символов, например "1990" или "2016".</dd> <dt><hour></dt> diff --git a/files/ru/web/http/headers/dnt/index.html b/files/ru/web/http/headers/dnt/index.html index 8b6be230e0..c4b7d6ae4d 100644 --- a/files/ru/web/http/headers/dnt/index.html +++ b/files/ru/web/http/headers/dnt/index.html @@ -33,14 +33,14 @@ DNT: 1 <dt>0</dt> <dd>Пользователь разрешает отслеживание на целевом сайте.</dd> <dt>1</dt> - <dd>Пользователь предпочитает не остлеживаться на целевом сайте.</dd> + <dd>Пользователь предпочитает не отслеживаться на целевом сайте.</dd> </dl> <h2 id="Примеры">Примеры</h2> <h3 id="Чтение_статуса_Do_Not_Track_из_JavaScript">Чтение статуса Do Not Track из JavaScript</h3> -<p>DNT предпочтение пользвователя может быть считано из JavaScript используя свойство {{domxref("Navigator.doNotTrack")}} :</p> +<p>DNT предпочтение пользователя может быть считано из JavaScript используя свойство {{domxref("Navigator.doNotTrack")}} :</p> <pre class="brush: js">navigator.doNotTrack; // "0" or "1"</pre> diff --git a/files/ru/web/http/headers/etag/index.html b/files/ru/web/http/headers/etag/index.html index 7a49e75507..01aed7fa9b 100644 --- a/files/ru/web/http/headers/etag/index.html +++ b/files/ru/web/http/headers/etag/index.html @@ -35,7 +35,7 @@ ETag: "<etag_value>" <dt><code>W/</code> {{optional_inline}}</dt> <dd><code>'W/'</code> (чувствителен к регистру) указывает, что используется <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests#Weak_validation">слабый валидатор</a>. Слабые валидаторы легко сгенерировать, но они намного реже используются для сравнения. Сильные валидаторы идеальны для сравнения, но их может быть очень сложно сгенерировать эффективно. Слабое значение <code>Etag</code> двух представлений одного и того же ресурса может быть семантически одинаково, но не байт-в-байт.</dd> <dt>"<etag_value>"</dt> - <dd>Тэг сущности, уникально представляющий запрашиваемый ресурс. Это строка ASCII кодов, заключенная в двойные кавычки (например, <code>"675af34563dc-tr34"</code>). Метод, по которому генерируются значения <code>ETag</code>, не определен. Обычно, используется хэш контента, хэш последнего времени модификации или просто номер ревизии. Например, MDN использует шестнадцатиричных хэш wiki-содержимого.</dd> + <dd>Тэг сущности, уникально представляющий запрашиваемый ресурс. Это строка ASCII кодов, заключенная в двойные кавычки (например, <code>"675af34563dc-tr34"</code>). Метод, по которому генерируются значения <code>ETag</code>, не определен. Обычно, используется хэш контента, хэш последнего времени модификации или просто номер ревизии. Например, MDN использует шестнадцатеричных хэш wiki-содержимого.</dd> </dl> <h2 id="Примеры">Примеры</h2> @@ -47,23 +47,23 @@ ETag: W/"0815"</pre> <p>С помощью заголовков <code>ETag</code> и {{HTTPHeader("If-Match")}}, существует возможность обнаружить коллизии в процессе работы приложения.</p> -<p>Например, при редактировании MDN, текущее содержимое статьи захэшировано и помещено в ответ при помощи заголовока <code>Etag</code>:</p> +<p>Например, при редактировании MDN, текущее содержимое статьи захэшировано и помещено в ответ при помощи заголовка <code>Etag</code>:</p> <pre>ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"</pre> -<p>При сохранении изменений в статье (данные отправляются), {{HTTPMethod("POST")}} запрос будет содержать заголовок {{HTTPHeader("If-Match")}}, значение которого эквивалетно значению <code>ETag</code>. Это позволяет проверить актуальность данных.</p> +<p>При сохранении изменений в статье (данные отправляются), {{HTTPMethod("POST")}} запрос будет содержать заголовок {{HTTPHeader("If-Match")}}, значение которого эквивалентно значению <code>ETag</code>. Это позволяет проверить актуальность данных.</p> <pre>If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"</pre> <p>Если хэши из заголовков не совпадают, это означает что данные уже были изменены между запросами (in-between) и будет возвращена ошибка {{HTTPStatus("412")}} <code>Precondition Failed</code>.</p> -<h3 id="Кэширование_неизменямых_ресурсов">Кэширование неизменямых ресурсов</h3> +<h3 id="Кэширование_неизменяемых_ресурсов">Кэширование неизменяемых ресурсов</h3> <p>Другая типичная ситуация для использования <code>ETag</code> — кэширование ресурсов, которые не будут изменяться. Если пользователь повторно посещает URL-адрес (с установленным заголовком <code>ETag</code>), и при этом данные слишком устарели и не могут быть использованы, тогда клиент отправит значение <code>ETag</code> внутри заголовка {{HTTPHeader("If-None-Match")}}:</p> <pre>If-None-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"</pre> -<p>После чего сервер сравнит клиентский <code>ETag</code> (отправленный с помощью <code>If-None-Match</code>) с <code>ETag</code> для текущей версии ресурса и, если их значения совпадают (т.е. ресурсы не были изменены), сервер вернет статус {{HTTPStatus("304")}}<code> Not Modified</code>, без тела ответа. Такой ответ сервера сообщает клиенту, что закэшированная версия ресурса актуальна и готова к использованию.</p> +<p>После чего сервер сравнит клиентский <code>ETag</code> (отправленный с помощью <code>If-None-Match</code>) с <code>ETag</code> для текущей версии ресурса и, если их значения совпадают (т.е. ресурсы не были изменены), сервер вернет статус {{HTTPStatus("304")}}<code> Not Modified</code>, без тела ответа. Такой ответ сервера сообщает клиенту, что закешированная версия ресурса актуальна и готова к использованию.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/http/headers/if-match/index.html b/files/ru/web/http/headers/if-match/index.html index f09d5894b5..1f46b5bbb1 100644 --- a/files/ru/web/http/headers/if-match/index.html +++ b/files/ru/web/http/headers/if-match/index.html @@ -59,7 +59,7 @@ If-Match: * <table class="standard-table"> <tbody> <tr> - <th scope="col">Спецификвция</th> + <th scope="col">Спецификация</th> <th scope="col">Название</th> </tr> <tr> diff --git a/files/ru/web/http/headers/if-modified-since/index.html b/files/ru/web/http/headers/if-modified-since/index.html index e08d9e88b9..574931193f 100644 --- a/files/ru/web/http/headers/if-modified-since/index.html +++ b/files/ru/web/http/headers/if-modified-since/index.html @@ -80,7 +80,7 @@ original_slug: Web/HTTP/Заголовки/If-Modified-Since <h2 id="Совместимость_с_браузером">Совместимость с браузером</h2> -<p class="hidden">Таблица совместимости на этой страницы была сгенерирована из структурированных данных. Если вы хотите внести свой вклад в эти данные, то можете склонировать соответствующий репозиторий <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и прислать нам пулл-реквест.</p> +<p class="hidden">Таблица совместимости на этой страницы была сгенерирована из структурированных данных. Если вы хотите внести свой вклад в эти данные, то можете склонировать соответствующий репозиторий <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и прислать нам пул-реквест.</p> <p>{{Compat("http/headers/if-modified-since")}}</p> diff --git a/files/ru/web/http/headers/index.html b/files/ru/web/http/headers/index.html index 9cfb918eab..ddb86dab64 100644 --- a/files/ru/web/http/headers/index.html +++ b/files/ru/web/http/headers/index.html @@ -9,7 +9,7 @@ original_slug: Web/HTTP/Заголовки --- <p>{{ HTTPSidebar }}</p> -<p><span class="seoSummary"><strong>Заголовки HTTP </strong>позволяют клиенту и серверу отправлять дополнительную информацию с HTTP запросом или ответом. В HTTP-заголовке содержится не чувствительное к регистру название, а затем после (<code>:</code>) непостредственно значение.</span> <a href="https://wiki.developer.mozilla.org/en-US/docs/Glossary/Whitespace">Пробелы</a> перед значением игнорируются.</p> +<p><span class="seoSummary"><strong>Заголовки HTTP </strong>позволяют клиенту и серверу отправлять дополнительную информацию с HTTP запросом или ответом. В HTTP-заголовке содержится не чувствительное к регистру название, а затем после (<code>:</code>) непосредственно значение.</span> <a href="https://wiki.developer.mozilla.org/en-US/docs/Glossary/Whitespace">Пробелы</a> перед значением игнорируются.</p> <p><span class="tlid-translation translation" lang="ru"><span title="">Пользовательские собственные заголовки исторически использовались с префиксом X, но это соглашение было объявлено устаревшим в июне 2012 года из-за неудобств, вызванных тем, что нестандартные поля стали стандартом в </span></span> <a href="https://tools.ietf.org/html/rfc6648">RFC 6648</a><span class="tlid-translation translation" lang="ru"><span title="">;</span> <span title="">другие перечислены в реестре <a href="http://www.iana.org/assignments/message-headers/perm-headers.html">IANA</a>, исходное содержимое которого было определено в </span></span> <a class="external external-icon" href="http://tools.ietf.org/html/rfc4229">RFC 4229</a>.<span class="tlid-translation translation" lang="ru"><span title=""> IANA также поддерживает <a href="https://www.iana.org/assignments/message-headers/message-headers.xhtml">реестр предлагаемых новых заголовков HTTP</a>.</span></span></p> @@ -96,7 +96,7 @@ original_slug: Web/HTTP/Заголовки </tr> <tr> <td><code><a href="/en-US/docs/Web/HTTP/Content_negotiation#The_Accept-Encoding.3a_header" title="https://developer.mozilla.org/en/HTTP/Content_negotiation#The_Accept-Encoding.3a_header">Accept-Encoding</a></code></td> - <td>Спиcок форматов сжатия данных, которые поддерживает клиент.</td> + <td>Список форматов сжатия данных, которые поддерживает клиент.</td> <td><a href="/ru/docs/Web/HTTP/Content_negotiation" title="ru/HTTP/Content negotiation">HTTP Content Negotiation</a></td> <td>HTTP/1.1</td> </tr> diff --git a/files/ru/web/http/headers/origin/index.html b/files/ru/web/http/headers/origin/index.html index 1f4673dce4..d5bc3fa8ea 100644 --- a/files/ru/web/http/headers/origin/index.html +++ b/files/ru/web/http/headers/origin/index.html @@ -37,7 +37,7 @@ Origin: <протокол> "://" <имя_хоста> [ ":" <по <dt><имя_хоста></dt> <dd>Доменное имя сервера (для виртуального хостинга) или IP.</dd> <dt><порт> {{optional_inline}}</dt> - <dd>Номер TCP порта, который сервер будет слушать. Если порт не задан, будет использован порт по умолчанию для указаного сервиса (например "80" для HTTP).</dd> + <dd>Номер TCP порта, который сервер будет слушать. Если порт не задан, будет использован порт по умолчанию для указанного сервиса (например "80" для HTTP).</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/http/headers/set-cookie/index.html b/files/ru/web/http/headers/set-cookie/index.html index 96b2086206..1898f6cf56 100644 --- a/files/ru/web/http/headers/set-cookie/index.html +++ b/files/ru/web/http/headers/set-cookie/index.html @@ -62,8 +62,8 @@ Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value> <dt><code><cookie-name>=<cookie-value></code></dt> <dd>Cookie начинается с пары имя-значение: <ul> - <li><code><cookie-name></code> может содержать любые символы US-ASCII, за исключением управляющих символов (CTLs), пробелов, или табуляций. Оно также не должно содержать разделительнных символов, таких как следующие: <code>( ) < > @ , ; : \ " / [ ] ? = { }</code>.</li> - <li><code><cookie-value></code> может быть опционально заключено в двойные кавычки, разрешены любые символы US-ASCII за исключением CTLs, пробела, двойных кавычек, запятой, точки с запятой, и обратного слэша. <strong>Кодирование:</strong> Многие реализации выполняют кодирование в значениях cookies, однако этого не требуется по спецификации RFC. Однако, это помогает удовлетворить требование о разрешенных символах в <cookie-value>.</li> + <li><code><cookie-name></code> может содержать любые символы US-ASCII, за исключением управляющих символов (CTLs), пробелов, или табуляций. Оно также не должно содержать разделительных символов, таких как следующие: <code>( ) < > @ , ; : \ " / [ ] ? = { }</code>.</li> + <li><code><cookie-value></code> может быть опционально заключено в двойные кавычки, разрешены любые символы US-ASCII за исключением CTLs, пробела, двойных кавычек, запятой, точки с запятой, и обратного слеша. <strong>Кодирование:</strong> Многие реализации выполняют кодирование в значениях cookies, однако этого не требуется по спецификации RFC. Однако, это помогает удовлетворить требование о разрешенных символах в <cookie-value>.</li> <li><strong><code>__Secure-</code> prefix</strong> {{non-standard_inline}}: Cookies с именем, начинающимся с <code> __Secure-</code> (подчеркивание является частью префикса ) должны быть установлены вместе с флагом secure, и должны быть с безопасной страницы (HTTPS).</li> <li><strong><code>__Host-</code> prefix</strong> {{non-standard_inline}}: Cookies с именем, начинающимся с <code>__Host-</code> должны быть установлены с флагом secure <code>secure</code>, должны быть с безопасной страницы (HTTPS), не должны иметь определенный домен (и, следовательно, не не посылаются поддоменами), а также параметр Path должен быть "/".</li> </ul> @@ -72,7 +72,7 @@ Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value> <dd> <p>Максимальное время жизни cookie в формате метки даты-времени HTTP. См. {{HTTPHeader("Date")}} о деталях формата Если не определен, cookie будет иметь время жизни <strong>сессионного cookie. </strong>Сессия окончена, когда клиент отключается, что приводит к удалению сессионных cookie в этот момент. Однако, многие браузеры имеют возможность, называемую восстановление сессии, которая сохраняет все ваши вкладки и затем возвращает их, когда вы в следующий раз запускаете браузер. Cookies будут также присутствовать, словно вы никогда не закрывали браузер.</p> - <p>Когда установливается срок действия, время и дата устанавливаются не относитеьно сервера, а относительно клиента, на котором установлено cookie,</p> + <p>Когда устанавливается срок действия, время и дата устанавливаются не относительно сервера, а относительно клиента, на котором установлено cookie,</p> </dd> <dt><code>Max-Age=<number> </code>{{optional_inline}}</dt> <dd>Количество секунд, после которого cookie устаревает. Ноль или отрицательное число приводят к моментальному устареванию cookie. Старые браузеры (ie6, ie7, and ie8) не поддерживают Max-Age. Для прочих браузеров, если оба параметра (<code>Expires</code> and <code>Max-Age</code>) установлены, <code>Max-Age</code> будет иметь преимущество.</dd> @@ -90,13 +90,13 @@ Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value> <dt><code>Secure</code> {{optional_inline}}</dt> <dd>Cookie будет отправлен на сервер только с запросами c использованием SSL и протокола HTTPS.<br> <br> - Cookie не будет дополнительно шифроваться, поэтому в нем не стоит хранить конфиденциальную инфомрацию.</dd> + Cookie не будет дополнительно шифроваться, поэтому в нем не стоит хранить конфиденциальную информацию.</dd> <dd> <p><strong>Note:</strong> небезопасные сайты (<code>http:</code>) не могут использовать cookie с атрибутом "secure" (начиная с Chrome 52+ и Firefox 52+).</p> </dd> <dt><code>HttpOnly</code> {{optional_inline}}</dt> <dd>Запрещает JavaScript доступ к cookie</dd> - <dd>Полезно для защиы от XSS-атак.</dd> + <dd>Полезно для защиты от XSS-атак.</dd> <dt><code>SameSite=<samesite-value></code> {{optional_inline}}</dt> </dl> diff --git a/files/ru/web/http/headers/strict-transport-security/index.html b/files/ru/web/http/headers/strict-transport-security/index.html index 14e7b9e19d..b4c6271a82 100644 --- a/files/ru/web/http/headers/strict-transport-security/index.html +++ b/files/ru/web/http/headers/strict-transport-security/index.html @@ -72,7 +72,7 @@ Strict-Transport-Security: max-age=<expire-time>; preload <h2 id="Пример">Пример</h2> -<p>Все текущие и будущие сабдомены будут HTTPS по max-age на 1 год. Это блокирует доступ к страницам или сабдоменам, которые могут быть доступны только по HTTP.</p> +<p>Все текущие и будущие субдомены будут HTTPS по max-age на 1 год. Это блокирует доступ к страницам или субдоменам, которые могут быть доступны только по HTTP.</p> <pre class="notranslate">Strict-Transport-Security: max-age=31536000; includeSubDomains</pre> diff --git a/files/ru/web/http/headers/x-forwarded-for/index.html b/files/ru/web/http/headers/x-forwarded-for/index.html index 47612909ad..337bdaaacd 100644 --- a/files/ru/web/http/headers/x-forwarded-for/index.html +++ b/files/ru/web/http/headers/x-forwarded-for/index.html @@ -59,7 +59,7 @@ X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178 <pre># Used for some Google services X-ProxyUser-Ip: 203.0.113.19</pre> -<h2 id="Спецификаци">Спецификаци</h2> +<h2 id="Спецификации">Спецификации</h2> <p>Не является частью любой текущей спецификации. Стандартизованная версия этого заголовка {{HTTPHeader("Forwarded")}}.</p> diff --git a/files/ru/web/http/headers/x-xss-protection/index.html b/files/ru/web/http/headers/x-xss-protection/index.html index 29a0a84844..442fe6ab95 100644 --- a/files/ru/web/http/headers/x-xss-protection/index.html +++ b/files/ru/web/http/headers/x-xss-protection/index.html @@ -43,7 +43,7 @@ X-XSS-Protection: 1; report=<reporting-uri> <dt>0</dt> <dd>Отключает фильтрацию XSS.</dd> <dt>1</dt> - <dd>Включает фильтрацию XSS (по-умолчанию в браузерах). Если будет замечена попытка межсайтового скриптинга(XSS), браузер удалит небезопасное содержимое.</dd> + <dd>Включает фильтрацию XSS (по умолчанию в браузерах). Если будет замечена попытка межсайтового скриптинга(XSS), браузер удалит небезопасное содержимое.</dd> <dt>1; mode=block</dt> <dd>Включает фильтрацию XSS. Вместо того, чтобы очищать содержимое страницы, браузер предотвратит отображение страницы, если заметит атаку.</dd> <dt>1; report=<reporting-URI> (Chromium only)</dt> @@ -68,7 +68,7 @@ X-XSS-Protection: 1; report=<reporting-uri> <h2 id="Спецификации">Спецификации</h2> -<p>Не является частью каких-либо спецификай или черновиков.</p> +<p>Не является частью каких-либо специфика или черновиков.</p> <h2 id="Поддерживается_браузерами">Поддерживается браузерами</h2> diff --git a/files/ru/web/http/messages/index.html b/files/ru/web/http/messages/index.html index 0aa51b52a1..e41f8ceecf 100644 --- a/files/ru/web/http/messages/index.html +++ b/files/ru/web/http/messages/index.html @@ -3,7 +3,7 @@ title: Сообщения HTTP slug: Web/HTTP/Messages tags: - HTTP - - ВебМеханика + - Веб Механика - Руководство translation_of: Web/HTTP/Messages --- @@ -133,7 +133,7 @@ translation_of: Web/HTTP/Messages <ul> <li>Заголовки, в отличие от тел, не сжимаются.</li> <li>Заголовки, которые зачастую практически совпадают у идущих подряд сообщений, приходится передавать по отдельности.</li> - <li>Мультиплекстность невозможна. Приходится открывать соединение для каждого сообщения, а теплые (warm) соединеня TCP эффективнее холодных (cold).</li> + <li>Мультиплексность невозможна. Приходится открывать соединение для каждого сообщения, а теплые (warm) соединения TCP эффективнее холодных (cold).</li> </ul> <p>HTTP/2 переходит на новый уровень: он делит сообщения HTTP/1.x на фреймы, которые внедряются в поток. Фреймы данных из заголовков отделены друг от друга, что позволяет сжимать заголовки. Несколько потоков можно объединять друг с другом - такой процесс называется мультиплексированием - что позволяет более эффективно использовать TCP-соединения.</p> diff --git a/files/ru/web/http/methods/options/index.html b/files/ru/web/http/methods/options/index.html index 7df81b0124..a6f1d95b77 100644 --- a/files/ru/web/http/methods/options/index.html +++ b/files/ru/web/http/methods/options/index.html @@ -9,7 +9,7 @@ translation_of: Web/HTTP/Methods/OPTIONS --- <div>{{HTTPSidebar}}</div> -<p><strong>HTTP-метод</strong><strong> <code>OPTIONS</code> </strong>используется для описания параметров соединения с целевым ресурсом. Клиент может указать особый URL для обработки метода OPTIONS, или * (зведочку) чтобы указать весь сервер целиком.</p> +<p><strong>HTTP-метод</strong><strong> <code>OPTIONS</code> </strong>используется для описания параметров соединения с целевым ресурсом. Клиент может указать особый URL для обработки метода OPTIONS, или * (звездочку) чтобы указать весь сервер целиком.</p> <table class="properties"> <tbody> @@ -50,7 +50,7 @@ OPTIONS * HTTP/1.1 <h3 id="Определение_разрешенных_сервером_методов_запроса">Определение разрешенных сервером методов запроса</h3> -<p>Для того, чтобы узнать какие методы запросов поддерживаются сервером, можно возпользоваться curl направить OPTIONS запрос:</p> +<p>Для того, чтобы узнать какие методы запросов поддерживаются сервером, можно воспользоваться curl направить OPTIONS запрос:</p> <pre>curl -X OPTIONS http://example.org -i</pre> diff --git a/files/ru/web/http/methods/put/index.html b/files/ru/web/http/methods/put/index.html index 5c89a7887c..c759172730 100644 --- a/files/ru/web/http/methods/put/index.html +++ b/files/ru/web/http/methods/put/index.html @@ -69,7 +69,7 @@ Content-length: 16 Content-Location: /new.html </pre> -<p>Если целевой ресур содержит отправляемую сущность и сущность была успешно мутирована (обновлена), в соответствии с прилагаемыми в теле запроса данными, то сервер должен отправить или {{HTTPStatus("200")}} (<code>OK</code>), или {{HTTPStatus("204")}} (<code>No Content</code>) для информирования об успешном завершении запроса.</p> +<p>Если целевой ресурс содержит отправляемую сущность и сущность была успешно мутирована (обновлена), в соответствии с прилагаемыми в теле запроса данными, то сервер должен отправить или {{HTTPStatus("200")}} (<code>OK</code>), или {{HTTPStatus("204")}} (<code>No Content</code>) для информирования об успешном завершении запроса.</p> <pre>HTTP/1.1 204 No Content Content-Location: /existing.html diff --git a/files/ru/web/http/overview/index.html b/files/ru/web/http/overview/index.html index 32bf03f084..e4b79afce4 100644 --- a/files/ru/web/http/overview/index.html +++ b/files/ru/web/http/overview/index.html @@ -34,7 +34,7 @@ translation_of: Web/HTTP/Overview <p>Браузер <strong>всегда</strong> является той сущностью, которая создаёт запрос. Сервер обычно этого не делает, хотя за многие годы существования сети были придуманы способы, которые могут позволить выполнить запросы со стороны сервера.</p> -<p>Чтобы отобразить веб страницу, браузер отправляет начальный запрос для получения HTML-документа этой страницы. После этого браузер изучает этот документ, и запрашивает дополнительные файлы, необходимые для отбражения содержания веб-страницы (исполняемые скрипты, информацию о макете страницы - CSS таблицы стилей, дополнительные ресурсы в виде изображений и видео-файлов), которые непосредственно являются частью исходного документа, но расположены в других местах сети. Далее браузер соединяет все эти ресурсы для отображения их пользователю в виде единого документа — веб-страницы. Скрипты, выполняемые самим браузером, могут получать по сети дополнительные ресурсы на последующих этапах обработки веб-страницы, и браузер соответствующим образом обновляет отображение этой страницы для пользователя.</p> +<p>Чтобы отобразить веб страницу, браузер отправляет начальный запрос для получения HTML-документа этой страницы. После этого браузер изучает этот документ, и запрашивает дополнительные файлы, необходимые для отображения содержания веб-страницы (исполняемые скрипты, информацию о макете страницы - CSS таблицы стилей, дополнительные ресурсы в виде изображений и видео-файлов), которые непосредственно являются частью исходного документа, но расположены в других местах сети. Далее браузер соединяет все эти ресурсы для отображения их пользователю в виде единого документа — веб-страницы. Скрипты, выполняемые самим браузером, могут получать по сети дополнительные ресурсы на последующих этапах обработки веб-страницы, и браузер соответствующим образом обновляет отображение этой страницы для пользователя.</p> <p>Веб-страница является гипертекстовым документом. Это означает, что некоторые части отображаемого текста являются ссылками, которые могут быть активированы (обычно нажатием кнопки мыши) с целью получения и соответственно отображения новой веб-страницы (переход по ссылке). Это позволяет пользователю "перемещаться" по страницам сети (Internet). Браузер преобразует эти гиперссылки в HTTP-запросы и в дальнейшем полученные HTTP-ответы отображает в понятном для пользователя виде.</p> @@ -42,7 +42,7 @@ translation_of: Web/HTTP/Overview <p>На другой стороне коммуникационного канала расположен сервер, который обслуживает (англ. <em>serve</em>) пользователя, предоставляя ему документы по запросу. С точки зрения конечного пользователя, сервер всегда является некой одной виртуальной машиной, полностью или частично генерирующей документ, хотя фактически он может быть группой серверов, между которыми балансируется нагрузка, то есть перераспределяются запросы различных пользователей, либо сложным программным обеспечением, опрашивающим другие компьютеры (такие как кэширующие серверы, серверы баз данных, серверы приложений электронной коммерции и другие).</p> -<p>Сервер не обязательно расположен на одной машине, и наоборот - несколько серверов могут быть расположены (хоститься) на одной и той же машине. В соответствии с версией HTTP/1.1 и имея {{HTTPHeader("Host")}} заголовок, они даже могут делить тот же самый IP-адрес.</p> +<p>Сервер не обязательно расположен на одной машине, и наоборот - несколько серверов могут быть расположены (поститься) на одной и той же машине. В соответствии с версией HTTP/1.1 и имея {{HTTPHeader("Host")}} заголовок, они даже могут делить тот же самый IP-адрес.</p> <h3 id="Прокси">Прокси</h3> @@ -76,9 +76,9 @@ translation_of: Web/HTTP/Overview <p>HTTP/1.0 открывал TCP-соединение для каждого обмена запросом/ответом, имея два важных недостатка: открытие соединения требует нескольких обменов сообщениями, и потому медленно, хотя становится более эффективным при отправке нескольких сообщений, или при регулярной отправке сообщений: <em>теплые</em> соединения более эффективны, чем <em>холодные</em>.</p> -<p>Для смягчения этих недостатков, HTTP/1.1 предоставил конвеерную обработку (которую оказалось трудно реализовать) и устойчивые соединения: лежащее в основе TCP соединение можно частично контролировать через заголовок {{HTTPHeader("Connection")}}. HTTP/2 сделал следующий шаг, добавив мультиплексирование сообщений через простое соединение, помогающее держать соединение теплым и более эффективным.</p> +<p>Для смягчения этих недостатков, HTTP/1.1 предоставил конвейерную обработку (которую оказалось трудно реализовать) и устойчивые соединения: лежащее в основе TCP соединение можно частично контролировать через заголовок {{HTTPHeader("Connection")}}. HTTP/2 сделал следующий шаг, добавив мультиплексирование сообщений через простое соединение, помогающее держать соединение теплым и более эффективным.</p> -<p>Проводятся эксперименты по разработке лучшего транспортного протокола, более подходящего для HTTP. Например, Google эксперементирует с <a href="https://en.wikipedia.org/wiki/QUIC">QUIC</a>, которая основана на UDP, для предоставления более надёжного и эффективного транспортного протокола.</p> +<p>Проводятся эксперименты по разработке лучшего транспортного протокола, более подходящего для HTTP. Например, Google экспериментирует с <a href="https://en.wikipedia.org/wiki/QUIC">QUIC</a>, которая основана на UDP, для предоставления более надёжного и эффективного транспортного протокола.</p> <h2 id="Чем_можно_управлять_через_HTTP">Чем можно управлять через HTTP</h2> @@ -90,10 +90,10 @@ translation_of: Web/HTTP/Overview <li><em><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching">Кэш</a></em><br> Сервер может инструктировать прокси и клиенты: что и как долго кэшировать. Клиент может инструктировать прокси промежуточных кэшей игнорировать хранимые документы.</li> <li><em>Ослабление ограничений источника</em><br> - Для предотвращения шпионских и других, нарушающих приватность, вторжений, веб-браузер обчеспечивает строгое разделение между веб-сайтами. Только страницы из<strong> того же источника</strong> могут получить доступ к информации на веб-странице. Хотя такие ограничение нагружают сервер, заголовки HTTP могут ослабить строгое разделение на стороне сервера, позволяя документу стать частью информации с различных доменов (по причинам безопасности).</li> + Для предотвращения шпионских и других, нарушающих приватность, вторжений, веб-браузер обеспечивает строгое разделение между веб-сайтами. Только страницы из<strong> того же источника</strong> могут получить доступ к информации на веб-странице. Хотя такие ограничение нагружают сервер, заголовки HTTP могут ослабить строгое разделение на стороне сервера, позволяя документу стать частью информации с различных доменов (по причинам безопасности).</li> <li><em>Аутентификация</em><br> Некоторые страницы доступны только специальным пользователям. Базовая аутентификация может предоставляться через HTTP, либо через использование заголовка {{HTTPHeader("WWW-Authenticate")}} и подобных ему, либо с помощью настройки спецсессии, используя куки.</li> - <li><em><a href="/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling">Прокси и тунелирование</a></em><br> + <li><em><a href="/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling">Прокси и туннелирование</a></em><br> Серверы и/или клиенты часто располагаются в интернете, и скрывают свои истинные IP-адреса от других. HTTP запросы идут через прокси для пересечения этого сетевого барьера. Не все прокси -- HTTP прокси. SOCKS-протокол, например, оперирует на более низком уровне. Другие, как, например, ftp, могут быть обработаны этими прокси.</li> <li><em>Сессии</em><br> Использование HTTP кук позволяет связать запрос с состоянием на сервере. Это создает сессию, хотя ядро HTTP -- протокол без состояния. Это полезно не только для корзин в интернет-магазинах, но также для любых сайтов, позволяющих пользователю настроить выход.</li> @@ -104,8 +104,8 @@ translation_of: Web/HTTP/Overview <p>Когда клиент хочет взаимодействовать с сервером, являясь конечным сервером или промежуточным прокси, он выполняет следующие шаги:</p> <ol> - <li>Открытие TCP соединения: TCP-соедиенение будет использоваться для отправки запроса или запросов, и получения ответа. Клиент может открыть новое соединение, переиспользовать существующее, или открыть несколько TCP-соединений к серверу.</li> - <li>Отправка HTTP-сообщения: HTTP-собщения (до HTTP/2) -- человеко-читаемо. Начиная с HTTP/2, простые сообщения инкапсилуруются во фреймы, делая невозможным их чтения напрямую, но принципиально остаются такими же. + <li>Открытие TCP соединения: TCP-соединение будет использоваться для отправки запроса или запросов, и получения ответа. Клиент может открыть новое соединение, переиспользовать существующее, или открыть несколько TCP-соединений к серверу.</li> + <li>Отправка HTTP-сообщения: HTTP-сообщения (до HTTP/2) -- человеко-читаемо. Начиная с HTTP/2, простые сообщения инкапсулируются во фреймы, делая невозможным их чтения напрямую, но принципиально остаются такими же. <pre class="line-numbers language-html notranslate"><code class="language-html">GET / HTTP/1.1 Host: developer.mozilla.org Accept-Language: fr</code></pre> @@ -125,7 +125,7 @@ Content-Type: text/html <li>Закрывает или переиспользует соединение для дальнейших запросов.</li> </ol> -<p>Если активирован HTTP-конвеер, несколько запросов могут быть отправлены без ожидания получения первого ответа целиком. HTTP-конвеер тяжело внедряется в существующие сети, где старые куски ПО сосуществуют с современными версиями. HTTP-конвеер был заменен в HTTP/2 на более надежные мультиплексивные запросы во фрейме.</p> +<p>Если активирован HTTP-конвейер, несколько запросов могут быть отправлены без ожидания получения первого ответа целиком. HTTP-конвейер тяжело внедряется в существующие сети, где старые куски ПО сосуществуют с современными версиями. HTTP-конвейер был заменен в HTTP/2 на более надежные мультиплексные запросы во фрейме.</p> <h2 id="HTTP_сообщения">HTTP сообщения</h2> @@ -145,7 +145,7 @@ Content-Type: text/html <li>HTTP-<a href="/en-US/docs/Web/HTTP/Methods">метод</a>, обычно глагол подобно {{HTTPMethod("GET")}}, {{HTTPMethod("POST")}} или существительное, как {{HTTPMethod("OPTIONS")}} или {{HTTPMethod("HEAD")}}, определяющее операцию, которую клиент хочет выполнить. Обычно, клиент хочет получить ресурс (используя <code>GET</code>) или передать значения <a href="/en-US/docs/Web/Guide/HTML/Forms">HTML-формы</a> (используя <code>POST</code>), хотя другие операция могут быть необходимы в других случаях.</li> <li>Путь к ресурсу: URL ресурсы <span id="result_box" lang="ru"><span>лишены элементов, которые очевидны из контекста</span></span>, например без {{glossary("protocol")}} (<code>http://</code>), {{glossary("domain")}} (здесь <code>developer.mozilla.org</code>), или TCP {{glossary("port")}} (здесь <code>80</code>).</li> <li>Версию HTTP-протокола.</li> - <li><a href="/en-US/docs/Web/HTTP/Headers">Заголовки</a> (опционально), предоставляюшие дополнительную информацию для сервера.</li> + <li><a href="/en-US/docs/Web/HTTP/Headers">Заголовки</a> (опционально), предоставляющие дополнительную информацию для сервера.</li> <li>Или тело, для некоторых методов, таких как <code>POST</code>, которое содержит отправленный ресурс.</li> </ul> @@ -169,4 +169,4 @@ Content-Type: text/html <p>HTTP -- легкий в использовании расширяемый протокол. Структура клиент-сервера, вместе со способностью к простому добавлению заголовков, позволяет HTTP продвигаться вместе с расширяющимися возможностями Сети.</p> -<p>Хотя HTTP/2 добавляет некоторую сложность, встраивая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась с HTTP/1.0. Сессионый поток остается простым, позволяя исследовать и отлаживать с простым <a href="/en-US/docs/Tools/Network_Monitor">монитором HTTP-сообщений</a>.</p> +<p>Хотя HTTP/2 добавляет некоторую сложность, встраивая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась с HTTP/1.0. Сессионный поток остается простым, позволяя исследовать и отлаживать с простым <a href="/en-US/docs/Tools/Network_Monitor">монитором HTTP-сообщений</a>.</p> diff --git a/files/ru/web/http/redirections/index.html b/files/ru/web/http/redirections/index.html index 8a9c509b06..aa1a214099 100644 --- a/files/ru/web/http/redirections/index.html +++ b/files/ru/web/http/redirections/index.html @@ -70,7 +70,7 @@ translation_of: Web/HTTP/Redirections <td><code>Found</code></td> <td>{{HTTPMethod("GET")}} методы неизменны.<br> Другие методы <u>могут</u> быть превращены в {{HTTPMethod("GET")}}.<sup><a href="#attr2">[2]</a></sup></td> - <td>Веб-страница недоступна по непредвиденым причинам. В этом случае поисковые роботы не будут обновлять свои ссылки.</td> + <td>Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки.</td> </tr> <tr> <td><code>303</code></td> @@ -151,7 +151,7 @@ translation_of: Web/HTTP/Redirections <ol> <li>HTTP перенаправления всегда выполняются первыми, пока еще страница даже не была передана, и конечно же, пока еще не прочитана.</li> - <li>HTML перенаправления ({{HTMLElement("meta")}}) выполняються только, если перенаправление не было в выполнено в HTTP.</li> + <li>HTML перенаправления ({{HTMLElement("meta")}}) выполняются только, если перенаправление не было в выполнено в HTTP.</li> <li>JavaScript перенаправления используются как последняя возможность перенаправления, и работают только если разрешено выполнение JavaScript на клиентской стороне.</li> </ol> @@ -205,7 +205,7 @@ translation_of: Web/HTTP/Redirections </VirtualHost> </pre> -<p>URL <code>http://example.com/</code> будет переенаправлен к <code>http://www.example.com/</code> (но не к <code>http://example.com/other.html</code> )</p> +<p>URL <code>http://example.com/</code> будет перенаправлен к <code>http://www.example.com/</code> (но не к <code>http://example.com/other.html</code> )</p> <p><code>Redirect_Match</code> делает то же, но использует регулярное выражение, чтобы определить множество URL адресов, которые подпадут под эффект:</p> diff --git a/files/ru/web/http/session/index.html b/files/ru/web/http/session/index.html index 42de794853..a8a53f9090 100644 --- a/files/ru/web/http/session/index.html +++ b/files/ru/web/http/session/index.html @@ -36,7 +36,7 @@ translation_of: Web/HTTP/Session <li>версию HTTP протокола </li> </ul> </li> - <li>Каждая последующая строка представляет собой HTTP заголовок и передает серверу некоторую информацию о типах предпочитаемых данных (наприм. какой язык , какие MIME типы) или инструкции меняющие поведение сервера (наприм. не отправлять ответ, если он уже в кэше) . Эти HTTP заголовки формируют блок, который заканчивается пустой строкой.</li> + <li>Каждая последующая строка представляет собой HTTP заголовок и передает серверу некоторую информацию о типах предпочитаемых данных (например, какой язык , какие MIME типы) или инструкции меняющие поведение сервера (например, не отправлять ответ, если он уже в кэше) . Эти HTTP заголовки формируют блок, который заканчивается пустой строкой.</li> <li>Последний блок является не обязательным и содержит дополнительные данные. По большей части используется методом POST.</li> </ol> diff --git a/files/ru/web/http/status/103/index.html b/files/ru/web/http/status/103/index.html index d6c39cdb12..3ea9a231ea 100644 --- a/files/ru/web/http/status/103/index.html +++ b/files/ru/web/http/status/103/index.html @@ -6,7 +6,7 @@ tags: - Информация - Код состояния - ТаблицаСоответствия - - ТребуетсяСодержание + - Требуется Содержание - Черновик translation_of: Web/HTTP/Status/103 --- diff --git a/files/ru/web/http/status/402/index.html b/files/ru/web/http/status/402/index.html index e25ebef0f3..93b58f1dd6 100644 --- a/files/ru/web/http/status/402/index.html +++ b/files/ru/web/http/status/402/index.html @@ -7,7 +7,7 @@ translation_of: Web/HTTP/Status/402 <p>HTTP-ответ <strong><code>402 Payment Required</code></strong> это нестандартная ошибка клиента, зарезервированная для использования в будущем.</p> -<p>Иногда этот код означает, что запрос не может быть выполнен до тех пор, пока клиен не совершит оплату. Изначально создан для активации цифровых сретств или (микро) платежных систем и изображает, что запрошенный контент недоступен пока клиент не совершит оплату. Так или иначе, стандартизованного использования для кода нет, и он может использоваться разными элементами в разном контексте.</p> +<p>Иногда этот код означает, что запрос не может быть выполнен до тех пор, пока клиент не совершит оплату. Изначально создан для активации цифровых средств или (микро) платежных систем и изображает, что запрошенный контент недоступен пока клиент не совершит оплату. Так или иначе, стандартизованного использования для кода нет, и он может использоваться разными элементами в разном контексте.</p> <h2 id="Статус">Статус</h2> diff --git a/files/ru/web/http/status/403/index.html b/files/ru/web/http/status/403/index.html index 91222d7aef..42f95f5f95 100644 --- a/files/ru/web/http/status/403/index.html +++ b/files/ru/web/http/status/403/index.html @@ -36,7 +36,7 @@ Date: Wed, 21 Oct 2015 07:28:00 GMT <h2 id="Совместимость_с_браузером">Совместимость с браузером</h2> -<p class="hidden">Таблица совместимости на этой странице сгенерирована из структурированых данных. Если вы хотите внести вклад в содержимое, пожалуйста посетите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</p> +<p class="hidden">Таблица совместимости на этой странице сгенерирована из структурированных данных. Если вы хотите внести вклад в содержимое, пожалуйста посетите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос.</p> <p>{{Compat("http/status", "403")}}</p> diff --git a/files/ru/web/http/status/406/index.html b/files/ru/web/http/status/406/index.html index a06e73be59..1e61d4a6f7 100644 --- a/files/ru/web/http/status/406/index.html +++ b/files/ru/web/http/status/406/index.html @@ -8,7 +8,7 @@ translation_of: Web/HTTP/Status/406 --- <div>{{HTTPSidebar}}</div> -<p>HyperText Transfer Protocol (HTTP) код ошибки клиента <code><strong>406</strong></code><strong><code> Not Acceptable</code></strong> означает, что сервер не может вернуть ответ, соответствующий списку допустимых значений, определенных в заголовках упреждающего <a href="/ru/docs/Web/HTTP/Content_negotiation">согласования контента</a>, и что сервер не желает вернуть представление контента по-умолчанию.</p> +<p>HyperText Transfer Protocol (HTTP) код ошибки клиента <code><strong>406</strong></code><strong><code> Not Acceptable</code></strong> означает, что сервер не может вернуть ответ, соответствующий списку допустимых значений, определенных в заголовках упреждающего <a href="/ru/docs/Web/HTTP/Content_negotiation">согласования контента</a>, и что сервер не желает вернуть представление контента по умолчанию.</p> <p>Заголовки упреждающего согласования контента включают:</p> diff --git a/files/ru/web/http/status/416/index.html b/files/ru/web/http/status/416/index.html index 05ffd0b379..d7035dfb3f 100644 --- a/files/ru/web/http/status/416/index.html +++ b/files/ru/web/http/status/416/index.html @@ -11,7 +11,7 @@ translation_of: Web/HTTP/Status/416 <p>Код ошибки HTTP <strong>416 Range Not Satisfiable</strong> указывает, что сервер не может обслуживать запрошенные диапазоны. Наиболее вероятная причина заключается в том, что документ не содержит таких диапазонов или что значение {{HTTPHeader ("Range")}}, хотя и синтаксически корректно, не имеет смысла.</p> -<p>Cообщение ответа 416 содержит {{HTTPHeader("Content-Range")}}, указывающий на неудовлетворенный диапазон (это <code>'*'</code>), за которым следуют <code>'/'</code> и текущий ресурс. Например: <code>Content-Range: */12777</code></p> +<p>Сообщение ответа 416 содержит {{HTTPHeader("Content-Range")}}, указывающий на неудовлетворенный диапазон (это <code>'*'</code>), за которым следуют <code>'/'</code> и текущий ресурс. Например: <code>Content-Range: */12777</code></p> <p>Столкнувшись с этой ошибкой, браузеры обычно либо прерывают операцию (например, загрузка будет считаться не возобновляемой), либо снова запрашиваются ведь документ.</p> diff --git a/files/ru/web/http/status/501/index.html b/files/ru/web/http/status/501/index.html index 4f13aabd5e..f781b3460e 100644 --- a/files/ru/web/http/status/501/index.html +++ b/files/ru/web/http/status/501/index.html @@ -4,7 +4,7 @@ slug: Web/HTTP/Status/501 translation_of: Web/HTTP/Status/501 --- <div> -<p>The HTTP <code><strong>501</strong></code><strong><code> Not Implemented</code></strong> cерверный код ответа на ошибку указывает, что метод запроса не поддерживается сервером и не может быть обработан. Единственными методами, которые необходимы серверам для поддержки (и, следовательно, не должны возвращать этот код), являются {{HTTPMethod("GET")}} и {{HTTPMethod("HEAD")}}.</p> +<p>The HTTP <code><strong>501</strong></code><strong><code> Not Implemented</code></strong> серверный код ответа на ошибку указывает, что метод запроса не поддерживается сервером и не может быть обработан. Единственными методами, которые необходимы серверам для поддержки (и, следовательно, не должны возвращать этот код), являются {{HTTPMethod("GET")}} и {{HTTPMethod("HEAD")}}.</p> <p>Обратите внимание, что 501 error не является чем-то, что вы можете исправить, но требует исправления веб-сервером, к которому вы пытаетесь получить доступ.</p> </div> diff --git a/files/ru/web/http/status/502/index.html b/files/ru/web/http/status/502/index.html index 0e1bccb304..0c90977db6 100644 --- a/files/ru/web/http/status/502/index.html +++ b/files/ru/web/http/status/502/index.html @@ -35,7 +35,7 @@ translation_of: Web/HTTP/Status/502 <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<p class="hidden">Эта таблица совместимости сгенерирована на основе структурированных данных. Если вы бы хотели сделать свой вклаж в данные, пожалуйста, посетите <a href="https://github.com/mdn/browser-compat-data/README.md">https://github.com/mdn/browser-compat-data/README.md</a> и отправьте нам pull request.</p> +<p class="hidden">Эта таблица совместимости сгенерирована на основе структурированных данных. Если вы бы хотели сделать свой вклад в данные, пожалуйста, посетите <a href="https://github.com/mdn/browser-compat-data/README.md">https://github.com/mdn/browser-compat-data/README.md</a> и отправьте нам pull request.</p> <p>{{Compat("http/status", "502")}}</p> diff --git a/files/ru/web/http/status/index.html b/files/ru/web/http/status/index.html index 4ca660ba38..ec06ff4477 100644 --- a/files/ru/web/http/status/index.html +++ b/files/ru/web/http/status/index.html @@ -25,7 +25,7 @@ translation_of: Web/HTTP/Status <p><font><font>Коды состояния определены в </font></font><a href="https://tools.ietf.org/html/rfc2616#section-10"><font><font>10-ой секции RFC 2616</font></font></a><font><font>. О</font><font>бновленную спецификацию можно найти в </font></font><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1"><font><font>RFC 7231</font></font></a><font><font> . </font></font></p> -<p>Если Вы получли код ответа (состояния), которого нет в данном списке, в таком случае он является не стандартизированным кодом ответа (состояния), вероятней всего он кастомный сервера.</p> +<p>Если Вы получили код ответа (состояния), которого нет в данном списке, в таком случае он является не стандартизированным кодом ответа (состояния), вероятней всего он кастомный сервера.</p> <p>Следующая таблица содержит список всех кодов и их значения:</p> @@ -63,7 +63,7 @@ translation_of: Web/HTTP/Status <tr> <td>103</td> <td>Early Hints</td> - <td>"Ранние подсказки". В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготовливать основной ответ. <a href="https://datatracker.ietf.org/doc/rfc8297">RFC 8297 (Experimental)</a>.</td> + <td>"Ранние подсказки". В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ. <a href="https://datatracker.ietf.org/doc/rfc8297">RFC 8297 (Experimental)</a>.</td> <td>Только HTTP/1.1</td> </tr> <tr> @@ -199,7 +199,7 @@ translation_of: Web/HTTP/Status <tr> <td id="401">401</td> <td>Unauthorized</td> - <td>"Неавторизовано". Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. </td> + <td>"Неавторизованно". Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. </td> <td>HTTP/0.9 and later</td> </tr> <tr> @@ -243,7 +243,7 @@ translation_of: Web/HTTP/Status <tr> <td id="408">408</td> <td>Request Timeout</td> - <td>Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соеднинение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать <a class="external" href="http://www.belshe.com/2011/02/10/the-era-of-browser-preconnect/" title="http://www.belshe.com/2011/02/10/the-era-of-browser-preconnect/">HTTP механизмы предварительного соединения</a> для ускорения серфинга (смотрите {{ bug(634278) }}, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений.</td> + <td>Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать <a class="external" href="http://www.belshe.com/2011/02/10/the-era-of-browser-preconnect/" title="http://www.belshe.com/2011/02/10/the-era-of-browser-preconnect/">HTTP механизмы предварительного соединения</a> для ускорения серфинга (смотрите {{ bug(634278) }}, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений.</td> <td>HTTP/1.1 only</td> </tr> <tr> @@ -299,7 +299,7 @@ translation_of: Web/HTTP/Status <tr> <td id="416">416</td> <td>Requested Range Not Satisfiable</td> - <td>Диапозон указанный заголовком запроса <code>Range</code> не может быть выполнен; возможно, он выходит за пределы переданного URI</td> + <td>Диапазон указанный заголовком запроса <code>Range</code> не может быть выполнен; возможно, он выходит за пределы переданного URI</td> <td>HTTP/1.1 only</td> </tr> <tr> @@ -344,7 +344,7 @@ translation_of: Web/HTTP/Status <tr> <td id="505">505</td> <td>HTTP Version Not Supported</td> - <td>"HTTP-версия не поддерживается". HTTP-версия, используемая в запроcе, не поддерживается сервером.</td> + <td>"HTTP-версия не поддерживается". HTTP-версия, используемая в запросе, не поддерживается сервером.</td> <td>HTTP/1.1 only</td> </tr> </tbody> diff --git a/files/ru/web/index.html b/files/ru/web/index.html index 01a3e39507..4463485a07 100644 --- a/files/ru/web/index.html +++ b/files/ru/web/index.html @@ -92,7 +92,7 @@ translation_of: Web <dt><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Canvas">Canvas</a></dt> <dd>{{HTMLElement("canvas")}} элемент предоставляет API для рисования 2D-графики, с использованием JavaScript.</dd> <dt><a href="/ru/docs/Web/SVG">SVG</a></dt> - <dd>SVG (Scalable Vector Graphics - масштабируемая векторная графика) - позволяет вам описать изображение в виде линий, кривых и других геометрических фигур. Благодаря этому можно машстабировать рисунок без потери качества.</dd> + <dd>SVG (Scalable Vector Graphics - масштабируемая векторная графика) - позволяет вам описать изображение в виде линий, кривых и других геометрических фигур. Благодаря этому можно масштабировать рисунок без потери качества.</dd> <dt><a href="/ru/docs/Web/WebGL" title="/ru/docs/Web/WebGL">WebGL</a></dt> <dd>WebGL - это JavaScript API, позволяющее рисовать 3D или 2D изображения используя HTML элемент {{HTMLElement("canvas")}}. Эта технология позволяет использовать стандарт OpenGL ES в Web-содержимом.</dd> <dt> @@ -116,7 +116,7 @@ translation_of: Web <dt><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/XSLT">XSLT</a></dt> <dd>Extensible Stylesheet Language Transformations (XSLT) позволяет преобразовать XML-документ в человекочитаемый HTML. </dd> <dt><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/EXSLT">EXSLT</a></dt> - <dd>Фукнциональное расширение, которое предоставляет дополнительные возможности для XSLT.</dd> + <dd>Функциональное расширение, которое предоставляет дополнительные возможности для XSLT.</dd> <dt><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/XPath">XPath</a></dt> <dd>XPath позволяет вам выбрать DOM-узел в документе, используя более мощный синтаксис, чем предоставляется обычными <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors">CSS selectors</a>.</dd> </dl> diff --git a/files/ru/web/javascript/closures/index.html b/files/ru/web/javascript/closures/index.html index 0febcbb623..0aaebde058 100644 --- a/files/ru/web/javascript/closures/index.html +++ b/files/ru/web/javascript/closures/index.html @@ -80,7 +80,7 @@ console.log(add10(2)); // 12 <p>Следовательно, замыкания можно использовать везде, где вы обычно использовали объект с одним единственным методом.</p> -<p>Такие ситуации повсеместно встречаются в web-разработке. Большое количество front-end кода, который мы пишем на JavaScript, основанно на обработке событий. Мы описываем какое-то поведение, а потом связываем его с событием, которое создается пользователем (например, клик мышкой или нажатие клавиши). При этом наш код обычно привязывается к событию в виде обратного/ответного вызова (callback): <em>callback функция - функция выполняемая в ответ на возникновение события</em>.</p> +<p>Такие ситуации повсеместно встречаются в web-разработке. Большое количество front-end кода, который мы пишем на JavaScript, основано на обработке событий. Мы описываем какое-то поведение, а потом связываем его с событием, которое создается пользователем (например, клик мышкой или нажатие клавиши). При этом наш код обычно привязывается к событию в виде обратного/ответного вызова (callback): <em>callback функция - функция выполняемая в ответ на возникновение события</em>.</p> <p>Давайте рассмотрим практический пример: допустим, мы хотим добавить на страницу несколько кнопок, которые будут менять размер текста. Как вариант, мы можем указать свойство font-size на элементе body в пикселах, а затем устанавливать размер прочих элементов страницы (таких, как заголовки) с использованием относительных единиц em:</p> @@ -167,7 +167,7 @@ alert(Counter.value()); /* Alerts 1 */ <p>Эти три публичные функции являются замыканиями, использующими общий контекст исполнения (окружение). Благодаря механизму lexical scoping в Javascript, все они имеют доступ к переменной <code>privateCounter</code> и функции <code>changeBy</code>.</p> -<p>Заметьте, мы описываем анонимную фунцию, создающую счётчик, и тут же запускаем ее, присваивая результат исполнения переменной <code>Counter</code>. Но мы также можем не запускать эту функцию сразу, а сохранить её в отдельной переменной, чтобы использовать для дальнейшего создания нескольких счётчиков вот так:</p> +<p>Заметьте, мы описываем анонимную функцию, создающую счётчик, и тут же запускаем ее, присваивая результат исполнения переменной <code>Counter</code>. Но мы также можем не запускать эту функцию сразу, а сохранить её в отдельной переменной, чтобы использовать для дальнейшего создания нескольких счётчиков вот так:</p> <pre class="brush: js notranslate">var makeCounter = function() { var privateCounter = 0; diff --git a/files/ru/web/javascript/enumerability_and_ownership_of_properties/index.html b/files/ru/web/javascript/enumerability_and_ownership_of_properties/index.html index 1f529830a9..020382de3e 100644 --- a/files/ru/web/javascript/enumerability_and_ownership_of_properties/index.html +++ b/files/ru/web/javascript/enumerability_and_ownership_of_properties/index.html @@ -177,7 +177,7 @@ translation_of: Web/JavaScript/Enumerability_and_ownership_of_properties } };</pre> -<h2 id="Определяемость_свойств">Определяемость свойств</h2> +<h2 id="Определимость_свойств">Определимость свойств</h2> <table> <thead> diff --git a/files/ru/web/javascript/equality_comparisons_and_sameness/index.html b/files/ru/web/javascript/equality_comparisons_and_sameness/index.html index fc1ad66e6a..99baf1e830 100644 --- a/files/ru/web/javascript/equality_comparisons_and_sameness/index.html +++ b/files/ru/web/javascript/equality_comparisons_and_sameness/index.html @@ -179,7 +179,7 @@ function attemptMutation(v) <p>До выхода редакции ES6 считалось, что оператор строгого равенства просто "улучшенная" версия оператора нестрогого равенства. Например, некоторые считали, что == просто улучшенная версия === потому, что первый оператор делает всё то же, что и второй, плюс приведение типов своих операндов. То есть 6 == "6". (Или же наоборот: оператор нестрогого равенства базовый, а оператор строгого равенства просто его улучшенная версия, ведь он добавляет ещё одно условие - требует, чтобы оба операнда были одного и того же типа. Какой вариант ближе вам, зависит только от вашей точки зрения на вещи.)</p> -<p>Но эти точки зрения уже нельзя применить к новому методу сравнения <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is">Object.is</a> из новой редакции ES6. Нельзя сказать, что <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is">Object.is</a> более или менее строг относительно существующих способов сравнения, или что это нечто среднее между ними. Ниже в таблице показаны основные различия операторов сравнения. <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is">Object.is</a> интересен тем, что различает -0 и +0, а также умеет сравнивать два нечисла <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>.</p> +<p>Но эти точки зрения уже нельзя применить к новому методу сравнения <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is">Object.is</a> из новой редакции ES6. Нельзя сказать, что <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is">Object.is</a> более или менее строг относительно существующих способов сравнения, или что это нечто среднее между ними. Ниже в таблице показаны основные различия операторов сравнения. <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is">Object.is</a> интересен тем, что различает -0 и +0, а также умеет сравнивать два не числа <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>.</p> <table class="standard-table"> <caption><code>Сравнительная таблица операторов сравнения</code></caption> 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 a5fda463eb..f61c174fc9 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 @@ -55,7 +55,7 @@ translation_of: Web/JavaScript/Guide/Details_of_the_Object_Model </tr> <tr> <td>Определяем класс с помощью определения класса; создаем экземпляр класса с помощью метода-конструктора.</td> - <td>Определение и создание объекта происходит с помощью функций-конcтрукторов.</td> + <td>Определение и создание объекта происходит с помощью функций-конструкторов.</td> </tr> <tr> <td>Создание отдельного объекта с помощью оператора <code>new</code>.</td> @@ -388,7 +388,7 @@ public class Engineer extends WorkerBee { </tbody> </table> -<p>В JavaScript эти определения используют специальную идеому для установки значений по умолчанию:</p> +<p>В JavaScript эти определения используют специальную идиому для установки значений по умолчанию:</p> <pre class="brush: js">this.name = name || ''; </pre> @@ -443,7 +443,7 @@ jane.machine == 'belau' <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; @@ -494,7 +494,7 @@ function Engineer (name, projs, mach) { </tbody> </table> -<p>Использование метода <code>call()</code> является более чистой реализацией наследования, так как он не требует создания дополнителного свойства, именованного в примере как <code>base</code>.</p> +<p>Использование метода <code>call()</code> является более чистой реализацией наследования, так как он не требует создания дополнительного свойства, именованного в примере как <code>base</code>.</p> <h2 id="Тонкости_наследования_свойств">Тонкости наследования свойств</h2> @@ -529,7 +529,7 @@ WorkerBee.prototype = new Employee; <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"; @@ -686,7 +686,7 @@ var mac = new Engineer("Wood, Mac"); <p>В JavaScript наследование свойств осуществляется путем поиска в цепочке прототипов. Так как объект может иметь лишь единственный присвоенный ему прототип, JavaScript не может осуществить наследование более чем от одной цепочки прототипов.</p> -<p>Однако конструктор в JavaScript может вызывать любое количество вложенных конструкторов. Это дает некоторую, хоть и ограниченную (отсутствием прототипной связанности) видимость множественного наследования. Рассмотрим следуюший фрагмент:</p> +<p>Однако конструктор в JavaScript может вызывать любое количество вложенных конструкторов. Это дает некоторую, хоть и ограниченную (отсутствием прототипной связанности) видимость множественного наследования. Рассмотрим следующий фрагмент:</p> <pre class="brush: js">function Hobbyist (hobby) { this.hobby = hobby || "scuba"; diff --git a/files/ru/web/javascript/guide/functions/index.html b/files/ru/web/javascript/guide/functions/index.html index 5e487e354d..b72cfab871 100644 --- a/files/ru/web/javascript/guide/functions/index.html +++ b/files/ru/web/javascript/guide/functions/index.html @@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Guide/Functions <ul> <li>Имя функции.</li> <li>Список параметров (принимаемых функцией) заключенных в круглые скобки <code>()</code> и разделенных запятыми.</li> - <li>Инструкции, которые будут выполненны после вызова функции, заключают в фигурные скобки <code>{ }</code>.</li> + <li>Инструкции, которые будут выполнены после вызова функции, заключают в фигурные скобки <code>{ }</code>.</li> </ul> <p>Например, следующий код объявляет простую функцию с именем <code>square:</code></p> @@ -85,7 +85,7 @@ y = mycar.make; // y получает значение "Toyota" var x = square(4); // x получает значение 16 </pre> -<p>Однако, имя может быть и присвоено для вызова самой себя внутри самой функции и для отладчика (<em>debugger</em>) для идентифицирования функции в стек-треках (<em>stack traces</em>; "trace" — "след" / "отпечаток").</p> +<p>Однако, имя может быть и присвоено для вызова самой себя внутри самой функции и для отладчика (<em>debugger</em>) для идентифицированные функции в стек-треках (<em>stack traces</em>; "trace" — "след" / "отпечаток").</p> <pre class="brush: js">var factorial = function fac(n) { return n < 2 ? 1 : n * fac(n - 1); }; @@ -190,7 +190,7 @@ e = factorial(5); // e gets the value 120 <p><u><em>(function scope)</em></u></p> -<p>Переменные объявленные в функции не могут быть доступными где-нибудь вне этой функции, поэтому переменные (которые нужны именно для функции) объявляют только в scope функции. При этом функция имеет доступ ко всем переменным и функциям, объявленным внутри её scope. Другими словами функция объявленная в глобальном scope имеет доступ ко всем переменным в глобальном scope. Функция объявленная внутри другой функции ещё имеет доступ и ко всем переменным её родителькой функции и другим переменным, к которым эта родительская функция имеет доступ.</p> +<p>Переменные объявленные в функции не могут быть доступными где-нибудь вне этой функции, поэтому переменные (которые нужны именно для функции) объявляют только в scope функции. При этом функция имеет доступ ко всем переменным и функциям, объявленным внутри её scope. Другими словами функция объявленная в глобальном scope имеет доступ ко всем переменным в глобальном scope. Функция объявленная внутри другой функции ещё имеет доступ и ко всем переменным её родительской функции и другим переменным, к которым эта родительская функция имеет доступ.</p> <pre class="brush: js">// Следующие переменные объявленны в глобальном scope var num1 = 20, @@ -305,7 +305,7 @@ foo(3); <h3 id="Вложенные_функции_nested_functions_и_замыкания_closures">Вложенные функции (nested functions) и замыкания (closures)</h3> -<p>Вы можете вложить одну функцию в другую. Вложенная функция (<em>nested function</em>;<em> inner</em>) приватная (<em>private</em>) и она помещена в другую функцию (<em>outer</em>). Так образуется <em>замыкание</em> (<em>closure</em>). Closure — это выражение (обычно функция), которое может иметь свободные переменные вместе со средой, которая связывает эти переменые (что "закрывает" (<em>"close"</em>) выражение).</p> +<p>Вы можете вложить одну функцию в другую. Вложенная функция (<em>nested function</em>;<em> inner</em>) приватная (<em>private</em>) и она помещена в другую функцию (<em>outer</em>). Так образуется <em>замыкание</em> (<em>closure</em>). Closure — это выражение (обычно функция), которое может иметь свободные переменные вместе со средой, которая связывает эти переменные (что "закрывает" (<em>"close"</em>) выражение).</p> <p>Поскольку вложенная функция это closure, это означает, что вложенная функция может "унаследовать" (<em>inherit</em>) аргументы и переменные функции, в которую та вложена. Другими словами, вложенная функция содержит scope внешней (<em>"outer"</em>) функции.</p> @@ -332,7 +332,7 @@ b = addSquares(3, 4); // возвращает 25 c = addSquares(4, 5); // возвращает 41 </pre> -<p>Поскольку вложенная функция формирует closure, Вы можете вызвать внешную функцию и указать аргументы для обоих функций (для outer и innner).</p> +<p>Поскольку вложенная функция формирует closure, Вы можете вызвать внешнюю функцию и указать аргументы для обоих функций (для outer и innner).</p> <pre class="brush: js">function outside(x) { function inside(y) { @@ -356,7 +356,7 @@ result1 = outside(3)(5); // возвращает 8 <h3 id="Несколько_уровней_вложенности_функций_Multiply-nested_functions">Несколько уровней вложенности функций (Multiply-nested functions)</h3> -<p>Функции можно вкадывать несколько раз, т.е. функция (A) хранит в себе функцию (B), которая хранит в себе функцию (C). Обе фукнкции B и C формируют closures, так B имеет доступ к переменным и аргументам A, и C имеет такой же доступ к B. В добавок, поскольку C имеет такой доступ к B, который имеет такой же доступ к A, C ещё имеет такой же доспут к A. Таким образом closures может хранить в себе несколько scope; они рекурсивно хранят scope функций, содержащих его. Это называется <em>chaining</em> (<em>chain — цепь</em>; Почему названо "chaining" будет объяснено позже)</p> +<p>Функции можно вкладывать несколько раз, т.е. функция (A) хранит в себе функцию (B), которая хранит в себе функцию (C). Обе функции B и C формируют closures, так B имеет доступ к переменным и аргументам A, и C имеет такой же доступ к B. В добавок, поскольку C имеет такой доступ к B, который имеет такой же доступ к A, C ещё имеет такой же доступ к A. Таким образом closures может хранить в себе несколько scope; они рекурсивно хранят scope функций, содержащих его. Это называется <em>chaining</em> (<em>chain — цепь</em>; Почему названо "chaining" будет объяснено позже)</p> <p>Рассмотрим следующий пример:</p> @@ -376,7 +376,7 @@ A(1); // в консоле выведится 6 (1 + 2 + 3)</pre> <ol> <li>Функция <code>B</code> формирует closure, включающее <code>A</code>, т.е. <code>B</code> имеет доступ к аргументам и переменным функции <code>A</code>.</li> <li>Функция <code>C</code> формирует closure, включающее <code>B</code>.</li> - <li>Раз closure функции <code>B</code> включает <code>A</code>, то closure <code>С</code> тоже включает A, <code>C</code> имеет доступ к аргументам и переменным обоих функций <code>B</code> <em>и</em> <code>A</code>. Другими словами, <code>С</code> cвязывает <em>цепью</em> (<em>chain</em>) scopes функций <code>B</code> и <code>A</code> в таком порядке.</li> + <li>Раз closure функции <code>B</code> включает <code>A</code>, то closure <code>С</code> тоже включает A, <code>C</code> имеет доступ к аргументам и переменным обоих функций <code>B</code> <em>и</em> <code>A</code>. Другими словами, <code>С</code> связывает <em>цепью</em> (<em>chain</em>) scopes функций <code>B</code> и <code>A</code> в таком порядке.</li> </ol> <p>В обратном порядке, однако, это не верно. <code>A</code> не имеет доступ к переменным и аргументам <code>C</code>, потому что <code>A</code> не имеет такой доступ к <code>B</code>. Таким образом, <code>C</code> остается приватным только для <code>B</code>.</p> @@ -401,7 +401,7 @@ outside()(10); // возвращает 20 вместо 10</pre> <p><em><u>(Closures)</u></em></p> -<p>Closures это один из главных особенностей JavaScript. JavaScript разрешает вложенность функций и предоставляет вложенной функции полный доступ ко всем переменным и функциям, объявленным внутри внешней функции (и другим переменным и функцим, к которым имеет доступ эта внешняя функция).</p> +<p>Closures это один из главных особенностей JavaScript. JavaScript разрешает вложенность функций и предоставляет вложенной функции полный доступ ко всем переменным и функциям, объявленным внутри внешней функции (и другим переменным и функции, к которым имеет доступ эта внешняя функция).</p> <p>Однако, внешняя функция не имеет доступа к переменным и функциям, объявленным во внутренней функции. Это обеспечивает своего рода инкапсуляцию для переменных внутри вложенной функции.</p> @@ -582,7 +582,7 @@ console.log(arr); // [2, 4, 6] <p><u><em>(Arrow functions)</em></u></p> -<p><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">Стрелочные функции</a> — функции вида "arrow function expression" (неверно <strong>fat arrow function</strong>) — имеют укороченный ситаксис по сравнению с function expression и лексически связывает значение <code>this</code>. Стрелочные функции всегда анонимны. Посмотрите также пост блога hacks.mozilla.org "<a href="https://hacks.mozilla.org/2015/06/es6-in-depth-arrow-functions/" rel="noopener">ES6 In Depth: Arrow functions</a>".</p> +<p><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">Стрелочные функции</a> — функции вида "arrow function expression" (неверно <strong>fat arrow function</strong>) — имеют укороченный синтаксис по сравнению с function expression и лексически связывает значение <code>this</code>. Стрелочные функции всегда анонимны. Посмотрите также пост блога hacks.mozilla.org "<a href="https://hacks.mozilla.org/2015/06/es6-in-depth-arrow-functions/" rel="noopener">ES6 In Depth: Arrow functions</a>".</p> <p>На введение стрелочных функций повлияли два фактора: более короткие функции и лексика <code>this</code>.</p> @@ -607,7 +607,7 @@ console.log(a3); // logs [8, 6, 7, 9]</pre> <h3 id="Лексика_this">Лексика <code>this</code></h3> -<p>До стрелочных функций каждая новая функция определяла свое значение <code>this</code> (новый объект в случае конструктора, undefined в strict mode, контекстный объект, если функция вызвана как метод объекта, и т.д.). Это оказалось раздражающим с точки зрения объектно-орентированного стиля программирования.</p> +<p>До стрелочных функций каждая новая функция определяла свое значение <code>this</code> (новый объект в случае конструктора, undefined в strict mode, контекстный объект, если функция вызвана как метод объекта, и т.д.). Это оказалось раздражающим с точки зрения объектно-ориентированного стиля программирования.</p> <pre class="brush: js">function Person() { // Конструктор Person() определяет `this` как самого себя. diff --git a/files/ru/web/javascript/guide/indexed_collections/index.html b/files/ru/web/javascript/guide/indexed_collections/index.html index 96ea922455..e858efb75d 100644 --- a/files/ru/web/javascript/guide/indexed_collections/index.html +++ b/files/ru/web/javascript/guide/indexed_collections/index.html @@ -24,7 +24,7 @@ var arr = [element0, element1, ..., elementN]; <p><code>element0, element1, ..., elementN</code> - список значений элементов массива. Если значения заданы, то эти значения будут являться элементами массива после его инициализации. Свойство <code>length</code> у массива будет равно количеству аргументов.</p> -<p>Синтаксис с использованием квадратных скобок называется "литерал массива" (array literal) или "инициализатор массива". Такая запись короче, чем другие способы создания массива, и, как правило, более предпочтительна. Cм. <a href="/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Array_literals" title="en-US/docs/JavaScript/Guide/Values, Variables, and Literals#Array Literals">Array literals</a>.</p> +<p>Синтаксис с использованием квадратных скобок называется "литерал массива" (array literal) или "инициализатор массива". Такая запись короче, чем другие способы создания массива, и, как правило, более предпочтительна. См. <a href="/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Array_literals" title="en-US/docs/JavaScript/Guide/Values, Variables, and Literals#Array Literals">Array literals</a>.</p> <p>Для создания массива без элементов, но ненулевой длины, возможно использовать одно из следующих выражений:</p> @@ -114,7 +114,7 @@ arr["length"]; // Вернёт число 3, так как это свойст <h3 id="Понимание_length">Понимание <code>length</code></h3> -<p>На уровне реализации, массивы в JavaScript хранят свои элементы как стандартные свойства объекта, используя индекс в качестве имени свойства. Специальное свойство <code>length</code> всегда возвращает индекс посленего элемента плюс один (в примере ниже, элемент 'Dusty' размещается под индексом 30, по этому cats.length возвращает 30 + 1). Особо следует запомнить, что в JavaScript массивы индексируются с нуля: отсчет ведется с 0, а не с 1. Из этого и следует, что свойство <code><code>length</code></code> всегда на единицу больше, чем наибольший индекс хранящийся в массиве:</p> +<p>На уровне реализации, массивы в JavaScript хранят свои элементы как стандартные свойства объекта, используя индекс в качестве имени свойства. Специальное свойство <code>length</code> всегда возвращает индекс последнего элемента плюс один (в примере ниже, элемент 'Dusty' размещается под индексом 30, по этому cats.length возвращает 30 + 1). Особо следует запомнить, что в JavaScript массивы индексируются с нуля: отсчет ведется с 0, а не с 1. Из этого и следует, что свойство <code><code>length</code></code> всегда на единицу больше, чем наибольший индекс хранящийся в массиве:</p> <pre class="brush: js">var cats = []; cats[30] = ['Dusty']; @@ -238,7 +238,7 @@ var first = myArray.shift(); // myArray = ["2", "3"], first = "1" </pre> -<p>{{jsxref("Array.shift", "unshift()")}} добавляет один или несколько элементов в начало массива и возвращает его новую длинну.</p> +<p>{{jsxref("Array.shift", "unshift()")}} добавляет один или несколько элементов в начало массива и возвращает его новую длину.</p> <pre class="brush: js">var myArray = new Array ("1", "2", "3"); myArray.unshift("4", "5"); @@ -325,7 +325,7 @@ var a2 = a1.map(function(item) { return item.toUpperCase(); }); console.log(a2); // выводит A,B,C </pre> -<p>{{jsxref("Array.filter", "filter(callback[, thisObject])")}} возвращает новый массив, содержащийт только те элементы исходного массива, для которых вызов <code>callback</code>-функции вернул true.</p> +<p>{{jsxref("Array.filter", "filter(callback[, thisObject])")}} возвращает новый массив, содержащий только те элементы исходного массива, для которых вызов <code>callback</code>-функции вернул true.</p> <pre class="brush: js">var a1 = ['a', 10, 'b', 20, 'c', 30]; var a2 = a1.filter(function(item) { return typeof item == 'number'; }); @@ -358,7 +358,7 @@ console.log(a3.some(isNumber)); // выводит false <p>Те из методов выше, что принимают <code>callback</code>-функцию в качестве аргумента, известны как методы итерации (<em>iterative methods)</em>, потому что определенным образом проходятся по всем элементам массива. Каждый из таких методов принимает второй, опциональный элемент, называемый <code>thisObject</code>. Если этот аргумент присутствует, то его значение присваивается ключевому слову <code>this</code> в теле <code>callback</code>-функции. Иначе, как и в любом другом случае вызова функции вне явного контекста, <code>this</code> будет ссылаться на глобальный объект ({{domxref("window")}}).</p> -<p>В действительности <code>callback</code>-функция вызывается с тремя аргументами. Первый аргумент - текущий элемен массива, второй - индекс этого элемента, и третий - ссылка на сам массив. Однако, в JavaScript, функции игнорируют любые аргументы, которые не перечислены в списке аргументов. Таким образом, нет ничего страшного в использовании функции с одним аргументом, такой как <code>alert</code>.</p> +<p>В действительности <code>callback</code>-функция вызывается с тремя аргументами. Первый аргумент - текущий элемент массива, второй - индекс этого элемента, и третий - ссылка на сам массив. Однако, в JavaScript, функции игнорируют любые аргументы, которые не перечислены в списке аргументов. Таким образом, нет ничего страшного в использовании функции с одним аргументом, такой как <code>alert</code>.</p> <p>{{jsxref("Array.reduce", "reduce(callback[, initialValue])")}} последовательно применяет <code>callback</code>-функцию <code>callback(firstValue, secondValue)</code> для того, чтобы свести все элементы массива к одному значению. В первый параметр функции передаётся предыдущий результат работы функции или первый элемент, а во второй - текущий элемент. Третьим параметром передаётся индекс текущего элемента.</p> @@ -396,7 +396,7 @@ for (i = 0; i < 4; i++) { <h3 id="Массивы_и_регулярные_выражения">Массивы и регулярные выражения</h3> -<p>Когда массив является результатом вычислений регулярного выражения над строкой, он содержит свойтсва и элементы с информацией о совпадениях. Массив возвращается функциями {{jsxref("Global_Objects/RegExp/exec","RegExp.exec()")}}, {{jsxref("Global_Objects/String/match","String.match()")}} и {{jsxref("Global_Objects/String/split","String.split()")}} Подробнее о том, как использовать массивы с регулярными выражениями смотрите в <a href="/en-US/docs/Web/JavaScript/Guide/Regular_Expressions" title="en-US/docs/JavaScript/Guide/Regular Expressions">Regular Expressions</a>.</p> +<p>Когда массив является результатом вычислений регулярного выражения над строкой, он содержит свойства и элементы с информацией о совпадениях. Массив возвращается функциями {{jsxref("Global_Objects/RegExp/exec","RegExp.exec()")}}, {{jsxref("Global_Objects/String/match","String.match()")}} и {{jsxref("Global_Objects/String/split","String.split()")}} Подробнее о том, как использовать массивы с регулярными выражениями смотрите в <a href="/en-US/docs/Web/JavaScript/Guide/Regular_Expressions" title="en-US/docs/JavaScript/Guide/Regular Expressions">Regular Expressions</a>.</p> <h3 id="Работа_с_массивоподобными_объектами">Работа с массивоподобными объектами</h3> diff --git a/files/ru/web/javascript/guide/iterators_and_generators/index.html b/files/ru/web/javascript/guide/iterators_and_generators/index.html index a04e4b6384..ea05bf2965 100644 --- a/files/ru/web/javascript/guide/iterators_and_generators/index.html +++ b/files/ru/web/javascript/guide/iterators_and_generators/index.html @@ -118,7 +118,7 @@ a // "a" <p><code>Метод</code> {{jsxref("Global_Objects/Generator/next","next()")}} также принимает значение, которое может использоваться для изменения внутреннего состояния генератора. Значение, переданное в next(), будет рассматриваться как результат последнего yield выражения, которое приостановило генератор.</p> -<p>Вот генератор чисел Фибоначи, использующий <code>next(x)</code> для перезапуска последовательности:</p> +<p>Вот генератор чисел Фибоначчи, использующий <code>next(x)</code> для перезапуска последовательности:</p> <pre class="brush: js">function* fibonacci(){ var fn1 = 1; diff --git a/files/ru/web/javascript/guide/keyed_collections/index.html b/files/ru/web/javascript/guide/keyed_collections/index.html index 2b2d128801..2c04e8355b 100644 --- a/files/ru/web/javascript/guide/keyed_collections/index.html +++ b/files/ru/web/javascript/guide/keyed_collections/index.html @@ -142,7 +142,7 @@ mySet2 = new Set([1,2,3,4]); <h3 id="Тип_WeakSet"><code>Тип WeakSet</code> </h3> -<p>{{jsxref("WeakSet")}} это специальный вид коллекции, элементами которой могут быть только объекты. Ссылки на эти объекты в WeakSet являютя <em>слабыми </em>(не учитываются сборщиком мусора (garbage collector GC)).</p> +<p>{{jsxref("WeakSet")}} это специальный вид коллекции, элементами которой могут быть только объекты. Ссылки на эти объекты в WeakSet являются <em>слабыми </em>(не учитываются сборщиком мусора (garbage collector GC)).</p> <div class="note"> <p>Элементы <code>WeakSet</code> уникальны и могут быть добавлены только один раз, также как и в {{jsxref("Set")}}. </p> diff --git a/files/ru/web/javascript/guide/loops_and_iteration/index.html b/files/ru/web/javascript/guide/loops_and_iteration/index.html index 8b4d751de5..9f7665aadb 100644 --- a/files/ru/web/javascript/guide/loops_and_iteration/index.html +++ b/files/ru/web/javascript/guide/loops_and_iteration/index.html @@ -23,7 +23,7 @@ for (step = 0; step < 5; step++) { <p>Существует множество различных видов циклов, но все они по сути делают тоже самое: повторяют какое-либо действие несколько раз (не забывайте про нулевой раз повторения, отсчёт в массиве начинается с 0). Различные по строению циклы предлагают разные способы для определения начала и окончания цикла. Для различных задач программирования существуют свои операторы цикла, с помощью которых они решаются намного проще.</p> -<p>Операторы предназначеные для организации циклов в JavaScript:</p> +<p>Операторы предназначенные для организации циклов в JavaScript:</p> <ul> <li>{{anch("Цикл_for")}}</li> @@ -43,7 +43,7 @@ for (step = 0; step < 5; step++) { <pre class="syntaxbox">for ([начало]; [условие]; [шаг]) выражения </pre> -<p>При его выполнении происходит следущее:</p> +<p>При его выполнении происходит следующее:</p> <ol> <li>Выполняется выражение <code>начало</code>, если оно указано. Это выражение обычно инициализирует один или несколько счётчиков, но синтаксис позволяет выражению быть любой сложности. Также используется для объявления переменных.</li> @@ -156,7 +156,7 @@ while (n < 3) { <h2 id="Метка_(label)">Метка (label)</h2> -<p><a href="/ru/docs/Web/JavaScript/Reference/Statements/label">Метка</a> представляет собой оператор с индентификатором, который позволяет вам ссылаться на какое-то место в вашей программе. Например, вы можете использовать метку, чтобы обозначить цикл, а затем использовать операторы <code>break</code> или <code>continue</code>, чтобы указать, должна ли программа прерывать цикл или продолжать его выполнение.</p> +<p><a href="/ru/docs/Web/JavaScript/Reference/Statements/label">Метка</a> представляет собой оператор с идентификатором, который позволяет вам ссылаться на какое-то место в вашей программе. Например, вы можете использовать метку, чтобы обозначить цикл, а затем использовать операторы <code>break</code> или <code>continue</code>, чтобы указать, должна ли программа прерывать цикл или продолжать его выполнение.</p> <p>Синтаксис метки следующий:</p> @@ -164,7 +164,7 @@ while (n < 3) { оператор </pre> -<p>Значение <em>метки</em> может быть любым корректным JavaScript индентификатором, не являющимся зарезервированным словом. <code><em>Оператор</em></code><em>, </em>указанный вами после метки может быть любым выражением.</p> +<p>Значение <em>метки</em> может быть любым корректным JavaScript идентификатором, не являющимся зарезервированным словом. <code><em>Оператор</em></code><em>, </em>указанный вами после метки может быть любым выражением.</p> <h3 id="Пример_3"><strong>Пример</strong></h3> diff --git a/files/ru/web/javascript/guide/meta_programming/index.html b/files/ru/web/javascript/guide/meta_programming/index.html index 7ab4762677..49b3657c4c 100644 --- a/files/ru/web/javascript/guide/meta_programming/index.html +++ b/files/ru/web/javascript/guide/meta_programming/index.html @@ -233,7 +233,7 @@ typeof proxy; // "object", для метода typeof нет лову <h3 id="Улучшенная_функция_apply">Улучшенная функция <code>apply</code></h3> -<p>В ES5 обычно используется метод {{jsxref("Function.prototype.apply()")}} для вызова функции в определенном контексте (с определенным <code>this)</code> и с параметрами, заданными в виде массива (или <a href="/ru/docs/Web/JavaScript/Guide/Indexed_collections#Working_with_array-like_objects">массиво-подобного объекта</a>).</p> +<p>В ES5 обычно используется метод {{jsxref("Function.prototype.apply()")}} для вызова функции в определенном контексте (с определенным <code>this)</code> и с параметрами, заданными в виде массива (или <a href="/ru/docs/Web/JavaScript/Guide/Indexed_collections#Working_with_array-like_objects">массива-подобного объекта</a>).</p> <pre class="brush: js">Function.prototype.apply.call(Math.floor, undefined, [1.75]);</pre> diff --git a/files/ru/web/javascript/guide/modules/index.html b/files/ru/web/javascript/guide/modules/index.html index 0664a4d93f..2c524cb353 100644 --- a/files/ru/web/javascript/guide/modules/index.html +++ b/files/ru/web/javascript/guide/modules/index.html @@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Guide/Modules <h2 id="Поддержка_в_броузерах">Поддержка в броузерах</h2> -<p>Встроенная обработка модулей JavaScript свяазана с функциями {{JSxRef("Statements/import", "import")}} и {{JSxRef("Statements/export", "export")}}, которые поддерживаются броузерами следующим образом:</p> +<p>Встроенная обработка модулей JavaScript связана с функциями {{JSxRef("Statements/import", "import")}} и {{JSxRef("Statements/export", "export")}}, которые поддерживаются броузерами следующим образом:</p> <h3 id="import">import</h3> 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 7022834e0d..09a2f8ee9e 100644 --- a/files/ru/web/javascript/guide/numbers_and_dates/index.html +++ b/files/ru/web/javascript/guide/numbers_and_dates/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Guide/Numbers_and_dates <h2 id="Числа">Числа</h2> -<p>В JavaScript все числа являются <a class="external external-icon" href="https://en.wikipedia.org/wiki/Double-precision_floating-point_format">числами двойной точности в соответствии с 64-битным двоичным форматом IEEE 754</a> (т.е. числами, пренадлежащими диапазону между -(2<sup>53</sup> -1) и 2<sup>53</sup> -1). <strong>Целые числа не рассматриваются как отдельный тип чисел</strong>. В дополнение к числам с плавающей запятой, к числовому типу данных относятся также три символьные величины: <code>+</code>{{jsxref("бесконечность")}}, <code>-</code>{{jsxref("бесконечность")}}, и {{jsxref("NaN")}} (не-число). В разделе <a href="/en-US/docs/Web/JavaScript/Data_structures">типы и структуры данных в JavaScript</a> числовой тип данных описан в контексте с другими примитивными типами в JavaScript.</p> +<p>В JavaScript все числа являются <a class="external external-icon" href="https://en.wikipedia.org/wiki/Double-precision_floating-point_format">числами двойной точности в соответствии с 64-битным двоичным форматом IEEE 754</a> (т.е. числами, принадлежащими диапазону между -(2<sup>53</sup> -1) и 2<sup>53</sup> -1). <strong>Целые числа не рассматриваются как отдельный тип чисел</strong>. В дополнение к числам с плавающей запятой, к числовому типу данных относятся также три символьные величины: <code>+</code>{{jsxref("бесконечность")}}, <code>-</code>{{jsxref("бесконечность")}}, и {{jsxref("NaN")}} (не-число). В разделе <a href="/en-US/docs/Web/JavaScript/Data_structures">типы и структуры данных в JavaScript</a> числовой тип данных описан в контексте с другими примитивными типами в JavaScript.</p> <p>Вы можете использовать четыре типа числовых литералов: десятичный, двоичный, восьмеричный и шестнадцатеричный.</p> @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Guide/Numbers_and_dates <h3 id="Двоичные_числа">Двоичные числа</h3> -<p>Систаксис двоичных чисел использует ведущий 0 за которым следует латинская буква "B" в верхнем или нижнем регистре (<code>0b</code> or <code>0B</code>). Если цифры после <code>0b</code> не являются 0 или 1, то будет сгенерированно <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a></code> с сообщением: "Missing binary digits after 0b".</p> +<p>Синтаксис двоичных чисел использует ведущий 0 за которым следует латинская буква "B" в верхнем или нижнем регистре (<code>0b</code> or <code>0B</code>). Если цифры после <code>0b</code> не являются 0 или 1, то будет сгенерированно <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a></code> с сообщением: "Missing binary digits after 0b".</p> <pre class="brush: js">var FLT_SIGNBIT = 0b10000000000000000000000000000000; // 2147483648 var FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040 @@ -36,7 +36,7 @@ var FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607</pre> <h3 id="Восьмеричные_числа">Восьмеричные числа</h3> -<p>Синтаксис восмеричных чисел использует ноль в начале. Если цифры после 0 не входят в диапазон от 0 до 7, число будет интерпретированно как десятичное.</p> +<p>Синтаксис восьмеричных чисел использует ноль в начале. Если цифры после 0 не входят в диапазон от 0 до 7, число будет интерпретировано как десятичное.</p> <pre class="brush: js">var n = 0755; // 493 var m = 0644; // 420 @@ -44,7 +44,7 @@ var m = 0644; // 420 <h3 id="Шестнадцатеричные_числа">Шестнадцатеричные числа</h3> -<p>Синтаксис шестнадцатеричных чисел исользует ведущий 0 за которым следует латинская буква "X" в верхнем или нижнем регистре (<code>0x</code> or <code>0X</code>). Если цифры после 0x не входят в диапазон (0123456789ABCDEF), то будет сгенерированно <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a></code> с сообщением: "Identifier starts immediately after numeric literal".</p> +<p>Синтаксис шестнадцатеричных чисел использует ведущий 0 за которым следует латинская буква "X" в верхнем или нижнем регистре (<code>0x</code> or <code>0X</code>). Если цифры после 0x не входят в диапазон (0123456789ABCDEF), то будет сгенерированно <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError">SyntaxError</a></code> с сообщением: "Identifier starts immediately after numeric literal".</p> <pre class="brush: js">0xFFFFFFFFFFFFFFFFF // 295147905179352830000 0x123456789ABCDEF // 81985529216486900 @@ -223,7 +223,7 @@ var notANum = Number.NaN; <td> <p>{{jsxref("Math.pow", "pow()")}}, {{jsxref("Math.exp", "exp()")}}, {{jsxref("Math.expm1", "expm1()")}}, {{jsxref("Math.log10", "log10()")}}, {{jsxref("Math.log1p", "log1p()")}}, {{jsxref("Math.log2", "log2()")}}</p> </td> - <td>Экпоненциальные и логорифмические функции</td> + <td>Экспоненциальные и логорифмические функции</td> </tr> <tr> <td>{{jsxref("Math.floor", "floor()")}}, {{jsxref("Math.ceil", "ceil()")}}</td> @@ -253,7 +253,7 @@ var notANum = Number.NaN; <td>{{jsxref("Math.clz32", "clz32()")}},<br> {{jsxref("Math.imul", "imul()")}}</td> <td>Количество первых нулевых бит в 32-битном двоичном представлении.<br> - Возвращает результат Cи-подобного 32-битного целочисленного умножения двух аргументов.</td> + Возвращает результат Си-подобного 32-битного целочисленного умножения двух аргументов.</td> </tr> </tbody> </table> @@ -262,7 +262,7 @@ var notANum = Number.NaN; <h2 id="Объект_Date"><code>Объект Date</code></h2> -<p>JavaScript не имеет отдельного типа данных для хранения дат. Однако, вы можете использовать объект {{jsxref("Date")}} и его методы для работы с датами и времененем в вашем приложении. Объект <code>Date</code> имеет большое количество методов для записи, чтения и оперирования датой и временем, а свойств не имеет ни одного.</p> +<p>JavaScript не имеет отдельного типа данных для хранения дат. Однако, вы можете использовать объект {{jsxref("Date")}} и его методы для работы с датами и временном в вашем приложении. Объект <code>Date</code> имеет большое количество методов для записи, чтения и оперирования датой и временем, а свойств не имеет ни одного.</p> <p>JavaScript оперирует датами во многом аналогично языку Java. Для работы с датой эти два языка имеют множество одинаковых методов, и оба они хранят даты как количество миллисекунд, прошедших с 00:00:00 1 Января 1970 года.</p> @@ -307,7 +307,7 @@ var notANum = Number.NaN; <li>"set" методы, служат для установки параметров объекта <code>Date</code>.</li> <li>"get" методы, служат для получения параметров объекта <code>Date</code>.</li> <li>"to" методы, служат для получения значения объекта <code>Date</code> в текстовом виде.</li> - <li>"parse" и UTC методы, служат для распознавания дат и времени <font face="Consolas, Liberation Mono, Courier, monospace">из тектового формата</font>.</li> + <li>"parse" и UTC методы, служат для распознавания дат и времени <font face="Consolas, Liberation Mono, Courier, monospace">из текстового формата</font>.</li> </ul> <p>При помощи методов групп "get" и"set", вы можете получить и установить значения секунд, минут, часов, дня месяца, дня недели, месяца и года по отдельности. Отдельно выделим метод <code>getDay</code>, который возвращает день недели, однако соответствующего ему метода <code>setDay</code> не существует, потому-что день недели высчитывается автоматически. Все эти методы используют в своей работе целочисленные значения по следующим правилам:</p> @@ -340,9 +340,9 @@ var daysLeft = (endYear.getTime() - today.getTime()) / msPerDay; var daysLeft = Math.round(daysLeft); // возвращает количество дней, оставшихся до конца года </pre> -<p>Этот пример создает объект <code>Date</code> названный <code>today, который содержит текущую дату и время</code>. Затем, создается воспомогательный <code>Date</code> объект, названный <code>endYear,</code> которому устанавливаются значения, указывающие на конец года. После этого, при помощи расчитанного количества миллисекунд в сутках, вычисляется количество дней между <code>today</code> и <code>endYear</code>, При этом используются метод <code>getTime</code> и округление, для получения количества полных дней.</p> +<p>Этот пример создает объект <code>Date</code> названный <code>today, который содержит текущую дату и время</code>. Затем, создается вспомогательный <code>Date</code> объект, названный <code>endYear,</code> которому устанавливаются значения, указывающие на конец года. После этого, при помощи рассчитанного количества миллисекунд в сутках, вычисляется количество дней между <code>today</code> и <code>endYear</code>, При этом используются метод <code>getTime</code> и округление, для получения количества полных дней.</p> -<p>Метод <code>parse</code> полезен для присвоения значений существующим объектам <code>Date</code> из текстового формата. Например, следующий код использует мотоды <code>parse</code> и <code>setTime</code> чтобы установить значение переменной <code>IPOdate</code>:</p> +<p>Метод <code>parse</code> полезен для присвоения значений существующим объектам <code>Date</code> из текстового формата. Например, следующий код использует методы <code>parse</code> и <code>setTime</code> чтобы установить значение переменной <code>IPOdate</code>:</p> <pre class="brush: js">var IPOdate = new Date(); IPOdate.setTime(Date.parse("Aug 9, 1995")); diff --git a/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html b/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html index 08aa94b4c5..450547e418 100644 --- a/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html +++ b/files/ru/web/javascript/guide/regular_expressions/character_classes/index.html @@ -33,16 +33,16 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes <tr> <td><code>.</code></td> <td> - <p>Точка имеет одно из следеющих смыслов:</p> + <p>Точка имеет одно из следующих смыслов:</p> <ul> - <li>Сопадение с любым одним символом <em>за исключение</em> символовов завершения строки: <code>\n</code>, <code>\r</code>, <code>\u2028</code> or <code>\u2029</code>. Например, <code>/.y/</code> совпадает "my" с "ay", и не совпадает с "yes" и "yes make my day".</li> + <li>Совпадение с любым одним символом <em>за исключение</em> символов завершения строки: <code>\n</code>, <code>\r</code>, <code>\u2028</code> or <code>\u2029</code>. Например, <code>/.y/</code> совпадает "my" с "ay", и не совпадает с "yes" и "yes make my day".</li> <li>В набор символов, точка теряет свой специальный смысл и совпадает с литеральным символом точка.</li> </ul> - <p>Замечание. <code>m</code> флаг посика по множеству строк не меняет поведения точки. Чтобы найти воспадения во многострочном поиске можно использвать набор символов <code>[^]</code> — он сопадёт с любым символом включая символы заверешния строки.</p> + <p>Замечание. <code>m</code> флаг поиска по множеству строк не меняет поведения точки. Чтобы найти воспаления во многострочном поиске можно использовать набор символов <code>[^]</code> — он совпадает с любым символом включая символы завершения строки.</p> - <p>В ES2018 добавили <code>s</code> "dotAll" флаг, который ползволяет точке <code>(.</code>) находить все символы включая симполвы переноса строк.</p> + <p>В ES2018 добавили <code>s</code> "dotAll" флаг, который позволяет точке <code>(.</code>) находить все символы включая символы переноса строк.</p> </td> </tr> <tr> @@ -60,25 +60,25 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes <tr> <td><code>\w</code></td> <td> - <p>Совпадет с любой бувенно-числовым симпволом из базового латинского алфавита включая нижнее подчёркивание. Эквивалентно <code>[A-Za-z0-9_]</code>. Например, <code>/\w/</code> находит "a" в "apple", "5" в "$5.28", "3" в "3D" и "m" в "Émanuel".</p> + <p>Совпадет с любой буквенно-числовым символом из базового латинского алфавита включая нижнее подчёркивание. Эквивалентно <code>[A-Za-z0-9_]</code>. Например, <code>/\w/</code> находит "a" в "apple", "5" в "$5.28", "3" в "3D" и "m" в "Émanuel".</p> </td> </tr> <tr> <td><code>\W</code></td> <td> - <p>Совпадет с любой бувенно-числовым, которое не является симпволом базового латинского алфавита, так же исключая нижнее подчёркивание. Эквивалентно <code>[^A-Za-z0-9_]</code>. Например, <code>/\W/</code> или <code>/[^A-Za-z0-9_]/</code> находит "%" в "50%" и "É" in "Émanuel".</p> + <p>Совпадет с любой буквенно-числовым, которое не является символом базового латинского алфавита, так же исключая нижнее подчёркивание. Эквивалентно <code>[^A-Za-z0-9_]</code>. Например, <code>/\W/</code> или <code>/[^A-Za-z0-9_]/</code> находит "%" в "50%" и "É" in "Émanuel".</p> </td> </tr> <tr> <td><code>\s</code></td> <td> - <p>Совпадет с любым пробельным символом, включая пробел, символ табуляции, символ подачи странцы, символ подачи строки и другие Unicode пробелы. Эквивалентно <code>[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>. Например, <code>/\s\w*/</code> находит " bar" в "foo bar".</p> + <p>Совпадет с любым пробельным символом, включая пробел, символ табуляции, символ подачи страницы, символ подачи строки и другие Unicode пробелы. Эквивалентно <code>[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>. Например, <code>/\s\w*/</code> находит " bar" в "foo bar".</p> </td> </tr> <tr> <td><code>\S</code></td> <td> - <p>Совпадет с любым симвовом, не являяющимся проблельным. Эквивалентно <code>[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>. Например, <code>/\S\w*/</code> находит "foo" в "foo bar".</p> + <p>Совпадет с любым символом, не являющимся проблельным. Эквивалентно <code>[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>. Например, <code>/\S\w*/</code> находит "foo" в "foo bar".</p> </td> </tr> <tr> @@ -103,7 +103,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes </tr> <tr> <td><code>[\b]</code></td> - <td>Совпадет с символом возарат назад (англ. backspace). Если вы ищите символ границы слова (<code>\b</code>), смотри <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Boundaries">Границы</a>.</td> + <td>Совпадет с символом возврат назад (англ. backspace). Если вы ищите символ границы слова (<code>\b</code>), смотри <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Boundaries">Границы</a>.</td> </tr> <tr> <td><code>\0</code></td> @@ -112,7 +112,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes <tr> <td><code>\c<em>X</em></code></td> <td> - <p>Совпадет с котрольным символом using <a href="https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F">каретную нотацию</a>, где "X" быква A–Z (соответствует кодам <code>U+0001</code><em>–</em><code>U+001F</code>). For example, <code>/\cM/</code> matches "\r" in "\r\n".</p> + <p>Совпадет с контрольным символом using <a href="https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F">каретную нотацию</a>, где "X" буква A–Z (соответствует кодам <code>U+0001</code><em>–</em><code>U+001F</code>). For example, <code>/\cM/</code> matches "\r" in "\r\n".</p> </td> </tr> <tr> @@ -125,7 +125,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes </tr> <tr> <td><code>\u<em>{hhhh} </em>or <em>\u{hhhhh}</em></code></td> - <td>(Только когда установлен фла <code>u</code>.) Совпадет с Unicode символом со значением <code>U+<em>hhhh</em></code> или <code>U+<em>hhhhh</em></code> (шестнадцатеричные цифры).</td> + <td>(Только когда установлен флаг <code>u</code>.) Совпадет с Unicode символом со значением <code>U+<em>hhhh</em></code> или <code>U+<em>hhhhh</em></code> (шестнадцатеричные цифры).</td> </tr> <tr> <td><code>\</code></td> @@ -133,12 +133,12 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes <p>Определяет что последующий символ должен быть интерпретирован по особому или должен быть "экранирован. Это работает в двух вариантах:</p> <ul> - <li>Для символов, которые относятся к литералам, последующий символ - это специальный символ, который не должен быть интерпретирован, как литерал. Например, <code>/b/</code> совпадает с символом "b". Установ обратного слэша перед "b". Таким образом <code>/\b/</code>. Будет означать символ границы слова. </li> - <li>Для символов, которые относятся к специальным, определяет что это не специальным символ, а должен быть интерепретирован, как литерал. Например, <code>*</code> - это специальный символ, который означает 0 или любое другое совпадений предыдующего символа, Например <code>/a*/</code> совпадает с любым количестовм символов "a" идущих подряд (или 0 "a") <code>a, aaaa, aaaaaa</code>. Если специальный символ <code>*</code>, как литерал, то перед ним ставится обратных слэш. Например, <code>/a\*/</code> сопадает только с "a*".</li> + <li>Для символов, которые относятся к литералам, последующий символ - это специальный символ, который не должен быть интерпретирован, как литерал. Например, <code>/b/</code> совпадает с символом "b". Установ обратного слеша перед "b". Таким образом <code>/\b/</code>. Будет означать символ границы слова. </li> + <li>Для символов, которые относятся к специальным, определяет что это не специальным символ, а должен быть интерпретирован, как литерал. Например, <code>*</code> - это специальный символ, который означает 0 или любое другое совпадений предыдущего символа, Например <code>/a*/</code> совпадает с любым количеством символов "a" идущих подряд (или 0 "a") <code>a, aaaa, aaaaaa</code>. Если специальный символ <code>*</code>, как литерал, то перед ним ставится обратных слэш. Например, <code>/a\*/</code> совпадает только с "a*".</li> </ul> <div class="blockIndicator note"> - <p>Чтобы найти литеральное совпадение с этим символова (<code>\</code> , экранируйте его самим же. Другими словами для поиска <code>\</code> используйте <code>/\\/</code>.</p> + <p>Чтобы найти литеральное совпадение с этим символов (<code>\</code> , экранируйте его самим же. Другими словами для поиска <code>\</code> используйте <code>/\\/</code>.</p> </div> </td> </tr> @@ -174,7 +174,7 @@ console.table(aliceExcerpt.match(regexpWordStartingWithA)); <h3 id="Поиски_слов_из_Unicode_символов">Поиски слов (из Unicode символов)</h3> -<p>Вместо латинского алфавита, мы может использовать диапазаон Unicode символов для определения слова (благодаря этому мы можем работать с текстами написанным, например на русском или арабском языке or Arabic). Unicode содержит большинство символов используемых на планете, мы так же можем объединять их диапазоны и классы символов.</p> +<p>Вместо латинского алфавита, мы может использовать диапазон Unicode символов для определения слова (благодаря этому мы можем работать с текстами написанным, например на русском или арабском языке or Arabic). Unicode содержит большинство символов используемых на планете, мы так же можем объединять их диапазоны и классы символов.</p> <pre class="brush: js notranslate">var nonEnglishText = "Приключения Алисы в Стране чудес"; var regexpBMPWord = /([\u0000-\u0019\u0021-\uFFFF])+/gu; diff --git a/files/ru/web/javascript/guide/regular_expressions/index.html b/files/ru/web/javascript/guide/regular_expressions/index.html index 834df23a39..5ab9fe6e72 100644 --- a/files/ru/web/javascript/guide/regular_expressions/index.html +++ b/files/ru/web/javascript/guide/regular_expressions/index.html @@ -231,7 +231,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions <td> <p>Соответствует цифровому символу. Эквивалентно выражению <code>[0-9]</code>.</p> - <p>Например, <code>/\d/</code> or <code>/[0-9]/</code> соотвествует '2' в "B2 is the suite number."</p> + <p>Например, <code>/\d/</code> or <code>/[0-9]/</code> соответствует '2' в "B2 is the suite number."</p> </td> </tr> <tr> @@ -299,7 +299,7 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions <tr> <td><a href="#special-backreference" id="special-backreference" name="special-backreference"><code>\<em>n</em></code></a></td> <td> - <p>Где <em>n</em> это положительное целое, обратная ссылка на последнюю найденную подстроку, соответствующую <em>n</em> , заключенную в круглые скобки в регуляном выражении (считая левые скобки).</p> + <p>Где <em>n</em> это положительное целое, обратная ссылка на последнюю найденную подстроку, соответствующую <em>n</em> , заключенную в круглые скобки в регулярном выражении (считая левые скобки).</p> <p>Например, <code>/apple(,)\sorange\1/</code> соответствует 'apple, orange,' в "apple, orange, cherry, peach."</p> </td> @@ -310,11 +310,11 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </tr> <tr> <td><a href="#special-hex-escape" id="special-hex-escape" name="special-hex-escape"><code>\xhh</code></a></td> - <td>Соответствует символам кода hh (две шестнадцатиричные цифры)</td> + <td>Соответствует символам кода hh (две шестнадцатеричные цифры)</td> </tr> <tr> <td><a href="#special-unicode-escape" id="special-unicode-escape" name="special-unicode-escape"><code>\uhhhh</code></a></td> - <td>Соответствует символам кода hhhh (четыре шестнадцатиричные цифры).</td> + <td>Соответствует символам кода hhhh (четыре шестнадцатеричные цифры).</td> </tr> </tbody> </table> @@ -354,15 +354,15 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </tr> <tr> <td><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/test" title="en-US/docs/JavaScript/Reference/Global_Objects/RegExp/test">test</a></code></td> - <td>Метод <code>RegExp</code>, который тестирует совпадение в строке. Возвращет либо истину либо ложь.</td> + <td>Метод <code>RegExp</code>, который тестирует совпадение в строке. Возвращает либо истину либо ложь.</td> </tr> <tr> <td><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/match" title="en-US/docs/JavaScript/Reference/Global_Objects/String/match">match</a></code></td> - <td>Метод <code>String</code>, который выполняет поиск совпадения в строке. Он возвращет массив данных либо null если совпадения отсутствуют.</td> + <td>Метод <code>String</code>, который выполняет поиск совпадения в строке. Он возвращает массив данных либо null если совпадения отсутствуют.</td> </tr> <tr> <td><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/search" title="en-US/docs/JavaScript/Reference/Global_Objects/String/search">search</a></code></td> - <td>Метод <code>String,</code> который тестирует на совпадение в строке. Он возвращет индекс совпадения, или -1 если совпадений не будет найдено.</td> + <td>Метод <code>String,</code> который тестирует на совпадение в строке. Он возвращает индекс совпадения, или -1 если совпадений не будет найдено.</td> </tr> <tr> <td><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/replace" title="en-US/docs/JavaScript/Reference/Global_Objects/String/replace">replace</a></code></td> @@ -370,12 +370,12 @@ translation_of: Web/JavaScript/Guide/Regular_Expressions </tr> <tr> <td><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/String/split" title="en-US/docs/JavaScript/Reference/Global_Objects/String/split">split</a></code></td> - <td>Метод <code>String,</code> который использует регулярное выражение или фиксированую строку чтобы разбить строку на массив подстрок.</td> + <td>Метод <code>String,</code> который использует регулярное выражение или фиксированную строку чтобы разбить строку на массив подстрок.</td> </tr> </tbody> </table> -<p>Чтобы просто узнать есть ли в строке что либо соотвествующее шаблону, воспользуйтесь методами <code>test</code> или <code>search</code>; а чтобы получить больше информации пользуйтесь методами <code>exec</code> или <code>match</code> (хотя эти метода работают медленее). Если вы пользуютесь <code>exec</code> или <code>match</code> и если совпадения есть, эти методы вернут массив и обновленные свойства объекта ассоцированного регулярного выражения а также предопределенного объекта <code>RegExp </code>регулярного выражения. Если совпадений нет, метод <code>exec</code> вернет <code>null</code> (который сконвертируется в <code>false</code>).</p> +<p>Чтобы просто узнать есть ли в строке что либо соответствующее шаблону, воспользуйтесь методами <code>test</code> или <code>search</code>; а чтобы получить больше информации пользуйтесь методами <code>exec</code> или <code>match</code> (хотя эти метода работают медленнее). Если вы пользуетесь <code>exec</code> или <code>match</code> и если совпадения есть, эти методы вернут массив и обновленные свойства объекта ассоциированного регулярного выражения а также предопределенного объекта <code>RegExp </code>регулярного выражения. Если совпадений нет, метод <code>exec</code> вернет <code>null</code> (который сконвертируется в <code>false</code>).</p> <p>В след. примере, скрипт использует метод <code>exec</code> чтобы найти совпадения в строке.</p> @@ -394,7 +394,7 @@ var myArray = myRe.exec("cdbbdbsbz"); var myArray = myRe.exec("cdbbdbsbz"); </pre> -<p>С помощью этих скриптов, поиск совпадения завершается и возвращает массив и обновленные ствойства показанные в след. таблице.</p> +<p>С помощью этих скриптов, поиск совпадения завершается и возвращает массив и обновленные свойства показанные в след. таблице.</p> <table class="fullwidth-table"> <caption>Table 4.3 Результаты выполнения регулярного выражения</caption> @@ -487,7 +487,7 @@ console.log(newstr); <h3 id="Расширенный_поиск_с_флагами">Расширенный поиск с флагами</h3> -<p>Регулярные выражения имеют четыре опциональных флага, которые делают возможным глобальный и регистронезависимый поиск. Флаги могут использоваться самостоятельно или вместе в любом порядке, а также могут являтся частью регулярного выражения.</p> +<p>Регулярные выражения имеют четыре опциональных флага, которые делают возможным глобальный и регистронезависимый поиск. Флаги могут использоваться самостоятельно или вместе в любом порядке, а также могут являться частью регулярного выражения.</p> <table style="line-height: 1.5;"> <caption>Флаги регулярных выражений</caption> @@ -529,7 +529,7 @@ console.log(newstr); <p>Обратите внимание, что флаги являются неотъемлемой частью регулярного выражения. Флаги не могут быть добавлены или удалены позднее.</p> -<p>Для примера, <code>re = /\w+\s/g</code> создаёт регулярное выражение, которое ищет один или более символов, после котрых следует пробел и ищет данное совпадение на протяжении всей строки.</p> +<p>Для примера, <code>re = /\w+\s/g</code> создаёт регулярное выражение, которое ищет один или более символов, после которых следует пробел и ищет данное совпадение на протяжении всей строки.</p> <pre class="brush: js notranslate">var re = /\w+\s/g; var str = "fee fi fo fum"; @@ -621,9 +621,9 @@ console.log(output.join("\n")); <h3 id="Использование_спецсимволов_для_проверки_входных_данных">Использование спецсимволов для проверки входных данных</h3> -<p>В след. примере, ожидается что пользователь введет телефонный номер и требуется проверить правильность символов набранных пользователем. Когда пользователь нажмет кнопку "Check", скрипт проверит правильность введеного номера. Если номер правильный (совпадает с символами определенными в регулярном выражении), то скрипт покажет сообщение благодарности для пользователя и подтвердит номер. Если нет, то скрипт проинформирует пользователя, что телефонный номер неправильный.</p> +<p>В след. примере, ожидается что пользователь введет телефонный номер и требуется проверить правильность символов набранных пользователем. Когда пользователь нажмет кнопку "Check", скрипт проверит правильность введенного номера. Если номер правильный (совпадает с символами определенными в регулярном выражении), то скрипт покажет сообщение благодарности для пользователя и подтвердит номер. Если нет, то скрипт проинформирует пользователя, что телефонный номер неправильный.</p> -<p>Внутри незахватывающих скобок <code>(?:, регуляное выражение ищет три цифры \d{3} ИЛИ |</code> открывающую скобку <code>\(, затем три цифры \d{3}</code>, затем закрывающую скобку <code>\), </code>(закрывающая незахватывающая скобка <code>)</code>), затем тире, слэш, или десятичная точка, и когда это выражение найдено, запоминает символ <code>([-\/\.])</code>, следующие за ним и запомненные три цифры <code>\d{3}</code>, следующее соответствие тире, слэша или десятичной точки <code>\1</code>, и следующие четыре цифры <code>\d{4}.</code></p> +<p>Внутри незахватывающих скобок <code>(?:, регуляное выражение ищет три цифры \d{3} ИЛИ |</code> открывающую скобку <code>\(, затем три цифры \d{3}</code>, затем закрывающую скобку <code>\), </code>(закрывающая незахватывающая скобка <code>)</code>), затем тире, слэш, или десятичная точка, и когда это выражение найдено, запоминает символ <code>([-\/\.])</code>, следующие за ним и запомненные три цифры <code>\d{3}</code>, следующее соответствие тире, слеша или десятичной точки <code>\1</code>, и следующие четыре цифры <code>\d{4}.</code></p> <p>Регулярное выражение ищет сначала 0 или одну открывающую скобку <code>\(?</code>, <code>затем три цифры \d{3}</code>, затем 0 или одну закрывающую скобку <code>\)?</code>, потом одно тире, слеш или точка и когда найдет это, запомнит символ<code>([-\/\.])</code>, след. три цифры<code> \d{3}</code>, followed by the remembered match of a dash, forward slash, or decimal point <code>\1</code>, followed by four digits <code>\d{4}</code>.</p> diff --git a/files/ru/web/javascript/guide/text_formatting/index.html b/files/ru/web/javascript/guide/text_formatting/index.html index 4316e2402a..3539b94652 100644 --- a/files/ru/web/javascript/guide/text_formatting/index.html +++ b/files/ru/web/javascript/guide/text_formatting/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Guide/Text_formatting <h2 id="Строки">Строки</h2> -<p>Строки используются для представления текстовых данных. Каждая строка - это набор "элементов", а каждый элемент - 16 битное беззнаковое целое значение. Элементы имеют определённые позиции. Так первый элемент имеет индекс 0, следущий - 1, и так далее. Длина строки - это количество элементов в ней. Вы можете создать строки, используя строковые литералы или объекты класса String.</p> +<p>Строки используются для представления текстовых данных. Каждая строка - это набор "элементов", а каждый элемент - 16 битное беззнаковое целое значение. Элементы имеют определённые позиции. Так первый элемент имеет индекс 0, следующий - 1, и так далее. Длина строки - это количество элементов в ней. Вы можете создать строки, используя строковые литералы или объекты класса String.</p> <h3 id="Строковые_литералы">Строковые литералы</h3> @@ -37,9 +37,9 @@ console.log(str); <p>Строки с более богатым содержимым <span><span class="article-text">можно создать с помощью ESC-последовательностей</span></span><span><span class="comment">(комбинация символов, обычно используемая для задания неотображаемых символов и символов, имеющих специальное значение)</span></span>:</p> -<h4 id="Шестнадцатиричные_экранированные_последовательности">Шестнадцатиричные экранированные последовательности</h4> +<h4 id="Шестнадцатеричные_экранированные_последовательности">Шестнадцатеричные экранированные последовательности</h4> -<p>Число после \x трактуется как <a href="https://en.wikipedia.org/wiki/Hexadecimal">шестнадцатиричное.</a></p> +<p>Число после \x трактуется как <a href="https://en.wikipedia.org/wiki/Hexadecimal">шестнадцатеричное.</a></p> <pre class="brush: js">'\xA9' // "©" </pre> @@ -52,7 +52,7 @@ console.log(str); <h4 id="Экранирование_элементов_кода_Unicode">Экранирование элементов кода Unicode</h4> -<p>Нововведение ECMAScript 6, которое позволяет экранировать каждый Unicode символ, используя шестнадцатиричные значения (вплоть до <code>0x10FFFF</code>). С простым экранированием Unicode обычно требуется писать связанные друг с другом части по - отдельности для получения того же результата.</p> +<p>Нововведение ECMAScript 6, которое позволяет экранировать каждый Unicode символ, используя шестнадцатеричные значения (вплоть до <code>0x10FFFF</code>). С простым экранированием Unicode обычно требуется писать связанные друг с другом части по - отдельности для получения того же результата.</p> <p>Смотрите также {{jsxref("String.fromCodePoint()")}} или {{jsxref("String.prototype.codePointAt()")}}.</p> @@ -79,7 +79,7 @@ var s2 = new String("2 + 2"); // Создание String объекта eval(s1); // Вернет 4 eval(s2); // Вернет строку "2 + 2"</pre> -<p>Объект <code>String</code> имеет свойство <code>length</code>, которое обозначает количество символов в строке. Например, в следующем коде x получит значение 13 потому, что "Hello, World!" содержит 13 символов, каждый из которых представлен одним кодом UTF-16. Вы можете обратиться к каждому коду с помощью квадратных скобок. Вы не можете изменять отдельные символы строки, т.к. строки это массиво-подобные неизменяемые объекты:</p> +<p>Объект <code>String</code> имеет свойство <code>length</code>, которое обозначает количество символов в строке. Например, в следующем коде x получит значение 13 потому, что "Hello, World!" содержит 13 символов, каждый из которых представлен одним кодом UTF-16. Вы можете обратиться к каждому коду с помощью квадратных скобок. Вы не можете изменять отдельные символы строки, т.к. строки это массива-подобные неизменяемые объекты:</p> <pre class="brush: js">var mystring = "Hello, World!"; var x = mystring.length; @@ -133,7 +133,7 @@ mystring[0]; // Вернет: "H" <tr> <td>{{jsxref("String.substring", "substring")}}, {{jsxref("String.substr", "substr")}}</td> <td> - <p>Возвращет указанную часть строки по начальному и конечному индексам, либо по начальному индексу и длине.</p> + <p>Возвращает указанную часть строки по начальному и конечному индексам, либо по начальному индексу и длине.</p> </td> </tr> <tr> diff --git a/files/ru/web/javascript/guide/using_promises/index.html b/files/ru/web/javascript/guide/using_promises/index.html index d104f15d9e..fea85730ac 100644 --- a/files/ru/web/javascript/guide/using_promises/index.html +++ b/files/ru/web/javascript/guide/using_promises/index.html @@ -15,9 +15,9 @@ original_slug: Web/JavaScript/Guide/Ispolzovanie_promisov <p class="summary">{{jsxref("Promise")}} (промис, англ. "обещание") - это объект, представляющий результат успешного или неудачного завершения асинхронной операции. Так как большинство людей пользуются уже созданными промисами, это руководство начнем с объяснения использования вернувшихся промисов до объяснения принципов создания. </p> -<p>В сущности, промис - это возвращаемый объект, в который вы записываете два коллбэка вместо того, чтобы передать их функции.</p> +<p>В сущности, промис - это возвращаемый объект, в который вы записываете два колбэка вместо того, чтобы передать их функции.</p> -<p>Например, вместо старомодной функции, которая принимает два коллбэка и вызывает один из них в зависимости от успешного или неудачного завершения операции:</p> +<p>Например, вместо старомодной функции, которая принимает два колбэка и вызывает один из них в зависимости от успешного или неудачного завершения операции:</p> <pre class="brush: js line-numbers language-js">function doSomethingOldStyle(successCallback, failureCallback) { console.log("Готово."); @@ -40,7 +40,7 @@ function failureCallback(error) { doSomethingOldStyle(successCallback, failureCallback); </pre> -<p>…современные функции возвращают промис, в который вы записываете ваши коллбэки:</p> +<p>…современные функции возвращают промис, в который вы записываете ваши колбэки:</p> <pre class="brush: js line-numbers language-js">function doSomething() { return new Promise((resolve, reject) => { @@ -65,12 +65,12 @@ promise.then(successCallback, failureCallback);</pre> <h2 id="Гарантии">Гарантии</h2> -<p>В отличие от старомодных переданных коллбэков промис дает некоторые гарантии:</p> +<p>В отличие от старомодных переданных колбэков промис дает некоторые гарантии:</p> <ul> - <li>Коллбэки никогда не будут вызваны до <a href="/ru/docs/Web/JavaScript/EventLoop#Никогда_не_блокируется">завершения обработки текущего события</a> в событийном цикле JavaScript.</li> - <li>Коллбеки, добавленные через .then даже <em>после </em>успешного или неудачного завершения асинхронной операции, будут также вызваны.</li> - <li>Несколько коллбэков может быть добавлено вызовом .then нужное количество раз, и они будут выполняться независимо в порядке добавления.</li> + <li>Колбэки никогда не будут вызваны до <a href="/ru/docs/Web/JavaScript/EventLoop#Никогда_не_блокируется">завершения обработки текущего события</a> в событийном цикле JavaScript.</li> + <li>Колбэки, добавленные через .then даже <em>после </em>успешного или неудачного завершения асинхронной операции, будут также вызваны.</li> + <li>Несколько колбэков может быть добавлено вызовом .then нужное количество раз, и они будут выполняться независимо в порядке добавления.</li> </ul> <p>Но наиболее непосредственная польза от промисов - цепочка вызовов (<em>chaining</em>).</p> @@ -90,11 +90,11 @@ let promise2 = promise.then(successCallback, failureCallback); <pre class="brush: js">let promise2 = doSomething().then(successCallback, failureCallback); </pre> -<p>Второй промис представляет завершение не только <code>doSomething()</code>, но и функций <code>successCallback</code> или <code>failureCallback</code>, переданных Вами, а они тоже могут быть асинхронными функциями, возвращающими промис. В этом случае все коллбэки, добавленные к <code>promise2</code> будут поставлены в очередь за промисом, возвращаемым <code>successCallback</code> или <code>failureCallback</code>.</p> +<p>Второй промис представляет завершение не только <code>doSomething()</code>, но и функций <code>successCallback</code> или <code>failureCallback</code>, переданных Вами, а они тоже могут быть асинхронными функциями, возвращающими промис. В этом случае все колбэки, добавленные к <code>promise2</code> будут поставлены в очередь за промисом, возвращаемым <code>successCallback</code> или <code>failureCallback</code>.</p> <p>По сути, каждый вызванный промис означает успешное завершение предыдущих шагов в цепочке.</p> -<p>Раньше выполнение нескольких асинхронных операций друг за другом приводило к классической "Вавилонской башне" коллбэков:</p> +<p>Раньше выполнение нескольких асинхронных операций друг за другом приводило к классической "Вавилонской башне" колбэков:</p> <pre class="brush: js">doSomething(function(result) { doSomethingElse(result, function(newResult) { @@ -105,7 +105,7 @@ let promise2 = promise.then(successCallback, failureCallback); }, failureCallback); </pre> -<p>В современных функциях мы записываем коллбэки в возвращаемые промисы - формируем цепочку промисов:</p> +<p>В современных функциях мы записываем колбэки в возвращаемые промисы - формируем цепочку промисов:</p> <pre class="brush: js">doSomething().then(function(result) { return doSomethingElse(result); @@ -130,7 +130,7 @@ let promise2 = promise.then(successCallback, failureCallback); .catch(failureCallback); </pre> -<p><strong>Важно:</strong> Всегда возвращайте промисы в return, иначе коллбэки не будут сцеплены и ошибки могут быть не пойманы (стрелочные функции неявно возвращают результат, если скобки {} вокруг тела функции опущены).</p> +<p><strong>Важно:</strong> Всегда возвращайте промисы в return, иначе колбэки не будут сцеплены и ошибки могут быть не пойманы (стрелочные функции неявно возвращают результат, если скобки {} вокруг тела функции опущены).</p> <h3 id="Цепочка_вызовов_после_catch">Цепочка вызовов после catch</h3> @@ -199,17 +199,17 @@ let promise2 = promise.then(successCallback, failureCallback); <p>Работа данного кода основана на промисах. Для примера здесь используется функция <code>doSomething()</code>, которая встречалась ранее. Вы можете прочитать больше о синтаксисе <a href="https://developers.google.com/web/fundamentals/getting-started/primers/async-functions">здесь</a></p> -<p>Примисы решают основную проблему пирамид, обработку всех ошибок, даже вызовов исключений и программных ошибок. Это основа для функционального построения асинхронных операций.</p> +<p>Промисы решают основную проблему пирамид, обработку всех ошибок, даже вызовов исключений и программных ошибок. Это основа для функционального построения асинхронных операций.</p> -<h2 id="Создание_промиса_вокруг_старого_коллбэка">Создание промиса вокруг старого коллбэка</h2> +<h2 id="Создание_промиса_вокруг_старого_колбэка">Создание промиса вокруг старого колбэка</h2> <p>{{jsxref("Promise")}} может быть создан с помощью конструктора. Это может понадобится только для старых API.</p> -<p>В идеале, все асинхронные функции уже должны возвращать промис. Но увы, некоторые APIs до сих пор ожидают успешного или неудачного коллбека переданных по старинке. Типичный пример: {{domxref("WindowTimers.setTimeout", "setTimeout()")}} функция:</p> +<p>В идеале, все асинхронные функции уже должны возвращать промис. Но увы, некоторые APIs до сих пор ожидают успешного или неудачного колбэка переданных по старинке. Типичный пример: {{domxref("WindowTimers.setTimeout", "setTimeout()")}} функция:</p> <pre><code>setTimeout(() => saySomething("10 seconds passed"), 10000);</code></pre> -<p>Смешивание старого коллбэк-стиля и промисов проблематично. В случае неудачного завершения <code>saySomething</code> или программной ошибки, нельзя обработать ошибку.</p> +<p>Смешивание старого колбэк-стиля и промисов проблематично. В случае неудачного завершения <code>saySomething</code> или программной ошибки, нельзя обработать ошибку.</p> <p>К с частью мы можем обернуть функцию в промис. Хороший тон оборачивать проблематичные функции на самом низком возможном уровне, и больше никогда их не вызывать на прямую:</p> @@ -231,7 +231,7 @@ wait(10000).then(() => saySomething("10 seconds")).catch(failureCallback);</c <p>Фактически, мы превращаем массив асинхронных функций в цепочку промисов равносильно: <code>Promise.resolve().then(func1).then(func2);</code></p> -<p>Это также можно сделать, объеденив композицию в функцию, в функциональном стиле программирования:</p> +<p>Это также можно сделать, объединив композицию в функцию, в функциональном стиле программирования:</p> <pre><code>const applyAsync = (acc,val) => acc.then(val); const composeAsync = (...funcs) => x => funcs.reduce(applyAsync, Promise.resolve(x));</code></pre> @@ -241,7 +241,7 @@ const composeAsync = (...funcs) => x => funcs.reduce(applyAsync, Promise.r <pre><code>const transformData = composeAsync(func1, asyncFunc1, asyncFunc2, func2); transformData(data);</code></pre> -<p>В ECMAScript 2017, последовательные композиции могут быть выполненны более простым способом с помощью async/await:</p> +<p>В ECMAScript 2017, последовательные композиции могут быть выполнены более простым способом с помощью async/await:</p> <pre><code>for (const f of [func1, func2]) { await f(); @@ -249,7 +249,7 @@ transformData(data);</code></pre> <h2 id="Порядок_выполнения">Порядок выполнения</h2> -<p>Чтобы избежать сюрпризов, функции, переданные в <code>then</code> никогда не будут вызванны синхронно, даже с уже разрешенным промисом:</p> +<p>Чтобы избежать сюрпризов, функции, переданные в <code>then</code> никогда не будут вызваны синхронно, даже с уже разрешенным промисом:</p> <pre><code>Promise.resolve().then(() => console.log(2)); console.log(1); // 1, 2</code></pre> @@ -264,7 +264,7 @@ console.log(1); // 1, 2, 3, 4</code></pre> <h2 id="Вложенность">Вложенность</h2> -<p>Простые цепочки promise лучше оставлять без вложений, так как вложеность может быть результатом небрежной структуры. Смотрите <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Ispolzovanie_promisov$edit#Common_mistakes">распространенные ошибки</a>.</p> +<p>Простые цепочки promise лучше оставлять без вложений, так как вложенность может быть результатом небрежной структуры. Смотрите <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Ispolzovanie_promisov$edit#Common_mistakes">распространенные ошибки</a>.</p> <p>Вложенность - это управляющая структура, ограничивающая область действия операторов catch. В частности, вложенный catch только перехватывает сбои в своей области и ниже, а не ошибки выше в цепочке за пределами вложенной области. При правильном использовании это дает большую точность в извлечение ошибок:</p> @@ -295,7 +295,7 @@ doSomething().then(function(result) { <p>Вторая ошибка это излишняя вложенность, включая первую ошибку. Вложенность также ограничивает область видимости внутренних обработчиков ошибок, если это не то чего хотел разработчик, это может привести к необработанным ошибкам. Примером этого является <a href="https://stackoverflow.com/questions/23803743/what-is-the-explicit-promise-construction-antipattern-and-how-do-i-avoid-it">пример как не нужно создавать обещания</a>, который комбинирует вложенность с чрезмерным использованием конструктора обещаний для оборачивания кода который уже использует промисы.</p> -<p>Третяя ошибка это забыть закончить цепочку ключевым словом <code>catch</code>. Незаконченные цепочки приводят к необработанным отторжениям обещаний в большинстве браузеров.</p> +<p>Третья ошибка это забыть закончить цепочку ключевым словом <code>catch</code>. Незаконченные цепочки приводят к необработанным отторжениям обещаний в большинстве браузеров.</p> <p>Хорошим примером является всегда либо возвращать либо заканчивать цепочки обещаний, и как только вы получаете новое обещание, возвращайте его сразу же, чтобы не усложнять код излишней вложенностью:</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 34da02e599..88742ac122 100644 --- a/files/ru/web/javascript/guide/working_with_objects/index.html +++ b/files/ru/web/javascript/guide/working_with_objects/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Guide/Working_with_Objects <h2 id="Обзор_объектов">Обзор объектов</h2> -<p>Объекты в JavaScript, как и во многих других языках программирования, похожи на объекты реальной жизни. Концепцию объектов JavaScript легче понять, проводя паралелли с реально существующими в жизни объектами.</p> +<p>Объекты в JavaScript, как и во многих других языках программирования, похожи на объекты реальной жизни. Концепцию объектов JavaScript легче понять, проводя параллели с реально существующими в жизни объектами.</p> <p>В JavaScript объект — это самостоятельная единица, имеющая свойства и определенный тип. Сравним, например, с чашкой. У чашки есть цвет, форма, вес, материал, из которого она сделана, и т.д. Точно так же, объекты JavaScript имеют свойства, которые определяют их характеристики.</p> @@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Guide/Working_with_Objects </pre> </div> -<p>Как и все переменные JavaScript, имя объекта (которое тоже может быть переменной) и имя свойства являются чуствительными к регистру. Вы можете определить свойство указав его значение. Например, давайте создадим объект <code>myCar</code> и определим его свойства <code>make</code>, <code>model</code>, и <code>year</code> следующим образом:</p> +<p>Как и все переменные JavaScript, имя объекта (которое тоже может быть переменной) и имя свойства являются чувствительными к регистру. Вы можете определить свойство указав его значение. Например, давайте создадим объект <code>myCar</code> и определим его свойства <code>make</code>, <code>model</code>, и <code>year</code> следующим образом:</p> <pre class="brush: js">var myCar = new Object(); myCar.make = "Ford"; @@ -232,7 +232,7 @@ var car2 = new Car("Nissan", "300ZX", 1992, ken); <pre class="brush: js">car1.color = "black"; </pre> -<p>добавляет свойство <code>color</code> к car1, и устанавливаего его значение равным "black." Как бы там ни было, это не влияет на любые другие объекты. Чтобы добавить новое свойство всем объектам одного типа, вы должны добавить свойство в определение типа объекта <code>car</code>.</p> +<p>добавляет свойство <code>color</code> к car1, и устанавливает его значение равным "black." Как бы там ни было, это не влияет на любые другие объекты. Чтобы добавить новое свойство всем объектам одного типа, вы должны добавить свойство в определение типа объекта <code>car</code>.</p> <h3 id="Использование_метода_Object.create">Использование метода Object.create</h3> @@ -265,7 +265,7 @@ fish.displayType(); // Выведет:Fishes</pre> <p>Это ограничение налагается когда вы создаете объект и его свойства с помощью функции конструктора (как мы это делали ранее с типом <em>Car </em>) и когда вы определяете индивидуальные свойства явно (например, <code>myCar.color = "red"</code>). Если вы изначально определили свойство объекта через индекс, например <code>myCar[5] = "25 mpg"</code>, то впоследствии сослаться на это свойство можно только так <code>myCar[5]</code>.</p> -<p>Исключение из правил <span style="line-height: 1.5;">—</span> объекты, отображаемые из HTML, например массив<code> forms</code>. Вы всегда можете сослаться на объекты в этих массивах или используя их индекс (который основывается на порядке появления в HTML документе), или по их именам (если таковые были определены). Например, если второй html-тег <code><FORM></code> в документе имеет значение аттрибута <code>NAME</code> равное "myForm", вы можете сослаться на эту форму вот так: <code>document.forms[1]</code> или <code>document.forms["myForm"]</code> или <code>document.myForm</code>.</p> +<p>Исключение из правил <span style="line-height: 1.5;">—</span> объекты, отображаемые из HTML, например массив<code> forms</code>. Вы всегда можете сослаться на объекты в этих массивах или используя их индекс (который основывается на порядке появления в HTML документе), или по их именам (если таковые были определены). Например, если второй html-тег <code><FORM></code> в документе имеет значение атрибута <code>NAME</code> равное "myForm", вы можете сослаться на эту форму вот так: <code>document.forms[1]</code> или <code>document.forms["myForm"]</code> или <code>document.myForm</code>.</p> <h2 id="Определение_свойств_для_типа_объекта">Определение свойств для типа объекта</h2> @@ -460,7 +460,7 @@ delete g; <h2 id="Сравнение_объектов">Сравнение объектов</h2> -<p>В JavaScript объекты имеют ссылочный тип. Два отдельных объекта никогда не будут равными, даже если они имеют равный набор свойств. Только сравнение двух ссылок на один и тотже объект вернет true.</p> +<p>В JavaScript объекты имеют ссылочный тип. Два отдельных объекта никогда не будут равными, даже если они имеют равный набор свойств. Только сравнение двух ссылок на один и тот же объект вернет true.</p> <pre class="brush: js"><code>// Две переменных ссылаются на два объекта с одинаковыми свойствами var fruit = {name: 'apple'}; diff --git a/files/ru/web/javascript/index.html b/files/ru/web/javascript/index.html index 4d20b9462d..7a082e292e 100644 --- a/files/ru/web/javascript/index.html +++ b/files/ru/web/javascript/index.html @@ -38,14 +38,14 @@ translation_of: Web/JavaScript <dl> <dt><a href="/ru/docs/Web/JavaScript/Guide">Первые шаги в JavaScript</a></dt> - <dd>Отвечаем на такие вопросы, как "что такое JavaScript?", "как он выглядит?", "и что он может делать?", а также обсуждаем основные возможности JavaScript, такие, как переменнные, строки, числа и массивы.</dd> + <dd>Отвечаем на такие вопросы, как "что такое JavaScript?", "как он выглядит?", "и что он может делать?", а также обсуждаем основные возможности JavaScript, такие, как переменные, строки, числа и массивы.</dd> <dt><a href="/ru/docs/Learn/JavaScript/Building_blocks">Структурные элементы JavaScript</a></dt> <dd>Продолжаем наше изучение главных возможностей JavaScript, обращаем наше внимание на самые часто встречающиеся блоки кода, такие, как условные выражения, циклы, функции и события.</dd> <dt></dt> <dt><a href="https://developer.mozilla.org/ru/docs/Learn/JavaScript/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B">Введение в объекты JavaScript</a></dt> <dd>Объектно-ориентированная природа JavaScript важна для понимания, если вы хотите углубить знание языка и писать более эффективный код. Поэтому мы подготовили модуль, который поможет вам в этом.</dd> <dt><a href="/ru/docs/Learn/JavaScript/Asynchronous">Асинхронный JavaScript</a></dt> - <dd>Обсуждение асинхронного JavaScript: почему это так важно, как эта возможность языка может использована для обработки потенциальных блокирующих операций, как, например полученые данных с сервера.</dd> + <dd>Обсуждение асинхронного JavaScript: почему это так важно, как эта возможность языка может использована для обработки потенциальных блокирующих операций, как, например получение данных с сервера.</dd> <dt><a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs">Клиентские (браузерные) веб-API</a></dt> <dd>Когда вы пишите клиент веб-сайтов или приложений на JavaScript, вы не далеко уйдете без использования API – интерфейсов для взаимодействия с браузером и операционной системой, на которой запущен сайт, или даже для операций с данными, полученными от других веб-сайтов и сервисов. В этом цикле статей мы разбираемся, что такое API и как использовать некоторые самые распространенные API, которые вам встретятся при разработке.</dd> </dl> @@ -60,15 +60,15 @@ translation_of: Web/JavaScript <h3 id="Средний_уровень">Средний уровень</h3> <dl> - <dt><a href="/ru/docs/Learn/Tools_and_testing/Фронтенд_JavaScript_фреймворки">Понимание JavaScript-фреймворков для фронтенда</a></dt> + <dt><a href="/ru/docs/Learn/Tools_and_testing/Фронтенд_JavaScript_ффреймворки">Понимание JavaScript-фреймворков для фронтенда</a></dt> <dd> - <div>JavaScript-ф<span>реймворки </span>являются неотъемлемой частью современной веб-разработки,</div> + <div>JavaScript-ф<span>фреймворки </span>являются неотъемлемой частью современной веб-разработки,</div> <div>предоставляя разработчикам проверенные и протестированные</div> <div>инструменты для создания масштабируемых и интерактивных веб-приложений. Многие</div> - <div>современные компании используют фреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.</div> + <div>современные компании используют ффреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.</div> </dd> <dt><a href="/ru/docs/Web/JavaScript/A_re-introduction_to_JavaScript">Повторное введение в JavaScript</a></dt> <dd>Обзор для тех, кто <em>думает</em>, что знает JavaScript.</dd> @@ -77,7 +77,7 @@ translation_of: Web/JavaScript <dt><a href="/ru/docs/Web/JavaScript/Equality_comparisons_and_sameness">Операторы сравнения и тождественности</a></dt> <dd>JavaScript предоставляет три различных оператора сравнения значений: строгое равенство <code>===</code>, с приведением типов <code>==</code> и метод {{jsxref("Global_Objects/Object/is", "Object.is()")}}.</dd> <dt><a href="/ru/docs/Web/JavaScript/Closures">Замыкания</a></dt> - <dd>Замыканния это сочетание функции и лексического окружения в котором она была определена.</dd> + <dd>Замыкания это сочетание функции и лексического окружения в котором она была определена.</dd> </dl> <h3 id="Продвинутый_уровень">Продвинутый уровень</h3> @@ -124,7 +124,7 @@ translation_of: Web/JavaScript <dt><a href="/ru/docs/Web/JavaScript/JavaScript_шеллы">JavaScript шеллы</a></dt> <dd>JavaScript шеллы позволяют быстро проверять фрагменты JavaScript кода.</dd> <dt><a href="https://togetherjs.com/">TogetherJS</a></dt> - <dd>Объединение усилий стало проще. Добавляя TogetherJS на вашу веб-страницу, ваши пользователи могуь помочь другу-другу в реальном времени!</dd> + <dd>Объединение усилий стало проще. Добавляя TogetherJS на вашу веб-страницу, ваши пользователи могут помочь другу-другу в реальном времени!</dd> <dt><a href="http://stackoverflow.com/questions/tagged/javascript">Stack Overflow</a></dt> <dd>Вопросы по JavaScript на Stack Overflow.</dd> <dt><a href="/ru/docs/Web/JavaScript/New_in_JavaScript">Версии JavaScript и информация о релизах</a></dt> @@ -140,7 +140,7 @@ translation_of: Web/JavaScript <dd>JS Bin это инструмент с открытым исходным кодом для отладки и совместной разработки.</dd> <dt><a href="https://codepen.io/">Codepen</a></dt> <dd> - <p>Codepen ещё одна платформа для совместной веб-разработки, дающия результать в реальном-времени.</p> + <p>Codepen ещё одна платформа для совместной веб-разработки, дающие результат в реальном-времени.</p> </dd> <dt><a href="https://stackblitz.com/">StackBlitz</a></dt> <dd> diff --git a/files/ru/web/javascript/inheritance_and_the_prototype_chain/index.html b/files/ru/web/javascript/inheritance_and_the_prototype_chain/index.html index 489e7e7693..7f6f3fab86 100644 --- a/files/ru/web/javascript/inheritance_and_the_prototype_chain/index.html +++ b/files/ru/web/javascript/inheritance_and_the_prototype_chain/index.html @@ -211,7 +211,7 @@ var square = new Square(2);</pre> <p>Такой подход называется monkey patching и нарушает принцип <em>инкапсуляции</em>. Несмотря на то, что ранее он использовался в таких широко распространенных фреймворках, как например, Prototype.js, в настоящее время не существует разумных причин для его использования, поскольку в данном случае встроенные типы "захламляются" дополнительной нестандартной функциональностью.</p> -<p>Единственным оправданием расширения базовых прототипов могут являться лишь полифиллы - эмуляторы новой функциональности (например, <code>Array.forEach)</code> для не поддерживающих её реализаций языка в старых веб-браузерах.</p> +<p>Единственным оправданием расширения базовых прототипов могут являться лишь полифилы - эмуляторы новой функциональности (например, <code>Array.forEach)</code> для не поддерживающих её реализаций языка в старых веб-браузерах.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/javascript_technologies_overview/index.html b/files/ru/web/javascript/javascript_technologies_overview/index.html index bb06ed7392..8402d6cecb 100644 --- a/files/ru/web/javascript/javascript_technologies_overview/index.html +++ b/files/ru/web/javascript/javascript_technologies_overview/index.html @@ -33,7 +33,7 @@ translation_of: Web/JavaScript/JavaScript_technologies_overview <h3 id="Браузерная_поддержка">Браузерная поддержка</h3> -<p>На октябрь 2016, текущие версии основых веб-браузеров включали <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5.1</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla">ECMAScript 2015</a>, но более старые версии (все еще находящиеся в использовании) реализуют только ECMAScript 5.</p> +<p>На октябрь 2016, текущие версии основы веб-браузеров включали <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5.1</a> и <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla">ECMAScript 2015</a>, но более старые версии (все еще находящиеся в использовании) реализуют только ECMAScript 5.</p> <h3 id="Будущее">Будущее</h3> @@ -51,7 +51,7 @@ translation_of: Web/JavaScript/JavaScript_technologies_overview <h3 id="Ядро_DOM">Ядро DOM</h3> -<p>Объектно-ориентированная модель документа (DOM) это кросс-платформенное, <strong>языково-независимое соглашение</strong> по представлению объектов и взаимодейстивию с ними в документах HTML, XHTML и XML. Объект в <strong>DOM-дереве</strong> может быть адресован и обработан с помощью своих методов. Ядро Объектно-ориентированной модели документа стандартизируется W3C и определяет языково-независимые интерфейсы, абстрагирующие HTML и XML документы как объекты, и механизмы для управления этой абстракцией. Кроме прочих вещей, опреденных в DOM, можно также найти:</p> +<p>Объектно-ориентированная модель документа (DOM) это кросс-платформенное, <strong>языково-независимое соглашение</strong> по представлению объектов и взаимодействию с ними в документах HTML, XHTML и XML. Объект в <strong>DOM-дереве</strong> может быть адресован и обработан с помощью своих методов. Ядро Объектно-ориентированной модели документа стандартизируется W3C и определяет языково-независимые интерфейсы, абстрагирующие HTML и XML документы как объекты, и механизмы для управления этой абстракцией. Кроме прочих вещей, опряденных в DOM, можно также найти:</p> <ul> <li>Структуру документа, древовидную модель, и архитектуру событий DOM в <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html" title="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html">ядре DOM</a>: <code>Node</code>, <code>Element</code>, <code>DocumentFragment</code>, <code>Document</code>, <code>DOMImplementation</code>, <code>Event</code>, <code>EventTarget</code>, …</li> @@ -74,12 +74,12 @@ translation_of: Web/JavaScript/JavaScript_technologies_overview <li><a class="external" href="http://dev.w3.org/2006/webapi/XMLHttpRequest-2/" title="http://dev.w3.org/2006/webapi/XMLHttpRequest-2/">XMLHttpRequest</a> позволяет отправлять асинхронные HTTP запросы.</li> <li>Объектная модель <a class="external" href="http://dev.w3.org/csswg/cssom/">CSS</a> абстрагировать CSS-правила как объекты</li> <li><a class="external" href="http://www.whatwg.org/specs/web-workers/current-work/">WebWorkers</a> обеспечивает выполнение параллельных вычислений.</li> - <li><a class="external" href="http://www.whatwg.org/C/#network">WebSockets</a> обеспечивает низкоуровневое двунаправленое соединение.</li> + <li><a class="external" href="http://www.whatwg.org/C/#network">WebSockets</a> обеспечивает низкоуровневое двунаправленное соединение.</li> <li><a class="external" href="http://www.whatwg.org/html/#2dcontext" title="http://www.whatwg.org/html/#2dcontext">Canvas 2D Context</a> это API для рисования с помощью элемента {{htmlelement("canvas")}}..</li> </ul> <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> -<p>Каждый разработчик сталкивавшийся с DOM понимает как там все <a href="http://ejohn.org/blog/the-dom-is-a-mess/" title="http://ejohn.org/blog/the-dom-is-a-mess/">безнадёжно</a>. Реализация той иной функциональности может отличаться, а следовательно и поведение. Главной причиной этого послужило то, что само описание спецификации DOM, было недостаточно ясным и подробным для разработчиков браузеров. Кроме того разные производители браузеров добавили несовместимые функциональности в своих браузеры или функциональности перекрывающие друг друга (например модель событий в IE). В данный момент консорциум W3C и частично WHATWG пытаюся описать детально поведение тех или иных функций, чтобы улучшить совместимость между браузерами. Следуя этой тенденции, можно надеятся что браузеры улучшат свои реализации основываясь на этих спецификациях.</p> +<p>Каждый разработчик сталкивавшийся с DOM понимает как там все <a href="http://ejohn.org/blog/the-dom-is-a-mess/" title="http://ejohn.org/blog/the-dom-is-a-mess/">безнадёжно</a>. Реализация той иной функциональности может отличаться, а следовательно и поведение. Главной причиной этого послужило то, что само описание спецификации DOM, было недостаточно ясным и подробным для разработчиков браузеров. Кроме того разные производители браузеров добавили несовместимые функциональности в своих браузеры или функциональности перекрывающие друг друга (например модель событий в IE). В данный момент консорциум W3C и частично WHATWG пытаются описать детально поведение тех или иных функций, чтобы улучшить совместимость между браузерами. Следуя этой тенденции, можно надеяться что браузеры улучшат свои реализации основываясь на этих спецификациях.</p> -<p>Наиболее общий, но возможно не самый надежный способ улучшить кроссбраузерную совместимость это воспользоваться библиотеками JavaScript. Эти библиотеки абстрагируют вас от особенностей реализации DOM в том или ином браузере, и гарантируют, что их API работает одинаково в разных браузерах. Наиболее распростаненные из них это <a class="external" href="http://jquery.com/">jQuery</a> и <a class="external" href="http://www.prototypejs.org/">prototype</a>.</p> +<p>Наиболее общий, но возможно не самый надежный способ улучшить кроссбраузерную совместимость это воспользоваться библиотеками JavaScript. Эти библиотеки абстрагируют вас от особенностей реализации DOM в том или ином браузере, и гарантируют, что их API работает одинаково в разных браузерах. Наиболее распространенные из них это <a class="external" href="http://jquery.com/">jQuery</a> и <a class="external" href="http://www.prototypejs.org/">prototype</a>.</p> diff --git a/files/ru/web/javascript/language_resources/index.html b/files/ru/web/javascript/language_resources/index.html index 618325a377..e96654a789 100644 --- a/files/ru/web/javascript/language_resources/index.html +++ b/files/ru/web/javascript/language_resources/index.html @@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Language_Resources <td>ECMA-262 Edition 3</td> <td><a class="external" href="http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf">PDF</a></td> <td>Декабрь1999</td> - <td>Третье издание стандарта ECMAScript; соотвестствует JavaScript 1.5.<br> + <td>Третье издание стандарта ECMAScript; соответствует JavaScript 1.5.<br> Смотри также <a class="external" href="http://www.mozilla.org/js/language/E262-3-errata.html">опечатки</a></td> </tr> <tr> @@ -59,7 +59,7 @@ translation_of: Web/JavaScript/Language_Resources </tbody> </table> -<p>Узнать больше о истории ECMAScript можно <a class="external" href="http://en.wikipedia.org/wiki/ECMAScript" title="http://en.wikipedia.org/wiki/ECMAScript">на странице википедии посвященнной ECMAScript</a>.</p> +<p>Узнать больше о истории ECMAScript можно <a class="external" href="http://en.wikipedia.org/wiki/ECMAScript" title="http://en.wikipedia.org/wiki/ECMAScript">на странице википедии посвященной ECMAScript</a>.</p> <p>Вы можете принять участие или просто отслеживать работу над следующей версией стандарта, которая разрабатывается под кодовым названием"Harmony", с помощью публично-доступного вики и <a class="link-https" href="https://mail.mozilla.org/listinfo/es-discuss" title="https://mail.mozilla.org/listinfo/es-discuss">es-discuss список рассылки</a> привязанного к <a class="external" href="http://www.ecmascript.org/community.php" title="http://www.ecmascript.org/community.php">ecmascript.org</a>.</p> diff --git a/files/ru/web/javascript/reference/classes/index.html b/files/ru/web/javascript/reference/classes/index.html index 883df1a1be..8711331ffc 100644 --- a/files/ru/web/javascript/reference/classes/index.html +++ b/files/ru/web/javascript/reference/classes/index.html @@ -194,7 +194,7 @@ Rectangle.prototype.prototypeWidth = 25; <h3 id="Определение_полей">Определение полей</h3> <div class="blockIndicator warning"> -<p>Публичные и приватные поля - это <a href="https://github.com/tc39/proposal-class-fields">экспериментальная особенность (stage 3)</a>, предложенная комитетом <a href="https://tc39.es/">TC39</a> по стандартам языка Javascript. Поддержка баузерами ограничена, но это нововведение может быть использовано на моменте сборки, используя к примеру <a href="https://babeljs.io/">Babel</a>.</p> +<p>Публичные и приватные поля - это <a href="https://github.com/tc39/proposal-class-fields">экспериментальная особенность (stage 3)</a>, предложенная комитетом <a href="https://tc39.es/">TC39</a> по стандартам языка Javascript. Поддержка браузерами ограничена, но это нововведение может быть использовано на моменте сборки, используя к примеру <a href="https://babeljs.io/">Babel</a>.</p> </div> <h4 id="Публичные_поля">Публичные поля</h4> diff --git a/files/ru/web/javascript/reference/classes/private_class_fields/index.html b/files/ru/web/javascript/reference/classes/private_class_fields/index.html index 86d8220363..78a5d91787 100644 --- a/files/ru/web/javascript/reference/classes/private_class_fields/index.html +++ b/files/ru/web/javascript/reference/classes/private_class_fields/index.html @@ -72,7 +72,7 @@ console.assert(error instanceof TypeError) <h3 id="Приватные_поля_экземпляров">Приватные поля экземпляров</h3> -<p>Приватные поля экзмепляров объявляются <strong>#имя </strong>(произносится как "хэш нэймс"), которые идентифицируются префиксом <code><strong>#</strong></code>. <code>#</code> является частью имени, а также используется для объявления и доступа.</p> +<p>Приватные поля экземпляров объявляются <strong>#имя </strong>(произносится как "хэш нэймс"), которые идентифицируются префиксом <code><strong>#</strong></code>. <code>#</code> является частью имени, а также используется для объявления и доступа.</p> <p><span class="tlid-translation translation" lang="ru"><span title="">Инкапсуляция обеспечивается языком.</span> <span title="">Обращение к <code>#</code> именам вне области видимости является синтаксической ошибкой.</span></span></p> diff --git a/files/ru/web/javascript/reference/classes/public_class_fields/index.html b/files/ru/web/javascript/reference/classes/public_class_fields/index.html index c1aca8f166..ea67222e50 100644 --- a/files/ru/web/javascript/reference/classes/public_class_fields/index.html +++ b/files/ru/web/javascript/reference/classes/public_class_fields/index.html @@ -145,7 +145,7 @@ console.log(sub.subInstanceField); <p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> </div> -<p>Статические методы добавляются в конструктор класса с помощью <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a> во время его создания. Эти методы - изменяемые, неперечисляемые и настраеваемые свойства объекта.</p> +<p>Статические методы добавляются в конструктор класса с помощью <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a> во время его создания. Эти методы - изменяемые, неперечисляемые и настраиваемые свойства объекта.</p> <h3 id="Публичные_методы_экземпляра">Публичные методы экземпляра</h3> @@ -192,7 +192,7 @@ console.log(instance.subPublicMethod()); // Ожидаемый вывод: "hello world" </pre> -<p>Геттеры и сеттеры это специальные методы, которые привязаны к свойствам класса и которые вызываются, когда к свойсту обращаются или записывают. Используйте <a href="/ru/docs/Web/JavaScript/Reference/Functions/get">get</a> и <a href="/ru/docs/Web/JavaScript/Reference/Functions/set">set</a> для объявления публичных геттеров и сеттеров экземпляра.</p> +<p>Геттеры и сеттеры это специальные методы, которые привязаны к свойствам класса и которые вызываются, когда к свойству обращаются или записывают. Используйте <a href="/ru/docs/Web/JavaScript/Reference/Functions/get">get</a> и <a href="/ru/docs/Web/JavaScript/Reference/Functions/set">set</a> для объявления публичных геттеров и сеттеров экземпляра.</p> <pre class="brush: js notranslate">class ClassWithGetSet { #msg = 'hello world'; diff --git a/files/ru/web/javascript/reference/classes/static/index.html b/files/ru/web/javascript/reference/classes/static/index.html index cec6516733..58ea5996c1 100644 --- a/files/ru/web/javascript/reference/classes/static/index.html +++ b/files/ru/web/javascript/reference/classes/static/index.html @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Classes/static <h2 id="Описание">Описание</h2> -<p>Cтатические методы вызываются через имя класса. Вызывать статические методы через имя объекта запрещено. Статические методы часто используются для создания вспомогательных функций приложения.</p> +<p>Статические методы вызываются через имя класса. Вызывать статические методы через имя объекта запрещено. Статические методы часто используются для создания вспомогательных функций приложения.</p> <h2 id="Вызов_статических_методов">Вызов статических методов</h2> diff --git a/files/ru/web/javascript/reference/errors/bad_octal/index.html b/files/ru/web/javascript/reference/errors/bad_octal/index.html index d36656c80e..34f25ffe7e 100644 --- a/files/ru/web/javascript/reference/errors/bad_octal/index.html +++ b/files/ru/web/javascript/reference/errors/bad_octal/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Errors/Bad_octal <h2 id="Что_пошло_не_так">Что пошло не так?</h2> -<p>Десятеричные литералы могут начинаться с нуля (<code>0</code>), за которым следуют другие десятеричные цифры. Но, если все цифры после начального нуля (<code>0</code>) меньше 8, то число интерпретируется как восьмеричное. Т.к. 08 и 09 не соответствуют даному условию, JavaScript выводит предупреждение об этом.</p> +<p>Десятеричные литералы могут начинаться с нуля (<code>0</code>), за которым следуют другие десятеричные цифры. Но, если все цифры после начального нуля (<code>0</code>) меньше 8, то число интерпретируется как восьмеричное. Т.к. 08 и 09 не соответствуют данному условию, JavaScript выводит предупреждение об этом.</p> <p>Следует отметить, что восьмеричные литералы и восьмеричные управляющие последовательности являются устаревшими и <span id="result_box" lang="ru"><span>будут содержать дополнительное предупреждение об этом.</span></span> С выпуском ECMAScript 6 версии в синтаксисе используется начальный нуль (<code>0</code>), за которым следует <span id="result_box" lang="ru"><span>строчная или прописная</span></span> Латинская буква "O" (<code>0o</code> или <code>0O)</code>. <span id="result_box" lang="ru"><span>Дополнительную информацию смотрите на странице о </span></span> <a href="/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Octal">лексической грамматике</a>.</p> diff --git a/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html b/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html index 6e3604af66..549b5ae654 100644 --- a/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html +++ b/files/ru/web/javascript/reference/errors/bad_regexp_flag/index.html @@ -17,7 +17,7 @@ SyntaxError: Invalid regular expression flags (Chrome) <h2 id="Что_пошло_не_так">Что пошло не так?</h2> -<p>В коде есть недопустимые флаги регулярных выражений. Литерал в регулярном выражении, который содержит шаблон заключенный между двумя слэшами, флаги определяются после второго флага. Они также могут быть объявлены в конструкторе функции {{jsxref("RegExp")}} object (второй параметр). Флаги регулярного выражения могут быть использованы отдельно или вместе в любой очередности, но в ECMAScript их только пять.</p> +<p>В коде есть недопустимые флаги регулярных выражений. Литерал в регулярном выражении, который содержит шаблон заключенный между двумя слешами, флаги определяются после второго флага. Они также могут быть объявлены в конструкторе функции {{jsxref("RegExp")}} object (второй параметр). Флаги регулярного выражения могут быть использованы отдельно или вместе в любой очередности, но в ECMAScript их только пять.</p> <p>Чтоб включить флаг в регулярное выражение, используйте синтаксис:</p> @@ -56,7 +56,7 @@ SyntaxError: Invalid regular expression flags (Chrome) </tr> <tr> <td>y</td> - <td>Выполняет «липкий» поиск, который будет начинаться с текущей позиции в целевой строке. Cм. {{jsxref("RegExp.sticky", "sticky")}}</td> + <td>Выполняет «липкий» поиск, который будет начинаться с текущей позиции в целевой строке. См. {{jsxref("RegExp.sticky", "sticky")}}</td> </tr> </tbody> </table> @@ -70,7 +70,7 @@ SyntaxError: Invalid regular expression flags (Chrome) // Ошибка синтаксиса: недействительный флаг "b" для регулярного выражения </pre> -<p>Вы намеревались создать регулярное выражение? Выражение, содержащее два слэша, интерпретируется как литерал регулярного выражения.</p> +<p>Вы намеревались создать регулярное выражение? Выражение, содержащее два слеша, интерпретируется как литерал регулярного выражения.</p> <pre class="brush: js example-bad">let obj = { url: /docs/Web @@ -87,7 +87,7 @@ SyntaxError: Invalid regular expression flags (Chrome) <h3 id="Действительные_флаги_регулярного_выражения">Действительные флаги регулярного выражения </h3> -<p>Вгляните на таблицу выше, где представлены пять действительных флагов регулярного выражения, которые разрешены в JavaScript</p> +<p>Взгляните на таблицу выше, где представлены пять действительных флагов регулярного выражения, которые разрешены в JavaScript</p> <pre class="brush: js example-good">/foo/g; /foo/gim; diff --git a/files/ru/web/javascript/reference/errors/cant_define_property_object_not_extensible/index.html b/files/ru/web/javascript/reference/errors/cant_define_property_object_not_extensible/index.html index 59499e302d..7e6acc3991 100644 --- a/files/ru/web/javascript/reference/errors/cant_define_property_object_not_extensible/index.html +++ b/files/ru/web/javascript/reference/errors/cant_define_property_object_not_extensible/index.html @@ -23,7 +23,7 @@ TypeError: Cannot define property: "x", object is not extensible. (Chrome)</pre> <h2 id="Что_произошло_не_так">Что произошло не так?</h2> -<p>Обычно, объект расширяемый и к нему можно добавать новые свойства. Однако в этой ситуации {{jsxref("Object.preventExtensions()")}} сделал объект нерасширяемым, так что у него не может появиться других свойств, отличных от тех, которые были объявлены когда объект стал нерасширяемым.</p> +<p>Обычно, объект расширяемый и к нему можно добавить новые свойства. Однако в этой ситуации {{jsxref("Object.preventExtensions()")}} сделал объект нерасширяемым, так что у него не может появиться других свойств, отличных от тех, которые были объявлены когда объект стал нерасширяемым.</p> <h2 id="Примеры">Примеры</h2> @@ -38,7 +38,7 @@ obj.x = 'foo'; // TypeError: can't define property "x": "obj" is not extensible </pre> -<p>В обеих, строгом и нестрогом режимах, вызов {{jsxref("Object.defineProperty()")}} вызывает исключнеие при добавлении нового свойства в нерасширяемый объект.</p> +<p>В обеих, строгом и нестрогом режимах, вызов {{jsxref("Object.defineProperty()")}} вызывает исключение при добавлении нового свойства в нерасширяемый объект.</p> <pre class="brush: js example-bad">var obj = { }; Object.preventExtensions(obj); diff --git a/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html b/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html index 40dc8dc913..7e89e085df 100644 --- a/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html +++ b/files/ru/web/javascript/reference/errors/deprecated_expression_closures/index.html @@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Errors/Deprecated_expression_closures <h2 id="Примеры">Примеры</h2> -<h3 id="Неправильтный_синтаксис">Неправильтный синтаксис</h3> +<h3 id="Неправильный_синтаксис">Неправильный синтаксис</h3> <p>Замыкания выражений пропускают фигурные скобки или операторы return из объявлений функций или определений методов в объектах.</p> diff --git a/files/ru/web/javascript/reference/errors/deprecated_octal/index.html b/files/ru/web/javascript/reference/errors/deprecated_octal/index.html index b397c5adb3..a6d35e2381 100644 --- a/files/ru/web/javascript/reference/errors/deprecated_octal/index.html +++ b/files/ru/web/javascript/reference/errors/deprecated_octal/index.html @@ -26,7 +26,7 @@ for octal literals use the "0o" prefix instead</pre> <h2 id="Что_пошло_не_так"><strong>Что пошло не так?</strong></h2> -<p>Восьмеричные литералы и восьмеричные escape-последовательности являются устаревшими и будут выдавать {{jsxref("SyntaxError")}} в строгом режиме. С ECMAScript2015 стандартным синтаксисом является использование ведующего нуля с последующеей заглавной или строчной латинской буквой "O" (<code>0o</code> bили <code>0O</code>)</p> +<p>Восьмеричные литералы и восьмеричные escape-последовательности являются устаревшими и будут выдавать {{jsxref("SyntaxError")}} в строгом режиме. С ECMAScript2015 стандартным синтаксисом является использование ведущего нуля с последующей заглавной или строчной латинской буквой "O" (<code>0o</code> или <code>0O</code>)</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html b/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html index fa10558782..9bfa3ffb6c 100644 --- a/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html +++ b/files/ru/web/javascript/reference/errors/deprecated_string_generics/index.html @@ -66,7 +66,7 @@ String(num).replace(/5/, '2'); <pre class="brush: js">/*globals define*/ // Предполагаем, что все требуемые методы экземпляров String уже присутствуют -// (если нет, для них так же можно использовать полифиллы) +// (если нет, для них так же можно использовать полифилы) (function() { 'use strict'; diff --git a/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html b/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html index e5d4eb3d00..c90ca639e7 100644 --- a/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html +++ b/files/ru/web/javascript/reference/errors/deprecated_tolocaleformat/index.html @@ -64,7 +64,7 @@ dates.forEach(date => console.log(dateFormatter.format(date))); // "Montag, 12. Mai 2014" </pre> -<h3 id="Альтернативный_стандартный_ситнаксис_с_использованием_Дата_методов">Альтернативный стандартный ситнаксис с использованием Дата методов</h3> +<h3 id="Альтернативный_стандартный_синтаксис_с_использованием_Дата_методов">Альтернативный стандартный синтаксис с использованием Дата методов</h3> <p>{{jsxref("Date")}} объект предлагает несколько методов для построения пользовательской строки даты.</p> diff --git a/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html b/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html index 861f44e1e9..d9a8f5ae2c 100644 --- a/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html +++ b/files/ru/web/javascript/reference/errors/for-each-in_loops_are_deprecated/index.html @@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated <h2 id="Примеры">Примеры</h2> -<h3 id="Итерация_обьекта">Итерация обьекта</h3> +<h3 id="Итерация_объекта">Итерация объекта</h3> <p>{{jsxref("Statements/for_each...in", "for each...in")}} используется для итерации по указанным значениям объектов.</p> @@ -87,7 +87,7 @@ for (var x of array) { <p>{{jsxref("Statements/for_each...in", "for each...in")}} ничего не делает, если указанное значение <code>null</code> или <code>undefined</code>, но {{jsxref("Statements/for...of", "for...of")}} выдаст исключение в этих случаях.</p> -<h4 id="Непрвильный_синтаксис">Непрвильный синтаксис</h4> +<h4 id="Неправильный_синтаксис">Неправильный синтаксис</h4> <pre class="brush: js example-bad">function func(array) { for each (var x in array) { @@ -121,7 +121,7 @@ func(undefined); // prints nothing <h4 id="Неправильный_синтаксис">Неправильный синтаксис</h4> -<p>Существует устаревшая идиома для итерации по парам ключ-значение указанного объекта с помощью {{jsxref("Statements/for_each...in", "for each...in")}} и осужденный {{jsxref("Iterator")}} обьект.</p> +<p>Существует устаревшая идиома для итерации по парам ключ-значение указанного объекта с помощью {{jsxref("Statements/for_each...in", "for each...in")}} и осужденный {{jsxref("Iterator")}} объект.</p> <pre class="brush: js example-bad">var object = { a: 10, b: 20 }; @@ -131,7 +131,7 @@ for each (var [key, value] in Iterator(object)) { } </pre> -<h4 id="Альтернативный_стандартный_ситнтаксис">Альтернативный стандартный ситнтаксис</h4> +<h4 id="Альтернативный_стандартный_синтаксис">Альтернативный стандартный синтаксис</h4> <p>Теперь можно использовать стандартный цикл {{jsxref("Statements/for...in", "for...in")}} цикл для итерации по указанным ключам объекта и получения каждого значения внутри цикла:</p> diff --git a/files/ru/web/javascript/reference/errors/identifier_after_number/index.html b/files/ru/web/javascript/reference/errors/identifier_after_number/index.html index 9a0108616e..71cdda791f 100644 --- a/files/ru/web/javascript/reference/errors/identifier_after_number/index.html +++ b/files/ru/web/javascript/reference/errors/identifier_after_number/index.html @@ -44,7 +44,7 @@ alert(1.foo); // SyntaxError: идентификатор начинается сразу после числового литерала </pre> -<p>Вы можете переназвать вашу перемменную чтобы избежать ведущего числа.</p> +<p>Вы можете переназвать вашу переменную чтобы избежать ведущего числа.</p> <pre class="brush: js example-good">var life1 = 'foo'; var foo = life1; diff --git a/files/ru/web/javascript/reference/errors/illegal_character/index.html b/files/ru/web/javascript/reference/errors/illegal_character/index.html index 84a67e254f..5a88969177 100644 --- a/files/ru/web/javascript/reference/errors/illegal_character/index.html +++ b/files/ru/web/javascript/reference/errors/illegal_character/index.html @@ -17,13 +17,13 @@ SyntaxError: Invalid or unexpected token (Chrome) <h2 id="Что_пошло_не_так">Что пошло не так?</h2> -<p>Присутсвует недопустимый или неожиданный знак, который не принадлежит данной позиции в коде. Используйте редактор, поддерживающий подсветку синтаксиса, и внимательно проверьте ваш код на предмет таких несовпадений, как знак минус (<code> - </code>) вместо тире (<code> – </code>) или простые кавычки (<code> " </code>) вместо нестандратных знаков цитирования (<code> “ </code>).</p> +<p>Присутствует недопустимый или неожиданный знак, который не принадлежит данной позиции в коде. Используйте редактор, поддерживающий подсветку синтаксиса, и внимательно проверьте ваш код на предмет таких несовпадений, как знак минус (<code> - </code>) вместо тире (<code> – </code>) или простые кавычки (<code> " </code>) вместо нестандартных знаков цитирования (<code> “ </code>).</p> <h2 id="Примеры">Примеры</h2> <h3 id="Несоответсвующие_символы">Несоответсвующие символы</h3> -<p>Некоторые символы выглядят одинаково, но становтся причиной того, что анализатор не выполняет итерпретацию вашего кода.</p> +<p>Некоторые символы выглядят одинаково, но становится причиной того, что анализатор не выполняет интерпретацию вашего кода.</p> <pre class="brush: js example-bad">“This looks like a string”; // SyntaxError: illegal character @@ -59,7 +59,7 @@ SyntaxError: Invalid or unexpected token (Chrome) // SyntaxError: illegal character </pre> -<p>Если проверить этот код в редакторе вроде Vim, вы можете увидеть, что в коде присутсвтует символ, именуемый <a href="https://en.wikipedia.org/wiki/Zero-width_space">нулевой пробел (zero-width space (ZWSP) (U+200B))</a>.</p> +<p>Если проверить этот код в редакторе вроде Vim, вы можете увидеть, что в коде присутствует символ, именуемый <a href="https://en.wikipedia.org/wiki/Zero-width_space">нулевой пробел (zero-width space (ZWSP) (U+200B))</a>.</p> <pre class="brush: js">var foo = 'bar';<200b></pre> diff --git a/files/ru/web/javascript/reference/errors/index.html b/files/ru/web/javascript/reference/errors/index.html index 08f8f1c808..21d076dbdc 100644 --- a/files/ru/web/javascript/reference/errors/index.html +++ b/files/ru/web/javascript/reference/errors/index.html @@ -8,13 +8,13 @@ translation_of: Web/JavaScript/Reference/Errors --- <p>{{jsSidebar("Errors")}}</p> -<p>Ниже, Вы найдете список ошибок, которые возвращает JavaScript. Эти ошибки могут буть полезны при отладке, но неполадки не всегда сразу понятны. Страницы ниже предлагают дополнительную информацию об этих ошибках. Каждая ошибка это Объект на основании {{jsxref("Error")}} object, и имеет имя (<code>name)</code> и сообщение (<code>message)</code>.</p> +<p>Ниже, Вы найдете список ошибок, которые возвращает JavaScript. Эти ошибки могут быть полезны при отладке, но неполадки не всегда сразу понятны. Страницы ниже предлагают дополнительную информацию об этих ошибках. Каждая ошибка это Объект на основании {{jsxref("Error")}} object, и имеет имя (<code>name)</code> и сообщение (<code>message)</code>.</p> <p>Ошибки отображенные в Web консоли могут содержать ссылку на соответствующую страницу ниже, чтобы помочь вам быстро понять проблему в коде.</p> <h2 id="Список_ошибок">Список ошибок</h2> -<p>В представленном списке, каждая страница проименована (тип ошибки) и сообщение (более подробное удобочитаемое сообщение об ошибке). Вместе, эти два свойства послужат отправной точкой к пониманию и устранению ошибки. Для большей информации, перейдите по ссылкам ниже!</p> +<p>В представленном списке, каждая страница переименована (тип ошибки) и сообщение (более подробное удобочитаемое сообщение об ошибке). Вместе, эти два свойства послужат отправной точкой к пониманию и устранению ошибки. Для большей информации, перейдите по ссылкам ниже!</p> <p>{{ListSubPages("/ru/docs/Web/JavaScript/Reference/Errors")}}</p> diff --git a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html index eaf8b0b185..54bbb51f92 100644 --- a/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html +++ b/files/ru/web/javascript/reference/errors/invalid_const_assignment/index.html @@ -37,7 +37,7 @@ COLUMNS = 120; // TypeError: invalid assignment to const `COLUMNS'</pre> <p>Есть несколько вариантов, чтобы исправить эту ошибку. Проверьте, что должно было быть достигнуто с рассматриваемой константой.</p> -<h4 id="Переназавите">Переназавите</h4> +<h4 id="Переназовите">Переназовите</h4> <p>Если вы хотели объявить другую константу, выберите другое имя и переименовать. Это имя константы уже используется в этой области.</p> diff --git a/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html b/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html index 4538cd6b0b..f9e91b0a53 100644 --- a/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html +++ b/files/ru/web/javascript/reference/errors/invalid_for-in_initializer/index.html @@ -20,7 +20,7 @@ SyntaxError: объявление переменной цикла for-in мож <p>{{jsxref("SyntaxError")}} только в строгом режиме.</p> -<h2 id="Что_пошло_нетак">Что пошло нетак?</h2> +<h2 id="Что_пошло_не так">Что пошло не так?</h2> <p>Глава цикла <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a> содержит выражение инициализатора. То есть переменная объявляется и присваивается значение <code>|for (var i = 0 in obj)|</code>. В нестрогом режиме это объявление head игнорируется и ведет себя как <code>|for (var i in obj)|</code>. Однако в строгом режиме создается синтаксическая ошибка.</p> diff --git a/files/ru/web/javascript/reference/errors/malformed_uri/index.html b/files/ru/web/javascript/reference/errors/malformed_uri/index.html index 8f57f277f4..460c0a3a3d 100644 --- a/files/ru/web/javascript/reference/errors/malformed_uri/index.html +++ b/files/ru/web/javascript/reference/errors/malformed_uri/index.html @@ -39,7 +39,7 @@ encodeURI('\uDFFF'); <h3 id="Декодирование">Декодирование</h3> -<p>Декодирование заменяет каждую управляющую последовательность в закодированном URI компоненте символом, который она предстваляет. Если такого символа нет, возникнет ошибка:</p> +<p>Декодирование заменяет каждую управляющую последовательность в закодированном URI компоненте символом, который она представляет. Если такого символа нет, возникнет ошибка:</p> <pre class="brush: js example-bad">decodeURIComponent('%E0%A4%A'); // "URIError: malformed URI sequence" diff --git a/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html b/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html index 6c86b1ef73..d1a9834174 100644 --- a/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html +++ b/files/ru/web/javascript/reference/errors/missing_curly_after_property_list/index.html @@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_curly_after_property_lis <h2 id="Что_пошло_не_так">Что пошло не так?</h2> -<p><span class="notranslate">Произошла ошибка в синтаксисе <a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">инициализатора объекта</a>.</span> <span class="notranslate">Причиной может быть отсутствующая фигурная скобка или, к примеру, недостающая запятая.</span> <span class="notranslate"> Также проверьте, в правильном ли порядке расположены закрывающие круглые и фигурные скобки.</span> Добаление отсупов или <span class="notranslate">форматирование кода в более благоприятный вид также могут помочь разобраться в беспорядке.</span></p> +<p><span class="notranslate">Произошла ошибка в синтаксисе <a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">инициализатора объекта</a>.</span> <span class="notranslate">Причиной может быть отсутствующая фигурная скобка или, к примеру, недостающая запятая.</span> <span class="notranslate"> Также проверьте, в правильном ли порядке расположены закрывающие круглые и фигурные скобки.</span> Добавление отступов или <span class="notranslate">форматирование кода в более благоприятный вид также могут помочь разобраться в беспорядке.</span></p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/errors/missing_formal_parameter/index.html b/files/ru/web/javascript/reference/errors/missing_formal_parameter/index.html index a47a45477a..b3b0aae107 100644 --- a/files/ru/web/javascript/reference/errors/missing_formal_parameter/index.html +++ b/files/ru/web/javascript/reference/errors/missing_formal_parameter/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_formal_parameter --- <div>{{jsSidebar("Errors")}}</div> -<h2 id="Сообщениe">Сообщениe</h2> +<h2 id="Сообщение">Сообщение</h2> <pre class="syntaxbox">SyntaxError: идентификатор начинается сразу после числового литерала </pre> diff --git a/files/ru/web/javascript/reference/errors/no_non-null_object/index.html b/files/ru/web/javascript/reference/errors/no_non-null_object/index.html index c00c5ff571..1aa1260c59 100644 --- a/files/ru/web/javascript/reference/errors/no_non-null_object/index.html +++ b/files/ru/web/javascript/reference/errors/no_non-null_object/index.html @@ -50,7 +50,7 @@ Object.defineProperty({}, 'key', null); ws.add('foo'); // TypeError: "foo" is not a non-null object</pre> -<p>Создание обьекта вместо:</p> +<p>Создание объекта вместо:</p> <pre class="brush: js example-good">ws.add({foo: 'bar'}); ws.add(window); 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 039044b94c..818c3c00d4 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/reduce_of_empty_array_with_no_initial_value/index.html b/files/ru/web/javascript/reference/errors/reduce_of_empty_array_with_no_initial_value/index.html index ef0179a7ca..012d203930 100644 --- a/files/ru/web/javascript/reference/errors/reduce_of_empty_array_with_no_initial_value/index.html +++ b/files/ru/web/javascript/reference/errors/reduce_of_empty_array_with_no_initial_value/index.html @@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Errors/Reduce_of_empty_array_with_no_in <h2 id="Что_пошло_не_так">Что пошло не так?</h2> -<p>В JavaScript существует несколько уменьщающих функций :</p> +<p>В JavaScript существует несколько уменьшающих функций :</p> <ul> <li>{{jsxref("Array.prototype.reduce()")}}, {{jsxref("Array.prototype.reduceRight()")}} и</li> diff --git a/files/ru/web/javascript/reference/errors/undeclared_var/index.html b/files/ru/web/javascript/reference/errors/undeclared_var/index.html index 2c6705c496..f03c1686ed 100644 --- a/files/ru/web/javascript/reference/errors/undeclared_var/index.html +++ b/files/ru/web/javascript/reference/errors/undeclared_var/index.html @@ -12,7 +12,7 @@ ReferenceError: "x" is not defined (Chrome) ReferenceError: Variable undefined in strict mode (Edge) </pre> -<h2 id="Тип_ошбки">Тип ошбки</h2> +<h2 id="Тип_ошибки">Тип ошибки</h2> <p>{{jsxref("ReferenceError")}} предупреждение только в <a href="/ru/docs/Web/JavaScript/Reference/Strict_mode">строгом режиме</a>.</p> 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 791a215d11..0554d0d93c 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 @@ -32,7 +32,7 @@ SyntaxError: непредвиденный токен ( [Chrome] // SyntaxError: function statement requires a name </pre> -<p>Вы можете использовать выражение функции (назначять) вместо:</p> +<p>Вы можете использовать выражение функции (назначат) вместо:</p> <pre class="brush: js example-good">var greet = function() { return 'Hello world'; @@ -64,7 +64,7 @@ SyntaxError: непредвиденный токен ( [Chrome] } }</pre> -<h3 id="Методы_обьекта">Методы обьекта</h3> +<h3 id="Методы_объекта">Методы объекта</h3> <p>Если вы намеревались создать метод объекта, вам нужно будет создать объект. Тогда допустим следующий синтаксис без имени после ключевого слова function.</p> diff --git a/files/ru/web/javascript/reference/functions/arguments/index.html b/files/ru/web/javascript/reference/functions/arguments/index.html index 13ef8edd8d..b23710eba0 100644 --- a/files/ru/web/javascript/reference/functions/arguments/index.html +++ b/files/ru/web/javascript/reference/functions/arguments/index.html @@ -76,7 +76,7 @@ console.log(typeof arguments[0]);</code></pre> <h3 id="Использование_оператора_расширения_для_объекта_arguments">Использование оператора расширения для объекта <code>arguments</code></h3> -<p>Как и с обычными массиво-подобными объектами, для преобразования объекта <code>arguments</code> в обычный массив можно использовать метод {{jsxref("Array.from()")}} или <a href="/ru/docs/Web/JavaScript/Reference/Operators/Spread_operator">оператор расширения:</a></p> +<p>Как и с обычными массива-подобными объектами, для преобразования объекта <code>arguments</code> в обычный массив можно использовать метод {{jsxref("Array.from()")}} или <a href="/ru/docs/Web/JavaScript/Reference/Operators/Spread_operator">оператор расширения:</a></p> <pre class="brush: js"><code class="language-js"><span class="keyword token">var</span> args <span class="operator token">=</span> Array<span class="punctuation token">.</span><span class="keyword token">from</span><span class="punctuation token">(</span>arguments<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="keyword token">var</span> args <span class="operator token">=</span> <span class="punctuation token">[</span><span class="punctuation token">.</span><span class="punctuation token">.</span><span class="punctuation token">.</span>arguments<span class="punctuation token">]</span><span class="punctuation token">;</span></code></pre> @@ -201,7 +201,7 @@ myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");</pre> <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарии</th> + <th scope="col">Комментарии</th> </tr> <tr> <td>{{SpecName('ES1')}}</td> diff --git a/files/ru/web/javascript/reference/functions/arguments/length/index.html b/files/ru/web/javascript/reference/functions/arguments/length/index.html index 4411d266e5..e2a3272570 100644 --- a/files/ru/web/javascript/reference/functions/arguments/length/index.html +++ b/files/ru/web/javascript/reference/functions/arguments/length/index.html @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Functions/arguments/length <h2 id="Описание">Описание</h2> -<p>arguments.length свойство содержашее число аргументов переданных в функцию. Оно может быть больше или меньше опреденного параметра count (см. {{jsxref("Function.length")}}).</p> +<p>arguments.length свойство содержащее число аргументов переданных в функцию. Оно может быть больше или меньше опряденного параметра count (см. {{jsxref("Function.length")}}).</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/functions/default_parameters/index.html b/files/ru/web/javascript/reference/functions/default_parameters/index.html index 2e6568b816..ec1cd22fc2 100644 --- a/files/ru/web/javascript/reference/functions/default_parameters/index.html +++ b/files/ru/web/javascript/reference/functions/default_parameters/index.html @@ -108,7 +108,7 @@ callSomething(); // 2 <h3 id="Параметры_по_умолчанию_доступны_в_следующих_параметрах_по_умолчанию">Параметры по умолчанию доступны в следующих параметрах по умолчанию</h3> -<p>В параметрах по умолчанию можно использовать значения предыдущих (расположеннных левее в списке) параметров:</p> +<p>В параметрах по умолчанию можно использовать значения предыдущих (расположенных левее в списке) параметров:</p> <pre class="brush: js">function greet(name, greeting, message = greeting + ' ' + name) { return [name, greeting, message]; @@ -117,7 +117,7 @@ callSomething(); // 2 greet('David', 'Hi'); // ["David", "Hi", "Hi David"] greet('David', 'Hi', 'Happy Birthday!'); // ["David", "Hi", "Happy Birthday!"]</pre> -<p>Следующий пример пример еще раз иллюстирует эту возможность, а также позволяет еще раз сравнить два способа достижения одного и того же результата: с использованием инициализации параметров по умолчанию и без ее использования:</p> +<p>Следующий пример пример еще раз иллюстрирует эту возможность, а также позволяет еще раз сравнить два способа достижения одного и того же результата: с использованием инициализации параметров по умолчанию и без ее использования:</p> <pre class="brush: js">function go() { return ":P" diff --git a/files/ru/web/javascript/reference/functions/index.html b/files/ru/web/javascript/reference/functions/index.html index 0353eb3b84..51ce19a0f4 100644 --- a/files/ru/web/javascript/reference/functions/index.html +++ b/files/ru/web/javascript/reference/functions/index.html @@ -10,9 +10,9 @@ translation_of: Web/JavaScript/Reference/Functions <h2 id="Summary" name="Summary">Сводка</h2> -<p>В общем случае, функция — это "подпрограмма", которую можно <em>вызывать</em> из внешнего (или внутренного, в случае рекурсии) по отношению к функции кода. Как и сама программа, функция состоит из последовательности инструкций, называемой <em>телом функции.</em> Значения могут быть <em>переданы</em> в функцию, а функция <em>вернёт</em> значение.</p> +<p>В общем случае, функция — это "подпрограмма", которую можно <em>вызывать</em> из внешнего (или внутреннего, в случае рекурсии) по отношению к функции кода. Как и сама программа, функция состоит из последовательности инструкций, называемой <em>телом функции.</em> Значения могут быть <em>переданы</em> в функцию, а функция <em>вернёт</em> значение.</p> -<p>В JavaScript функции являются объектами первого класса, то есть: они являются объектами и с ними можно взаимодействовать и передавать их точно так же как любой другой объект. Если быть точным, функции — это обьекты <code><a href="ru/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code>.</p> +<p>В JavaScript функции являются объектами первого класса, то есть: они являются объектами и с ними можно взаимодействовать и передавать их точно так же как любой другой объект. Если быть точным, функции — это объекты <code><a href="ru/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code>.</p> <p>Больше подробностей и примеров можно найти в <a href="/ru/docs/Web/JavaScript/Guide/Functions">руководстве по функциям в JavaScript</a>.</p> @@ -159,7 +159,7 @@ param => expression <h3 id="Параметры_по_умолчанию">Параметры по умолчанию</h3> -<p>Параметры функции по умолчанию позволяют инициалазировать формальные параметры со значениями по умолчанию, если им не было передано значение, или было передано <code>undefined</code>. Подробнее о них можно узнать в статье <a href="/ru/docs/Web/JavaScript/Reference/Functions/Default_parameters">Параметры по умолчанию</a>.</p> +<p>Параметры функции по умолчанию позволяют инициализировать формальные параметры со значениями по умолчанию, если им не было передано значение, или было передано <code>undefined</code>. Подробнее о них можно узнать в статье <a href="/ru/docs/Web/JavaScript/Reference/Functions/Default_parameters">Параметры по умолчанию</a>.</p> <h3 id="Оставшиеся_параметры">Оставшиеся параметры</h3> @@ -195,7 +195,7 @@ param => expression <p><strong>Примечание:</strong> <em>Определение методов — это экспериментальная </em>технология, часть спецификации ECMAScript 6, и она пока ещё не получила широкой поддержки среди браузеров.</p> </div> -<p>Начиная с ECMAScript 6, можно определять собственные методы, использу более краткий синтаксис, похожий на геттеры и сеттеры. Более подробно — в статье <a href="/ru/docs/Web/JavaScript/Reference/Functions/Method_definitions">Определение методов.</a></p> +<p>Начиная с ECMAScript 6, можно определять собственные методы, используют более краткий синтаксис, похожий на геттеры и сеттеры. Более подробно — в статье <a href="/ru/docs/Web/JavaScript/Reference/Functions/Method_definitions">Определение методов.</a></p> <pre class="brush: js">var obj = { foo() {}, @@ -241,7 +241,7 @@ param => expression alert(x); // выкинет ошибку </pre> -<p>Также имя фукнции-выражения проявляется, если сериализовать функцию через метод <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Function/toString">Function.toString.</a></p> +<p>Также имя функции-выражения проявляется, если сериализовать функцию через метод <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Function/toString">Function.toString.</a></p> <p>А вот переменная, к которой функция приравнена, ограничена только собственной областью видимости, которая включает ту область, где функция была объявлена.</p> @@ -274,7 +274,7 @@ function foo() { <p>Функция, определённая через функцию-выражение, наследует текущую область видимости, то есть создаёт замыкание. А вот функция, созданная с помощью конструктора <code>Function</code>, не наследует ничего, кроме глобальной области видимости (её наследуют вообще все функции).</p> -<p>Функции, определённые через функцию-выражение и объявление функции парсятся только один раз, в отличиии от функций, созданных с помощью конструктора. То есть строка, которая передаётся в конструктор <code>Function</code>, парсится при каждом вызове конструктора. И хотя функция-выражение каждый раз создаёт замыкание, тело функции при этом не парсится, и получается, что функции-выражение всё равно быстрее, чем "<code>new Function(...)</code>". Поэтому конструктора <code>Function</code> в большинстве случаев стоит избегать, если это возможно.</p> +<p>Функции, определённые через функцию-выражение и объявление функции парсятся только один раз, в отличии от функций, созданных с помощью конструктора. То есть строка, которая передаётся в конструктор <code>Function</code>, парсится при каждом вызове конструктора. И хотя функция-выражение каждый раз создаёт замыкание, тело функции при этом не парсится, и получается, что функции-выражение всё равно быстрее, чем "<code>new Function(...)</code>". Поэтому конструктора <code>Function</code> в большинстве случаев стоит избегать, если это возможно.</p> <p>Стоит отметить, что функции-выражения и объявления функций внутри функции, созданной при парсинге конструктора <code>Function</code>, парсятся только один раз. Например:</p> diff --git a/files/ru/web/javascript/reference/functions/method_definitions/index.html b/files/ru/web/javascript/reference/functions/method_definitions/index.html index e758926921..2a7f130d76 100644 --- a/files/ru/web/javascript/reference/functions/method_definitions/index.html +++ b/files/ru/web/javascript/reference/functions/method_definitions/index.html @@ -2,7 +2,7 @@ title: Определение методов slug: Web/JavaScript/Reference/Functions/Method_definitions translation_of: Web/JavaScript/Reference/Functions/Method_definitions -original_slug: Web/JavaScript/Reference/Functions/Определиние_методов +original_slug: Web/JavaScript/Reference/Functions/Определение_методов --- <div>{{JsSidebar("Functions")}}</div> @@ -20,7 +20,7 @@ original_slug: Web/JavaScript/Reference/Functions/Определиние_мет <h2 id="Описание">Описание</h2> -<p>Короткий синтаксис похожий на синтаксис <a href="/en-US/docs/Web/JavaScript/Reference/Functions/get">getter</a>'ов и <a href="/en-US/docs/Web/JavaScript/Reference/Functions/set">setter</a>'ов представленых в ECMAScript 5.</p> +<p>Короткий синтаксис похожий на синтаксис <a href="/en-US/docs/Web/JavaScript/Reference/Functions/get">getter</a>'ов и <a href="/en-US/docs/Web/JavaScript/Reference/Functions/set">setter</a>'ов представленных в ECMAScript 5.</p> <p>Следующий код:</p> diff --git a/files/ru/web/javascript/reference/functions/rest_parameters/index.html b/files/ru/web/javascript/reference/functions/rest_parameters/index.html index 14d9c1e334..14229ded17 100644 --- a/files/ru/web/javascript/reference/functions/rest_parameters/index.html +++ b/files/ru/web/javascript/reference/functions/rest_parameters/index.html @@ -76,7 +76,7 @@ function f(...args) { <h3 id="Деструктуризация_оставшихся_параметров">Деструктуризация оставшихся параметров</h3> -<p>Оставшиеся парамерты могут быть деструктуризованы (только массивы). Это означает, что их данные могут быть заданы как отдельные значения. Смотрите <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">Деструктурирующее присваивание</a>.</p> +<p>Оставшиеся параметры могут быть деструктурированы (только массивы). Это означает, что их данные могут быть заданы как отдельные значения. Смотрите <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">Деструктурирующее присваивание</a>.</p> <pre class="notranslate"><code>function f(...[a, b, c]) { return a + b + c; diff --git a/files/ru/web/javascript/reference/functions/set/index.html b/files/ru/web/javascript/reference/functions/set/index.html index 8d51101997..97b89211c1 100644 --- a/files/ru/web/javascript/reference/functions/set/index.html +++ b/files/ru/web/javascript/reference/functions/set/index.html @@ -108,7 +108,7 @@ console.log(obj.baz); // "baz" <tr> <td>{{SpecName('ES6', '#sec-method-definitions', 'Method definitions')}}</td> <td>{{Spec2('ES6')}}</td> - <td>Добавлены вычесляемые имена свойств</td> + <td>Добавлены вычисляемые имена свойств</td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-method-definitions', 'Method definitions')}}</td> @@ -130,5 +130,5 @@ console.log(obj.baz); // "baz" <li>{{jsxref("Object.defineProperty()")}}</li> <li>{{jsxref("Object.defineGetter", "__defineGetter__")}}</li> <li>{{jsxref("Object.defineSetter", "__defineSetter__")}}</li> - <li><a href="/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">Defining Getters and Setters</a> в реководстве по JavaScript</li> + <li><a href="/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">Defining Getters and Setters</a> в руководстве по JavaScript</li> </ul> diff --git a/files/ru/web/javascript/reference/global_objects/array/@@species/index.html b/files/ru/web/javascript/reference/global_objects/array/@@species/index.html index 696d2b6312..118cfd4197 100644 --- a/files/ru/web/javascript/reference/global_objects/array/@@species/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/@@species/index.html @@ -23,16 +23,16 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/@@species <h2 id="Описание">Описание</h2> -<p>Метод <code>species</code> возвращает стандартный конструктор обьектов <code>Array</code> . Дочерние элементы могут переопределить метод для смены назначения конструктора.</p> +<p>Метод <code>species</code> возвращает стандартный конструктор объектов <code>Array</code> . Дочерние элементы могут переопределить метод для смены назначения конструктора.</p> <h2 id="Примеры">Примеры</h2> <p>Метод <code>species</code> возвращает стандартное значение функции конструктора, то есть<br> - <code>Array</code> конструктор для <code>Array</code> обьектов:</p> + <code>Array</code> конструктор для <code>Array</code> объектов:</p> <pre class="brush: js">Array[Symbol.species]; // функция Array()</pre> -<p>В полученном обьекте (на примере обычного массива <code>MyArray</code>), <code>MyArray</code> является конструктором <code>MyArray</code>. В случае, если вы захотите вернуть родительские обьекты <code>Array</code> в полученных классовых методах, вы можете переопределить метод:</p> +<p>В полученном объекте (на примере обычного массива <code>MyArray</code>), <code>MyArray</code> является конструктором <code>MyArray</code>. В случае, если вы захотите вернуть родительские объекты <code>Array</code> в полученных классовых методах, вы можете переопределить метод:</p> <pre class="brush: js">class MyArray extends Array { // <span id="result_box" lang="ru"><span>Переписывает тип MyArray в родительский конструктор Array</span></span> diff --git a/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html b/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html index 7e4e7c9daa..7637d1d3f5 100644 --- a/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/@@unscopables/index.html @@ -27,7 +27,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/@@unscopables <h2 id="Примеры">Примеры</h2> -<p>Приведённый код отлично работает в ES5 и ниже. Однако в ECMAScript 2015 и более поздних версиях был введён метод {{jsxref("Array.prototype.keys()")}}. Это означает, что внутри окружения <code>with</code>, "ключи" будут методом, а не пременной. Вот где теперь встроенные свойства символа {{jsxref("Array.prototype[@@unscopables]")}} вступают в игру и препятствуют тому, чтобы некоторые из методов Array были включены в оператор <code>with</code>.</p> +<p>Приведённый код отлично работает в ES5 и ниже. Однако в ECMAScript 2015 и более поздних версиях был введён метод {{jsxref("Array.prototype.keys()")}}. Это означает, что внутри окружения <code>with</code>, "ключи" будут методом, а не переменной. Вот где теперь встроенные свойства символа {{jsxref("Array.prototype[@@unscopables]")}} вступают в игру и препятствуют тому, чтобы некоторые из методов Array были включены в оператор <code>with</code>.</p> <pre class="brush: js">var keys = []; @@ -64,7 +64,7 @@ Object.keys(Array.prototype[Symbol.unscopables]); <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <div> -<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пулл-реквест.</div> +<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пул-реквест.</div> <p>{{Compat("javascript.builtins.Array.@@unscopables")}}</p> </div> diff --git a/files/ru/web/javascript/reference/global_objects/array/copywithin/index.html b/files/ru/web/javascript/reference/global_objects/array/copywithin/index.html index a914888989..7b46ef0a68 100644 --- a/files/ru/web/javascript/reference/global_objects/array/copywithin/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/copywithin/index.html @@ -66,7 +66,7 @@ i32a.copyWithin(0, 2); // Int32Array [4, 2, 3, 4, 5] </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">if (!Array.prototype.copyWithin) { Array.prototype.copyWithin = function(target, start/*, end*/) { diff --git a/files/ru/web/javascript/reference/global_objects/array/every/index.html b/files/ru/web/javascript/reference/global_objects/array/every/index.html index db333915d9..830be8882f 100644 --- a/files/ru/web/javascript/reference/global_objects/array/every/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/every/index.html @@ -83,7 +83,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/every [12, 54, 18, 130, 44].every(elem => elem >= 10); // true </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>every()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может не присутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>every()</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; и предполагает что {{jsxref("Object")}} и {{jsxref("TypeError")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call()")}}.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/fill/index.html b/files/ru/web/javascript/reference/global_objects/array/fill/index.html index 1bef1fd1ea..1e3fb187da 100644 --- a/files/ru/web/javascript/reference/global_objects/array/fill/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/fill/index.html @@ -52,7 +52,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/fill <p>Метод <code><strong>fill</strong></code> является <em>изменяющим методом</em>, он изменит объект <code>this</code> и вернёт его, а не просто вернёт копию.</p> -<p>Если аргумент <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">value</span></font> является объектом, тo метод <code><strong>fill</strong></code> заполнит массив ссылками на этот объект.</p> +<p>Если аргумент <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">value</span></font> является объектом, то метод <code><strong>fill</strong></code> заполнит массив ссылками на этот объект.</p> <h2 id="Examples" name="Examples">Примеры</h2> @@ -72,7 +72,7 @@ Array(3).fill(4); // [4, 4, 4] var arr = Array(3).fill({}) // [{}, {}, {}]; arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]</code></pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre><code>if (!Array.prototype.fill) { Object.defineProperty(Array.prototype, 'fill', { diff --git a/files/ru/web/javascript/reference/global_objects/array/filter/index.html b/files/ru/web/javascript/reference/global_objects/array/filter/index.html index 16333b09c6..da6a9296ae 100644 --- a/files/ru/web/javascript/reference/global_objects/array/filter/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/filter/index.html @@ -217,7 +217,7 @@ console.log(deleteWords) // Заметьте, что 'elite' не получено, так как удалено из `words` до того, // как filter смог получить его: ['spray', 'limit']</pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>filter()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>filter()</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что <code>fn.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call()")}} и что {{jsxref("Array.prototype.push()")}} содержит своё оригинальное значение.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/find/index.html b/files/ru/web/javascript/reference/global_objects/array/find/index.html index f4b8844a62..ceef78d17d 100644 --- a/files/ru/web/javascript/reference/global_objects/array/find/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/find/index.html @@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/find <p>Метод <code>find</code> не изменяет массив, для которого он был вызван.</p> -<p>Диапазон элементов, обрабатываемых методом <code>find</code>, устанавливается до первого вызова функции <code>callback</code>. Элементы, добавленные в массив после начала выполнения метода <code>find</code>, не будут посещены функцией <code>callback</code>. Если существующие, непосещённые элементы массива изменяются функцией <code>callback</code>, их значения, переданные в функцию, будут значениями на тот момент времени когда метод <code>find</code> посетит их; удалённые элементы все еще будут посещены. </p> +<p>Диапазон элементов, обрабатываемых методом <code>find</code>, устанавливается до первого вызова функции <code>callback</code>. Элементы, добавленные в массив после начала выполнения метода <code>find</code>, не будут посещены функцией <code>callback</code>. Если существующие, непосещение элементы массива изменяются функцией <code>callback</code>, их значения, переданные в функцию, будут значениями на тот момент времени когда метод <code>find</code> посетит их; удалённые элементы все еще будут посещены. </p> <h2 id="Examples" name="Examples">Примеры</h2> @@ -82,9 +82,9 @@ console.log([4, 6, 8, 12].find(isPrime)); // undefined, не найдено console.log([4, 5, 8, 12].find(isPrime)); // 5 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Этот метод был добавлен в спецификации ECMAScript 6 и пока может быть недоступен во всех реализациях JavaScript. Однако, вы можете использовать следующий сниппет в качестве полифилла:</p> +<p>Этот метод был добавлен в спецификации ECMAScript 6 и пока может быть недоступен во всех реализациях JavaScript. Однако, вы можете использовать следующий сниппет в качестве полифила:</p> <pre><code>// https://tc39.github.io/ecma262/#sec-array.prototype.find if (!Array.prototype.find) { diff --git a/files/ru/web/javascript/reference/global_objects/array/findindex/index.html b/files/ru/web/javascript/reference/global_objects/array/findindex/index.html index 7cbc30e738..dad15bf9d0 100644 --- a/files/ru/web/javascript/reference/global_objects/array/findindex/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/findindex/index.html @@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex <dl> <dt><code>callback</code></dt> - <dd>Функция, вызывающаяся для каждого значения в масиве, принимает три аргумента: + <dd>Функция, вызывающаяся для каждого значения в массиве, принимает три аргумента: <dl> <dt><code>element</code></dt> <dd>Текущий обрабатываемый элемент в массиве.</dd> @@ -54,7 +54,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex <p>Метод <code>findIndex</code> не изменяет массив, для которого он был вызван.</p> -<p>Диапазон элементов, обрабатываемых методом <code>findIndex</code>, устанавливается до первого вызова функции <code>callback</code>. Элементы, добавленные в массив после начала выполнения метода <code>findIndex</code>, не будут посещены функцией <code>callback</code>. Если существующие, непосещённые элементы массива изменяются функцией <code>callback</code>, их значения, переданные в функцию, будут значениями на тот момент времени, когда метод <code>findIndex</code> посетит их; удалённые элементы посещены не будут.</p> +<p>Диапазон элементов, обрабатываемых методом <code>findIndex</code>, устанавливается до первого вызова функции <code>callback</code>. Элементы, добавленные в массив после начала выполнения метода <code>findIndex</code>, не будут посещены функцией <code>callback</code>. Если существующие, непосещение элементы массива изменяются функцией <code>callback</code>, их значения, переданные в функцию, будут значениями на тот момент времени, когда метод <code>findIndex</code> посетит их; удалённые элементы посещены не будут.</p> <h2 id="Examples" name="Examples">Примеры</h2> @@ -76,9 +76,9 @@ console.log([4, 6, 8, 12].findIndex(isPrime)); // -1, не найдено console.log([4, 6, 7, 12].findIndex(isPrime)); // 2 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Этот метод был добавлен в спецификации ECMAScript 6 и пока может быть недоступен во всех реализациях JavaScript. Однако, вы можете использовать следующий кусочек кода в качестве полифилла:</p> +<p>Этот метод был добавлен в спецификации ECMAScript 6 и пока может быть недоступен во всех реализациях JavaScript. Однако, вы можете использовать следующий кусочек кода в качестве полифила:</p> <pre class="brush: js">if (!Array.prototype.findIndex) { Array.prototype.findIndex = function(predicate) { diff --git a/files/ru/web/javascript/reference/global_objects/array/flat/index.html b/files/ru/web/javascript/reference/global_objects/array/flat/index.html index 7ce48303ea..1290cbdf14 100644 --- a/files/ru/web/javascript/reference/global_objects/array/flat/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/flat/index.html @@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat <dl> <dt><code>depth</code> {{optional_inline}}</dt> - <dd>На сколько уровней вложенности уменьшается мерность исходного массива. По-умолчанию 1.</dd> + <dd>На сколько уровней вложенности уменьшается мерность исходного массива. По умолчанию 1.</dd> </dl> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> @@ -122,7 +122,7 @@ function flatten(array) { </pre> <div class="hidden"> -<p>Пожалуйста, не добавляйте полифиллы в эту статью: <a href="https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500">https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500</a></p> +<p>Пожалуйста, не добавляйте полифилы в эту статью: <a href="https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500">https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500</a></p> </div> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/array/flatmap/index.html b/files/ru/web/javascript/reference/global_objects/array/flatmap/index.html index 4465a92711..21eba44b70 100644 --- a/files/ru/web/javascript/reference/global_objects/array/flatmap/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/flatmap/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flatMap --- <div>{{JSRef}}</div> -<p><code><font face="Verdana, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Метод </span></font><strong>flatMap()</strong></code> сначала применяет функцию к каждому элементу, а затем преобразует полученый результат в плоскую структуру и помещает в новый массив. Это идентично <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map">map</a> функции, с последующим применением функции <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/flat">flat</a> с параметром depth ( глубина ) равным 1, но <code>flatMap</code> часто бывает полезным, так как работает немного более эффективно.</p> +<p><code><font face="Verdana, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Метод </span></font><strong>flatMap()</strong></code> сначала применяет функцию к каждому элементу, а затем преобразует полученный результат в плоскую структуру и помещает в новый массив. Это идентично <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map">map</a> функции, с последующим применением функции <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/flat">flat</a> с параметром depth ( глубина ) равным 1, но <code>flatMap</code> часто бывает полезным, так как работает немного более эффективно.</p> <p class="hidden">\{{EmbedInteractiveExample("pages/js/array-flatmap.html")}}</p> @@ -61,7 +61,7 @@ arr1.flatMap(x => [[x * 2]]); // [[2], [4], [6], [8]] </pre> -<p>Хотя результат полученый в примере выше можно было получить используя просто map, ниже мы рассмотрим пример где <code>flatMap</code> является более эффективным.</p> +<p>Хотя результат полученный в примере выше можно было получить используя просто map, ниже мы рассмотрим пример где <code>flatMap</code> является более эффективным.</p> <p>Давайте сгенерируем список слов из списка предложений.</p> @@ -111,7 +111,7 @@ arr1.reduce((acc, x) => acc.concat([x * 2]<span class="js source"><span class <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> <div> -<div class="hidden">Таблица поддержки браузерами сгенерированна из представленных данных. Если вы хотите улучшить эти данные, пожалуйста преверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и пришлите на PR ( pull request ) с исправлениями.</div> +<div class="hidden">Таблица поддержки браузерами сгенерированна из представленных данных. Если вы хотите улучшить эти данные, пожалуйста проверьте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и пришлите на PR ( pull request ) с исправлениями.</div> <p>{{Compat("javascript.builtins.Array.flatMap")}}</p> </div> diff --git a/files/ru/web/javascript/reference/global_objects/array/foreach/index.html b/files/ru/web/javascript/reference/global_objects/array/foreach/index.html index 3787dc7e84..9a349176f9 100644 --- a/files/ru/web/javascript/reference/global_objects/array/foreach/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/foreach/index.html @@ -275,7 +275,7 @@ const nested = [1, 2, 3, [4, 5, [6, 7], 8, 9]] flatten(nested) // [1, 2, 3, 4, 5, 6, 7, 8, 9] </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>forEach()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>forEach()</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что {{jsxref("Object")}} и {{jsxref("TypeError")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call()")}}.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/from/index.html b/files/ru/web/javascript/reference/global_objects/array/from/index.html index f373749ec7..522a05fbe5 100644 --- a/files/ru/web/javascript/reference/global_objects/array/from/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/from/index.html @@ -94,9 +94,9 @@ Array.from([1, 2, 3], x => x + x); Array.from({ length: 5 }, (v, k) => k); // [0, 1, 2, 3, 4]</pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Метод <code>Array.from</code> был добавлен к стандарту ECMA-262 в 6-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>Array.from</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 6-го издания; он предполагает, что {{jsxref("Global_Objects/Object", "Object")}} и {{jsxref("Global_Objects/TypeError", "TypeError")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call")}}. Кроме того, поскольку истинные итерируемые объекты не могут быть заменены полифиллом, эта реализация не поддерживает общие итерируемые объекты, как они определены в 6-м издании ECMA-262.</p> +<p>Метод <code>Array.from</code> был добавлен к стандарту ECMA-262 в 6-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>Array.from</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 6-го издания; он предполагает, что {{jsxref("Global_Objects/Object", "Object")}} и {{jsxref("Global_Objects/TypeError", "TypeError")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call")}}. Кроме того, поскольку истинные итерируемые объекты не могут быть заменены полифилом, эта реализация не поддерживает общие итерируемые объекты, как они определены в 6-м издании ECMA-262.</p> <pre class="brush: js">// Шаги алгоритма ECMA-262, 6-е издание, 22.1.2.1 // Ссылка: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from diff --git a/files/ru/web/javascript/reference/global_objects/array/includes/index.html b/files/ru/web/javascript/reference/global_objects/array/includes/index.html index 61bbdf1620..0783facb92 100644 --- a/files/ru/web/javascript/reference/global_objects/array/includes/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/includes/index.html @@ -75,7 +75,7 @@ arr.includes('c', -100); // true</pre> console.log([].includes.call(arguments, 'd')); // false })('a','b','c');</pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <pre class="brush: js">// https://tc39.github.io/ecma262/#sec-array.prototype.includes if (!Array.prototype.includes) { @@ -130,7 +130,7 @@ if (!Array.prototype.includes) { } </pre> -<p>Если требуется поддержка устаревших движков JavaScript, которые не поддерживают <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a></code>, наилучшим решением будет вообще не делать полифилл для методов <code>Array.prototype</code>, так как не получится сделать их неперечисляемыми.</p> +<p>Если требуется поддержка устаревших движков JavaScript, которые не поддерживают <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a></code>, наилучшим решением будет вообще не делать полифил для методов <code>Array.prototype</code>, так как не получится сделать их неперечисляемыми.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/array/index.html b/files/ru/web/javascript/reference/global_objects/array/index.html index 263de030df..0f085cb30c 100644 --- a/files/ru/web/javascript/reference/global_objects/array/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/index.html @@ -289,7 +289,7 @@ var myArray = myRe.exec('cdbBdbsbz'); <h2 id="Array_generic_methods" name="Array_generic_methods">Общие методы массива</h2> -<p>Иногда хочется применить методы массива к строкам или другим массивоподобным объектам (например, к {{jsxref("Functions_and_function_scope/arguments", "аргументам", "", 1)}} функции). Делая это, вы трактуете строку как массив символов (другими словами, рассматриваете не-массив в качестве массива). Например, в порядке проверки каждого символа в переменной <var>str</var> на то, что он является буквой (латинского алфавита), вы пишете следущий код:</p> +<p>Иногда хочется применить методы массива к строкам или другим массивоподобным объектам (например, к {{jsxref("Functions_and_function_scope/arguments", "аргументам", "", 1)}} функции). Делая это, вы трактуете строку как массив символов (другими словами, рассматриваете не-массив в качестве массива). Например, в порядке проверки каждого символа в переменной <var>str</var> на то, что он является буквой (латинского алфавита), вы пишете следующий код:</p> <pre class="brush: js">function isLetter(character) { return character >= 'a' && character <= 'z'; @@ -447,6 +447,6 @@ r,n,b,q,k,b,n,r <li><a href="/ru/docs/Web/JavaScript/Guide_ru/Working_with_Objects#.D0.98.D0.BD.D0.B4.D0.B5.D0.BA.D1.81.D1.8B_.D1.81.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D0.B0">Руководство JavaScript: «Индексирование объекта свойствами»</a></li> <li><a href="/ru/docs/Web/JavaScript/Guide/Predefined_Core_Objects#Array_Object">Руководство JavaScript: «Предопределённые объекты ядра: объект <code>Array</code>»</a></li> <li><a href="/ru/docs/Web/JavaScript/Reference/Operators/Array_comprehensions">Выражения заполнения массива</a></li> - <li><a href="https://github.com/plusdude/array-generics">Полифилл для общих методов массива из JavaScript 1.8.5 и дополнений массива из ECMAScript 5</a></li> + <li><a href="https://github.com/plusdude/array-generics">Полифил для общих методов массива из JavaScript 1.8.5 и дополнений массива из ECMAScript 5</a></li> <li><a href="/ru/docs/Web/JavaScript/Typed_arrays">Типизированные массивы</a></li> </ul> diff --git a/files/ru/web/javascript/reference/global_objects/array/indexof/index.html b/files/ru/web/javascript/reference/global_objects/array/indexof/index.html index ef6820df41..a858f9e164 100644 --- a/files/ru/web/javascript/reference/global_objects/array/indexof/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/indexof/index.html @@ -65,7 +65,7 @@ console.log(indices); // [0, 2, 4] </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>indexOf()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>indexOf()</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что {{jsxref("Global_Objects/TypeError", "TypeError")}} и {{jsxref("Math.abs()")}} имеют свои первоначальные значения.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/isarray/index.html b/files/ru/web/javascript/reference/global_objects/array/isarray/index.html index a9599389e8..53a6eaa2c0 100644 --- a/files/ru/web/javascript/reference/global_objects/array/isarray/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/isarray/index.html @@ -72,7 +72,7 @@ Array.isArray(arr); // true arr instanceof Array; // false </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Выполнение следующего кода перед любым другим кодом создаст метод <code>Array.isArray()</code>, если он ещё не реализован в браузере.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html b/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html index d5125cd9e9..2b69fd256f 100644 --- a/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/lastindexof/index.html @@ -70,7 +70,7 @@ console.log(indices); <p>Обратите внимание, что мы обрабатываем случай <code>idx == 0</code> отдельно, поскольку элемент всегда будет найден, независимо от параметра <code>fromIndex</code>, если он является первым элементом в массиве. Этим он отличается от метода {{jsxref("Array.prototype.indexOf()", "indexOf()")}}.</p> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>lastIndexOf()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>lastIndexOf()</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что {{jsxref("Global_Objects/Object", "Object")}}, {{jsxref("Global_Objects/TypeError", "TypeError")}}, {{jsxref("Global_Objects/Number", "Number")}}, {{jsxref("Math.floor()")}}, {{jsxref("Math.abs()")}} и {{jsxref("Math.min()")}} имеют свои первоначальные значения.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/length/index.html b/files/ru/web/javascript/reference/global_objects/array/length/index.html index 402e1005a4..bdfee4574e 100644 --- a/files/ru/web/javascript/reference/global_objects/array/length/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/length/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/length <h2 id="Summary" name="Summary">Сводка</h2> -<p>Cвойство <strong><code>length</code></strong> объекта, который является экземпляром типа <code>Array</code> , устанавливает или возвращает число элементов этого массива. Значение данного свойства 32-битное безнаковое целое число, которое всегда численно больше чем самый наибольший индекс в массиве.</p> +<p>Свойство <strong><code>length</code></strong> объекта, который является экземпляром типа <code>Array</code> , устанавливает или возвращает число элементов этого массива. Значение данного свойства 32-битное безнаковое целое число, которое всегда численно больше чем самый наибольший индекс в массиве.</p> <pre class="brush: js">var items = ['shoes', 'shirts', 'socks', 'sweaters']; items.length; diff --git a/files/ru/web/javascript/reference/global_objects/array/map/index.html b/files/ru/web/javascript/reference/global_objects/array/map/index.html index 95e63de892..c6c514d2b3 100644 --- a/files/ru/web/javascript/reference/global_objects/array/map/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/map/index.html @@ -148,7 +148,7 @@ function returnInt(element) { ['1', '2', '3'].map(Number); // [1, 2, 3] </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>map</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>map</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; он предполагает, что {{jsxref("Global_Objects/Object", "Object")}}, {{jsxref("Global_Objects/TypeError", "TypeError")}} и {{jsxref("Global_Objects/Array", "Array")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call")}}.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/of/index.html b/files/ru/web/javascript/reference/global_objects/array/of/index.html index 3f798e0516..e68f8a42a9 100644 --- a/files/ru/web/javascript/reference/global_objects/array/of/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/of/index.html @@ -40,7 +40,7 @@ Array(1, 2, 3); // [1, 2, 3]</pre> <h2 id="Description" name="Description">Описание</h2> -<p>Эта функция является частью стандарта ECMAScript 6. Для дополнительной информации смотрите <a href="https://gist.github.com/rwaldron/1074126">предложение по Array.of и Array.from</a> и <a href="https://gist.github.com/rwaldron/3186576">полифилл для Array.of</a>.</p> +<p>Эта функция является частью стандарта ECMAScript 6. Для дополнительной информации смотрите <a href="https://gist.github.com/rwaldron/1074126">предложение по Array.of и Array.from</a> и <a href="https://gist.github.com/rwaldron/3186576">полифил для Array.of</a>.</p> <h2 id="Examples" name="Examples">Примеры</h2> @@ -49,7 +49,7 @@ Array.of(1, 2, 3); // [1, 2, 3] Array.of(undefined); // [undefined] </pre> -<h2 id="Compatibility" name="Compatibility">Полифилл</h2> +<h2 id="Compatibility" name="Compatibility">Полифил</h2> <p>Выполнение следующего кода перед любым другим кодом создаст метод <code>Array.of()</code>, если он ещё не реализован в браузере.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/reduce/index.html b/files/ru/web/javascript/reference/global_objects/array/reduce/index.html index b65fb98ed4..ef2e7f44b9 100644 --- a/files/ru/web/javascript/reference/global_objects/array/reduce/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/reduce/index.html @@ -234,7 +234,7 @@ var allbooks = friends.reduce(function(prev, curr) { // "Romeo and Juliet", "The Lord of the Rings", "The Shining"] </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>Array.prototype.reduce()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>reduce()</code> в реализациях, которые не поддерживают этот метод.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/reduceright/index.html b/files/ru/web/javascript/reference/global_objects/array/reduceright/index.html index 08bb7e978d..ae8a68cef1 100644 --- a/files/ru/web/javascript/reference/global_objects/array/reduceright/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/reduceright/index.html @@ -178,7 +178,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight // flattened равен [4, 5, 2, 3, 0, 1] </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>Array.prototype.reduceRight()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может отсутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>reduceRight()</code> в реализациях, которые не поддерживают этот метод.</p> <pre class="brush: js">// Шаги алгоритма ECMA-262, 5-е издание, 15.4.4.22 // Ссылка (en): http://es5.github.io/#x15.4.4.22 diff --git a/files/ru/web/javascript/reference/global_objects/array/reverse/index.html b/files/ru/web/javascript/reference/global_objects/array/reverse/index.html index 15bb946242..811d7adea9 100644 --- a/files/ru/web/javascript/reference/global_objects/array/reverse/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/reverse/index.html @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Перевернутный массив</p> +<p>Перевернутый массив</p> <h2 id="Description" name="Description">Описание</h2> diff --git a/files/ru/web/javascript/reference/global_objects/array/slice/index.html b/files/ru/web/javascript/reference/global_objects/array/slice/index.html index 1b35c36e24..d3b197f00b 100644 --- a/files/ru/web/javascript/reference/global_objects/array/slice/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/slice/index.html @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice <dt><code>begin</code> {{optional_inline}}</dt> <dd>Индекс (счёт начинается с нуля), по которому начинать извлечение.</dd> <dd>Если индекс отрицательный, <code>begin</code> указывает смещение от конца последовательности. Вызов <code>slice(-2)</code> извлечёт два последних элемента последовательности.</dd> - <dd>Если <code>begin</code> неопределен, <code>slice()</code> начинает работать с индекса <code>0</code>.</dd> + <dd>Если <code>begin</code> не определен, <code>slice()</code> начинает работать с индекса <code>0</code>.</dd> <dd>Если <code>begin</code> больше длины последовательности вернется пустой массив.</dd> <dt><code>end</code> {{optional_inline}}</dt> <dd>Индекс (счёт начинается с нуля), по которому заканчивать извлечение. Метод <code>slice()</code> извлекает элементы с индексом меньше <code>end</code>.</dd> diff --git a/files/ru/web/javascript/reference/global_objects/array/some/index.html b/files/ru/web/javascript/reference/global_objects/array/some/index.html index ee4c18f9f0..9bc3fbd7f3 100644 --- a/files/ru/web/javascript/reference/global_objects/array/some/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/some/index.html @@ -140,7 +140,7 @@ getBoolean('true'); // true</code></pre> <p>{{ EmbedLiveSample('Приведение_значения_к_логическому_типу', '', '', '', 'Web/JavaScript/Reference/Global_Objects/Array/some') }}</p> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>some()</code> был добавлен к стандарту ECMA-262 в 5-м издании; поэтому он может не присутствовать в других реализациях стандарта. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать <code>some()</code> в реализациях, которые не поддерживают этот метод. Этот алгоритм является точно тем, что описан в ECMA-262 5-го издания; и предполагает, что {{jsxref("Global_Objects/Object", "Object")}} и {{jsxref("Global_Objects/TypeError", "TypeError")}} имеют свои первоначальные значения и что <code>callback.call</code> вычисляется в оригинальное значение {{jsxref("Function.prototype.call()")}}.</p> diff --git a/files/ru/web/javascript/reference/global_objects/array/sort/index.html b/files/ru/web/javascript/reference/global_objects/array/sort/index.html index 06769275e6..16b73503c5 100644 --- a/files/ru/web/javascript/reference/global_objects/array/sort/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/sort/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/sort <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <code><strong>sort()</strong></code> <em>на месте</em> сортирует элементы массива и возвращает отсортированный массив. Сортировка не обязательно <a href="https://ru.wikipedia.org/wiki/Устойчивая_сортировка">устойчива</a> (<a href="https://en.wikipedia.org/wiki/Sorting_algorithm#Stability">англ.</a>). Порядок cортировки по умолчанию соответствует порядку кодовых точек Unicode.</p> +<p>Метод <code><strong>sort()</strong></code> <em>на месте</em> сортирует элементы массива и возвращает отсортированный массив. Сортировка не обязательно <a href="https://ru.wikipedia.org/wiki/Устойчивая_сортировка">устойчива</a> (<a href="https://en.wikipedia.org/wiki/Sorting_algorithm#Stability">англ.</a>). Порядок сортировки по умолчанию соответствует порядку кодовых точек Unicode.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -110,7 +110,7 @@ items.sort(function (a, b) { <h3 id="Example_Creating.2C_displaying.2C_and_sorting_an_array" name="Example:_Creating.2C_displaying.2C_and_sorting_an_array">Пример: создание, отображение и сортировка массива</h3> -<p>В следующем примере создаётся четыре массива, сначала отображается первоначальный массив, а затем они сортируются. Числовые масивы сортируются сначала без, а потом с функцией сравнения.</p> +<p>В следующем примере создаётся четыре массива, сначала отображается первоначальный массив, а затем они сортируются. Числовые массивы сортируются сначала без, а потом с функцией сравнения.</p> <pre class="brush: js notranslate">var stringArray = ['Голубая', 'Горбатая', 'Белуга']; var numericStringArray = ['80', '9', '700']; diff --git a/files/ru/web/javascript/reference/global_objects/array/tostring/index.html b/files/ru/web/javascript/reference/global_objects/array/tostring/index.html index f2877df269..85fc20e80a 100644 --- a/files/ru/web/javascript/reference/global_objects/array/tostring/index.html +++ b/files/ru/web/javascript/reference/global_objects/array/tostring/index.html @@ -34,7 +34,7 @@ var myVar = monthNames.toString(); // присваивает 'Янв,Фев,Ма <h3 id="ECMAScript_5_semantics" name="ECMAScript_5_semantics">Семантика ECMAScript 5</h3> -<p>Начиная с JavaScript 1.8.5 (<span class="st">Firefox 4</span>), и в соответствии с сементикой ECMAScript 5-го издания, метод <code>toString()</code> является обобщённым и может использоваться с любым объектом. В случае с массивами, если он имеет метод <code>join()</code>, он будет вызван и результат его работы будет возвращён. В противном случае будет вызван метод {{jsxref("Object.prototype.toString()")}}, и будет возвращён результат его работы.</p> +<p>Начиная с JavaScript 1.8.5 (<span class="st">Firefox 4</span>), и в соответствии с семантикой ECMAScript 5-го издания, метод <code>toString()</code> является обобщённым и может использоваться с любым объектом. В случае с массивами, если он имеет метод <code>join()</code>, он будет вызван и результат его работы будет возвращён. В противном случае будет вызван метод {{jsxref("Object.prototype.toString()")}}, и будет возвращён результат его работы.</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/arraybuffer/isview/index.html b/files/ru/web/javascript/reference/global_objects/arraybuffer/isview/index.html index 22971e53cd..2c03f395f7 100644 --- a/files/ru/web/javascript/reference/global_objects/arraybuffer/isview/index.html +++ b/files/ru/web/javascript/reference/global_objects/arraybuffer/isview/index.html @@ -65,7 +65,7 @@ ArrayBuffer.isView(dv); // true <tr> <td>{{SpecName('ES2015', '#sec-arraybuffer.isview', 'ArrayBuffer.isView')}}</td> <td>{{Spec2('ES2015')}}</td> - <td>Изначальное определене в стандарте ECMA.</td> + <td>Изначальное определение в стандарте ECMA.</td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-arraybuffer.isview', 'ArrayBuffer.isView')}}</td> diff --git a/files/ru/web/javascript/reference/global_objects/atomics/add/index.html b/files/ru/web/javascript/reference/global_objects/atomics/add/index.html index a426517362..546fdbd27f 100644 --- a/files/ru/web/javascript/reference/global_objects/atomics/add/index.html +++ b/files/ru/web/javascript/reference/global_objects/atomics/add/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add --- <div>{{JSRef}}</div> -<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.add()</code></strong> добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная опреация гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.</p> +<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.add()</code></strong> добавляет значение к текущему по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/add <h3 id="Исключения">Исключения</h3> <ul> - <li>Выбрасывает {{jsxref("TypeError")}}, если тип <code>typedArray</code> не является одним из допустимых тцелочисленных типов.</li> + <li>Выбрасывает {{jsxref("TypeError")}}, если тип <code>typedArray</code> не является одним из допустимых целочисленных типов.</li> <li>Выбрасывает {{jsxref("TypeError")}}, если тип <code>typedArray</code> не общего типа.</li> <li>Выбрасывает {{jsxref("RangeError")}}, если <code>index</code> вне <code>typedArray</code>.</li> </ul> diff --git a/files/ru/web/javascript/reference/global_objects/atomics/index.html b/files/ru/web/javascript/reference/global_objects/atomics/index.html index 8ac33321f2..d51c14af2e 100644 --- a/files/ru/web/javascript/reference/global_objects/atomics/index.html +++ b/files/ru/web/javascript/reference/global_objects/atomics/index.html @@ -37,9 +37,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics <dl> <dt>{{jsxref("Atomics.load()")}}</dt> - <dd>Возвращает значение из указаной позиции массива.</dd> + <dd>Возвращает значение из указанной позиции массива.</dd> <dt>{{jsxref("Atomics.or()")}}</dt> - <dd>Вычисляет побитовое OR в указанной позиции массивая. Возвращает предыдущее значение в этой позиции.</dd> + <dd>Вычисляет побитовое OR в указанной позиции массива. Возвращает предыдущее значение в этой позиции.</dd> <dt>{{jsxref("Atomics.store()")}}</dt> <dd>Сохраняет представленное значение в указанную позицию массива. Возвращает значение.</dd> <dt>{{jsxref("Atomics.sub()")}}</dt> @@ -55,13 +55,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics <dl> <dt>{{jsxref("Atomics.wait()")}}</dt> <dd> - <p>Проверяет, содержится в указанной позиции массива все еще представленное значение и спит в ожидании или тайм-аут. Возвращает <code>"ok"</code>, <code>"not-equal" </code>или <code>"timed-out"</code>. Если ожидание не разрешено в вызывающем агенете, тогда выбросит ошибку исключения (большинство браузеров не разрешают <code>wait()</code> в главном потоке барузера).</p> + <p>Проверяет, содержится в указанной позиции массива все еще представленное значение и спит в ожидании или тайм-аут. Возвращает <code>"ok"</code>, <code>"not-equal" </code>или <code>"timed-out"</code>. Если ожидание не разрешено в вызывающем агенте, тогда выбросит ошибку исключения (большинство браузеров не разрешают <code>wait()</code> в главном потоке браузера).</p> </dd> <dt>{{jsxref("Atomics.wake()")}}</dt> <dd>Пробуждает некоторых агентов, которые спят в очереди ожидания в указанной позиции массива. Возвращает количество агентов, которые были разбужены.</dd> <dt>{{jsxref("Atomics.isLockFree()", "Atomics.isLockFree(size)")}}</dt> <dd> - <p>Оптимизационный примитив, который может быть использован для определения использовать ли блокирующие операции или атомарные. Возвращает <code>true</code>, если атомарные операции над массивaми с указанным размерами элеменатов будут выполнены с использованием аппаратных атомарных опреаций (как противоположность блокирующим). Только для специалистов.</p> + <p>Оптимизационный примитив, который может быть использован для определения использовать ли блокирующие операции или атомарные. Возвращает <code>true</code>, если атомарные операции над массивами с указанным размерами элементов будут выполнены с использованием аппаратных атомарных операций (как противоположность блокирующим). Только для специалистов.</p> </dd> </dl> @@ -145,11 +145,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics <h2 id="Похожие_заметки">Похожие заметки</h2> -<p>До SpiderMonkey 48 {{geckoRelease(48)}}, финальные имена API и сематика не были еще реализованы. Изменения между Firefox v. 46 и v. 48:</p> +<p>До SpiderMonkey 48 {{geckoRelease(48)}}, финальные имена API и семантика не были еще реализованы. Изменения между Firefox v. 46 и v. 48:</p> <ul> <li>Методы <code>Atomics.futexWakeOrRequeue()</code> и <code>Atomics.fence()</code> полностью удалены ({{bug(1259544)}} и {{bug(1225028)}}).</li> - <li>Методы {{jsxref("Atomics.wait()")}} и {{jsxref("Atomics.wake()")}} были назвны <code>Atomics.futexWait()</code> и <code>Atomics.futexWake()</code> ({{bug(1260910)}}). Заметка: старые имена были удалены в версии 49 и младше ({{bug(1262062)}}).</li> + <li>Методы {{jsxref("Atomics.wait()")}} и {{jsxref("Atomics.wake()")}} были названы <code>Atomics.futexWait()</code> и <code>Atomics.futexWake()</code> ({{bug(1260910)}}). Заметка: старые имена были удалены в версии 49 и младше ({{bug(1262062)}}).</li> <li>Свойства <code>Atomics.OK</code>, <code>Atomics.TIMEDOUT</code>, <code>Atomics.NOTEQUAL</code> были удалены. {{jsxref("Atomics.wait()")}} метод теперь возвращает строки "ok", "timed-out" и "not-equal" ({{bug(1260835)}}).</li> <li> <p>Параметр <code>count</code> метода {{jsxref("Atomics.wake()")}} изменился: теперь он по умолчанию равен <code>+Infinity</code>, а не <code>0</code> ({{bug(1253350)}}).</p> diff --git a/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html b/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html index 6535d885e5..d3a9bbd3b4 100644 --- a/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html +++ b/files/ru/web/javascript/reference/global_objects/atomics/sub/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub --- <div>{{JSRef}}</div> -<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.sub()</code></strong> вычитает представленное значение из текущего по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная опреация гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.</p> +<p>Статический метод <code><strong>Atomics</strong></code><strong><code>.sub()</code></strong> вычитает представленное значение из текущего по указанной позиции в массиве и возвращает предыдущее значение в этой позиции. Эта атомарная операция гарантирует, что никакой другой записи не произойдет, пока измененное значение не будет записано обратно.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/sub <h3 id="Исключения">Исключения</h3> <ul> - <li>Выбрасывает {{jsxref("TypeError")}}, если тип <code>typedArray</code> не является одним из допустимых тцелочисленных типов.</li> + <li>Выбрасывает {{jsxref("TypeError")}}, если тип <code>typedArray</code> не является одним из допустимых целочисленных типов.</li> <li>Выбрасывает {{jsxref("TypeError")}}, если тип <code>typedArray</code> не общего типа.</li> <li>Выбрасывает {{jsxref("RangeError")}}, если <code>index</code> вне <code>typedArray</code>.</li> </ul> diff --git a/files/ru/web/javascript/reference/global_objects/bigint/index.html b/files/ru/web/javascript/reference/global_objects/bigint/index.html index 9760700391..c8e43137bf 100644 --- a/files/ru/web/javascript/reference/global_objects/bigint/index.html +++ b/files/ru/web/javascript/reference/global_objects/bigint/index.html @@ -39,7 +39,7 @@ const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111" <div class="blockIndicator warning"> <p>{{JSxRef("Number")}} и <code>BigInt</code> нельзя смешивать в операциях — они должны быть приведены к тому же типу.</p> -<p>Будте осторожны приводя значения туда и обратно, так как точность BigInt может быть потеряна при приведении к числу (<code>Number)</code>.</p> +<p>Будьте осторожны приводя значения туда и обратно, так как точность BigInt может быть потеряна при приведении к числу (<code>Number)</code>.</p> </div> <h3 id="Тип">Тип</h3> @@ -138,7 +138,7 @@ mixed.sort(); // ↪ [-12n, 0, 0n, 10, 4n, 4, 6] </pre> -<p>Обратите внимание, что сравнения с <code>обьектом</code>-оберткой <code>BigInt</code> действуют как с другими объектами, указывая на равенство только когда сравинивается идентичный экземпляр объекта:</p> +<p>Обратите внимание, что сравнения с <code>обьектом</code>-оберткой <code>BigInt</code> действуют как с другими объектами, указывая на равенство только когда сравнивается идентичный экземпляр объекта:</p> <pre class="brush: js">0n === Object(0n); // false Object(0n) === Object(0n); // false @@ -204,7 +204,7 @@ Boolean(12n) <dl> <dt>{{JSxRef("BigInt.prototype.toLocaleString()")}}</dt> - <dd>Возвращает строку с языко-зависимым представлением числа. Переопредедяет метод {{JSxRef("Object.prototype.toLocaleString()")}}.</dd> + <dd>Возвращает строку с языкозависимым представлением числа. Переопределяет метод {{JSxRef("Object.prototype.toLocaleString()")}}.</dd> <dt>{{JSxRef("BigInt.prototype.toString()")}}</dt> <dd>Возвращает строку, представляющую указанный объект по указанному основанию системы счисления. Переопределяет метод {{JSxRef("Object.prototype.toString()")}}.</dd> <dt>{{JSxRef("BigInt.prototype.valueOf()")}}</dt> diff --git a/files/ru/web/javascript/reference/global_objects/date/index.html b/files/ru/web/javascript/reference/global_objects/date/index.html index 5979d471f2..a6ce5896e1 100644 --- a/files/ru/web/javascript/reference/global_objects/date/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date <h2 id="Summary" name="Summary">Сводка</h2> -<p>Создаёт экземпляр объекта <strong><code>Date</code></strong>, представляющего собой момент времени. Обьект Дата содержит число милисекунд прошедших с 1 января 1970 г. UTC</p> +<p>Создаёт экземпляр объекта <strong><code>Date</code></strong>, представляющего собой момент времени. Объект Дата содержит число миллисекунд прошедших с 1 января 1970 г. UTC</p> @@ -95,7 +95,7 @@ new Date(<var>year</var>, <var>month</var>[, <var>day</var>[, <var>hour</var>[, <dt>{{jsxref("Date.parse()")}}</dt> <dd>Разбирает строковое представление даты и возвращает количество миллисекунд с 1 января 1970 года 00:00:00 по местному времени.</dd> <dt>{{jsxref("Date.UTC()")}}</dt> - <dd>Принимает те же самые параметры, что и самый длиный вариант конструктора (то есть, от 2 до 7) и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.</dd> + <dd>Принимает те же самые параметры, что и самый длинный вариант конструктора (то есть, от 2 до 7) и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.</dd> </dl> <div>{{jsOverrides("Function", "Methods", "now", "parse", "UTC")}}</div> diff --git a/files/ru/web/javascript/reference/global_objects/date/now/index.html b/files/ru/web/javascript/reference/global_objects/date/now/index.html index f8e9276067..32985afeff 100644 --- a/files/ru/web/javascript/reference/global_objects/date/now/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/now/index.html @@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/now <p>Поскольку метод <code>now()</code> является статическим методом объекта {{jsxref("Global_Objects/Date", "Date")}}, вы всегда должны использовать его как <code>Date.now()</code>.</p> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод был стандартизирован в ECMA-262 5-го издания. Отсутствие этого метода в движках, которые не были обновлены для его поддержки, можно обойти следующей прокладкой:</p> diff --git a/files/ru/web/javascript/reference/global_objects/date/parse/index.html b/files/ru/web/javascript/reference/global_objects/date/parse/index.html index ce223350ef..e95659e217 100644 --- a/files/ru/web/javascript/reference/global_objects/date/parse/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/parse/index.html @@ -41,7 +41,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/parse <p>Строка с датой и временем может быть в формате <a href="http://www.w3.org/TR/NOTE-datetime">ISO 8601</a>. Например, могут быть переданы и разобраны строки <code>"2011-10-10"</code> (только дата) или <code>"2011-10-10T14:48:00"</code> (дата и время). Для интерпретации аргументов в формате <a href="http://www.w3.org/TR/NOTE-datetime">ISO 8601</a>, не содержащих информацию о часовом поясе, используется часовой пояс UTC.</p> -<p>Хотя во время разбора строки с датой и используется спецификатор часового пояса, возвращаемое значение всегда содержит количество миллисекунд между 1 января 1970 года 00:00:00 по UTC и моментом времени, представленым аргументом.</p> +<p>Хотя во время разбора строки с датой и используется спецификатор часового пояса, возвращаемое значение всегда содержит количество миллисекунд между 1 января 1970 года 00:00:00 по UTC и моментом времени, представленным аргументом.</p> <p>Поскольку метод <code>parse()</code> является статическим методом объекта {{jsxref("Global_Objects/Date", "Date")}}, вы всегда должны использовать его как <code>Date.parse()</code>.</p> @@ -51,7 +51,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/parse <h3 id="Fall-back_to_implementation-specific_date_formats" name="Fall-back_to_implementation-specific_date_formats">Откат к зависимым от реализации форматам даты</h3> -<p>В спецификации ECMAScript говорится: если строка не соответствует стандартному формату, функция может откатиться к любой зависимой от реализации эвристике, либо к зависимому от реализции алгоритму разбора. Нераспознанные строки, либо даты, содержащие недопустимые значения элементов в строках формата ISO, должны при вызове <code>Date.parse()</code> возвращать {{jsxref("Global_Objects/NaN", "NaN")}}.</p> +<p>В спецификации ECMAScript говорится: если строка не соответствует стандартному формату, функция может откатиться к любой зависимой от реализации эвристике, либо к зависимому от реализации алгоритму разбора. Нераспознанные строки, либо даты, содержащие недопустимые значения элементов в строках формата ISO, должны при вызове <code>Date.parse()</code> возвращать {{jsxref("Global_Objects/NaN", "NaN")}}.</p> <p>Однако, недопустимые значения в строке даты, не распознанные как формат ISO, как определено ES5 могут возвращать, а могут и не возвращать {{jsxref("Global_Objects/NaN", "NaN")}} в качестве результата, в зависимости от браузера и предоставленных значений, например:</p> diff --git a/files/ru/web/javascript/reference/global_objects/date/setfullyear/index.html b/files/ru/web/javascript/reference/global_objects/date/setfullyear/index.html index a0022b73cc..79c717f6c1 100644 --- a/files/ru/web/javascript/reference/global_objects/date/setfullyear/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/setfullyear/index.html @@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/setFullYear <h3 id="Returns" name="Returns" style="line-height: 24px; font-size: 1.71428571428571rem;">Возвращаемое значение</h3> -<p>Текущее время в милисекундах для нового значения даты — такое же значение как и у метода {{jsxref("Date.prototype.getTime()", "getTime()")}} для текущего объекта <strong>после</strong> вызова <code style="font-style: normal;">setFullYear()</code>.</p> +<p>Текущее время в миллисекундах для нового значения даты — такое же значение как и у метода {{jsxref("Date.prototype.getTime()", "getTime()")}} для текущего объекта <strong>после</strong> вызова <code style="font-style: normal;">setFullYear()</code>.</p> <h2 id="Description" name="Description">Описание</h2> diff --git a/files/ru/web/javascript/reference/global_objects/date/todatestring/index.html b/files/ru/web/javascript/reference/global_objects/date/todatestring/index.html index c36b9f6929..b3196e1ba4 100644 --- a/files/ru/web/javascript/reference/global_objects/date/todatestring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/todatestring/index.html @@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toDateString <pre class="syntaxbox"><code><var>dateObj</var>.toDateString()</code></pre> <h2 id="Description" name="Description">Описание</h2> -<p>Экземпляры объекта {{jsxref("Global_Objects/Date", "Date")}} ссылаются на определённый момент времени. Вызов метода {{jsxref("Date.prototype.toString()", "toString()")}} вернёт дату, отформатированную в виде человеко-читаемой строки на американском английском. В <a href="/ru/docs/SpiderMonkey">SpiderMonkey</a> она состоит из части, содержищей дату (день, месяц и год) и следующей за ней части, содержащей время (часы, минуты, секунды и часовой пояс). Иногда желательно получить строку, содержащую только часть с датой; этого можно достигнуть использованием метода <code>toDateString()</code>.</p> +<p>Экземпляры объекта {{jsxref("Global_Objects/Date", "Date")}} ссылаются на определённый момент времени. Вызов метода {{jsxref("Date.prototype.toString()", "toString()")}} вернёт дату, отформатированную в виде человеко-читаемой строки на американском английском. В <a href="/ru/docs/SpiderMonkey">SpiderMonkey</a> она состоит из части, содержащей дату (день, месяц и год) и следующей за ней части, содержащей время (часы, минуты, секунды и часовой пояс). Иногда желательно получить строку, содержащую только часть с датой; этого можно достигнуть использованием метода <code>toDateString()</code>.</p> <p>Метод <code>toDateString()</code> полезен тем, что совместимые движки, реализующие <a href="/ru/docs/ECMAScript">ECMA-262</a> могут давать разные строки с помощью метода {{jsxref("Date.prototype.toString()", "toString()")}} объекта {{jsxref("Global_Objects/Date", "Date")}}, поскольку формат строки зависит от реализации и простой подход с разрезанием строки на дату и время может не всегда сработать.</p> <h2 id="Examples" name="Examples">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/date/toisostring/index.html b/files/ru/web/javascript/reference/global_objects/date/toisostring/index.html index 347f326d0b..af585ce419 100644 --- a/files/ru/web/javascript/reference/global_objects/date/toisostring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/toisostring/index.html @@ -31,7 +31,7 @@ console.log(today.toISOString()); // вернёт 2011-10-05T14:48:00.000Z <p>Пример выше использует разбор нестандартного строкового значения, которое может разобраться некорректно в браузерах, отличных от Firefox.</p> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод был стандартизирован в ECMA-262 5-го издания. Отсутствие этого метода в движках, которые не были обновлены для его поддержки, можно обойти следующей прокладкой:</p> diff --git a/files/ru/web/javascript/reference/global_objects/date/tolocaledatestring/index.html b/files/ru/web/javascript/reference/global_objects/date/tolocaledatestring/index.html index 86c6dd4d0d..d54cc5cbce 100644 --- a/files/ru/web/javascript/reference/global_objects/date/tolocaledatestring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/tolocaledatestring/index.html @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <strong><code>toLocaleDateString()</code></strong> возвращает строку с языко-зависимым представлением части с датой в этой дате. Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьи соглашения по форматированию должны использоваться, а также менять поведение этого метода. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> +<p>Метод <strong><code>toLocaleDateString()</code></strong> возвращает строку с языкозависимым представлением части с датой в этой дате. Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьи соглашения по форматированию должны использоваться, а также менять поведение этого метода. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/date/tolocalestring/index.html b/files/ru/web/javascript/reference/global_objects/date/tolocalestring/index.html index aff9e18a0a..f9f0ffa8a1 100644 --- a/files/ru/web/javascript/reference/global_objects/date/tolocalestring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/tolocalestring/index.html @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleString <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <strong><code>toLocaleString()</code></strong> возвращает строку с языко-зависимым представлением даты. Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьи соглашения по форматированию должны использоваться, а также менять поведение этого метода. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> +<p>Метод <strong><code>toLocaleString()</code></strong> возвращает строку с языкозависимым представлением даты. Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьи соглашения по форматированию должны использоваться, а также менять поведение этого метода. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/date/tolocaletimestring/index.html b/files/ru/web/javascript/reference/global_objects/date/tolocaletimestring/index.html index 733b0fb49c..10a1e449ef 100644 --- a/files/ru/web/javascript/reference/global_objects/date/tolocaletimestring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/tolocaletimestring/index.html @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString <div>{{JSRef("Global_Objects", "Date")}}</div> <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <strong><code>toLocaleTimeString()</code></strong> возвращает строку с языко-зависимым представлением части со временем в этой дате. Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьи соглашения по форматированию должны использоваться, а также менять поведение этого метода. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> +<p>Метод <strong><code>toLocaleTimeString()</code></strong> возвращает строку с языкозависимым представлением части со временем в этой дате. Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьи соглашения по форматированию должны использоваться, а также менять поведение этого метода. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> <pre class="syntaxbox"><code><var>dateObj</var>.toLocaleTimeString([<var>locales</var>[, <var>options</var>]])</code></pre> diff --git a/files/ru/web/javascript/reference/global_objects/date/tostring/index.html b/files/ru/web/javascript/reference/global_objects/date/tostring/index.html index 321a941ea9..467271f6dd 100644 --- a/files/ru/web/javascript/reference/global_objects/date/tostring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/tostring/index.html @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toString <h2 id="Examples" name="Examples">Примеры</h2> <h3 id="Example:_Using_toString" name="Example:_Using_toString">Пример: использование метода <code>toString()</code></h3> -<p>В следующем примере переменной <code>myVar</code> присваевается значение, возвращённое методом <code>toString()</code> объекта {{jsxref("Global_Objects/Date", "Date")}}:</p> +<p>В следующем примере переменной <code>myVar</code> присваивается значение, возвращённое методом <code>toString()</code> объекта {{jsxref("Global_Objects/Date", "Date")}}:</p> <pre class="brush: js">var x = new Date(); myVar = x.toString(); // присваивает переменной myVar значение вроде: // Mon Sep 28 1998 14:36:22 GMT-0700 (Pacific Daylight Time) diff --git a/files/ru/web/javascript/reference/global_objects/date/totimestring/index.html b/files/ru/web/javascript/reference/global_objects/date/totimestring/index.html index f101bc29dc..64074e0d6a 100644 --- a/files/ru/web/javascript/reference/global_objects/date/totimestring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/totimestring/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toTimeString <h2 id="Description" name="Description">Описание</h2> -<p>Экземпляры объекта {{jsxref("Global_Objects/Date", "Date")}} ссылаются на определённый момент времени. Вызов метода {{jsxref("Date.prototype.toString()", "toString()")}} вернёт дату, отформатированную в виде человеко-читаемой строки на американском английском. В <a href="/ru/docs/SpiderMonkey">SpiderMonkey</a> она состоит из части, содержищей дату (день, месяц и год) и следующей за ней части, содержащей время (часы, минуты, секунды и часовой пояс). Иногда желательно получить строку, содержащую только часть со временем; этого можно достигнуть использованием метода <code>toTimeString()</code>.</p> +<p>Экземпляры объекта {{jsxref("Global_Objects/Date", "Date")}} ссылаются на определённый момент времени. Вызов метода {{jsxref("Date.prototype.toString()", "toString()")}} вернёт дату, отформатированную в виде человеко-читаемой строки на американском английском. В <a href="/ru/docs/SpiderMonkey">SpiderMonkey</a> она состоит из части, содержащей дату (день, месяц и год) и следующей за ней части, содержащей время (часы, минуты, секунды и часовой пояс). Иногда желательно получить строку, содержащую только часть со временем; этого можно достигнуть использованием метода <code>toTimeString()</code>.</p> <p>Метод <code>toTimeString()</code> полезен тем, что совместимые движки, реализующие <a href="/ru/docs/ECMAScript">ECMA-262</a> могут давать разные строки с помощью метода {{jsxref("Date.prototype.toString()", "toString()")}} объекта {{jsxref("Global_Objects/Date", "Date")}}, поскольку формат строки зависит от реализации и простой подход с разрезанием строки на дату и время может не всегда сработать.</p> diff --git a/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html b/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html index 60aecd9ece..f603359b99 100644 --- a/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/toutcstring/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/toUTCString <p>Нет.</p> <h2 id="Description" name="Description">Описание</h2> -<p>Значение, возвращаемое методом <code>toUTCString()</code>, является человеко-читаемой строкой в часовом поясе <abbr title="Всемирное координированное время">UTC</abbr>. Формат возвращаемого значения зависит от платформы. Наиболее растпространённым значением является форматированная по RFC-1123 временная метка, которая является немного обновлённой версией временной метки RFC-822.</p> +<p>Значение, возвращаемое методом <code>toUTCString()</code>, является человеко-читаемой строкой в часовом поясе <abbr title="Всемирное координированное время">UTC</abbr>. Формат возвращаемого значения зависит от платформы. Наиболее распространенным значением является форматированная по RFC-1123 временная метка, которая является немного обновлённой версией временной метки RFC-822.</p> <h2 id="Examples" name="Examples">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html b/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html index 73420f234c..a0c6b028db 100644 --- a/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html +++ b/files/ru/web/javascript/reference/global_objects/encodeuricomponent/index.html @@ -38,7 +38,7 @@ console.log(encodeURIComponent('\uDFFF')); <p><code>Для <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#application/x-www-form-urlencoded-encoding-algorithm">application/x-www-form-urlencoded</a></code> пробелы должны быть заменены на "+", поэтому вам может понадобиться <code>encodeURIComponent</code> с дополнительной заменой "%20" на "+".</p> -<p>Чтобы строго соблюдать <a class="external" href="http://tools.ietf.org/html/rfc3986">RFC 3986</a> (который резервирует !, ', (, ), и *), даже не смотря на то, что символы не используют сформированных URI разделителей, можно безопасно использовать следущее:</p> +<p>Чтобы строго соблюдать <a class="external" href="http://tools.ietf.org/html/rfc3986">RFC 3986</a> (который резервирует !, ', (, ), и *), даже не смотря на то, что символы не используют сформированных URI разделителей, можно безопасно использовать следующие:</p> <pre class="brush: js">function fixedEncodeURIComponent (str) { return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { diff --git a/files/ru/web/javascript/reference/global_objects/error/columnnumber/index.html b/files/ru/web/javascript/reference/global_objects/error/columnnumber/index.html index 8138b26a29..6a94012ec6 100644 --- a/files/ru/web/javascript/reference/global_objects/error/columnnumber/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/columnnumber/index.html @@ -20,7 +20,7 @@ throw e; console.log(e.columnNumber) // 0 </pre> <h2 id="Specifications" name="Specifications">Спецификации</h2> -<p>Не является чаcтью какой-либо спецификации. Не стандартно.</p> +<p>Не является частью какой-либо спецификации. Не стандартно.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <div> {{CompatibilityTable}}</div> diff --git a/files/ru/web/javascript/reference/global_objects/error/filename/index.html b/files/ru/web/javascript/reference/global_objects/error/filename/index.html index c2f2affeb0..21608199dc 100644 --- a/files/ru/web/javascript/reference/global_objects/error/filename/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/filename/index.html @@ -22,7 +22,7 @@ throw e; // e.fileName может выглядеть так "file:///C:/example.html" </pre> <h2 id="Specifications" name="Specifications">Спецификации</h2> -<p>Не является чаcтью какой-либо спецификации. Не стандартно.</p> +<p>Не является частью какой-либо спецификации. Не стандартно.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <div> {{CompatibilityTable}}</div> diff --git a/files/ru/web/javascript/reference/global_objects/error/index.html b/files/ru/web/javascript/reference/global_objects/error/index.html index 95fd8918a1..90a108b2a4 100644 --- a/files/ru/web/javascript/reference/global_objects/error/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/index.html @@ -29,9 +29,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Error <h2 id="Description" name="Description">Описание</h2> -<p>Во время выполения кода ошибки приводят к созданию и выбрасыванию новых объектов <code>Error</code>.</p> +<p>Во время выполнения кода ошибки приводят к созданию и выбрасыванию новых объектов <code>Error</code>.</p> -<p>Данная страница документирует использование объекта <code>Error</code> как самого по себе, так и при использовании в качестве функции-конструктора. Список свойств и методов, унаследованых экземплярами объекта <code>Error</code>, смотрите в разделе {{jsxref("Error.prototype")}}.</p> +<p>Данная страница документирует использование объекта <code>Error</code> как самого по себе, так и при использовании в качестве функции-конструктора. Список свойств и методов, унаследованных экземплярами объекта <code>Error</code>, смотрите в разделе {{jsxref("Error.prototype")}}.</p> <p> </p> @@ -121,7 +121,7 @@ const y = new Error('I was constructed via the "new" keyword!');</code></pre> <h3 id="Example:_Custom_Error_Types" name="Example:_Custom_Error_Types">Пример: пользовательские типы ошибок</h3> -<p>Вы можете захотеть определить свои собственные типы ошибок, унаследованные от <code>Error</code>, что бы иметь возможноть писать <code>throw new MyError()</code> и использовать <code>instanceof MyError</code> для проверки вида ошибки в обработчике исключений. Ниже продемонстрирован общий подход к выполнению этой задачи.</p> +<p>Вы можете захотеть определить свои собственные типы ошибок, унаследованные от <code>Error</code>, что бы иметь возможность писать <code>throw new MyError()</code> и использовать <code>instanceof MyError</code> для проверки вида ошибки в обработчике исключений. Ниже продемонстрирован общий подход к выполнению этой задачи.</p> <div class="warning"> <p><strong>Предупреждение:</strong> обратите внимание, что выбрасывание <code>MyError</code> будет сообщать неправильные номер строки <code>lineNumber</code> и имя файла <code>fileName</code> как минимум, в Firefox.</p> diff --git a/files/ru/web/javascript/reference/global_objects/error/linenumber/index.html b/files/ru/web/javascript/reference/global_objects/error/linenumber/index.html index c9f2d5c33e..64aea0eae7 100644 --- a/files/ru/web/javascript/reference/global_objects/error/linenumber/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/linenumber/index.html @@ -33,7 +33,7 @@ throw e; <p>Это стандарт и он поддерживается в Chrome, Firefox и, вероятно, много где ещё.</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> -<p>Не является чаcтью какой-либо спецификации. Не стандартно.</p> +<p>Не является частью какой-либо спецификации. Не стандартно.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <div>{{CompatibilityTable}}</div> diff --git a/files/ru/web/javascript/reference/global_objects/error/stack/index.html b/files/ru/web/javascript/reference/global_objects/error/stack/index.html index de0f95e041..ecc9502f7e 100644 --- a/files/ru/web/javascript/reference/global_objects/error/stack/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/stack/index.html @@ -87,7 +87,7 @@ try { <p>Также для именования исходного кода в функции <code>eval()</code> вы можете использовать директиву <code>//# sourceURL</code>. Смотрите раздел <a href="/ru/docs/Tools/Debugger/How_to/Debug_eval_sources">Отладка исходных кодов в функции <code>eval()</code></a> в документации по <a href="/ru/docs/Tools/Debugger">отладчику</a>, а также эту <a href="http://fitzgeraldnick.com/weblog/59/">запись в блоге</a> (на английском).</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> -<p>Не является чаcтью какой-либо спецификации. Не стандартно.</p> +<p>Не является частью какой-либо спецификации. Не стандартно.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <div>{{CompatibilityTable}}</div> diff --git a/files/ru/web/javascript/reference/global_objects/error/tosource/index.html b/files/ru/web/javascript/reference/global_objects/error/tosource/index.html index 7cc274da14..680162de48 100644 --- a/files/ru/web/javascript/reference/global_objects/error/tosource/index.html +++ b/files/ru/web/javascript/reference/global_objects/error/tosource/index.html @@ -27,7 +27,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Error/toSource </div> <h2 id="Specifications" name="Specifications">Спецификации</h2> -<p>Не является чаcтью какого-либо стандарта. Реализована в JavaScript 1.3.</p> +<p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> <div>{{CompatibilityTable}}</div> diff --git a/files/ru/web/javascript/reference/global_objects/escape/index.html b/files/ru/web/javascript/reference/global_objects/escape/index.html index faaef7049c..edc41f8259 100644 --- a/files/ru/web/javascript/reference/global_objects/escape/index.html +++ b/files/ru/web/javascript/reference/global_objects/escape/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/escape --- <div>{{jsSidebar("Objects")}} {{deprecated_header}}</div> -<p>Устаревший метод <code><strong>escape()</strong></code> возвращает новую строку, в которой определенные символы заменены шестнадцаричной управляющей последовательностью. Используйте методы {{jsxref("encodeURI")}} или {{jsxref("encodeURIComponent")}} вместо него.</p> +<p>Устаревший метод <code><strong>escape()</strong></code> возвращает новую строку, в которой определенные символы заменены шестнадцатеричной управляющей последовательностью. Используйте методы {{jsxref("encodeURI")}} или {{jsxref("encodeURIComponent")}} вместо него.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/eval/index.html b/files/ru/web/javascript/reference/global_objects/eval/index.html index ee90713bde..73b1b392b9 100644 --- a/files/ru/web/javascript/reference/global_objects/eval/index.html +++ b/files/ru/web/javascript/reference/global_objects/eval/index.html @@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/eval <div>{{jsSidebar("Objects")}}</div> <div class="blockIndicator warning"> -<p><strong>Warning:</strong> <font>Выполнение кода JavaScript с текстовой строки - это невероятный риск для безопасности. </font><font>Злоумышленнику слишком легко запустить какой угодно код, когда вы используете</font> <code>eval()</code>. Смотрите <a href="#Не_используйте_eval_без_необходимости!">Никогда не изпользуте eval()!</a>, ниже.</p> +<p><strong>Warning:</strong> <font>Выполнение кода JavaScript с текстовой строки - это невероятный риск для безопасности. </font><font>Злоумышленнику слишком легко запустить какой угодно код, когда вы используете</font> <code>eval()</code>. Смотрите <a href="#Не_используйте_eval_без_необходимости!">Никогда не используйте eval()!</a>, ниже.</p> </div> <p>Метод <code><strong>eval()</strong></code> выполняет JavaScript код, представленный строкой.</p> @@ -56,7 +56,7 @@ eval("2 + 2"); // возвращает 4 eval(expression.toString()); </pre> -<p>Если вы используете <code>eval</code> косвенно, вызовом его через ссылку, а не просто <code>eval</code>, в<a href="http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.2"> ECMAScript 5</a> это работает в глобальной области видимости, а не в локальной; это значит, что <code>eval</code> будет вызван в глобальной области видимости, а код будет выполнен с отсутвием доступа к локальным переменным в пределах области видимости, где он был вызван.</p> +<p>Если вы используете <code>eval</code> косвенно, вызовом его через ссылку, а не просто <code>eval</code>, в<a href="http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.2"> ECMAScript 5</a> это работает в глобальной области видимости, а не в локальной; это значит, что <code>eval</code> будет вызван в глобальной области видимости, а код будет выполнен с отсутствием доступа к локальным переменным в пределах области видимости, где он был вызван.</p> <pre class="brush:js notranslate">function test() { var x = 2, y = 4; @@ -93,7 +93,7 @@ var result = obj[ propname ]; // obj[ "a" ] то же, что и obj.a <h3 id="Используйте_функции_вместо_исполнения_фрагментов_кода">Используйте функции вместо исполнения фрагментов кода</h3> -<p>У JavaScript <a class="external" href="http://en.wikipedia.org/wiki/First-class_function" title="http://en.wikipedia.org/wiki/First-class_function">функции первого класса</a>, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойвах объектах и так далее. Многие DOM API созданы с учетом этого, так что вы можете (и вам следует) писать:</p> +<p>У JavaScript <a class="external" href="http://en.wikipedia.org/wiki/First-class_function" title="http://en.wikipedia.org/wiki/First-class_function">функции первого класса</a>, что значит, что вы можете передавать функции как аргументы, хранить их в переменных или свойствах объектах и так далее. Многие DOM API созданы с учетом этого, так что вы можете (и вам следует) писать:</p> <pre class="brush: js notranslate">// вместо setTimeout(" ... ", 1000) : setTimeout(function() { ... }, 1000); @@ -107,7 +107,7 @@ elt.addEventListener("click", function() { ... } , false); </pre> <p>Если строка, переданная в <code>eval()</code>, содержит данные (к примеру, массив: <code>"[1, 2, 3]"</code>), а не код, вам следует рассмотреть <a href="/en-US/docs/Glossary/JSON" title="JSON">JSON</a>, позволяющий строке использовать подмножество JavaScript синтаксиса для представления данных. Смотрите также: <a href="/en-US/docs/Downloading_JSON_and_JavaScript_in_extensions" title="Downloading_JSON_and_JavaScript_in_extensions">Загрузка JSON и JavaScript в расширениях</a>.</p> -<p>Заметьте, что синтаксис JSON ограничен в сравнении с JavaScript синтаксисом, многие валидные JavaScript литералы не распарсятся в JSON. К примеру, лишние запятые в конце выражений не разрешены в JSON, а имена свойств (ключи) в объектах должны быть в двойных кавычках. Будьте уверены использовать серилизацию JSON для создания строк, которые потом будут разбираться как JSON.</p> +<p>Заметьте, что синтаксис JSON ограничен в сравнении с JavaScript синтаксисом, многие валидные JavaScript литералы не распарсятся в JSON. К примеру, лишние запятые в конце выражений не разрешены в JSON, а имена свойств (ключи) в объектах должны быть в двойных кавычках. Будьте уверены использовать сериализацию JSON для создания строк, которые потом будут разбираться как JSON.</p> <h3 id="Передавайте_данные_вместо_кода">Передавайте данные вместо кода</h3> @@ -132,7 +132,7 @@ eval(z); // вернёт 42 <h3 id="Использование_eval_для_исполнения_строки_содержащей_операторы_JavaScript">Использование <code>eval</code> для исполнения строки, содержащей операторы JavaScript</h3> -<p>Следующий пример использует <code>eval()</code> для получения значения выражения <code>str</code>. Эта строка состоит из JavaScript выражений, печатающих в консоль, и, если x равен пяти, присвающих z значение 42, или 0 в противном случае. Когда второе выражение будет исполнено, <code>eval()</code> будет считать выражения выполненными, а также это установит значение выражению переменной z и вернет его.</p> +<p>Следующий пример использует <code>eval()</code> для получения значения выражения <code>str</code>. Эта строка состоит из JavaScript выражений, печатающих в консоль, и, если x равен пяти, призывающих z значение 42, или 0 в противном случае. Когда второе выражение будет исполнено, <code>eval()</code> будет считать выражения выполненными, а также это установит значение выражению переменной z и вернет его.</p> <pre class="brush:js notranslate">var x = 5; var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; "; diff --git a/files/ru/web/javascript/reference/global_objects/evalerror/index.html b/files/ru/web/javascript/reference/global_objects/evalerror/index.html index 016930c2aa..82a6037e91 100644 --- a/files/ru/web/javascript/reference/global_objects/evalerror/index.html +++ b/files/ru/web/javascript/reference/global_objects/evalerror/index.html @@ -79,12 +79,12 @@ translation_of: Web/JavaScript/Reference/Global_Objects/EvalError <tr> <td>{{SpecName('ES5.1', '#sec-15.11.6.1', 'EvalError')}}</td> <td>{{Spec2('ES5.1')}}</td> - <td>Не используется в этой спецификаци. Присутствует для обратной совместимости.</td> + <td>Не используется в этой спецификации. Присутствует для обратной совместимости.</td> </tr> <tr> <td>{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-evalerror', 'EvalError')}}</td> <td>{{Spec2('ES6')}}</td> - <td>Не используется в этой спецификаци. Присутствует для обратной совместимости.</td> + <td>Не используется в этой спецификации. Присутствует для обратной совместимости.</td> </tr> </tbody> </table> diff --git a/files/ru/web/javascript/reference/global_objects/float32array/index.html b/files/ru/web/javascript/reference/global_objects/float32array/index.html index dec9a2b937..dcd127face 100644 --- a/files/ru/web/javascript/reference/global_objects/float32array/index.html +++ b/files/ru/web/javascript/reference/global_objects/float32array/index.html @@ -70,11 +70,11 @@ new Float32Array(buffer [, byteOffset [, length]]);</pre> <dt>{{jsxref("TypedArray.fill", "Float32Array.prototype.fill()")}}</dt> <dd>Заполняет весь массив от начального до последнего индекса одинаковыми элементами. Смотрите также {{jsxref("Array.prototype.fill()")}}.</dd> <dt>{{jsxref("TypedArray.filter", "Float32Array.prototype.filter()")}}</dt> - <dd>Возвращает новый массив со всеми элементами удовлетворяющеми условию. Смотрите также {{jsxref("Array.prototype.filter()")}}.</dd> + <dd>Возвращает новый массив со всеми элементами удовлетворяющей условию. Смотрите также {{jsxref("Array.prototype.filter()")}}.</dd> <dt>{{jsxref("TypedArray.find", "Float32Array.prototype.find()")}}</dt> - <dd>Возвращает найденное значение в массиве, если найден элемент соответствуший условию, в противном случае возвращает <code>undefined</code>. Смотрите также {{jsxref("Array.prototype.find()")}}.</dd> + <dd>Возвращает найденное значение в массиве, если найден элемент соответствующий условию, в противном случае возвращает <code>undefined</code>. Смотрите также {{jsxref("Array.prototype.find()")}}.</dd> <dt>{{jsxref("TypedArray.findIndex", "Float32Array.prototype.findIndex()")}}</dt> - <dd>Возвращает индекс найденного значения в массиве, если найден элемент соответствуеший условию, в противном случае возвращает <font face="Consolas, Liberation Mono, Courier, monospace">-1</font>. Смотрите также {{jsxref("Array.prototype.findIndex()")}}.</dd> + <dd>Возвращает индекс найденного значения в массиве, если найден элемент соответствующий условию, в противном случае возвращает <font face="Consolas, Liberation Mono, Courier, monospace">-1</font>. Смотрите также {{jsxref("Array.prototype.findIndex()")}}.</dd> <dt>{{jsxref("TypedArray.forEach", "Float32Array.prototype.forEach()")}}</dt> <dd>Вызывает функцию для каждого элемента в массиве. Смотрите также {{jsxref("Array.prototype.forEach()")}}.</dd> <dt>{{jsxref("TypedArray.includes", "Float32Array.prototype.includes()")}} {{experimental_inline}}</dt> @@ -90,7 +90,7 @@ new Float32Array(buffer [, byteOffset [, length]]);</pre> <dt>{{jsxref("TypedArray.map", "Float32Array.prototype.map()")}}</dt> <dd>Возвращает новый массив с результатом применения функции к каждому элементу в этом массиве. Смотрите также {{jsxref("Array.prototype.map()")}}.</dd> <dt>{{jsxref("TypedArray.move", "Float32Array.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}</dt> - <dd>Нестандаризированная версия {{jsxref("TypedArray.copyWithin", "Float32Array.prototype.copyWithin()")}}.</dd> + <dd>Нестандартизированная версия {{jsxref("TypedArray.copyWithin", "Float32Array.prototype.copyWithin()")}}.</dd> <dt>{{jsxref("TypedArray.reduce", "Float32Array.prototype.reduce()")}}</dt> <dd>Применяет функцию к каждому элементу в массиве (слева-направо) и накапливает результат в переменной. Смотрите также {{jsxref("Array.prototype.reduce()")}}.</dd> <dt>{{jsxref("TypedArray.reduceRight", "Float32Array.prototype.reduceRight()")}}</dt> @@ -108,7 +108,7 @@ new Float32Array(buffer [, byteOffset [, length]]);</pre> <dt>{{jsxref("TypedArray.subarray", "Float32Array.prototype.subarray()")}}</dt> <dd><code>Возваращает новый Float32Array</code> с заданного начального по конечный индекс.</dd> <dt>{{jsxref("TypedArray.values", "Float32Array.prototype.values()")}}</dt> - <dd>Возвращает новый объект <code>Array Iterator</code> котрый содержит значения всех элементов в массиве. Смотрите также {{jsxref("Array.prototype.values()")}}.</dd> + <dd>Возвращает новый объект <code>Array Iterator</code> который содержит значения всех элементов в массиве. Смотрите также {{jsxref("Array.prototype.values()")}}.</dd> <dt>{{jsxref("TypedArray.toLocaleString", "Float32Array.prototype.toLocaleString()")}}</dt> <dd>Возвращает локализированную строку представляющую массив и его элементы. Смотрите также {{jsxref("Array.prototype.toLocaleString()")}}.</dd> <dt>{{jsxref("TypedArray.toString", "Float32Array.prototype.toString()")}}</dt> diff --git a/files/ru/web/javascript/reference/global_objects/function/apply/index.html b/files/ru/web/javascript/reference/global_objects/function/apply/index.html index 538c25a654..af1391a6b7 100644 --- a/files/ru/web/javascript/reference/global_objects/function/apply/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/apply/index.html @@ -113,7 +113,7 @@ for (var i = 0; i < numbers.length; i++) { } </pre> -<p>Но будьте осторожны: при использовании метода <code>apply()</code> таким образом вы рискуете выйти за пределы ограничения на количество аргументов в движке JavaScript. Последствия применения функции с очень большим количеством аргументов (думается, больше десяти тысяч аргументов) различаются от движка к движку (JavaScriptCore имеет жёстко зашитое <a class="link-https" href="https://bugs.webkit.org/show_bug.cgi?id=80797">ограничение на количество аргументов в 65536</a>), поскольку этот предел (на самом деле, это природа поведения любого чрезвычайно огромного стека) не определён. Некоторые движки будут выкидывать исключение. Хуже того, другие просто отбрасывают реально переданные функции аргументы сверх лимита. (Для иллюстрации последнего случая: если такой движок имеет ограничение в четыре элемента [реальное ограничение, конечно же, гораздо выше], это выглядело бы так, как если бы в примере выше в метод <code>apply()</code> были переданы аргументы <code>5, 6, 2, 3</code>, а не весь массив.) Если ваш масив значений может вырасти до десятков тысяч, используйте смешанный подход: применяйте вашу функцию к порциям массива:</p> +<p>Но будьте осторожны: при использовании метода <code>apply()</code> таким образом вы рискуете выйти за пределы ограничения на количество аргументов в движке JavaScript. Последствия применения функции с очень большим количеством аргументов (думается, больше десяти тысяч аргументов) различаются от движка к движку (JavaScriptCore имеет жёстко зашитое <a class="link-https" href="https://bugs.webkit.org/show_bug.cgi?id=80797">ограничение на количество аргументов в 65536</a>), поскольку этот предел (на самом деле, это природа поведения любого чрезвычайно огромного стека) не определён. Некоторые движки будут выкидывать исключение. Хуже того, другие просто отбрасывают реально переданные функции аргументы сверх лимита. (Для иллюстрации последнего случая: если такой движок имеет ограничение в четыре элемента [реальное ограничение, конечно же, гораздо выше], это выглядело бы так, как если бы в примере выше в метод <code>apply()</code> были переданы аргументы <code>5, 6, 2, 3</code>, а не весь массив.) Если ваш массив значений может вырасти до десятков тысяч, используйте смешанный подход: применяйте вашу функцию к порциям массива:</p> <pre class="brush: js">function minOfArray(arr) { var min = Infinity; diff --git a/files/ru/web/javascript/reference/global_objects/function/arguments/index.html b/files/ru/web/javascript/reference/global_objects/function/arguments/index.html index 7b089887c4..1d0e5fb7ff 100644 --- a/files/ru/web/javascript/reference/global_objects/function/arguments/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/arguments/index.html @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/arguments <h2 id="Summary" name="Summary">Сводка</h2> <p>Свойство <code><strong><em>function</em>.arguments</strong></code> ссылалось на массивоподобный объект, соответствующий аргументам, переданным в функцию. Используйте вместо него простую переменную {{jsxref("Functions_and_function_scope/arguments", "arguments")}}.</p> <h2 id="Description" name="Description">Описание</h2> -<p>Синтаксис <code><em>function</em>.arguments</code> устарел. Рекомендуемым способом доступа к объекту {{jsxref("Functions_and_function_scope/arguments", "arguments")}}, доступному внутри функций, являеся простая ссылка на переменную {{jsxref("Functions_and_function_scope/arguments", "arguments")}}.</p> +<p>Синтаксис <code><em>function</em>.arguments</code> устарел. Рекомендуемым способом доступа к объекту {{jsxref("Functions_and_function_scope/arguments", "arguments")}}, доступному внутри функций, является простая ссылка на переменную {{jsxref("Functions_and_function_scope/arguments", "arguments")}}.</p> <p>В случае рекурсии, то есть, если функция <code>f</code> несколько раз появляется в стеке вызовов, значение <code>f.arguments</code> представляет аргументы, соответствующие самому последнему вызову функции.</p> <h2 id="Examples" name="Examples">Примеры</h2> <pre class="brush: js">function f(n) { g(n - 1); } diff --git a/files/ru/web/javascript/reference/global_objects/function/bind/index.html b/files/ru/web/javascript/reference/global_objects/function/bind/index.html index 325c24fa0b..6cd8230241 100644 --- a/files/ru/web/javascript/reference/global_objects/function/bind/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/bind/index.html @@ -134,7 +134,7 @@ p.toString(); // '1,2' var emptyObj = {}; var YAxisPoint = Point.bind(emptyObj, 0/*x*/); -// не поддерживается полифиллом, приведённым ниже, +// не поддерживается полифилом, приведённым ниже, // но отлично работает с родным bind: var YAxisPoint = Point.bind(null, 0/*x*/); @@ -163,7 +163,7 @@ emptyObj.x + ',' + emptyObj.y; <h3 id="Example:_Creating_shortcuts" name="Example:_Creating_shortcuts">Пример: создание сокращений</h3> -<p>Метод <code>bind()</code> также полезен в случаях, если вы хотите создать сокращение для функции, требующей определёное значение <code>this</code>.</p> +<p>Метод <code>bind()</code> также полезен в случаях, если вы хотите создать сокращение для функции, требующей определенное значение <code>this</code>.</p> <p>Возьмём, например, метод {{jsxref("Array.prototype.slice")}}, который вы можете использовать для преобразования массивоподобного объекта в настоящий массив. Вы можете создать подобное сокращение:</p> @@ -185,7 +185,7 @@ var slice = Function.prototype.call.bind(unboundSlice); slice(arguments); </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Функция <code>bind</code> является дополнением к стандарту ECMA-262 5-го издания; поэтому она может присутствовать не во всех браузерах. Вы можете частично обойти это ограничение, вставив следующий код в начало ваших скриптов, он позволяет использовать большую часть возможностей <code>bind()</code> в реализациях, не имеющих его родной поддержки.</p> diff --git a/files/ru/web/javascript/reference/global_objects/function/index.html b/files/ru/web/javascript/reference/global_objects/function/index.html index 63d7e776c0..4b6b4f5825 100644 --- a/files/ru/web/javascript/reference/global_objects/function/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/index.html @@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function <h2 id="Description" name="Description">Описание</h2> -<p>Объекты <code>Function</code>, созданные констуктором <code>Function</code>, разбираются при создании функции. Это менее эффективно определения функции при помощи <a href="/ru/docs/Web/JavaScript/Reference/Operators/function">выражения <code>function</code></a> или <a href="/ru/docs/Web/JavaScript/Reference/Statements/function">инструкции <code>function</code></a> и вызова её внутри вашего кода, поскольку такие функции разбираются вместе с остальным кодом.</p> +<p>Объекты <code>Function</code>, созданные конструктором <code>Function</code>, разбираются при создании функции. Это менее эффективно определения функции при помощи <a href="/ru/docs/Web/JavaScript/Reference/Operators/function">выражения <code>function</code></a> или <a href="/ru/docs/Web/JavaScript/Reference/Statements/function">инструкции <code>function</code></a> и вызова её внутри вашего кода, поскольку такие функции разбираются вместе с остальным кодом.</p> <p>Все аргументы, переданные в функцию, трактуются как имена идентификаторов параметров создаваемой функции, и имеют тот же порядок следования, что и при их передаче в конструктор функции.</p> @@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function <p><strong>Примечание:</strong> функции, созданные конструктором <code>Function</code>, не создают замыканий на их контексты создания; они всегда создаются в глобальной области видимости. При их вызове, они получат доступ только к своим локальным переменным и переменным из глобальной области видимости, но не к переменным в той области видимости, в которой вызывался конструктор <code>Function</code>. Это поведение отличается от поведения при использовании функции {{jsxref("Global_Objects/eval", "eval")}} с кодом создания функции.</p> </div> -<p>Вызов констуктора <code>Function</code> как функции (без использования оператора <code>new</code>) имеет тот же самый эффект, что и вызов его как констуктора.</p> +<p>Вызов конструктора <code>Function</code> как функции (без использования оператора <code>new</code>) имеет тот же самый эффект, что и вызов его как конструктора.</p> <h2 id="Properties_and_Methods_of_Function" name="Properties_and_Methods_of_Function">Свойства и методы объекта <code>Function</code></h2> @@ -62,7 +62,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function <h2 id="Function_instances" name="Function_instances">Экземпляры объекта <code>Function</code></h2> -<p>Экземпляры объекта <code>Function</code> наследуют методы и свойства из объекта {{jsxref("Function.prototype")}}. Как и со всеми другими конструкторами, вы можете изменить объект прототипа констуктора для применения изменений ко всем экземплярам объекта <code>Function</code>.</p> +<p>Экземпляры объекта <code>Function</code> наследуют методы и свойства из объекта {{jsxref("Function.prototype")}}. Как и со всеми другими конструкторами, вы можете изменить объект прототипа конструктора для применения изменений ко всем экземплярам объекта <code>Function</code>.</p> <h2 id="Examples" name="Examples">Примеры</h2> @@ -80,7 +80,7 @@ adder(2, 6); // > 8 </pre> -<p>Аргуметы "<code>a</code>" и "<code>b</code>" являются именами формальных аргументов, которые используются в теле функции, "<code>return a + b</code>".</p> +<p>Аргументы "<code>a</code>" и "<code>b</code>" являются именами формальных аргументов, которые используются в теле функции, "<code>return a + b</code>".</p> <h3 id="Example_A_recursive_shortcut_to_massively_modify_the_DOM" name="Example:_A_recursive_shortcut_to_massively_modify_the_DOM">Пример: рекурсивное сокращение для массового изменения DOM</h3> diff --git a/files/ru/web/javascript/reference/global_objects/function/name/index.html b/files/ru/web/javascript/reference/global_objects/function/name/index.html index 212b9cb735..6beee2a14d 100644 --- a/files/ru/web/javascript/reference/global_objects/function/name/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/name/index.html @@ -11,11 +11,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/name --- <p>{{JSRef}}</p> -<p>Read-only свойство <code><strong>name</strong></code> глобального объекта {{jsxref("Function")}} и его <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Function#Function_instances">экзепляров</a> содержит название функции созданное во время определения функции или присваивания ссылки на функцию переменной, свойству, аргументу и т. п. Для анонимных функций это свойство может иметь значение <code>"anonymous"</code> или пустую строку <code>""</code>.</p> +<p>Read-only свойство <code><strong>name</strong></code> глобального объекта {{jsxref("Function")}} и его <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Function#Function_instances">экземпляров</a> содержит название функции созданное во время определения функции или присваивания ссылки на функцию переменной, свойству, аргументу и т. п. Для анонимных функций это свойство может иметь значение <code>"anonymous"</code> или пустую строку <code>""</code>.</p> <p>{{EmbedInteractiveExample("pages/js/function-name.html")}}</p> -<p>Интерактивные примеры размещены в GitHub репозитории. Если вы хотите добавить свои примеры, то клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и пришлите пулл реквест.</p> +<p>Интерактивные примеры размещены в GitHub репозитории. Если вы хотите добавить свои примеры, то клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и пришлите пул реквест.</p> <p>{{js_property_attributes(0,0,1)}}<br> </p> diff --git a/files/ru/web/javascript/reference/global_objects/function/tosource/index.html b/files/ru/web/javascript/reference/global_objects/function/tosource/index.html index 335967947b..de43389aed 100644 --- a/files/ru/web/javascript/reference/global_objects/function/tosource/index.html +++ b/files/ru/web/javascript/reference/global_objects/function/tosource/index.html @@ -29,7 +29,7 @@ Function.toSource(); </li> <li>Для пользовательских функций, метод <code>toSource</code> возвращает исходный код JavaScript, определяющий объект как строку.</li> </ul> -<p>Этот метод обычно вызывается внутренними механизмаим движка JavaScript, а не явно в коде. Вы можете вызвать <code>toSource</code> во время отладки для изучения содержимого объекта.</p> +<p>Этот метод обычно вызывается внутренними механизмами движка JavaScript, а не явно в коде. Вы можете вызвать <code>toSource</code> во время отладки для изучения содержимого объекта.</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> <p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.</p> <h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> diff --git a/files/ru/web/javascript/reference/global_objects/generator/index.html b/files/ru/web/javascript/reference/global_objects/generator/index.html index 385792c2e0..8e530ff328 100644 --- a/files/ru/web/javascript/reference/global_objects/generator/index.html +++ b/files/ru/web/javascript/reference/global_objects/generator/index.html @@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Generator <h2 id="Конструктор">Конструктор</h2> -<p>Этот объект не может быть инстанциирован напрямую. Вместо этого, экемпляр <code>Generator</code> может быть возвращён из <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction">функции-генератора</a>:</p> +<p>Этот объект не может быть инстанциирован напрямую. Вместо этого, экземпляр <code>Generator</code> может быть возвращён из <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction">функции-генератора</a>:</p> <pre class="notranslate line-numbers language-html">function* generator() { yield 1; diff --git a/files/ru/web/javascript/reference/global_objects/generator/next/index.html b/files/ru/web/javascript/reference/global_objects/generator/next/index.html index 5e69003f85..d3d378904d 100644 --- a/files/ru/web/javascript/reference/global_objects/generator/next/index.html +++ b/files/ru/web/javascript/reference/global_objects/generator/next/index.html @@ -100,7 +100,7 @@ g.next(2); </tbody> </table> -<h2 id="Совсестимость_с_браузерами">Совсестимость с браузерами</h2> +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <div> diff --git a/files/ru/web/javascript/reference/global_objects/int32array/index.html b/files/ru/web/javascript/reference/global_objects/int32array/index.html index bcb0ba23a0..8a3a712863 100644 --- a/files/ru/web/javascript/reference/global_objects/int32array/index.html +++ b/files/ru/web/javascript/reference/global_objects/int32array/index.html @@ -23,9 +23,9 @@ new Int32Array(buffer [, byteOffset [, length]]);</pre> <dt>{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Int32Array.BYTES_PER_ELEMENT")}}</dt> <dd>Возвращает числовое значение размера элемента. <code>4</code> в случае с <code>Int32Array</code>.</dd> <dt>Int32Array.length</dt> - <dd>Свойство статического размера, значение которого равно 3. Для актуального размера (колличества элементов), смотрите {{jsxref("TypedArray.prototype.length", "Int32Array.prototype.length")}}.</dd> + <dd>Свойство статического размера, значение которого равно 3. Для актуального размера (количества элементов), смотрите {{jsxref("TypedArray.prototype.length", "Int32Array.prototype.length")}}.</dd> <dt>{{jsxref("TypedArray.name", "Int32Array.name")}}</dt> - <dd>Возвращяает строковое значение названия конструктора. В случае с тиопм <code>Int32Array</code>: "Int32Array".</dd> + <dd>Возвращает строковое значение названия конструктора. В случае с типом <code>Int32Array</code>: "Int32Array".</dd> <dt>{{jsxref("TypedArray.prototype", "Int32Array.prototype")}}</dt> <dd>Прототип для <em>TypedArray</em> объектов.</dd> </dl> @@ -154,7 +154,7 @@ var int32 = new Int32Array(iterable); <tr> <th scope="col">Specification</th> <th scope="col">Статус</th> - <th scope="col">Коментарии</th> + <th scope="col">Комментарии</th> </tr> <tr> <td>{{SpecName('Typed Array')}}</td> @@ -182,7 +182,7 @@ var int32 = new Int32Array(iterable); <h2 id="Compatibility_notes">Compatibility notes</h2> -<p>Начиная с ECMAScript 2015, конструкторы <code>Int32Array</code> требуют оператор {{jsxref("Operators/new", "new")}}. Вызов <code>Int32Array</code> коструктора как функцию без оператора <code>new</code>, вызовет ошибку {{jsxref("TypeError")}}.</p> +<p>Начиная с ECMAScript 2015, конструкторы <code>Int32Array</code> требуют оператор {{jsxref("Operators/new", "new")}}. Вызов <code>Int32Array</code> конструктора как функцию без оператора <code>new</code>, вызовет ошибку {{jsxref("TypeError")}}.</p> <pre class="brush: js example-bad">var dv = Int32Array([1, 2, 3]); // TypeError: calling a builtin Int32Array constructor diff --git a/files/ru/web/javascript/reference/global_objects/int8array/index.html b/files/ru/web/javascript/reference/global_objects/int8array/index.html index 68ac4ff10c..7bf2e23483 100644 --- a/files/ru/web/javascript/reference/global_objects/int8array/index.html +++ b/files/ru/web/javascript/reference/global_objects/int8array/index.html @@ -23,9 +23,9 @@ new Int8Array(buffer [, byteOffset [, length]]);</pre> <dt>{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Int8Array.BYTES_PER_ELEMENT")}}</dt> <dd>Возвращает числовое значение размера элемента массива. <code>1</code> в случае с <code>Int8Array</code>.</dd> <dt>Int8Array.length</dt> - <dd>Статическая длина конструктора <code>Int8Array</code>, всегда равна <code>3</code> (т.к. конструктор принимает до 3 аргументов). Чтобы узнать длину созданого массива, see {{jsxref("TypedArray.prototype.length", "Int8Array.prototype.length")}}.</dd> + <dd>Статическая длина конструктора <code>Int8Array</code>, всегда равна <code>3</code> (т.к. конструктор принимает до 3 аргументов). Чтобы узнать длину созданного массива, see {{jsxref("TypedArray.prototype.length", "Int8Array.prototype.length")}}.</dd> <dt>{{jsxref("TypedArray.name", "Int8Array.name")}}</dt> - <dd>Возращает строчное значение имени конструктора. В случае с <code>Int8Array</code>: "Int8Array".</dd> + <dd>Возвращает строчное значение имени конструктора. В случае с <code>Int8Array</code>: "Int8Array".</dd> <dt>{{jsxref("TypedArray.prototype", "Int8Array.prototype")}}</dt> <dd>Прототип для <em>TypedArray</em> objects.</dd> </dl> diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html index bcb34c805e..93ad685d2f 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html @@ -25,7 +25,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare </dl> <h2 id="Description" name="Description">Описание</h2> -<p>Функция, возвращённая гетером <code>compare</code>, возвращает число, указывающее, как строки <code>string1</code> и <code>string2</code> сравниваются друг с другом в соответствии с порядком сортировки объекта {{jsxref("Global_Objects/Collator", "Collator")}}: отрицательное значение, если строка <code>string1</code> предшествует строке <code>string2</code>; положительное значение, если строка <code>string1</code> следует за строкой <code>string2</code>; 0, если строки считаются равными.</p> +<p>Функция, возвращённая геттером <code>compare</code>, возвращает число, указывающее, как строки <code>string1</code> и <code>string2</code> сравниваются друг с другом в соответствии с порядком сортировки объекта {{jsxref("Global_Objects/Collator", "Collator")}}: отрицательное значение, если строка <code>string1</code> предшествует строке <code>string2</code>; положительное значение, если строка <code>string1</code> следует за строкой <code>string2</code>; 0, если строки считаются равными.</p> <h2 id="Examples" name="Examples">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/index.html index cf3a3d3e52..720e93becb 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/collator/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/index.html @@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator <div>{{JSRef("Global_Objects", "Collator", "Intl,DateTimeFormat,NumberFormat")}}</div> <h2 id="Summary" name="Summary">Сводка</h2> -<p>Объект <strong><code>Intl.Collator</code></strong> является конструктором <dfn>сортировщиков</dfn> — объектов, включающих языко-зависимое сравнение строк.</p> +<p>Объект <strong><code>Intl.Collator</code></strong> является конструктором <dfn>сортировщиков</dfn> — объектов, включающих языка-зависимое сравнение строк.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> <pre class="syntaxbox"><code>new Intl.Collator([<var>locales</var>[, <var>options</var>]]) diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html index acfff0a5a2..e1626a4451 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html @@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/form <h2 id="Описание">Описание</h2> -<p>Метод <code>formatToParts()</code> полезен для пользовательского форматирования строки даты. Он возвращает массив объектов {{jsxref("Array")}}, содерщащий специфичные для данного места токены, из которых можно выстроить пользовательскую строку, которая сохранит специфичные для данного места части. Структура возвращаемого значения методом <code>formatToParts()</code> выглядит так:</p> +<p>Метод <code>formatToParts()</code> полезен для пользовательского форматирования строки даты. Он возвращает массив объектов {{jsxref("Array")}}, содержащий специфичные для данного места токены, из которых можно выстроить пользовательскую строку, которая сохранит специфичные для данного места части. Структура возвращаемого значения методом <code>formatToParts()</code> выглядит так:</p> <pre class="brush: js">[ { type: 'day', value: '17' }, @@ -111,7 +111,7 @@ formatter.format(date); ] </pre> -<p>Теперь информация доступна по отдельности и может быть отформатирована и объединена снова в пользавотельском порядке. Например, используя {{jsxref("Array.prototype.map()")}}, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">стрелочные функции</a>, <a href="/ru/docs/Web/JavaScript/Reference/Statements/switch">инструкцию switch</a>, <a href="/ru/docs/Web/JavaScript/Reference/template_strings">шаблонные строки</a> и {{jsxref("Array.prototype.reduce()")}}.</p> +<p>Теперь информация доступна по отдельности и может быть отформатирована и объединена снова в пользовательском порядке. Например, используя {{jsxref("Array.prototype.map()")}}, <a href="/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">стрелочные функции</a>, <a href="/ru/docs/Web/JavaScript/Reference/Statements/switch">инструкцию switch</a>, <a href="/ru/docs/Web/JavaScript/Reference/template_strings">шаблонные строки</a> и {{jsxref("Array.prototype.reduce()")}}.</p> <pre class="brush: js">var dateString = formatter.formatToParts(date).map(({type, value}) => { switch (type) { @@ -129,7 +129,7 @@ formatter.format(date); console.log(dateString); // "понедельник, 17.12.2012 г., 3:00:42 <b>AM</b>"</pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Полифил для данного метода доступен <a href="https://github.com/zbraniecki/proposal-intl-formatToParts">здесь</a>.</p> @@ -138,7 +138,7 @@ console.log(dateString); <table class="standard-table"> <tbody> <tr> - <th scope="col">Спецфикация</th> + <th scope="col">Спецификация</th> <th scope="col">Статус</th> <th scope="col">Комментарий</th> </tr> diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html index 2bd44c9522..a9f3287a7c 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat <h2 id="Summary" name="Summary">Сводка</h2> -<p>Объект <strong><code>Intl.DateTimeFormat</code></strong> является конструктором объектов, включающих языко-зависимое форматирование даты и времени.</p> +<p>Объект <strong><code>Intl.DateTimeFormat</code></strong> является конструктором объектов, включающих языка-зависимое форматирование даты и времени.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html b/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html index 9a433c2776..3627f6de06 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales --- <div>{{JSRef}}</div> -<p>Метод <strong><code>Intl.getCanonicalLocales()</code></strong> возвращает массив, содержащий канониченские коды языков. Повторяющиеся значения будут отброшены и элементы будут проверены на соответствие структуры языковых тегов.</p> +<p>Метод <strong><code>Intl.getCanonicalLocales()</code></strong> возвращает массив, содержащий канонические коды языков. Повторяющиеся значения будут отброшены и элементы будут проверены на соответствие структуры языковых тегов.</p> <div>{{EmbedInteractiveExample("pages/js/intl-getcanonicallocales.html")}}</div> @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales <pre class="syntaxbox">Intl.getCanonicalLocales(locales)</pre> -<h3 id="Парамерты">Парамерты</h3> +<h3 id="Параметры">Параметры</h3> <dl> <dt><code>locales</code></dt> diff --git a/files/ru/web/javascript/reference/global_objects/intl/index.html b/files/ru/web/javascript/reference/global_objects/intl/index.html index cebbeccc60..4316488c58 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/index.html @@ -11,17 +11,17 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl <h2 id="Summary" name="Summary">Сводка</h2> -<p>Объект <strong><code>Intl</code></strong> является пространством имён для API интернационализации ECMAScript, предосталяющим языко-зависимое сравнение строк, форматирование чисел и дат со временем. Конструкторы объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} и {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}} являются свойствами объекта <code>Intl</code>. На этой странице описаны эти свойства, а также общая функциональность конструкторов интернационализации и других языко-зависимых функций.</p> +<p>Объект <strong><code>Intl</code></strong> является пространством имён для API интернационализации ECMAScript, предоставляющим языка-зависимое сравнение строк, форматирование чисел и дат со временем. Конструкторы объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} и {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}} являются свойствами объекта <code>Intl</code>. На этой странице описаны эти свойства, а также общая функциональность конструкторов интернационализации и других языка-зависимых функций.</p> <h2 id="Properties" name="Properties">Свойства</h2> <dl> <dt>{{jsxref("Global_Objects/Collator", "Intl.Collator")}}</dt> - <dd>Конструктор <dfn>сортировщиков</dfn> — объектов, включающих языко-зависимое сравнение строк.</dd> + <dd>Конструктор <dfn>сортировщиков</dfn> — объектов, включающих языка-зависимое сравнение строк.</dd> <dt>{{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}</dt> - <dd>Конструктор объектов, включающих языко-зависимое форматирование даты и времени.</dd> + <dd>Конструктор объектов, включающих языка-зависимое форматирование даты и времени.</dd> <dt>{{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}}</dt> - <dd>Конструктор объектов, включающих языко-зависимое форматирование чисел.</dd> + <dd>Конструктор объектов, включающих языка-зависимое форматирование чисел.</dd> </dl> <h2 id="Methods">Methods</h2> @@ -33,11 +33,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl <h2 id="Locale_identification_and_negotiation" name="Locale_identification_and_negotiation">Идентификация и согласование локали</h2> -<p>Конструкторы интернационализации, а также некоторые языко-зависимые методы других конструкторов (перечисленные в разделе {{anch("See_also", "Смотрите также")}}) используют общий шаблон для идентификации локалей и определения используемой локали: они все принимают аргументы <code>locales</code> и <code>options</code> и согласовывают запрошенную локаль (локали) с поддерживаемыми локалями согласно алгоритму, определённому свойством <code>options.localeMatcher</code>.</p> +<p>Конструкторы интернационализации, а также некоторые языка-зависимые методы других конструкторов (перечисленные в разделе {{anch("See_also", "Смотрите также")}}) используют общий шаблон для идентификации локалей и определения используемой локали: они все принимают аргументы <code>locales</code> и <code>options</code> и согласовывают запрошенную локаль (локали) с поддерживаемыми локалями согласно алгоритму, определённому свойством <code>options.localeMatcher</code>.</p> <h3 id="locales_argument" name="locales_argument">Аргумент <code>locales</code></h3> -<p>Аргумет <code>locales</code> должен быть либо строкой, содержащей <a href="http://tools.ietf.org/html/rfc5646">языковую метку BCP 47</a>, либо массивом таких языковых меток. Если аргумент <code>locales</code> не предоставлен или не определён, используется локаль по умолчанию среды выполнения.</p> +<p>Аргумент <code>locales</code> должен быть либо строкой, содержащей <a href="http://tools.ietf.org/html/rfc5646">языковую метку BCP 47</a>, либо массивом таких языковых меток. Если аргумент <code>locales</code> не предоставлен или не определён, используется локаль по умолчанию среды выполнения.</p> <p>Языковая метка BCP 47 однозначно определяет язык или локаль (разница между ними весьма расплывчата). В своей самой общей форме она может содержать в следующем порядке: код языка, код письменности и код страны, разделённые символами дефиса. Примеры:</p> @@ -49,7 +49,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl <p>Подметки, определяющие языки, письменности, страны (регионы) и (используется не часто) варианты в языковых метках BCP 47 могут быть найдены в <a href="http://www.iana.org/assignments/language-subtag-registry">Реестре языковых подметок IANA</a>.</p> -<p>BCP 47 также позволяет использовать расширения, и одно из них имеет значение для функций интернационализации JavaScript: это расширение <code>"u"</code> (Unicode). Оно может использоваться для запрашивания настраиваемого языко-зависимого поведения объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} или {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}. Примеры:</p> +<p>BCP 47 также позволяет использовать расширения, и одно из них имеет значение для функций интернационализации JavaScript: это расширение <code>"u"</code> (Unicode). Оно может использоваться для запрашивания настраиваемого языка-зависимого поведения объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} или {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}. Примеры:</p> <ul> <li><code>"de-DE-u-co-phonebk"</code>: использовать вариант телефонной книги немецкого порядка сортировки, который расширяет гласные с умляутами до пар символов: ä → ae, ö → oe, ü → ue.</li> @@ -67,7 +67,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl <p>Аргумент <code>options</code> должен быть объектом со свойствами, которые различаются для конструкторов и функций. Если аргумент <code>options</code> не предоставлен или не определён, для всех свойств используются значения по умолчанию.</p> -<p>Одно свойство поддерживается для всех языко-зависимых конструкторов: свойство <code>localeMatcher</code>, чьим значением должна быть одна из строк <code>"lookup"</code> или <code>"best fit"</code> и которое выбирает один из алгоритмов сопоставления локалей, описанных выше.</p> +<p>Одно свойство поддерживается для всех языка-зависимых конструкторов: свойство <code>localeMatcher</code>, чьим значением должна быть одна из строк <code>"lookup"</code> или <code>"best fit"</code> и которое выбирает один из алгоритмов сопоставления локалей, описанных выше.</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html index cac65c8d03..3be63fdd6f 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html @@ -11,11 +11,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat --- <p>{{JSRef}}</p> -<p>Объект <strong><code>Intl.ListFormat</code></strong> представляет собой конструктор объектов, включающих языко-зависимое форматирование списков.</p> +<p>Объект <strong><code>Intl.ListFormat</code></strong> представляет собой конструктор объектов, включающих языка-зависимое форматирование списков.</p> <div>{{EmbedInteractiveExample("pages/js/intl-listformat.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пулл реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам пул реквест.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html index e29eb2dd27..bcaccbfbd9 100644 --- a/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html +++ b/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat <h2 id="Summary" name="Summary">Сводка</h2> -<p>Объект <strong><code>Intl.NumberFormat</code></strong> является конструктором объектов, включающих языко-зависимое форматирование чисел.</p> +<p>Объект <strong><code>Intl.NumberFormat</code></strong> является конструктором объектов, включающих языка-зависимое форматирование чисел.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/json/index.html b/files/ru/web/javascript/reference/global_objects/json/index.html index 30cc3735af..14b96afbc2 100644 --- a/files/ru/web/javascript/reference/global_objects/json/index.html +++ b/files/ru/web/javascript/reference/global_objects/json/index.html @@ -53,7 +53,7 @@ eval(code); // ошибка </tbody> </table> -<p>Ниже представлен полный синтаскис JSON:</p> +<p>Ниже представлен полный синтаксис JSON:</p> <pre class="line-numbers language-html"><code class="language-html">JSON = null or true or false @@ -114,7 +114,7 @@ ArrayElements = JSON <dd>Возвращает строку JSON, соответствующую указанному значению, возможно с включением только определённых свойств или с заменой значений свойств определяемым пользователем способом.</dd> </dl> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Объект <code>JSON</code> не поддерживается старыми браузерами. Вы можете работать с ним, добавив следующий код в начало ваших скриптов, он позволяет использовать объект <code>JSON</code> в реализациях, которые его ещё не поддерживают (например, в Internet Explorer 6).</p> @@ -144,7 +144,7 @@ ArrayElements = JSON } </pre> -<p>Более сложными известными <a class="external" href="http://remysharp.com/2010/10/08/what-is-a-polyfill/">полифиллами</a> для объекта <code>JSON</code> являются проекты <a class="link-https" href="https://github.com/douglascrockford/JSON-js">JSON2</a> и <a class="external" href="http://bestiejs.github.com/json3">JSON3</a>.</p> +<p>Более сложными известными <a class="external" href="http://remysharp.com/2010/10/08/what-is-a-polyfill/">полифилами</a> для объекта <code>JSON</code> являются проекты <a class="link-https" href="https://github.com/douglascrockford/JSON-js">JSON2</a> и <a class="external" href="http://bestiejs.github.com/json3">JSON3</a>.</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/json/parse/index.html b/files/ru/web/javascript/reference/global_objects/json/parse/index.html index febd8ba943..3216ab34e2 100644 --- a/files/ru/web/javascript/reference/global_objects/json/parse/index.html +++ b/files/ru/web/javascript/reference/global_objects/json/parse/index.html @@ -135,7 +135,7 @@ JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', function(k, v) { <p>На основе <a class="external" href="http://kangax.github.com/es5-compat-table/">таблицы совместимости Kangax</a>.</p> <h3 id="Gecko-specific_notes" name="Gecko-specific_notes">Примечания по Gecko</h3> -<p>Начиная с Gecko 29 {{geckoRelease("29")}}, при передаче некорректной строки JSON выдаётся более подробное собщение об ошибке, содержащее номер строки и колонки, в которых была обнаружена ошибка разбора. Это полезно при отладке больших данных JSON.</p> +<p>Начиная с Gecko 29 {{geckoRelease("29")}}, при передаче некорректной строки JSON выдаётся более подробное сообщение об ошибке, содержащее номер строки и колонки, в которых была обнаружена ошибка разбора. Это полезно при отладке больших данных JSON.</p> <pre class="brush: js">JSON.parse('[1, 2, 3,]'); // SyntaxError: JSON.parse: unexpected character at // line 1 column 10 of the JSON data diff --git a/files/ru/web/javascript/reference/global_objects/map/delete/index.html b/files/ru/web/javascript/reference/global_objects/map/delete/index.html index 749996f85b..442bab843d 100644 --- a/files/ru/web/javascript/reference/global_objects/map/delete/index.html +++ b/files/ru/web/javascript/reference/global_objects/map/delete/index.html @@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete <div>{{EmbedInteractiveExample("pages/js/map-prototype-delete.html")}}</div> -<p class="hidden">Исходники данного интерактивного примера хранятся в репозитории GitHub. Если вы хотите внести свой склад в проект интерактивных примеров - пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и пришлите нам пулл-реквест.</p> +<p class="hidden">Исходники данного интерактивного примера хранятся в репозитории GitHub. Если вы хотите внести свой склад в проект интерактивных примеров - пожалуйста, клонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и пришлите нам пул-реквест.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p><code>true</code> если элемент существовал в {{jsxref("Map")}} и он был удален или <code>false</code> если элемента с такким ключом не было.</p> +<p><code>true</code> если элемент существовал в {{jsxref("Map")}} и он был удален или <code>false</code> если элемента с таким ключом не было.</p> <h2 id="Примеры">Примеры</h2> @@ -68,7 +68,7 @@ myMap.has("bar"); // Возвращает false. Элемента "bar" бо <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на данной странице сгенерирована из структурированных данных. Если вы хотите дополнить данные - пожалуйста клонируйте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и пришлите нам свой пулл-реквест.</div> +<div class="hidden">Таблица совместимости на данной странице сгенерирована из структурированных данных. Если вы хотите дополнить данные - пожалуйста клонируйте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и пришлите нам свой пул-реквест.</div> <p>{{Compat("javascript.builtins.Map.delete")}}</p> diff --git a/files/ru/web/javascript/reference/global_objects/map/entries/index.html b/files/ru/web/javascript/reference/global_objects/map/entries/index.html index fd34bd9a6b..ccdd07a182 100644 --- a/files/ru/web/javascript/reference/global_objects/map/entries/index.html +++ b/files/ru/web/javascript/reference/global_objects/map/entries/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries <p>2. Ознакомьтесь с руководством <a href="https://github.com/mdn/interactive-examples/blob/master/CONTRIBUTING.md">https://github.com/mdn/interactive-examples/blob/master/CONTRIBUTING.md</a></p> -<p>3. Напишите свой пример и отравьте нам запрос на извлечение.</p> +<p>3. Напишите свой пример и отправьте нам запрос на извлечение.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/map/index.html b/files/ru/web/javascript/reference/global_objects/map/index.html index 8e6551addf..1104571ff4 100644 --- a/files/ru/web/javascript/reference/global_objects/map/index.html +++ b/files/ru/web/javascript/reference/global_objects/map/index.html @@ -193,7 +193,7 @@ console.log(Array.from(myMap)); // Выведет точно такой же м console.log(Array.from(myMap.keys())); // Выведет ['key1', 'key2'] </pre> -<h3 id="Клонирование_и_сляние_Map">Клонирование и сляние <code>Map</code></h3> +<h3 id="Клонирование_и_слияние_Map">Клонирование и слияние <code>Map</code></h3> <p> Равно как и {{jsxref("Array", "Массивы")}}, <code>Map</code> могут быть клонированы:</p> @@ -273,7 +273,7 @@ console.log(merged.get(3)); // three</pre> <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на данной странице сгенерирована из структурированных данных. Если вы хотите дополнить данные - пожалуйста клонируйте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и пришлите нам свой пулл-реквест.</div> +<div class="hidden">Таблица совместимости на данной странице сгенерирована из структурированных данных. Если вы хотите дополнить данные - пожалуйста клонируйте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и пришлите нам свой пул-реквест.</div> <p>{{Compat("javascript.builtins.Map")}}</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/acosh/index.html b/files/ru/web/javascript/reference/global_objects/math/acosh/index.html index 7dc0900c24..7b253c64e5 100644 --- a/files/ru/web/javascript/reference/global_objects/math/acosh/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/acosh/index.html @@ -47,7 +47,7 @@ Math.acosh(2); // 1.3169578969248166 <p>Для значений, меньших 1, метод <code>Math.acosh()</code> возвращает {{jsxref("NaN")}}.</p> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Для всех <math><semantics><mrow><mi>x</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="TeX">x \geq 1</annotation></semantics></math>, мы имеем <math><semantics><mrow><mo lspace="0em" rspace="thinmathspace">arcosh</mo><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mo lspace="0em" rspace="0em">ln</mo><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><msqrt><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>-</mo><mn>1</mn></mrow></msqrt></mrow><mo>)</mo></mrow></mrow><annotation encoding="TeX">\operatorname {arcosh} (x) = \ln \left(x + \sqrt{x^{2} - 1} \right)</annotation></semantics></math>, так что этот метод может эмулироваться следующим образом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/asinh/index.html b/files/ru/web/javascript/reference/global_objects/math/asinh/index.html index f1d1937d36..d441e20b4b 100644 --- a/files/ru/web/javascript/reference/global_objects/math/asinh/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/asinh/index.html @@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/asinh Math.asinh(0); // 0 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Мы имеем <math><semantics><mrow><mo lspace="0em" rspace="thinmathspace">arsinh</mo><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mo lspace="0em" rspace="0em">ln</mo><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><msqrt><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mn>1</mn></mrow></msqrt></mrow><mo>)</mo></mrow></mrow><annotation encoding="TeX">\operatorname {arsinh} (x) = \ln \left(x + \sqrt{x^{2} + 1} \right)</annotation></semantics></math>, так что этот метод может эмулироваться следующим образом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/atanh/index.html b/files/ru/web/javascript/reference/global_objects/math/atanh/index.html index 55aabd470e..cbdaeae2d2 100644 --- a/files/ru/web/javascript/reference/global_objects/math/atanh/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/atanh/index.html @@ -48,7 +48,7 @@ Math.atanh(2); // NaN <p>Для значений, меньших -1 или больших 1, метод <code>Math.atanh()</code> возвращает {{jsxref("NaN")}}.</p> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Для <math><semantics><mrow><mrow><mo>|</mo><mi>x</mi><mo>|</mo></mrow><mo><</mo><mn>1</mn></mrow><annotation encoding="TeX">\left|x\right| < 1</annotation></semantics></math>, мы имеем <math><semantics><mrow><mo lspace="0em" rspace="thinmathspace">artanh</mo><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo lspace="0em" rspace="0em">ln</mo><mrow><mo>(</mo><mfrac><mrow><mn>1</mn><mo>+</mo><mi>x</mi></mrow><mrow><mn>1</mn><mo>-</mo><mi>x</mi></mrow></mfrac><mo>)</mo></mrow></mrow><annotation encoding="TeX">\operatorname {artanh} (x) = \frac{1}{2}\ln \left( \frac{1 + x}{1 - x} \right)</annotation></semantics></math>, так что этот метод может эмулироваться следующим образом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/cbrt/index.html b/files/ru/web/javascript/reference/global_objects/math/cbrt/index.html index 6eccb4f7f2..2f39dea92c 100644 --- a/files/ru/web/javascript/reference/global_objects/math/cbrt/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/cbrt/index.html @@ -42,7 +42,7 @@ Math.cbrt(1); // 1 Math.cbrt(2); // 1.2599210498948734 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Для всех <math><semantics><mrow><mi>x</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="TeX">x \geq 0</annotation></semantics></math>, мы имеем <math><semantics><mrow><mroot><mi>x</mi><mn>3</mn></mroot><mo>=</mo><msup><mi>x</mi><mrow><mn>1</mn><mo>/</mo><mn>3</mn></mrow></msup></mrow><annotation encoding="TeX">\sqrt[3]{x} = x^{1/3}</annotation></semantics></math>, так что этот метод может эмулироваться следующим образом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/clz32/index.html b/files/ru/web/javascript/reference/global_objects/math/clz32/index.html index 127ae43179..6a2d796519 100644 --- a/files/ru/web/javascript/reference/global_objects/math/clz32/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/clz32/index.html @@ -35,9 +35,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/clz32 <p>Если значение <code>x</code> не является числом, оно будет сначала преобразовано в число, а потом в 32-битное беззнаковое целое число.</p> -<p>Если преобразованое 32-битное беззнаковое целое число равно <code>0</code>, метод вернёт <code>32</code>, поскольку все биты в числе равны <code>0</code>.</p> +<p>Если преобразованное 32-битное беззнаковое целое число равно <code>0</code>, метод вернёт <code>32</code>, поскольку все биты в числе равны <code>0</code>.</p> -<p>Этот метод особено полезен для систем, которые компилируются в JS, например, для <a href="/ru/docs/Emscripten">Emscripten</a>.</p> +<p>Этот метод особенно полезен для систем, которые компилируются в JS, например, для <a href="/ru/docs/Emscripten">Emscripten</a>.</p> <h2 id="Examples" name="Examples">Примеры</h2> @@ -56,7 +56,7 @@ Math.clz32(true); // 31 Math.clz32(3.5); // 30 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">Math.clz32 = Math.clz32 || function(value) { value = Number(value) >>> 0; diff --git a/files/ru/web/javascript/reference/global_objects/math/cosh/index.html b/files/ru/web/javascript/reference/global_objects/math/cosh/index.html index 548d793b7e..ef4e82d0eb 100644 --- a/files/ru/web/javascript/reference/global_objects/math/cosh/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/cosh/index.html @@ -43,7 +43,7 @@ Math.cosh(1); // 1.5430806348152437 Math.cosh(-1); // 1.5430806348152437 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться при помощи двух вызовов метода {{jsxref("Math.exp()")}}:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/expm1/index.html b/files/ru/web/javascript/reference/global_objects/math/expm1/index.html index 26b21553ba..9a08960c61 100644 --- a/files/ru/web/javascript/reference/global_objects/math/expm1/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/expm1/index.html @@ -41,7 +41,7 @@ Math.expm1(0); // 0 Math.expm1(1); // 1.718281828459045 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться при помощи метода {{jsxref("Math.exp()")}}:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/fround/index.html b/files/ru/web/javascript/reference/global_objects/math/fround/index.html index b6dd9e242d..a100999c70 100644 --- a/files/ru/web/javascript/reference/global_objects/math/fround/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/fround/index.html @@ -43,7 +43,7 @@ Math.fround(1.5); // 1.5 Math.fround(NaN); // NaN </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться следующим образом, при условии, что среда выполнения поддерживает объект {{jsxref("Float32Array")}}:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/hypot/index.html b/files/ru/web/javascript/reference/global_objects/math/hypot/index.html index df3271d28c..94b8d5a405 100644 --- a/files/ru/web/javascript/reference/global_objects/math/hypot/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/hypot/index.html @@ -53,7 +53,7 @@ Math.hypot(3, 4, '5'); // 7.0710678118654755, +'5' => 5 Math.hypot(-3); // 3, то же самое, что и Math.abs(-3) </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться следующим образом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/imul/index.html b/files/ru/web/javascript/reference/global_objects/math/imul/index.html index 8c1480a99a..2690da6add 100644 --- a/files/ru/web/javascript/reference/global_objects/math/imul/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/imul/index.html @@ -45,7 +45,7 @@ Math.imul(0xffffffff, 5); // -5 Math.imul(0xfffffffe, 5); // -10 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться следующим способом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/index.html b/files/ru/web/javascript/reference/global_objects/math/index.html index 337e2229b2..bceb849d92 100644 --- a/files/ru/web/javascript/reference/global_objects/math/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/index.html @@ -82,7 +82,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math <dt>{{jsxref("Global_Objects/Math/floor", "Math.floor(x)")}}</dt> <dd>Возвращает значение числа, округлённое к меньшему целому.</dd> <dt>{{jsxref("Global_Objects/Math/fround", "Math.fround(x)")}} {{experimental_inline}}</dt> - <dd>Возвращает ближайшее число с плавающей запятой <a href="https://ru.wikipedia.org/wiki/Число_одинарной_точности">одинарной точности</a>, представляюще это число.</dd> + <dd>Возвращает ближайшее число с плавающей запятой <a href="https://ru.wikipedia.org/wiki/Число_одинарной_точности">одинарной точности</a>, представляющие это число.</dd> <dt>{{jsxref("Global_Objects/Math/hypot", "Math.hypot([x[, y[, …]]])")}} {{experimental_inline}}</dt> <dd>Возвращает квадратный корень из суммы квадратов своих аргументов.</dd> <dt>{{jsxref("Global_Objects/Math/imul", "Math.imul(x)")}} {{experimental_inline}}</dt> diff --git a/files/ru/web/javascript/reference/global_objects/math/log10/index.html b/files/ru/web/javascript/reference/global_objects/math/log10/index.html index 8ae3c545bf..ee0538c053 100644 --- a/files/ru/web/javascript/reference/global_objects/math/log10/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/log10/index.html @@ -48,7 +48,7 @@ Math.log10(-2); // NaN Math.log10(100000); // 5 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться следующим способом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/log1p/index.html b/files/ru/web/javascript/reference/global_objects/math/log1p/index.html index 54a33e9e66..e280b3ae5e 100644 --- a/files/ru/web/javascript/reference/global_objects/math/log1p/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/log1p/index.html @@ -47,7 +47,7 @@ Math.log1p(-1); // -Infinity Math.log1p(-2); // NaN </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться следующим способом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/log2/index.html b/files/ru/web/javascript/reference/global_objects/math/log2/index.html index e07c3726c9..40e8c9e901 100644 --- a/files/ru/web/javascript/reference/global_objects/math/log2/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/log2/index.html @@ -50,7 +50,7 @@ Math.log2(-2); // NaN Math.log2(1024); // 10 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться следующим способом:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/random/index.html b/files/ru/web/javascript/reference/global_objects/math/random/index.html index 7b25fda4d1..4fc7d8f250 100644 --- a/files/ru/web/javascript/reference/global_objects/math/random/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/random/index.html @@ -56,12 +56,12 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random }</pre> <div class="blockIndicator note"> -<p>Может показаться заманчивым использовать <code>Math.round()</code> для округления, но это может сделать распределение неравномерным, что может оказаться неприемлимым для ваших нужд.</p> +<p>Может показаться заманчивым использовать <code>Math.round()</code> для округления, но это может сделать распределение неравномерным, что может оказаться неприемлемым для ваших нужд.</p> </div> <h3 id="Получение_случайного_целого_числа_в_заданном_интервале_включительно">Получение случайного целого числа в заданном интервале, включительно</h3> -<p>Функция <code>getRandomInt()</code> выше включает минимальное значение, но не включает максимальное. Но что если вам нужно, чтобы влючалось и минимальное, и максимальное значение? Функция <code>getRandomIntInclusive()</code> решает этот вопрос.</p> +<p>Функция <code>getRandomInt()</code> выше включает минимальное значение, но не включает максимальное. Но что если вам нужно, чтобы включалось и минимальное, и максимальное значение? Функция <code>getRandomIntInclusive()</code> решает этот вопрос.</p> <pre class="brush: js">function getRandomIntInclusive(min, max) { min = Math.ceil(min); diff --git a/files/ru/web/javascript/reference/global_objects/math/sign/index.html b/files/ru/web/javascript/reference/global_objects/math/sign/index.html index 029bb3af31..b5abd50ef8 100644 --- a/files/ru/web/javascript/reference/global_objects/math/sign/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/sign/index.html @@ -50,7 +50,7 @@ Math.sign('foo'); // NaN Math.sign(); // NaN </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">Math.sign = Math.sign || function(x) { x = +x; // преобразуем в число diff --git a/files/ru/web/javascript/reference/global_objects/math/sinh/index.html b/files/ru/web/javascript/reference/global_objects/math/sinh/index.html index 2ea2438584..82297eb015 100644 --- a/files/ru/web/javascript/reference/global_objects/math/sinh/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/sinh/index.html @@ -43,7 +43,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/sinh Math.sinh(1); // 1.1752011936438014 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться при помощи двух вызовов метода {{jsxref("Math.exp()")}}:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/tanh/index.html b/files/ru/web/javascript/reference/global_objects/math/tanh/index.html index 51a6a05524..7cb2cffd66 100644 --- a/files/ru/web/javascript/reference/global_objects/math/tanh/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/tanh/index.html @@ -44,7 +44,7 @@ Math.tanh(Infinity); // 1 Math.tanh(1); // 0.7615941559557649 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод может эмулироваться при помощи двух вызовов метода {{jsxref("Math.exp()")}}:</p> diff --git a/files/ru/web/javascript/reference/global_objects/math/trunc/index.html b/files/ru/web/javascript/reference/global_objects/math/trunc/index.html index 6e7b44147b..c8eee8a82a 100644 --- a/files/ru/web/javascript/reference/global_objects/math/trunc/index.html +++ b/files/ru/web/javascript/reference/global_objects/math/trunc/index.html @@ -64,7 +64,7 @@ Math.trunc('foo'); // NaN Math.trunc(); // NaN </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">if (!Math.trunc) { Math.trunc = function(v) { diff --git a/files/ru/web/javascript/reference/global_objects/number/epsilon/index.html b/files/ru/web/javascript/reference/global_objects/number/epsilon/index.html index 0b229290de..5b6d874f6f 100644 --- a/files/ru/web/javascript/reference/global_objects/number/epsilon/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/epsilon/index.html @@ -32,7 +32,7 @@ equal = (Math.abs(x - y + z) < Number.EPSILON);</code></pre> -<h2 id="Examples" name="Examples">Полифилл</h2> +<h2 id="Examples" name="Examples">Полифил</h2> <pre class="brush: js">if (Number.EPSILON === undefined) { Number.EPSILON = Math.pow(2, -52); diff --git a/files/ru/web/javascript/reference/global_objects/number/index.html b/files/ru/web/javascript/reference/global_objects/number/index.html index b8ea32f7d5..71dc320d34 100644 --- a/files/ru/web/javascript/reference/global_objects/number/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/index.html @@ -64,7 +64,7 @@ var <em>b</em> = Number('123'); // b === 123 is true <dl> <dt>{{jsxref("Number.isNaN()")}} {{experimental_inline}}</dt> - <dd>Определяет, является ли переданнное значение значением {{jsxref("Global_Objects/NaN", "NaN")}}.</dd> + <dd>Определяет, является ли переданное значение значением {{jsxref("Global_Objects/NaN", "NaN")}}.</dd> <dt>{{jsxref("Number.isFinite()")}} {{experimental_inline}}</dt> <dd>Определяет, является ли переданное значение конечным числом.</dd> <dt>{{jsxref("Number.isInteger()")}} {{experimental_inline}}</dt> diff --git a/files/ru/web/javascript/reference/global_objects/number/isfinite/index.html b/files/ru/web/javascript/reference/global_objects/number/isfinite/index.html index 26ed94a8c9..7873fedb6f 100644 --- a/files/ru/web/javascript/reference/global_objects/number/isfinite/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/isfinite/index.html @@ -45,7 +45,7 @@ Number.isFinite('0'); // false, при использовании глоб // функции isFinite('0') было бы true </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">Number.isFinite = Number.isFinite || function(value) { return typeof value === 'number' && isFinite(value); diff --git a/files/ru/web/javascript/reference/global_objects/number/isinteger/index.html b/files/ru/web/javascript/reference/global_objects/number/isinteger/index.html index 433a19f64b..5bcd056176 100644 --- a/files/ru/web/javascript/reference/global_objects/number/isinteger/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/isinteger/index.html @@ -57,7 +57,7 @@ Number.isInteger(5.0); // true Number.isInteger(5.000000000000001); // false Number.isInteger(5.0000000000000001); // true</pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">Number.isInteger = Number.isInteger || function(value) { return typeof value === 'number' && diff --git a/files/ru/web/javascript/reference/global_objects/number/isnan/index.html b/files/ru/web/javascript/reference/global_objects/number/isnan/index.html index 173fd76c17..8aee931a2c 100644 --- a/files/ru/web/javascript/reference/global_objects/number/isnan/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/isnan/index.html @@ -56,7 +56,7 @@ Number.isNaN(''); Number.isNaN(' '); </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">Number.isNaN = Number.isNaN || function(value) { return typeof value === 'number' && isNaN(value); diff --git a/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html b/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html index 9fbc3bb7d9..275618d7ed 100644 --- a/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/issafeinteger/index.html @@ -56,7 +56,7 @@ Number.isSafeInteger(3.1); // false Number.isSafeInteger(3.0); // true </pre> -<h2 id="Specifications" name="Specifications">Полифилл</h2> +<h2 id="Specifications" name="Specifications">Полифил</h2> <pre class="brush: js notranslate">Number.isSafeInteger = Number.isSafeInteger || function (value) { return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; diff --git a/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.html b/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.html index 652a6aa821..2c4d730342 100644 --- a/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/max_safe_integer/index.html @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER Math.pow(2, 53) - 1 // 9007199254740991 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">if (!Number.MAX_SAFE_INTEGER) { Number.MAX_SAFE_INTEGER = 9007199254740991; // Math.pow(2, 53) - 1; diff --git a/files/ru/web/javascript/reference/global_objects/number/negative_infinity/index.html b/files/ru/web/javascript/reference/global_objects/number/negative_infinity/index.html index 7f65de76b3..b96fb93d07 100644 --- a/files/ru/web/javascript/reference/global_objects/number/negative_infinity/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/negative_infinity/index.html @@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY <h2 id="Examples" name="Examples">Примеры</h2> <h3 id="Example:_Using_NEGATIVE_INFINITY" name="Example:_Using_NEGATIVE_INFINITY">Пример: использование <code>NEGATIVE_INFINITY</code></h3> -<p>В следующем примере переменной <code>smallNumber</code> присваивается значение, меньшее минимального. Когда выполняется инструкция {{jsxref("Statements/if...else", "if")}}, переменная <code>smallNumber</code> имеет значение <code>-Infinity</code>, так что перед продолжением вычислений она устанавливается в более приемлимое значение.</p> +<p>В следующем примере переменной <code>smallNumber</code> присваивается значение, меньшее минимального. Когда выполняется инструкция {{jsxref("Statements/if...else", "if")}}, переменная <code>smallNumber</code> имеет значение <code>-Infinity</code>, так что перед продолжением вычислений она устанавливается в более приемлемое значение.</p> <pre class="brush: js">var smallNumber = (-Number.MAX_VALUE) * 2; if (smallNumber == Number.NEGATIVE_INFINITY) { diff --git a/files/ru/web/javascript/reference/global_objects/number/parseint/index.html b/files/ru/web/javascript/reference/global_objects/number/parseint/index.html index 66bc26675f..2840299c37 100644 --- a/files/ru/web/javascript/reference/global_objects/number/parseint/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/parseint/index.html @@ -37,9 +37,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/parseInt <pre class="brush: js">Number.parseInt === parseInt; // true</pre> -<p>Пожалуйства, обратитесь к документации по глобальной функции {{jsxref("Global_Objects/parseInt", "parseInt()")}} для просмотра подробного описания и примеров.</p> +<p>Пожалуйста, обратитесь к документации по глобальной функции {{jsxref("Global_Objects/parseInt", "parseInt()")}} для просмотра подробного описания и примеров.</p> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <pre class="brush: js">if (Number.parseInt === undefined) { Number.parseInt = window.parseInt; diff --git a/files/ru/web/javascript/reference/global_objects/number/positive_infinity/index.html b/files/ru/web/javascript/reference/global_objects/number/positive_infinity/index.html index fd87dde80a..b3042195bb 100644 --- a/files/ru/web/javascript/reference/global_objects/number/positive_infinity/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/positive_infinity/index.html @@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY <h2 id="Examples" name="Examples">Примеры</h2> <h3 id="Example:_Using_POSITIVE_INFINITY" name="Example:_Using_POSITIVE_INFINITY">Пример: использование <code>POSITIVE_INFINITY</code></h3> -<p>В следующем примере переменной <code>bigNumber</code> присваивается значение, большее максимального. Когда выполняется инструкция {{jsxref("Statements/if...else", "if")}}, переменная <code>bigNumber</code> имеет значение <code>Infinity</code>, так что перед продолжением вычислений она устанавливается в более приемлимое значение.</p> +<p>В следующем примере переменной <code>bigNumber</code> присваивается значение, большее максимального. Когда выполняется инструкция {{jsxref("Statements/if...else", "if")}}, переменная <code>bigNumber</code> имеет значение <code>Infinity</code>, так что перед продолжением вычислений она устанавливается в более приемлемое значение.</p> <pre class="brush: js">var bigNumber = Number.MAX_VALUE * 2; if (bigNumber == Number.POSITIVE_INFINITY) { diff --git a/files/ru/web/javascript/reference/global_objects/number/tolocalestring/index.html b/files/ru/web/javascript/reference/global_objects/number/tolocalestring/index.html index 1c6048805a..6add25ff14 100644 --- a/files/ru/web/javascript/reference/global_objects/number/tolocalestring/index.html +++ b/files/ru/web/javascript/reference/global_objects/number/tolocalestring/index.html @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <strong><code>toLocaleString()</code></strong> возвращает строку с языко-зависимым представлением числа.</p> +<p>Метод <strong><code>toLocaleString()</code></strong> возвращает строку с языкозависимым представлением числа.</p> <p>Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чьё поведение и соглашения по форматированию которого оно хочет использовать. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и форма возвращённой строки целиком зависит от реализации.</p> diff --git a/files/ru/web/javascript/reference/global_objects/object/assign/index.html b/files/ru/web/javascript/reference/global_objects/object/assign/index.html index f4c222cc26..354f4ce4e5 100644 --- a/files/ru/web/javascript/reference/global_objects/object/assign/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/assign/index.html @@ -149,9 +149,9 @@ console.log(copy); // { foo:1, get bar() { return 2 } } </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Этот полифилл не поддерживает символьные свойства, поскольку ES5 всё равно не поддерживает символы:</p> +<p>Этот полифил не поддерживает символьные свойства, поскольку ES5 всё равно не поддерживает символы:</p> <pre class="brush: js">if (!Object.assign) { Object.defineProperty(Object, 'assign', { diff --git a/files/ru/web/javascript/reference/global_objects/object/create/index.html b/files/ru/web/javascript/reference/global_objects/object/create/index.html index d17862e00d..c607e3bdee 100644 --- a/files/ru/web/javascript/reference/global_objects/object/create/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/create/index.html @@ -71,7 +71,7 @@ console.log('Является ли rect экземпляром Shape? ' + (rect rect.move(1, 1); // выведет 'Фигура переместилась.' </pre> -<p>Если вы хотите унаследоваться от нескольких объектов, то это возможно сделать при помощи примесей.</p> +<p>Если вы хотите наследоваться от нескольких объектов, то это возможно сделать при помощи примесей.</p> <pre class="brush: js notranslate">function MyClass() { SuperClass.call(this); @@ -155,9 +155,9 @@ o2 = Object.create({}, { }); </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Для этого полифилла необходима правильно работающая Object.prototype.hasOwnProperty.</p> +<p>Для этого полифила необходима правильно работающая Object.prototype.hasOwnProperty.</p> <pre class="brush: js notranslate">if (typeof Object.create != 'function') { // Этапы производства ECMA-262, издание 5, 15.2.3.5 diff --git a/files/ru/web/javascript/reference/global_objects/object/defineproperties/index.html b/files/ru/web/javascript/reference/global_objects/object/defineproperties/index.html index 30e95e65a1..5af8a2cf75 100644 --- a/files/ru/web/javascript/reference/global_objects/object/defineproperties/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/defineproperties/index.html @@ -76,7 +76,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/defineProperties }); </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Предполагается, что среда выполнения осталась нетронутой, все имена и свойства ссылаются на свои изначальные значения. Оригинальный метод <code>Object.defineProperties</code> почти полностью эквивалентен (смотрите комментарий в функции <code>isCallable</code>) следующей реализации на JavaScript:</p> diff --git a/files/ru/web/javascript/reference/global_objects/object/defineproperty/index.html b/files/ru/web/javascript/reference/global_objects/object/defineproperty/index.html index 41accdbee2..54b342bb89 100644 --- a/files/ru/web/javascript/reference/global_objects/object/defineproperty/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/defineproperty/index.html @@ -118,7 +118,7 @@ Object.defineProperty(obj, 'key', withValue('static')); <h3 id="Example:_Creating_a_property" name="Example:_Creating_a_property">Пример: создание свойства</h3> -<p>Если указанное свойство не существует в объекте, метод <code>Object.defineProperty()</code> создаст новое свойство по переданному описанию. Поля в дескрипторе могут быть опущены, в этом случае их значения будут значениями по умолчанию. Все логические поля будут по-умолчанию установлены в <code>false</code>. Поля <code>value</code>, <code>get</code> и <code>set</code> по умолчанию будут установлены в {{jsxref("Global_Objects/undefined", "undefined")}}. Свойство, определённое без атрибутов <code>get</code>/<code>set</code>/<code>value</code>/<code>writable</code> называется «общим», а дескриптор данных — «типовым».</p> +<p>Если указанное свойство не существует в объекте, метод <code>Object.defineProperty()</code> создаст новое свойство по переданному описанию. Поля в дескрипторе могут быть опущены, в этом случае их значения будут значениями по умолчанию. Все логические поля будут по умолчанию установлены в <code>false</code>. Поля <code>value</code>, <code>get</code> и <code>set</code> по умолчанию будут установлены в {{jsxref("Global_Objects/undefined", "undefined")}}. Свойство, определённое без атрибутов <code>get</code>/<code>set</code>/<code>value</code>/<code>writable</code> называется «общим», а дескриптор данных — «типовым».</p> <pre class="brush: js">var o = {}; // Создаём новый объект @@ -363,7 +363,7 @@ arc.getArchive(); // [{ val: 11 }, { val: 13 }] <h3 id="Redefining_the_length_property_of_an_Array_object" name="Redefining_the_length_property_of_an_Array_object">Переопределение свойства <code>length</code> на объекте <code>Array</code></h3> -<p>На массивах возможно переопределить свойство {{jsxref("Array.length", "length")}}, при условии соблюдения обычных ограничений на переопределение. (Изначально свойство {{jsxref("Array.length", "length")}} является ненастраиваемым, неперечисляемым и записываемым. Таким образом, на неизменнённом массиве возможно изменить значение свойства {{jsxref("Array.length", "length")}} либо сделать его незаписываемым. Его перечисляемость или настраиваемость изменить нельзя, так же как и его записываемость, если оно сделано не записываемым.) Однако не все браузеры поддерживают такое переопределение.</p> +<p>На массивах возможно переопределить свойство {{jsxref("Array.length", "length")}}, при условии соблюдения обычных ограничений на переопределение. (Изначально свойство {{jsxref("Array.length", "length")}} является ненастраиваемым, неперечисляемым и записываемым. Таким образом, на неизмененном массиве возможно изменить значение свойства {{jsxref("Array.length", "length")}} либо сделать его незаписываемым. Его перечисляемость или настраиваемость изменить нельзя, так же как и его записываемость, если оно сделано не записываемым.) Однако не все браузеры поддерживают такое переопределение.</p> <p>Firefox с версии 4 по версию 22 бросает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}} на любую попытку (вне зависимости от того, разрешена ли она или нет) переопределить свойство {{jsxref("Array.length", "length")}} массива.</p> diff --git a/files/ru/web/javascript/reference/global_objects/object/entries/index.html b/files/ru/web/javascript/reference/global_objects/object/entries/index.html index 505065970b..87a9de90b8 100644 --- a/files/ru/web/javascript/reference/global_objects/object/entries/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/entries/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries --- <div>{{JSRef}}</div> -<p><code><strong>Object.entries()</strong></code> метод возвращает массив собственных перечисляемых свойств указанного объекта в формате <code>[key, value]</code>, в том же порядке, что и в цикле {{jsxref("Statements/for...in", "for...in")}} (разница в том, что for-in перечисляет свойства из цепочки прототипов). Порядок элементов в массиве который возвращается <code><strong>Object.entries()</strong></code> не зависит от того как объект обьявлен. Если существует необходимость в определенном порядке, то массив должен быть отсортирован до вызова метода, например <code>Object.entries(obj).sort((a, b) => a[0] - b[0]);</code>.</p> +<p><code><strong>Object.entries()</strong></code> метод возвращает массив собственных перечисляемых свойств указанного объекта в формате <code>[key, value]</code>, в том же порядке, что и в цикле {{jsxref("Statements/for...in", "for...in")}} (разница в том, что for-in перечисляет свойства из цепочки прототипов). Порядок элементов в массиве который возвращается <code><strong>Object.entries()</strong></code> не зависит от того как объект объявлен. Если существует необходимость в определенном порядке, то массив должен быть отсортирован до вызова метода, например <code>Object.entries(obj).sort((a, b) => a[0] - b[0]);</code>.</p> <p>{{EmbedInteractiveExample("pages/js/object-entries.html")}}</p> @@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries <h2 id="Описание">Описание</h2> -<p><code>Object.entries()</code> возвращает массив, элементами которого являются массивы, соответсвующие перечисляемому свойству пары <code>[key, value],</code> найденной прямо в <code>object</code>. Порядок свойств тот же, что и при прохождении циклом по свойствам объекта вручную.</p> +<p><code>Object.entries()</code> возвращает массив, элементами которого являются массивы, соответствующие перечисляемому свойству пары <code>[key, value],</code> найденной прямо в <code>object</code>. Порядок свойств тот же, что и при прохождении циклом по свойствам объекта вручную.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html b/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html index 6935cd3ec6..7bf1d17719 100644 --- a/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/fromentries/index.html @@ -27,13 +27,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/fromEntries <dd>Итерируемый объект, такой как {{jsxref("Array")}} или {{jsxref("Map")}} или другие объекты, реализующие <a href="/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol">iterable протокол</a>.</dd> </dl> -<h3 id="Возращаемое_значение">Возращаемое значение</h3> +<h3 id="Возвращаемое_значение">Возвращаемое значение</h3> <p>Новый объект, свойства которого задаются записями iterable.</p> <h2 id="Описание">Описание</h2> -<p>Метод <code>Object.fromEntries()</code> принимает список пар ключ-значение и возвращает новый объект, свойства которого задаются этими записями. Ожидается, что аргумент <em>iterable </em>будет объектом, который реализует метод <code>@@iterator</code>, который возращает объект итератора, который создает двуэлементный массивоподобный объект, первый элемент которого является значением, которое будет использоваться в качестве ключа свойства, а второй элемент — значением связанного с этим ключом свойства.</p> +<p>Метод <code>Object.fromEntries()</code> принимает список пар ключ-значение и возвращает новый объект, свойства которого задаются этими записями. Ожидается, что аргумент <em>iterable </em>будет объектом, который реализует метод <code>@@iterator</code>, который возвращает объект итератора, который создает двухэлементный массивоподобный объект, первый элемент которого является значением, которое будет использоваться в качестве ключа свойства, а второй элемент — значением связанного с этим ключом свойства.</p> <p><code>Object.fromEntries()</code> выполняет процедуру, обратную {{jsxref("Object.entries()")}}.</p> diff --git a/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html b/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html index 3b1c545f1b..1700aa0e2c 100644 --- a/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/getownpropertydescriptors/index.html @@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDes <dd>Объект, для которого нужно получить все собственные дескрипторы свойств.</dd> </dl> -<h3 id="Возращаемое_значение">Возращаемое значение</h3> +<h3 id="Возвращаемое_значение">Возвращаемое значение</h3> <p>Объект, содержащий все собственные дескрипторы свойств объекта. Может быть пустой объект, если нет свойств.</p> @@ -51,7 +51,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDes <h3 id="Создание_поверхностного_клона">Создание поверхностного клона</h3> -<p>В то время как метод {{jsxref("Object.assign()")}} будет только копировать перечисяемые и собственные свойствва из исходного объекат в целевой объект, вы можете использовать этот метод и {{jsxref("Object.create()")}} для поверхностного копирования между двумя неизвестными объектами:</p> +<p>В то время как метод {{jsxref("Object.assign()")}} будет только копировать перечисляемые и собственные свойства из исходного объекта в целевой объект, вы можете использовать этот метод и {{jsxref("Object.create()")}} для поверхностного копирования между двумя неизвестными объектами:</p> <pre class="brush: js">Object.create( Object.getPrototypeOf(obj), diff --git a/files/ru/web/javascript/reference/global_objects/object/getprototypeof/index.html b/files/ru/web/javascript/reference/global_objects/object/getprototypeof/index.html index 540fddb350..6c5e7e11d4 100644 --- a/files/ru/web/javascript/reference/global_objects/object/getprototypeof/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/getprototypeof/index.html @@ -127,7 +127,7 @@ String.prototype // код ES6 <h3 id="Opera-specific_notes" name="Opera-specific_notes">Примечания по Opera</h3> -<p>Хотя старые версии Opera и не поддерживают меотод <code>Object.getPrototypeOf()</code>, Opera поддерживает нестандартное свойство {{jsxref("Object.proto", "__proto__")}}, начиная с версии Opera 10.50.</p> +<p>Хотя старые версии Opera и не поддерживают метод <code>Object.getPrototypeOf()</code>, Opera поддерживает нестандартное свойство {{jsxref("Object.proto", "__proto__")}}, начиная с версии Opera 10.50.</p> <h2 id="See_also" name="See_also">Смотрите также</h2> diff --git a/files/ru/web/javascript/reference/global_objects/object/hasownproperty/index.html b/files/ru/web/javascript/reference/global_objects/object/hasownproperty/index.html index c1fa2f6464..152b8989c2 100644 --- a/files/ru/web/javascript/reference/global_objects/object/hasownproperty/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/hasownproperty/index.html @@ -52,7 +52,7 @@ o.hasOwnProperty('prop'); // вернёт false <h3 id="Example:_Direct_versus_inherited_properties" name="Example:_Direct_versus_inherited_properties">Пример: собственные и унаследованные свойства</h3> -<p>Следующий пример показывает разницу между собственными свойствами и свойствами, унаследоваными через цепочку прототипов:</p> +<p>Следующий пример показывает разницу между собственными свойствами и свойствами, унаследованными через цепочку прототипов:</p> <pre class="brush: js">o = new Object(); o.prop = 'существует'; diff --git a/files/ru/web/javascript/reference/global_objects/object/index.html b/files/ru/web/javascript/reference/global_objects/object/index.html index 0286dff0dd..0b63883b55 100644 --- a/files/ru/web/javascript/reference/global_objects/object/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/index.html @@ -37,7 +37,7 @@ new Object([<var>value</var>]) <p>Конструктор <code>Object</code> создаёт объект-обёртку для переданного значения. Если значением является {{jsxref("Global_Objects/null", "null")}} или {{jsxref("Global_Objects/undefined", "undefined")}}, создаёт и возвращает пустой объект, в противном случае возвращает объект такого типа, который соответствует переданному значению. Если значение уже является объектом, конструктор вернёт это значение.</p> -<p>При вызове в не-конструкторном контексте, <code>Object</code> ведёт себя идентично коду <code>new Object()</code>.</p> +<p>При вызове в не-конструктором контексте, <code>Object</code> ведёт себя идентично коду <code>new Object()</code>.</p> <p>Так же смотрите {{jsxref("Operators/Object_initializer", "синтаксис инициализатора объекта / литеральный синтаксис", "", 1)}}.</p> @@ -68,7 +68,7 @@ new Object([<var>value</var>]) <dt>{{jsxref("Object.getOwnPropertyNames()")}}</dt> <dd>Возвращает массив, содержащий имена всех переданных объекту <strong>собственных</strong> перечисляемых и неперечисляемых свойств.</dd> <dt>{{jsxref("Object.getOwnPropertySymbols()")}}</dt> - <dd>Возвращает массив всех символьных свойств, найденных непосредственно в переданом объекте.</dd> + <dd>Возвращает массив всех символьных свойств, найденных непосредственно в переданном объекте.</dd> <dt>{{jsxref("Object.getPrototypeOf()")}}</dt> <dd>Возвращает прототип указанного объекта.</dd> <dt>{{jsxref("Object.is()")}}</dt> diff --git a/files/ru/web/javascript/reference/global_objects/object/is/index.html b/files/ru/web/javascript/reference/global_objects/object/is/index.html index c9f061a3a9..c921d8a772 100644 --- a/files/ru/web/javascript/reference/global_objects/object/is/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/is/index.html @@ -72,7 +72,7 @@ Object.is(-0, -0); // true Object.is(NaN, 0/0); // true </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Метод <code>Object.is</code> предложен в дополнение к стандарту ECMA-262; поэтому он может быть недоступен в некоторых браузерах. Это можно обойти, вставив приведённый ниже фрагмент кода в начало ваших скриптов. Он позволит вам использовать метод <code>Object.is</code> в случаях, когда он не имеет родной поддержки браузером.</p> diff --git a/files/ru/web/javascript/reference/global_objects/object/keys/index.html b/files/ru/web/javascript/reference/global_objects/object/keys/index.html index d5700bbb4e..8ac8883ad2 100644 --- a/files/ru/web/javascript/reference/global_objects/object/keys/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/keys/index.html @@ -66,7 +66,7 @@ TypeError: 'foo' is not an object // код ES5 ['0', '1', '2'] // код ES2015 </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Для добавления поддержки совместимого метода <code>Object.keys</code> в старых окружениях, которые его ещё не реализуют, скопируйте следующий кусок кода:</p> @@ -115,7 +115,7 @@ if (!Object.keys) { <p>Пожалуйста, обратите внимание, что вышеприведённый код в IE7 (и, может быть, в IE8) включает и не перечисляемые ключи, если объект передаётся из другого окна.</p> -<p>Более простой полифилл может быть найден в статье <a href="http://tokenposts.blogspot.com.au/2012/04/javascript-objectkeys-browser.html">Javascript - Object.keys Browser Compatibility</a> (англ.).</p> +<p>Более простой полифил может быть найден в статье <a href="http://tokenposts.blogspot.com.au/2012/04/javascript-objectkeys-browser.html">Javascript - Object.keys Browser Compatibility</a> (англ.).</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/object/proto/index.html b/files/ru/web/javascript/reference/global_objects/object/proto/index.html index 3ee717a370..5d0cfb75dc 100644 --- a/files/ru/web/javascript/reference/global_objects/object/proto/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/proto/index.html @@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/proto <p>Использование свойства <code>__proto__</code> вызывает споры и многих оно разочаровало. Ранее оно никогда не включалось в спецификацию EcmaScript, но современные браузеры всё равно решили его реализовать. Сегодня свойство <code>__proto__</code> стандартизировано в спецификации ECMAScript 6 и будет поддерживаться в будущем. Тем не менее, изменение прототипа <code>[[Prototype]]</code> объекта всё ещё остаётся медленной операцией, которую следует избегать, если вы беспокоитесь о производительности.</p> -<p>Свойство <code>__proto__</code> также может использоваться при определении литерала объекта, устанавливая прототип <code>[[Prototype]]</code> объекта при его создании. Этот способ может рассматриваться как альтернатива методу {{jsxref("Object.create()")}}. Смотрите также <a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">литеральный синтаскис инициализации объекта</a>.</p> +<p>Свойство <code>__proto__</code> также может использоваться при определении литерала объекта, устанавливая прототип <code>[[Prototype]]</code> объекта при его создании. Этот способ может рассматриваться как альтернатива методу {{jsxref("Object.create()")}}. Смотрите также <a href="/ru/docs/Web/JavaScript/Reference/Operators/Object_initializer">литеральный синтаксис инициализации объекта</a>.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/object/seal/index.html b/files/ru/web/javascript/reference/global_objects/object/seal/index.html index 6514429ca6..0f21a25cfd 100644 --- a/files/ru/web/javascript/reference/global_objects/object/seal/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/seal/index.html @@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/seal <p>По умолчанию, объекты являются {{jsxref("Object.isExtensible()", "расширяемыми", "", 1)}} (к ним могут добавляться новые свойства). Запечатывание объекта предотвращает добавление к нему новых свойств и делает все существующие свойства не настраиваемыми. Оно делает все свойства объекта фиксированными и неизменными. Пометка всех свойств объекта как не настраиваемых также предотвращает их преобразование из свойств данных в свойства доступа и наоборот, но не предотвращает изменение значения свойств данных. Попытки удаления или добавления свойств к запечатанному объекту, либо преобразования свойств данных в свойства доступа и наоборот, будут терпеть неудачу, либо молча, либо с выбрасыванием исключения {{jsxref("Global_Objects/TypeError", "TypeError")}} (как правило, но не обязательно, это происходит в {{jsxref("Strict_mode", "строгом режиме", "", 1)}}).</p> -<p>Цепочка прототипов не затрагивается. Однако, свойство {{jsxref("Object.proto", "__proto__")}} {{deprecated_inline}} также запечатыватся.</p> +<p>Цепочка прототипов не затрагивается. Однако, свойство {{jsxref("Object.proto", "__proto__")}} {{deprecated_inline}} также запечатываться.</p> <h2 id="Examples" name="Examples">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/object/setprototypeof/index.html b/files/ru/web/javascript/reference/global_objects/object/setprototypeof/index.html index 2baf613db5..d2189e3ee2 100644 --- a/files/ru/web/javascript/reference/global_objects/object/setprototypeof/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/setprototypeof/index.html @@ -45,7 +45,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf <pre class="brush: js">var dict = Object.setPrototypeOf({}, null); </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Используя старое свойство {{jsxref("Object.proto", "Object.prototype.__proto__")}}, мы можем легко определить <code>Object.setPrototypeOf()</code>, если он ещё не доступен:</p> diff --git a/files/ru/web/javascript/reference/global_objects/object/values/index.html b/files/ru/web/javascript/reference/global_objects/object/values/index.html index fa1e84895d..38bfcb624a 100644 --- a/files/ru/web/javascript/reference/global_objects/object/values/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/values/index.html @@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/values <h2 id="Описание">Описание</h2> -<p><code>Object.values()</code> возвращает массив, чьи элементы это значения перечисляемых свойств найденых в объекте. Порядок такой же как если пройтись по объекту циклом вручную.</p> +<p><code>Object.values()</code> возвращает массив, чьи элементы это значения перечисляемых свойств найденных в объекте. Порядок такой же как если пройтись по объекту циклом вручную.</p> <h2 id="Примеры">Примеры</h2> @@ -56,9 +56,9 @@ console.log(Object.values(my_obj)); // ['bar'] console.log(Object.values("foo")); // ['f', 'o', 'o'] </pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> -<p>Для добавления совместимости <code>Object.values</code> со старым окружением, которое не поддерживает нативно его, вы можете найти полифилл здесь <a href="https://github.com/tc39/proposal-object-values-entries">tc39/proposal-object-values-entries</a> или в <a href="https://github.com/es-shims/Object.values">es-shims/Object.values</a> репозитарии.</p> +<p>Для добавления совместимости <code>Object.values</code> со старым окружением, которое не поддерживает нативно его, вы можете найти полифил здесь <a href="https://github.com/tc39/proposal-object-values-entries">tc39/proposal-object-values-entries</a> или в <a href="https://github.com/es-shims/Object.values">es-shims/Object.values</a> репозитории.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/parseint/index.html b/files/ru/web/javascript/reference/global_objects/parseint/index.html index eb6c784422..093ad5971c 100644 --- a/files/ru/web/javascript/reference/global_objects/parseint/index.html +++ b/files/ru/web/javascript/reference/global_objects/parseint/index.html @@ -50,7 +50,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/parseInt <p>Так как некоторые числа включают символ <code>e</code> в своём строковом представлении (например, <strong><code>6.022e23</code></strong>), то использование <code>parseInt</code> для усечения числовых значений может дать неожиданные результаты, когда используются очень малые или очень большие величины. <code>parseInt</code> не должна использоваться как замена для {{jsxref("Math.floor()")}}.</p> -<p>Если основание системы счисления имеет значение <code>undefined</code> (неопределено) или равно 0 (или не указано), то JavaScript по умолчанию предполагает следующее:</p> +<p>Если основание системы счисления имеет значение <code>undefined</code> (не определено) или равно 0 (или не указано), то JavaScript по умолчанию предполагает следующее:</p> <ul> <li>Если значение входного параметра <code>string</code> начинается с "<code>0x</code>" или "<code>0X</code>", <var>за основание системы счисления принимается 16, и интерпретации подвергается оставшаяся часть строки.</var></li> 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 9d8fba83b6..b6291344c2 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 @@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all <p><strong>Promise.all</strong> возвращает массив значений от всех обещаний, которые были ему переданы. Возвращаемый массив значений сохраняет порядок оригинального перечисляемого объекта, но не порядок выполнения обещаний. <code>Если какой-либо элемент перечисляемого объекта не является обещанием, то он будет преобразован с помощью метода </code>{{jsxref("Promise.resolve")}}<code>.</code></p> -<p>Если одно из переданных обещаний будет отклонено, <code><strong>Promise.all </strong></code>будет немедлено отклонен со значением отклоненного обещания, не учитывая другие обещания, независимо выполнены они или нет. Если в качестве аргумента будет передан пустой массив, то <code><strong>Promise.all</strong> </code>будет выполнен немедленно<code>. </code></p> +<p>Если одно из переданных обещаний будет отклонено, <code><strong>Promise.all </strong></code>будет немедленно отклонен со значением отклоненного обещания, не учитывая другие обещания, независимо выполнены они или нет. Если в качестве аргумента будет передан пустой массив, то <code><strong>Promise.all</strong> </code>будет выполнен немедленно<code>. </code></p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/promise/any/index.html b/files/ru/web/javascript/reference/global_objects/promise/any/index.html index 4d0a4baa67..5f14b9632a 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/any/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/any/index.html @@ -45,7 +45,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any <h3 id="Исполнение_с_ошибкойRejection">Исполнение с ошибкой(Rejection)</h3> -<p>Елси все переданные "обещания" будут отклонены(rejected), <code>Promise.any</code> асинхронно будет отклонено в одном из двух вариантов (которые еще не были согласованы): либо</p> +<p>Если все переданные "обещания" будут отклонены(rejected), <code>Promise.any</code> асинхронно будет отклонено в одном из двух вариантов (которые еще не были согласованы): либо</p> <ul> <li>Массив(Array) содержащий причины отклонения всех "обещаний" переданных в итерируемом объекте, либо</li> diff --git a/files/ru/web/javascript/reference/global_objects/promise/catch/index.html b/files/ru/web/javascript/reference/global_objects/promise/catch/index.html index dee70fbc24..91d7970796 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/catch/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/catch/index.html @@ -91,7 +91,7 @@ p1.then(function(value) { }); </pre> -<h3 id="Ловим_выброшеные_исключения">Ловим выброшеные исключения</h3> +<h3 id="Ловим_выброшенные_исключения">Ловим выброшенные исключения</h3> <pre class="brush: js">// Выкидываемая ошибка вызовет метод catch var p1 = new Promise(function(resolve, reject) { @@ -102,7 +102,7 @@ p1.catch(function(e) { console.log(e); // "Uh-oh!" }); -// Ошибки выброшеные из асинхронных функций не будут пойманы методом catch +// Ошибки выброшенные из асинхронных функций не будут пойманы методом catch var p2 = new Promise(function(resolve, reject) { setTimeout(function() { throw 'Uncaught Exception!'; @@ -113,7 +113,7 @@ p2.catch(function(e) { console.log(e); // Никогда не вызовется }); -// Ошибки выброшеные после выполнения обещания будут проигнорированны +// Ошибки выброшенные после выполнения обещания будут проигнорированны var p3 = new Promise(function(resolve, reject) { resolve(); throw 'Silenced Exception!'; diff --git a/files/ru/web/javascript/reference/global_objects/promise/finally/index.html b/files/ru/web/javascript/reference/global_objects/promise/finally/index.html index 5b4391ce47..b1a53051fa 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/finally/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/finally/index.html @@ -34,7 +34,7 @@ p.finally(() => { <h2 id="Описание">Описание</h2> -<p><code>finally()</code> может быть полезен, если необходимо приоизвести какие-либо вычисления или очистку, как только <code>Promise</code> (обещание) завершено, вне зависимости от результата.</p> +<p><code>finally()</code> может быть полезен, если необходимо произвести какие-либо вычисления или очистку, как только <code>Promise</code> (обещание) завершено, вне зависимости от результата.</p> <p><code>finally()</code> очень схож с вызовом <code>.then(onFinally, onFinally)</code>, однако существует несколько различий:</p> 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 0c730018b3..f5701b4694 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/index.html @@ -52,7 +52,7 @@ new Promise(function(resolve, reject) { ... });</pre> <p><img alt="" src="https://mdn.mozillademos.org/files/8633/promises.png" style="height: 297px; width: 801px;"></p> <div class="blockIndicator note"> -<p><strong>Примечание:</strong> говорят, что промис находится в состоянии <em>завершен (settled) </em>когда он или исполнен или отклонен, т.е. в любом состоянии, кроме ожидания (это лишь форма речи, не являющаяся настоящим состоянием промиса). Также можно встретить термин <em>исполен (resolved) </em>— это значит что промис <em>завершен </em>или "заблокирован" в ожидании завершения другого промиса. В статье <a href="https://github.com/domenic/promises-unwrapping/blob/master/docs/states-and-fates.md">состояния и fates</a> приводится более подробное описание терминологии.</p> +<p><strong>Примечание:</strong> говорят, что промис находится в состоянии <em>завершен (settled) </em>когда он или исполнен или отклонен, т.е. в любом состоянии, кроме ожидания (это лишь форма речи, не являющаяся настоящим состоянием промиса). Также можно встретить термин <em>исполин (resolved) </em>— это значит что промис <em>завершен </em>или "заблокирован" в ожидании завершения другого промиса. В статье <a href="https://github.com/domenic/promises-unwrapping/blob/master/docs/states-and-fates.md">состояния и fates</a> приводится более подробное описание терминологии.</p> </div> <h2 id="Свойства">Свойства</h2> @@ -105,7 +105,7 @@ new Promise(function(resolve, reject) { ... });</pre> <h2 id="Создание_промиса">Создание промиса</h2> -<p>Объект <code>Promise</code> создается при помощи ключевого слова <code>new</code> и своего конструктора. Конструктор <code>Promise</code> принимает в качестве аргумента функцию, называемую "исполнитель" (<em>executor function</em>). Эта функция должна принимать две функции-коллбэка в качестве параметров. Первый из них (<code>resolve</code>) вызывается, когда асинхронная операция завершилась успешно и вернула результат своего исполнения в виде значения. Второй коллбэк (<code>reject</code>) вызывается, когда операция не удалась, и возвращает значение, указывающее на причину неудачи, чаще всего объект ошибки.</p> +<p>Объект <code>Promise</code> создается при помощи ключевого слова <code>new</code> и своего конструктора. Конструктор <code>Promise</code> принимает в качестве аргумента функцию, называемую "исполнитель" (<em>executor function</em>). Эта функция должна принимать две функции-колбэка в качестве параметров. Первый из них (<code>resolve</code>) вызывается, когда асинхронная операция завершилась успешно и вернула результат своего исполнения в виде значения. Второй колбэк (<code>reject</code>) вызывается, когда операция не удалась, и возвращает значение, указывающее на причину неудачи, чаще всего объект ошибки.</p> <pre class="brush: js">const myFirstPromise = new Promise((resolve, reject) => { // выполняется асинхронная операция, которая в итоге вызовет: 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 f234d5122f..9bb06a2115 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 @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/reject <dt> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> - <p>Отклоненный с указаной причиной {{jsxref("Promise")}}.</p> + <p>Отклоненный с указанной причиной {{jsxref("Promise")}}.</p> </dt> </dl> diff --git a/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html b/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html index 13a8ba9ee9..287938607d 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/resolve/index.html @@ -10,7 +10,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/resolve --- <div>{{JSRef}}</div> -<p>Метод <code><strong>Promise.resolve(value)</strong></code> возвращает {{jsxref("Promise")}} выполненый с переданным значением. Если переданное значение является thenable - обьект (т.е. имеет метод {{jsxref("Promise.then", "\"then\" method")}}), возвращаемое обещание будет следовать thenable - обьекту, принимая свое состояние; в ином случае возвращаемое обещание будет выполнено с переданным значением.</p> +<p>Метод <code><strong>Promise.resolve(value)</strong></code> возвращает {{jsxref("Promise")}} выполненный с переданным значением. Если переданное значение является thenable - объект (т.е. имеет метод {{jsxref("Promise.then", "\"then\" method")}}), возвращаемое обещание будет следовать thenable - объекту, принимая свое состояние; в ином случае возвращаемое обещание будет выполнено с переданным значением.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -23,16 +23,16 @@ Promise.resolve(thenable); <dl> <dt>value</dt> - <dd>Значение с которым будет выполнено обещание. Может также быть обещанием или обьект подобный обещанию (thenable - обьект имеющий метод then).</dd> + <dd>Значение с которым будет выполнено обещание. Может также быть обещанием или объект подобный обещанию (thenable - объект имеющий метод then).</dd> </dl> -<h3 id="Возращаемое_значение">Возращаемое значение</h3> +<h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Выполненый с переданным значением {{jsxref("Promise")}}.</p> +<p>Выполненный с переданным значением {{jsxref("Promise")}}.</p> <h2 id="Описание">Описание</h2> -<p><code>Метод Promise.resolve</code> возвращает выполненое обещание (<code>Promise</code>).</p> +<p><code>Метод Promise.resolve</code> возвращает выполненное обещание (<code>Promise</code>).</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/promise/then/index.html b/files/ru/web/javascript/reference/global_objects/promise/then/index.html index bf74e41b6c..211b7692dd 100644 --- a/files/ru/web/javascript/reference/global_objects/promise/then/index.html +++ b/files/ru/web/javascript/reference/global_objects/promise/then/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/then <p>Метод <code><strong>then()</strong></code> возвращает {{jsxref("Promise")}}. Метод может принимать два аргумента: колбэк-функции для случаев выполнения и отклонения промиса.</p> <div class="note"> -<p> Если один или оба аргумента отсутсвуют или их значения не функции, то <code>then</code> пропустит их и не выбросит ошибку. Если для <code>Promise</code>, который переходит в состояние <code>выполнен</code> или <code>отклонен</code> вызван метод <code>then</code>, и у данного метода нет нужного обработчика, то в таком случае <code>then</code> просто возвращает промис с состоянием начального <code>Promise</code>, для которого <code>then</code> был вызван.</p> +<p> Если один или оба аргумента отсутствуют или их значения не функции, то <code>then</code> пропустит их и не выбросит ошибку. Если для <code>Promise</code>, который переходит в состояние <code>выполнен</code> или <code>отклонен</code> вызван метод <code>then</code>, и у данного метода нет нужного обработчика, то в таком случае <code>then</code> просто возвращает промис с состоянием начального <code>Promise</code>, для которого <code>then</code> был вызван.</p> </div> <h2 id="Синтаксис">Синтаксис</h2> @@ -58,7 +58,7 @@ p1.then(function(value) { <h3 id="Соединение">Соединение</h3> -<p>Так как метод <code>then</code> возвращает <code>Promise</code> (обещание), вы можете объединить несколько вызовов <code>then</code> в цепочку. Значения возвращаемые из onFulfilled или onRejected коллбэков будут автоматически обернуты в обещание.</p> +<p>Так как метод <code>then</code> возвращает <code>Promise</code> (обещание), вы можете объединить несколько вызовов <code>then</code> в цепочку. Значения возвращаемые из onFulfilled или onRejected колбэков будут автоматически обернуты в обещание.</p> <pre class="brush: js notranslate">var p2 = new Promise(function(resolve, reject) { resolve(1); diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html index 81ea9d0605..abae363a95 100644 --- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html +++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/apply/index.html @@ -56,7 +56,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply <h3 id="Инварианты">Инварианты</h3> -<p>Если следующие инваринаты нарушены, то прокси выбросит {{jsxref("TypeError")}}.</p> +<p>Если следующие инварианты нарушены, то прокси выбросит {{jsxref("TypeError")}}.</p> <p>Исходный объект <code><var>target</var></code> должен быть самовызываемым. То есть, это должна быть функция-объект.</p> diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html index 2d6be05af5..efdb5d799f 100644 --- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html +++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/get/index.html @@ -52,7 +52,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get <h3 id="Инварианты">Инварианты</h3> -<p>Если следующие инваринаты нарушены, то прокси выбросит {{jsxref("TypeError")}}:</p> +<p>Если следующие инварианты нарушены, то прокси выбросит {{jsxref("TypeError")}}:</p> <ul> <li><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Значение, сообщаемое для свойства, должно быть таким же, как значение соответствующего свойства целевого объекта, если свойство целевого объекта является неперезаписываемым, не настраиваемым свойством собственных данных.</span></span></span></li> diff --git a/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html b/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html index 7e5ed05f0a..cd690d4d9a 100644 --- a/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html +++ b/files/ru/web/javascript/reference/global_objects/proxy/proxy/set/index.html @@ -30,7 +30,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/set <dl> <dt><code>target</code></dt> - <dd>Исходный обьект, который проксируется.</dd> + <dd>Исходный объект, который проксируется.</dd> <dt><code>property</code></dt> <dd><span id="result_box" lang="ru"><span>Имя свойства, в которое устанавливается значение </span></span><code>value</code><span lang="ru"><span>.</span></span></dd> <dt><code>value</code></dt> @@ -70,7 +70,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/set <h3 id="Инварианты">Инварианты</h3> -<p>Если нарушены следующие инваринаты, то proxy выбросит {{jsxref("TypeError")}}:</p> +<p>Если нарушены следующие инварианты, то proxy выбросит {{jsxref("TypeError")}}:</p> <ul> <li><span class="VIiyi" lang="ru"><span class="ChMk0b JLqJ4b"><span>Невозможно изменить значение свойства так, чтобы оно отличалось от значения соответствующего свойства целевого объекта, если соответствующее свойство целевого объекта не является доступным для записи и не настраиваемым свойством данных.</span></span></span></li> diff --git a/files/ru/web/javascript/reference/global_objects/reflect/apply/index.html b/files/ru/web/javascript/reference/global_objects/reflect/apply/index.html index 927f5b52b8..58ab8b7c4b 100644 --- a/files/ru/web/javascript/reference/global_objects/reflect/apply/index.html +++ b/files/ru/web/javascript/reference/global_objects/reflect/apply/index.html @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/apply <div>{{EmbedInteractiveExample("pages/js/reflect-apply.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера находится в репозаитории GitHub. Если вы хотите внести свой вклад в интерактивные примеры, пожалуйста, клонируйте репозитроий <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправляйте нам pull request.</p> +<p class="hidden">Исходный код этого интерактивного примера находится в репозитории GitHub. Если вы хотите внести свой вклад в интерактивные примеры, пожалуйста, клонируйте репозиторий <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправляйте нам pull request.</p> <h2 id="Синтаксис">Синтаксис</h2> diff --git a/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html b/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html index a218116d09..8579639a52 100644 --- a/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html +++ b/files/ru/web/javascript/reference/global_objects/reflect/ownkeys/index.html @@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys <h3 id="Исключения">Исключения</h3> -<p>Выбрасывает ислючение {{jsxref("TypeError")}}, если <code>target</code> не является {{jsxref("Object")}}.</p> +<p>Выбрасывает исключение {{jsxref("TypeError")}}, если <code>target</code> не является {{jsxref("Object")}}.</p> <h2 id="Описание">Описание</h2> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html b/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html index ee37017a2a..9ed264146d 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/@@search/index.html @@ -34,7 +34,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@search <h2 id="Описание">Описание</h2> -<p>Этот метод вызывается внутрнее в {{jsxref("String.prototype.search()")}}. Например, два следующих примера вернут один и тот же результат.</p> +<p>Этот метод вызывается внутреннее в {{jsxref("String.prototype.search()")}}. Например, два следующих примера вернут один и тот же результат.</p> <pre class="brush: js">'abc'.search(/a/); @@ -99,7 +99,7 @@ console.log(result); // 3 <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> <div> -<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пулл-реквест.</div> +<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пул-реквест.</div> <p>{{Compat("javascript.builtins.RegExp.@@search")}}</p> </div> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html b/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html index 8a0e07c804..7a6a34cec0 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/@@split/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@split --- <div>{{JSRef}}</div> -<p><strong><code>[@@split]()</code></strong> метод делит объект {{jsxref("String")}} в массив сторок, путём разбиения строки на подстроки.</p> +<p><strong><code>[@@split]()</code></strong> метод делит объект {{jsxref("String")}} в массив строк, путём разбиения строки на подстроки.</p> <div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@split.html")}}</div> @@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@split <dd>Цель разбиения.</dd> <dt><code>limit</code></dt> <dd> - <p>Необязательное. Целое число ограничивающее кол-во рабиений. <code>[@@split]()</code> метод разбивает все совпадения <code>this</code> RegExp шаблона, до тех пор пока не достигнет числа <code>limit</code> или строка будет короче <code>this</code> шаблона.</p> + <p>Необязательное. Целое число ограничивающее кол-во разбиений. <code>[@@split]()</code> метод разбивает все совпадения <code>this</code> RegExp шаблона, до тех пор пока не достигнет числа <code>limit</code> или строка будет короче <code>this</code> шаблона.</p> </dd> </dl> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/flags/index.html b/files/ru/web/javascript/reference/global_objects/regexp/flags/index.html index c69b279c3e..9d55e371e7 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/flags/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/flags/index.html @@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/flags /bar/myu.flags; // "muy" </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <pre class="brush: js">if (RegExp.prototype.flags === undefined) { Object.defineProperty(RegExp.prototype, 'flags', { diff --git a/files/ru/web/javascript/reference/global_objects/regexp/index.html b/files/ru/web/javascript/reference/global_objects/regexp/index.html index 9a864bee32..20b0d9b10e 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/index.html @@ -244,7 +244,7 @@ var re = new RegExp('\\w+'); <td> <p>Сопоставляется c началом ввода. Если установлен флаг многострочности, также сопоставляется с позицией сразу за символом переноса строки.</p> - <p>Например, шаблон <code>/^Б/</code> не сопоставляется с буквой «Б» в строке «буква Б», но сопоставляеся с первой буквой «Б» в строке «Буква Б».</p> + <p>Например, шаблон <code>/^Б/</code> не сопоставляется с буквой «Б» в строке «буква Б», но сопоставляется с первой буквой «Б» в строке «Буква Б».</p> </td> </tr> <tr> @@ -252,7 +252,7 @@ var re = new RegExp('\\w+'); <td> <p>Сопоставляется c концом ввода. Если установлен флаг многострочности, также сопоставляется с позицией сразу перед символом переноса строки.</p> - <p>Например, шаблон <code>/т$/</code> не сопоставляется с буквой «т» в слове «кормить», но сопоставляеся с ней в слове «кормит».</p> + <p>Например, шаблон <code>/т$/</code> не сопоставляется с буквой «т» в слове «кормить», но сопоставляется с ней в слове «кормит».</p> </td> </tr> <tr> @@ -285,7 +285,7 @@ var re = new RegExp('\\w+'); <td> <p>Сопоставляется с <code><em>x</em></code> и запоминает сопоставление. Называется «захватывающие скобки».</p> - <p>Например, шаблон <code>/(foo)/</code> сопоставлется с подстрокой «foo» и запоминает её в строке «foo bar». Сопоставленую подстроку можно достать из элементов <code>[1], ..., [n]</code> результирующего массива или из предопределённых свойств <code>$1, ..., $9</code> объекта <code>RegExp</code>.</p> + <p>Например, шаблон <code>/(foo)/</code> сопоставляется с подстрокой «foo» и запоминает её в строке «foo bar». Сопоставленную подстроку можно достать из элементов <code>[1], ..., [n]</code> результирующего массива или из предопределённых свойств <code>$1, ..., $9</code> объекта <code>RegExp</code>.</p> <p>Захват групп ведёт к проседанию производительности. Если вам не нужно повторно ссылаться на захваченную подстроку, лучше использовать скобки без захвата (смотрите ниже).</p> </td> @@ -350,12 +350,12 @@ var re = new RegExp('\\w+'); </tr> <tr> <td><code><em>x</em>(?=<em>y</em>)</code></td> - <td>Сопоставлется с <code><em>x</em></code>, только если за <code><em>x</em></code> следует <code><em>y</em></code>. Например, шаблон <code>/Джек(?=Шпрот)/</code> сопоставлется со строкой «Джек» только если за ней следует строка «Шпрот». Шаблон <code>/Джек(?=Шпрот|Мороз)/</code> сопоставлется со строкой «Джек» только если за ней следуют строки «Шпрот» или «Мороз». Однако, ни «Шпрот», ни «Мороз» не являются частью результата сопоставления.</td> + <td>Сопоставляется с <code><em>x</em></code>, только если за <code><em>x</em></code> следует <code><em>y</em></code>. Например, шаблон <code>/Джек(?=Шпрот)/</code> сопоставляется со строкой «Джек» только если за ней следует строка «Шпрот». Шаблон <code>/Джек(?=Шпрот|Мороз)/</code> сопоставляется со строкой «Джек» только если за ней следуют строки «Шпрот» или «Мороз». Однако, ни «Шпрот», ни «Мороз» не являются частью результата сопоставления.</td> </tr> <tr> <td><code><em>x</em>(?!<em>y</em>)</code></td> <td> - <p>Сопоставлется с <code><em>x</em></code>, только если за <code><em>x</em></code> не следует <code><em>y</em></code>. Например, шаблон <code>/\d+(?!\.)/</code> сопоставляется с числом только если за ним не следует десятичная запятая.</p> + <p>Сопоставляется с <code><em>x</em></code>, только если за <code><em>x</em></code> не следует <code><em>y</em></code>. Например, шаблон <code>/\d+(?!\.)/</code> сопоставляется с числом только если за ним не следует десятичная запятая.</p> <p>Выражение <code>/\d+(?!\.)/.exec('3.141')</code> сопоставится с «141» но не с «3.141».</p> </td> @@ -417,7 +417,7 @@ var re = new RegExp('\\w+'); <td> <p>Где <code><em>n</em></code> и <code><em>m</em></code> являются целыми положительными числами. Сопоставляется по крайней мере с <code><em>n</em></code> но не более, чем с <code><em>m</em></code> вхождениями предшествующего элемента <em>x</em>.</p> - <p>Например, шаблон <code>/о{1,3}/</code> ни с чем не сопоставится в слове «кнфета», с символом «о» в слове «конфета», с двумя символами «о» в слове «коонфета» и с первыми тремя символами «о» в слове «кооооооонфета». Обратите внимание, что при сопоставлении со словом «кооооооонфета» сопоставиласть только подстрока «ооо», хотя слово содержало гораздо больше символов «о».</p> + <p>Например, шаблон <code>/о{1,3}/</code> ни с чем не сопоставится в слове «кнфета», с символом «о» в слове «конфета», с двумя символами «о» в слове «коонфета» и с первыми тремя символами «о» в слове «кооооооонфета». Обратите внимание, что при сопоставлении со словом «кооооооонфета» сопоставимость только подстрока «ооо», хотя слово содержало гораздо больше символов «о».</p> </td> </tr> </tbody> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/input/index.html b/files/ru/web/javascript/reference/global_objects/regexp/input/index.html index 1e85d92013..ffa29e21fc 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/input/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/input/index.html @@ -34,7 +34,7 @@ RegExp.$_; // "hi world!" <h2 id="Спецификация">Спецификация</h2> -<p>Не стандартизированно. Не является частью какой-либо спецификации.</p> +<p>Не стандартизированной. Не является частью какой-либо спецификации.</p> <h2 id="Поддержка_в_браузерах">Поддержка в браузерах</h2> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html b/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html index 94e140a0a8..3d86f2958e 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/lastmatch/index.html @@ -33,7 +33,7 @@ RegExp['$&']; // "hi" <h2 id="Спецификация">Спецификация</h2> -<p>Не стандартизированно. Не является частью какой-либо спецификации.</p> +<p>Не стандартизированной. Не является частью какой-либо спецификации.</p> <h2 id="Поддержка_в_браузерах">Поддержка в браузерах</h2> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/n/index.html b/files/ru/web/javascript/reference/global_objects/regexp/n/index.html index a785e92f01..4873c56af0 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/n/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/n/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/n --- <div>{{JSRef}} {{non-standard_header}}</div> -<p>Нестандартные свойства <strong>$1, $2, $3, $4, $5, $6, $7, $8, $9</strong> являются статическими и доступными только для чтения свойствами регулярных выражений, которые содержат найденые подстроки, обернутые в скобки.</p> +<p>Нестандартные свойства <strong>$1, $2, $3, $4, $5, $6, $7, $8, $9</strong> являются статическими и доступными только для чтения свойствами регулярных выражений, которые содержат найденные подстроки, обернутые в скобки.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -28,7 +28,7 @@ RegExp.$9 <p>Количество возможных подстрок в круглых скобках неограничено, но объект <code>RegExp</code> может содержать в себе только последние 9. Вы можете получить доступ ко всем подстрокам, совпавшим с выражениями внутри круглых скобок, с помощью индексов возвращенного массива.</p> -<p>Эти свойства могу использоваться при замене текста в методе {{jsxref("String.replace")}}. Когда используете его, не добавляйте их в <code>RegExp</code>. Пример ниже демонстрирует правильное применение. Когда круглые скобки не включены в регулярное выражение, код интерпритирует такие значения, как <code>$n</code> буквально, как литерал (n - положительное число).</p> +<p>Эти свойства могу использоваться при замене текста в методе {{jsxref("String.replace")}}. Когда используете его, не добавляйте их в <code>RegExp</code>. Пример ниже демонстрирует правильное применение. Когда круглые скобки не включены в регулярное выражение, код интерпретирует такие значения, как <code>$n</code> буквально, как литерал (n - положительное число).</p> <h2 id="Примеры">Примеры</h2> @@ -45,7 +45,7 @@ RegExp.$2; // "Smith" <h2 id="Спецификация">Спецификация</h2> -<p>Не стандартизированно. Не является частью какой-либо спецификации</p> +<p>Не стандартизированной. Не является частью какой-либо спецификации</p> <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> diff --git a/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html b/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html index 6f585f94f7..ea9db422df 100644 --- a/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html +++ b/files/ru/web/javascript/reference/global_objects/regexp/unicode/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/unicode <h2 id="Примеры">Примеры</h2> -<h3 id="Испльзование_свойства_unicode">Испльзование свойства <code>unicode</code></h3> +<h3 id="Использование_свойства_unicode">Использование свойства <code>unicode</code></h3> <pre class="brush: js">var regex = new RegExp('\u{61}', 'u'); diff --git a/files/ru/web/javascript/reference/global_objects/set/add/index.html b/files/ru/web/javascript/reference/global_objects/set/add/index.html index 44ac1e81b8..3f5defac49 100644 --- a/files/ru/web/javascript/reference/global_objects/set/add/index.html +++ b/files/ru/web/javascript/reference/global_objects/set/add/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/add <pre class="syntaxbox"><code><em>mySet</em>.add(value);</code></pre> -<h3 id="Параметы">Параметы</h3> +<h3 id="Параметры">Параметры</h3> <dl> <dt>value</dt> diff --git a/files/ru/web/javascript/reference/global_objects/set/values/index.html b/files/ru/web/javascript/reference/global_objects/set/values/index.html index 115d300b53..4ac8abe40f 100644 --- a/files/ru/web/javascript/reference/global_objects/set/values/index.html +++ b/files/ru/web/javascript/reference/global_objects/set/values/index.html @@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/values <h2 id="Примеры">Примеры</h2> -<h3 id="Ипсользование_values()">Ипсользование <code>values()</code></h3> +<h3 id="Использование_values()">Использование <code>values()</code></h3> <pre class="brush:js">var mySet = new Set(); mySet.add('foo'); 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 884ab88fa1..d625a5a809 100644 --- a/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html +++ b/files/ru/web/javascript/reference/global_objects/sharedarraybuffer/index.html @@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Новый объект <code>SharedArrayBuffer</code> указаной длины. Его содержимое после инициализаци равно 0.</p> +<p>Новый объект <code>SharedArrayBuffer</code> указанной длины. Его содержимое после инициализации равно 0.</p> <h2 id="Описание">Описание</h2> @@ -49,7 +49,7 @@ worker.postMessage(sab); <h3 id="Конструкции_требуют_оператор_new">Конструкции требуют оператор <code>new</code></h3> -<p>Конструторы <code>SharedArrayBuffer</code> необходимо вызывать с помощью оператора {{jsxref("Operators/new", "new")}}. Вызов конструктора <code>SharedArrayBuffer</code> как функции без указания <code>new</code>, вызовет ошибку {{jsxref("TypeError")}}.</p> +<p>Конструкторы <code>SharedArrayBuffer</code> необходимо вызывать с помощью оператора {{jsxref("Operators/new", "new")}}. Вызов конструктора <code>SharedArrayBuffer</code> как функции без указания <code>new</code>, вызовет ошибку {{jsxref("TypeError")}}.</p> <pre class="brush: js example-bad">var sab = SharedArrayBuffer(1024); // TypeError: вызов встроенного конструктора SharedArrayBuffer diff --git a/files/ru/web/javascript/reference/global_objects/string/charat/index.html b/files/ru/web/javascript/reference/global_objects/string/charat/index.html index c86dae26aa..6ca4193230 100644 --- a/files/ru/web/javascript/reference/global_objects/string/charat/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/charat/index.html @@ -103,7 +103,7 @@ function getWholeChar(str, i) { return false; } </pre> -<p>В среде, поддерживающей JavaScript 1.7+ (например, в Firefox), который позволяет деструктуризующее присваивание, можно использовать более лаконичную и более гибкую альтернативу в том смысле, что она автоматически увеличивает счётчик (если символ гарантированно является суррогатной парой).</p> +<p>В среде, поддерживающей JavaScript 1.7+ (например, в Firefox), который позволяет деструктурирующее присваивание, можно использовать более лаконичную и более гибкую альтернативу в том смысле, что она автоматически увеличивает счётчик (если символ гарантированно является суррогатной парой).</p> <pre class="brush: js">var str = 'A\uD87E\uDC04Z'; // Также можно использовать не-БМП символы напрямую for (var i = 0, chr; i < str.length; i++) { [chr, i] = getWholeCharAndI(str, i); diff --git a/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html b/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html index db2b8a4e19..f14984662d 100644 --- a/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html @@ -27,7 +27,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/codePointAt <dl> <dt><code>pos</code></dt> - <dd>Позиция элемента в строке, чья кодовоя точка возвращается функцией.</dd> + <dd>Позиция элемента в строке, чья кодовая точка возвращается функцией.</dd> </dl> <h2 id="Description" name="Description">Описание</h2> @@ -44,9 +44,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/codePointAt 'XYZ'.codePointAt(42); // undefined </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Следующий полифилл расширяет прототип строки определённой в ECMAScript 6 функцией <code>codePointAt()</code>, если браузер не имеет её родной поддержки.</p> +<p>Следующий полифил расширяет прототип строки определённой в ECMAScript 6 функцией <code>codePointAt()</code>, если браузер не имеет её родной поддержки.</p> <pre class="brush: js">/*! http://mths.be/codepointat v0.1.0 от @mathias */ if (!String.prototype.codePointAt) { diff --git a/files/ru/web/javascript/reference/global_objects/string/endswith/index.html b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html index f2f6aa5c2c..8ab2ff307d 100644 --- a/files/ru/web/javascript/reference/global_objects/string/endswith/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <strong><code>endsWith()</code></strong> позволяет определить, заканчивается ли строка символами указанными в скобках, возвращая, соотвественно, <code>true</code> или <code>false</code>.</p> +<p>Метод <strong><code>endsWith()</code></strong> позволяет определить, заканчивается ли строка символами указанными в скобках, возвращая, соответственно, <code>true</code> или <code>false</code>.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -47,7 +47,7 @@ console.log(str.endsWith('быть')); // false console.log(str.endsWith('быть', 16)); // true </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p> diff --git a/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html b/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html index 549d0e2b54..53313478cf 100644 --- a/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html @@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/fontcolor </dl> <h2 id="Description" name="Description">Описание</h2> -<p>Ксли вы выразили цвет в виде шестнадцатеричного триплета RGB, вы должны использовать формат <code>rrggbb</code>. Например, шестнадцатеричные значения RGB для оранжево-розового цвета такие: красный=FA, зелёный=80 и синий=72, так что RGB-триплет для оранжево-розового цвета будет следующим <code>"FA8072"</code>.</p> +<p>Если вы выразили цвет в виде шестнадцатеричного триплета RGB, вы должны использовать формат <code>rrggbb</code>. Например, шестнадцатеричные значения RGB для оранжево-розового цвета такие: красный=FA, зелёный=80 и синий=72, так что RGB-триплет для оранжево-розового цвета будет следующим <code>"FA8072"</code>.</p> <h2 id="Examples" name="Examples">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html b/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html index 6f4cde3a52..caec099c63 100644 --- a/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html @@ -66,9 +66,9 @@ String.fromCodePoint(NaN); // RangeError console.log(String.fromCodePoint(0x2F804)); // или 194564 в десятичной записи </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> -<p>Метод <code>String.fromCodePoint()</code> был добавлен к стандарту ECMAScript в 6-й версии и может поддерживаться ещё не во всех браузерах или окружениях. Используйте код ниже в качестве полифилла:</p> +<p>Метод <code>String.fromCodePoint()</code> был добавлен к стандарту ECMAScript в 6-й версии и может поддерживаться ещё не во всех браузерах или окружениях. Используйте код ниже в качестве полифила:</p> <pre class="brush: js">/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ if (!String.fromCodePoint) { diff --git a/files/ru/web/javascript/reference/global_objects/string/includes/index.html b/files/ru/web/javascript/reference/global_objects/string/includes/index.html index a766377bb8..43f41136d9 100644 --- a/files/ru/web/javascript/reference/global_objects/string/includes/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/includes/index.html @@ -54,7 +54,7 @@ console.log(str.includes('Быть', 1)); // false console.log(str.includes('БЫТЬ')); // false </pre> -<h2 id="Полифилл">Полифилл</h2> +<h2 id="Полифил">Полифил</h2> <p>Этот метод был добавлен в спецификации ECMAScript 2015 и может быть недоступен в некоторых реализациях JavaScript. Однако, можно легко эмулировать этот метод:</p> diff --git a/files/ru/web/javascript/reference/global_objects/string/index.html b/files/ru/web/javascript/reference/global_objects/string/index.html index 887272aab2..bda7ae64c3 100644 --- a/files/ru/web/javascript/reference/global_objects/string/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/index.html @@ -158,7 +158,7 @@ console.log(eval(s2)); // выведет строку '2 + 2' <pre class="brush: js notranslate">console.log(eval(s2.valueOf())); // выведет число 4 </pre> -<div class="note"><strong>Примечание:</strong> для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о <a href="/ru/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подобном представлении строк на основе типизирванных массивов</a>.</div> +<div class="note"><strong>Примечание:</strong> для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о <a href="/ru/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подобном представлении строк на основе типизированных массивов</a>.</div> <h2 id="Properties" name="Properties">Свойства</h2> @@ -196,7 +196,7 @@ console.log(String.replace(num, /5/, '2')); <pre class="brush: js notranslate">/*globals define*/ // Предполагаем, что все требуемые методы экземпляров String уже присутствуют -// (для них так же можно использовать полифиллы, если их нет) +// (для них так же можно использовать полифилы, если их нет) (function() { 'use strict'; diff --git a/files/ru/web/javascript/reference/global_objects/string/match/index.html b/files/ru/web/javascript/reference/global_objects/string/match/index.html index ebcc53c574..2819776d46 100644 --- a/files/ru/web/javascript/reference/global_objects/string/match/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/match/index.html @@ -166,7 +166,7 @@ console.log(matches_array); <h3 id="Firefox-specific_notes" name="Firefox-specific_notes">Примечания по Firefox</h3> <ul> - <li>Начиная с Gecko 27 {{geckoRelease(27)}}, этот метод был поправлен для соотвествия спецификации ECMAScript. При вызове метода <code>match()</code> с глобальным регулярным выражением, свойство {{jsxref("RegExp.lastIndex")}} (если оно определено) будет сбрасываться в <code>0</code> ({{bug(501739)}}).</li> + <li>Начиная с Gecko 27 {{geckoRelease(27)}}, этот метод был поправлен для соответствия спецификации ECMAScript. При вызове метода <code>match()</code> с глобальным регулярным выражением, свойство {{jsxref("RegExp.lastIndex")}} (если оно определено) будет сбрасываться в <code>0</code> ({{bug(501739)}}).</li> </ul> <h2 id="See_also" name="See_also">Смотрите также</h2> diff --git a/files/ru/web/javascript/reference/global_objects/string/padend/index.html b/files/ru/web/javascript/reference/global_objects/string/padend/index.html index 31da2edad0..a380c3f50d 100644 --- a/files/ru/web/javascript/reference/global_objects/string/padend/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/padend/index.html @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> -<p>Строка указанной длинны дополненная с помощью дополнительной строки в конце текуще строки.</p> +<p>Строка указанной длинны дополненная с помощью дополнительной строки в конце текущей строки.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/string/repeat/index.html b/files/ru/web/javascript/reference/global_objects/string/repeat/index.html index 10a6507b6e..46872f4147 100644 --- a/files/ru/web/javascript/reference/global_objects/string/repeat/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/repeat/index.html @@ -55,7 +55,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat // 'абвабв' (метод repeat() является обобщённым методом) </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод был добавлен к спецификации ECMAScript 2015 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p> diff --git a/files/ru/web/javascript/reference/global_objects/string/replace/index.html b/files/ru/web/javascript/reference/global_objects/string/replace/index.html index debc32cf40..c5d45bca42 100644 --- a/files/ru/web/javascript/reference/global_objects/string/replace/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/replace/index.html @@ -87,7 +87,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replace </tr> <tr> <td><code>$<em>n</em></code> или <code>$<em>nn</em></code></td> - <td>Символы <code><em>n</em></code> или <code><em>nn</em></code> являются десятичными цифрами, вставляет <em>n</em>-ную сопоставившуются подгруппу из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре.</td> + <td>Символы <code><em>n</em></code> или <code><em>nn</em></code> являются десятичными цифрами, вставляет <em>n</em>-ную сопоставившуюся подгруппу из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре.</td> </tr> </tbody> </table> @@ -106,11 +106,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replace </tr> <tr> <td><code>match</code></td> - <td>Сопоставившаяся подстрока (cоответствует шаблону замены <code>$&</code>, описанному выше).</td> + <td>Сопоставившаяся подстрока (соответствует шаблону замены <code>$&</code>, описанному выше).</td> </tr> <tr> <td><code>p1, p2, ...</code></td> - <td><em>n</em>-ная сопоставившаяся подгруппа из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре метода <code>replace()</code> (cоответствует шаблонам замены <code>$1</code>, <code>$2</code> и так далее, описанным выше). Например, если в качестве шаблона передано регулярное выражение <code>/(\a+)(\b+)/</code>, параметр <code>p1</code> будет значение сопоставления с подгруппой <code>\a+</code>, а параметр <code>p2</code> — с подгруппой <code>\b+</code>.</td> + <td><em>n</em>-ная сопоставившаяся подгруппа из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре метода <code>replace()</code> (соответствует шаблонам замены <code>$1</code>, <code>$2</code> и так далее, описанным выше). Например, если в качестве шаблона передано регулярное выражение <code>/(\a+)(\b+)/</code>, параметр <code>p1</code> будет значение сопоставления с подгруппой <code>\a+</code>, а параметр <code>p2</code> — с подгруппой <code>\b+</code>.</td> </tr> <tr> <td><code>offset</code></td> diff --git a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html index f938fefb64..8ccf95507f 100644 --- a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll <div>{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}</div> -<p class="hidden">Исходник этого интерактивного примера находится в GitHub репозитории. Если бы вы хотели внести свой вклад в создание интерактивных примеров для проекта, пожалуйста клонируйте ссылку <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отпрвате нам pull request.</p> +<p class="hidden">Исходник этого интерактивного примера находится в GitHub репозитории. Если бы вы хотели внести свой вклад в создание интерактивных примеров для проекта, пожалуйста клонируйте ссылку <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам pull request.</p> <h2 id="Syntax">Syntax</h2> @@ -26,18 +26,18 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll <dl> <dt><code><var>regexp</var></code> (pattern)</dt> - <dd>Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются на <code><var>newSubstr</var></code> или значени возвращенное указанной функцией <code><var>function</var></code>. A RegExp без глобального флага поиска ("g") вернет ошибку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd> + <dd>Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются на <code><var>newSubstr</var></code> или значении возвращенное указанной функцией <code><var>function</var></code>. A RegExp без глобального флага поиска ("g") вернет ошибку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd> <dt><code><var>substr</var></code></dt> <dd>Подстрока, которая заменится <code><var>newSubstr</var></code>. Обрабатывается как буквенная строка, не интерпретируется как регулярное выражение.</dd> <dt><code><var>newSubstr</var></code> (replacement)</dt> - <dd>Новая строка, которая заменяет найденные подстроки указанные в <code><var>regexp</var></code> или <code><var>substr</var></code> парамерах. Поддерживается ряд специальных шаблонов замены; смотрите "<a href="#Specifying_a_string_as_a_parameter">Specifying a string as a parameter</a>" блок ниже.</dd> + <dd>Новая строка, которая заменяет найденные подстроки указанные в <code><var>regexp</var></code> или <code><var>substr</var></code> параметрах. Поддерживается ряд специальных шаблонов замены; смотрите "<a href="#Specifying_a_string_as_a_parameter">Specifying a string as a parameter</a>" блок ниже.</dd> <dt><code><var>function</var></code> (replacement)</dt> <dd>Функция вызванная при создании новой строки которая используется для замены совпадений указанных в <code><var>regexp</var></code> or <code><var>substr</var></code>. Аргументы применяемы в этой функции описываются в "<a href="#Specifying_a_function_as_a_parameter">Specifying a function as a parameter</a>" блок ниже.</dd> </dl> <h3 id="Return_value">Return value</h3> -<p>Новая строка, в которой все совпадения замены на уазанную подстроку или специальный шаблон.</p> +<p>Новая строка, в которой все совпадения замены на указанную подстроку или специальный шаблон.</p> <h2 id="Описание">Описание</h2> @@ -61,7 +61,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll </tr> <tr> <td><code>$&</code></td> - <td>Вставлет совпадения.</td> + <td>Вставлять совпадения.</td> </tr> <tr> <td><code>$`</code></td> @@ -80,9 +80,9 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll <h3 id="Указание_функции_в_качестве_параметра">Указание функции в качестве параметра</h3> -<p>Вы можете передать функцию вторым параметром. Вэтом случае, функция вызывается полсе нахождения совпадений. Результат функции может быть использованна как замещающая строка. (<strong>Внимание:</strong> Выше упомянутые специальные шаблоны замены в данном случае неприменимы.)</p> +<p>Вы можете передать функцию вторым параметром. Этом случае, функция вызывается после нахождения совпадений. Результат функции может быть использована как замещающая строка. (<strong>Внимание:</strong> Выше упомянутые специальные шаблоны замены в данном случае неприменимы.)</p> -<p>Функция может быть вызвана многократно для каждого замененного совпадения, если регудярное выражение указано с глобальным влагом("g").</p> +<p>Функция может быть вызвана многократно для каждого замененного совпадения, если регулярное выражение указано с глобальным флагом("g").</p> <p>Функция имеет следующие аргументы:</p> @@ -96,11 +96,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll <tbody> <tr> <td><code>match</code></td> - <td>Найденная построка. (Соответствуетt <code>$&</code> указанному выше)</td> + <td>Найденная постройка. (Соответствует <code>$&</code> указанному выше)</td> </tr> <tr> <td><code>p1, p2, ...</code></td> - <td><var>n</var>th количество строк найденых групповыми скобками указанные первым параметром в регулярном выражении. (Соответствует <code>$1</code>, <code>$2</code>, см. выше) Для примера, если <code>/(\a+)(\b+)/</code>, то <code>p1</code> это <code>\a+</code>, а <code>p2</code> это<code>\b+</code>.</td> + <td><var>n</var>th количество строк найденных групповыми скобками указанные первым параметром в регулярном выражении. (Соответствует <code>$1</code>, <code>$2</code>, см. выше) Для примера, если <code>/(\a+)(\b+)/</code>, то <code>p1</code> это <code>\a+</code>, а <code>p2</code> это<code>\b+</code>.</td> </tr> <tr> <td><code>offset</code></td> diff --git a/files/ru/web/javascript/reference/global_objects/string/startswith/index.html b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html index d9228e2925..a58fbf5631 100644 --- a/files/ru/web/javascript/reference/global_objects/string/startswith/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith <h2 id="Summary" name="Summary">Сводка</h2> -<p>Метод <strong><code>startsWith()</code></strong> помогает определить, начинается ли строка с символов указаных в скобках, возвращая, соответственно, <code>true</code> или <code>false</code>.</p> +<p>Метод <strong><code>startsWith()</code></strong> помогает определить, начинается ли строка с символов указанных в скобках, возвращая, соответственно, <code>true</code> или <code>false</code>.</p> <h2 id="Syntax" name="Syntax">Синтаксис</h2> @@ -44,7 +44,7 @@ console.log(str.startsWith('не быть')); // false console.log(str.startsWith('не быть', 9)); // true </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p> diff --git a/files/ru/web/javascript/reference/global_objects/string/substr/index.html b/files/ru/web/javascript/reference/global_objects/string/substr/index.html index cfc0191ea7..13fbfe4b76 100644 --- a/files/ru/web/javascript/reference/global_objects/string/substr/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/substr/index.html @@ -63,7 +63,7 @@ console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): аб' console.log('(20, 2): ' + str.substr(20, 2)); // '(20, 2): ' </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>JScript от Microsoft не поддерживает отрицательные значения для начального индекса. Если вы хотите использовать эту возможность, вы можете использовать следующий код совместимости для обхода этой ошибки:</p> diff --git a/files/ru/web/javascript/reference/global_objects/string/substring/index.html b/files/ru/web/javascript/reference/global_objects/string/substring/index.html index 9efb4f84a8..bb18f3db2e 100644 --- a/files/ru/web/javascript/reference/global_objects/string/substring/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/substring/index.html @@ -98,7 +98,7 @@ function replaceString(oldS, newS, fullS) { replaceString('мир', 'веб', 'Дивный новый мир'); </pre> -<p>Обратите внимание, что функция может скатиться в беcконечный цикл, если строка <code>oldS</code> сама является подстрокой для <code>newS</code> — например, если вы попытаетесь заменить слово «мир» на слово «другоймир». Лучше использоваться следующий метод для замены строк:</p> +<p>Обратите внимание, что функция может скатиться в бесконечный цикл, если строка <code>oldS</code> сама является подстрокой для <code>newS</code> — например, если вы попытаетесь заменить слово «мир» на слово «другоймир». Лучше использоваться следующий метод для замены строк:</p> <pre class="brush: js">function replaceString(oldS, newS, fullS) { return fullS.split(oldS).join(newS); diff --git a/files/ru/web/javascript/reference/global_objects/string/tosource/index.html b/files/ru/web/javascript/reference/global_objects/string/tosource/index.html index 3570fd5b48..73dda0dd53 100644 --- a/files/ru/web/javascript/reference/global_objects/string/tosource/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/tosource/index.html @@ -31,7 +31,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/toSource </li> <li>Для экземпляров объекта {{jsxref("Global_Objects/String", "String")}} или строковых литералов, метод <code>toSource()</code> возвращает строковое представление исходного кода.</li> </ul> -<p>Этот метод обычно вызывается внутренними механизмаим движка JavaScript, а не явно в коде.</p> +<p>Этот метод обычно вызывается внутренними механизмами движка JavaScript, а не явно в коде.</p> <h2 id="Specifications" name="Specifications">Спецификации</h2> <p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.</p> diff --git a/files/ru/web/javascript/reference/global_objects/string/trim/index.html b/files/ru/web/javascript/reference/global_objects/string/trim/index.html index e7f2037942..48079381e2 100644 --- a/files/ru/web/javascript/reference/global_objects/string/trim/index.html +++ b/files/ru/web/javascript/reference/global_objects/string/trim/index.html @@ -39,7 +39,7 @@ var orig = 'foo '; console.log(orig.trim()); // 'foo' </pre> -<h2 id="Polyfill" name="Polyfill">Полифилл</h2> +<h2 id="Polyfill" name="Polyfill">Полифил</h2> <p>Запуск следующего кода до любого другого создаст метод <code>trim()</code>, если он ещё не реализуется браузером.</p> diff --git a/files/ru/web/javascript/reference/global_objects/symbol/@@toprimitive/index.html b/files/ru/web/javascript/reference/global_objects/symbol/@@toprimitive/index.html index 680100f800..4bb2fd8479 100644 --- a/files/ru/web/javascript/reference/global_objects/symbol/@@toprimitive/index.html +++ b/files/ru/web/javascript/reference/global_objects/symbol/@@toprimitive/index.html @@ -31,14 +31,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/@@toPrimitive <p>JavaScript вызывает метод<code style="font-size: 1rem; letter-spacing: -0.00278rem;">[@@toPrimitive] ()</code><span style="font-size: 1rem; letter-spacing: -0.00278rem;"> для преобразования объекта в примитив. </span><span style="font-size: 1rem; letter-spacing: -0.00278rem;">JavaScript автоматически вызывает метод, когда на месте</span><span style="font-size: 1rem; letter-spacing: -0.00278rem;"> объекта ожидается примитивное значение.</span></p> -<h2 id="Спефикации">Спефикации</h2> +<h2 id="Спецификации">Спецификации</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('ES2015', '#sec-symbol.prototype-@@toprimitive', 'Symbol.prototype.@@toPrimitive')}}</td> diff --git a/files/ru/web/javascript/reference/global_objects/symbol/index.html b/files/ru/web/javascript/reference/global_objects/symbol/index.html index 9dbecb81cb..739474189c 100644 --- a/files/ru/web/javascript/reference/global_objects/symbol/index.html +++ b/files/ru/web/javascript/reference/global_objects/symbol/index.html @@ -114,7 +114,7 @@ typeof symObj; // "object" <dt>{{jsxref("Symbol.for()", "Symbol.for(key)")}}</dt> <dd>Ищет существующие символы по заданному ключу и возвращает его, если он найден. В противном случае создается новый символ для данного ключа в глобальном реестре символов.</dd> <dt>{{jsxref("Symbol.keyFor", "Symbol.keyFor(sym)")}}</dt> - <dd>Получает по разделямому символу его ключ из глобального реестра символов.</dd> + <dd>Получает по разделяемому символу его ключ из глобального реестра символов.</dd> </dl> <h2 id="Boolean_instances" name="Boolean_instances"><code><span style="font-family: open sans,sans-serif; font-size: 2.14285714285714rem;">Прототип </span>Symbol</code></h2> @@ -147,7 +147,7 @@ typeof Symbol.iterator === 'symbol' <ul> <li>При попытке конвертировать символ в число, будет брошено исключение {{jsxref("TypeError")}} (напр., <code>+sym</code> или <code>sym | 0</code>).</li> <li>Результатом нестрогого сравнения, <code>Object(sym) == sym</code>, будет <code>true.</code></li> - <li><code>Symbol("foo") + "bar" </code>бросает исключение {{jsxref("TypeError")}} (невозможно преобразовать символ в строку). Это удерживает разработчика от, к примеру, случайного создания строкого поля у объекта из символа.</li> + <li><code>Symbol("foo") + "bar" </code>бросает исключение {{jsxref("TypeError")}} (невозможно преобразовать символ в строку). Это удерживает разработчика от, к примеру, случайного создания строгого поля у объекта из символа.</li> <li>Более <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#String_conversion">"безопасный" вызов <code>String(sym)</code></a> работает с символами как вызов {{jsxref("Symbol.prototype.toString()")}}. Заметьте, что в то же время <code>new String(sym)</code> бросит исключение.</li> </ul> diff --git a/files/ru/web/javascript/reference/global_objects/symbol/search/index.html b/files/ru/web/javascript/reference/global_objects/symbol/search/index.html index 2f484e317f..c1951ba776 100644 --- a/files/ru/web/javascript/reference/global_objects/symbol/search/index.html +++ b/files/ru/web/javascript/reference/global_objects/symbol/search/index.html @@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/search <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пулл-реквест.</div> +<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пул-реквест.</div> <p>{{Compat("javascript.builtins.Symbol.search")}}</p> diff --git a/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html b/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html index fa512ba32f..ac35c69346 100644 --- a/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html +++ b/files/ru/web/javascript/reference/global_objects/symbol/toprimitive/index.html @@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive --- <div>{{JSRef}}</div> -<p><strong><code>Symbol.toPrimitive</code> </strong>является символом (symbol), который описывает свойство объекта как функцию, которая вызывается при преобразовании объекта в соответсвующее примитивное значение.</p> +<p><strong><code>Symbol.toPrimitive</code> </strong>является символом (symbol), который описывает свойство объекта как функцию, которая вызывается при преобразовании объекта в соответствующее примитивное значение.</p> <p>{{EmbedInteractiveExample("pages/js/symbol-toprimitive.html")}}</p> diff --git a/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html b/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html index 1cb2a967b3..ff3b6289e2 100644 --- a/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html +++ b/files/ru/web/javascript/reference/global_objects/symbol/unscopables/index.html @@ -18,11 +18,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/unscopables <p><code><font face="Open Sans, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Символ </span></font>@@unscopables</code> (<code>Symbol.unscopables</code>) может быть определён к любому объекту, чтобы исключить имена свойств из-за того, что они отображаются как лексические переменные с привязкой окружения <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/with">with</a></code>. Обратите внимание: если использовать <a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">"Строгий режим"</a>, оператор <code>with</code> будет недоступен и вероятнее всего также не понадобится этот символ.</p> -<p>Если Вы зададите свойству знаечние <code>true</code> в объекте <code>unscopables</code> сделает его "<em>unscopable</em><em>"</em> и, следовательно, оно не будет задействовано в области лексических переменных. Придав свойству значение <code>false</code>, Вы сделаете его <code>scopable</code> и, как следствие, оно будет задействовано в области лексических переменных.</p> +<p>Если Вы зададите свойству значение <code>true</code> в объекте <code>unscopables</code> сделает его "<em>unscopable</em><em>"</em> и, следовательно, оно не будет задействовано в области лексических переменных. Придав свойству значение <code>false</code>, Вы сделаете его <code>scopable</code> и, как следствие, оно будет задействовано в области лексических переменных.</p> <h2 id="Примеры">Примеры</h2> -<p>Приведённый код отлично работает в ES5 и ниже. Однако в ECMAScript 2015 и более поздних версиях был введён метод {{jsxref("Array.prototype.keys()")}}. Это означает, что внутри окружения <code>with</code>, "ключи" будут методом, а не пременной. Вот где теперь встроенные свойства символа {{jsxref("Array.@@unscopables", "Array.prototype[@@unscopables]")}} вступают в игру и препятствуют тому, чтобы некоторые из методов Array были включены в оператор <code>with</code>.</p> +<p>Приведённый код отлично работает в ES5 и ниже. Однако в ECMAScript 2015 и более поздних версиях был введён метод {{jsxref("Array.prototype.keys()")}}. Это означает, что внутри окружения <code>with</code>, "ключи" будут методом, а не переменной. Вот где теперь встроенные свойства символа {{jsxref("Array.@@unscopables", "Array.prototype[@@unscopables]")}} вступают в игру и препятствуют тому, чтобы некоторые из методов Array были включены в оператор <code>with</code>.</p> <pre class="brush: js">var keys = []; @@ -77,7 +77,7 @@ with (obj) { <h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> -<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пулл-реквест.</div> +<div class="hidden">Таблица совместимости на этой странице создаётся из структурированных данных. Если Вы хотите дополнить эти данные, ознакомьтесь с <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам пул-реквест.</div> <p>{{Compat("javascript.builtins.Symbol.unscopables")}}</p> diff --git a/files/ru/web/javascript/reference/global_objects/typedarray/index.html b/files/ru/web/javascript/reference/global_objects/typedarray/index.html index e2a200783a..17bd236f34 100644 --- a/files/ru/web/javascript/reference/global_objects/typedarray/index.html +++ b/files/ru/web/javascript/reference/global_objects/typedarray/index.html @@ -141,7 +141,7 @@ Int8Array.prototype.foo = "bar"; <td>{{jsxref("Float32Array")}}</td> <td>1.2x10<sup>-38</sup> to 3.4x10<sup>38</sup></td> <td>4</td> - <td>32-битное число с плавающей точкой IEEE-стандарта (7 значащих цифр, нпример 1.123456)</td> + <td>32-битное число с плавающей точкой IEEE-стандарта (7 значащих цифр, например 1.123456)</td> <td><code>unrestricted float</code></td> <td><code>float</code></td> </tr> @@ -196,7 +196,7 @@ Int8Array.prototype.foo = "bar"; <p>Многие методы, используемые в TypedArray, могут быть подменены, используя методы, присутствующие среди стандартных в прототипе Arrays. Следующий кусок Javascript-кода демонстрирует, как вы можете дополнить недостающие методы Typed Array.</p> -<pre class="brush: js example-bad">var typedArrayTypes = [<code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Int8Array" title="Объект Int8Array представляет типизированный массив 8-разрядных целых значений. Содержимое инициализируется значением 0. Создав экземпляр Int8Array, возможно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Int8Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array" title="Объект Uint8Array представляет типизированный массив 8-разрядных целых беззнаковых значений. Содержимое инициализируется значением 0. Создав экземпляр Int8Array, возможно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Uint8Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray" title="Типизированный массив Uint8ClampedArray — это массив, служащий для храния 8-битных безнаковых чисел, обрезаемых до диапазона от 0 до 255. Если значение меньше 0, то оно будет приведено к 0 , и к 255, если оно больше 255. Числа с плавающей точкой округляются с помощью математического округления. Массив инициализуруется нулями. После того как значение установлено, Вы можете ссылаться на него с помощью методов объекта или через стандартный синтаксис массивов (то есть, брать значения с помощью квадратных скобок). ">Uint8ClampedArray</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Int16Array" title="Объект Int16Array представляет типизированный массив 16-битных целых чисел со знаком с дополнением до двух с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Int16Array, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Int16Array</a>, +<pre class="brush: js example-bad">var typedArrayTypes = [<code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Int8Array" title="Объект Int8Array представляет типизированный массив 8-разрядных целых значений. Содержимое инициализируется значением 0. Создав экземпляр Int8Array, возможно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Int8Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array" title="Объект Uint8Array представляет типизированный массив 8-разрядных целых беззнаковых значений. Содержимое инициализируется значением 0. Создав экземпляр Int8Array, возможно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Uint8Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray" title="Типизированный массив Uint8ClampedArray — это массив, служащий для храния 8-битных беззнаковых чисел, обрезаемых до диапазона от 0 до 255. Если значение меньше 0, то оно будет приведено к 0 , и к 255, если оно больше 255. Числа с плавающей точкой округляются с помощью математического округления. Массив инициализуруется нулями. После того как значение установлено, Вы можете ссылаться на него с помощью методов объекта или через стандартный синтаксис массивов (то есть, брать значения с помощью квадратных скобок). ">Uint8ClampedArray</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Int16Array" title="Объект Int16Array представляет типизированный массив 16-битных целых чисел со знаком с дополнением до двух с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Int16Array, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Int16Array</a>, </code> <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array" title="Объект Uint16Array представляет типизированный массив 16-битных целых беззнаковых чисел с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Uint16Array , можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Uint16Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Int32Array" title="Объект Int32Array представляет типизированный массив 32-битных целых чисел со знаком с дополнением до двух с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Int32Array, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Int32Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array" title="Объект Uint32Array представляет типизированный массив 32-битных целых беззнаковых чисел с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Uint32Array, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации).">Uint32Array</a>, <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Float32Array" title="Объект Float32Array представляет типизированный массив 32-битных чисел с плавающей запятой (соответствует типу float в языке C) с платформо-зависимым порядком байт. Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Float32Array, можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации - квадратные скобки).">Float32Array</a>, </code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Float64Array" title="Объект Float64Array представляет типизированный массив 64-битных чисел с плавающей запятой (соответствует типу double в языке C) с платформо-зависимым порядком байт.Если необходим контроль за порядком байт, то вместо этого объекта используйте DataView. Содержимое инициализируется значением 0. Создав экземпляр Float64Array , можно получить доступ к элементам массива, используя методы объекта или стандартный синтаксис доступа к элементу массива по его индексу (с помощью скобочной нотации - квадратные скобки)."><code>Float64Array</code></a>]; for (var k in typedArrayTypes) @@ -223,7 +223,7 @@ for (var k in typedArrayTypes) <tr> <td>{{SpecName('ES6', '#sec-typedarray-objects', 'TypedArray Objects')}}</td> <td>{{Spec2('ES6')}}</td> - <td>Первоначальное определение в стандарте ECMA. Определяет поведение индекных и именованных свойств. Указывает, что необходимо использовать оператор <code>new</code>.</td> + <td>Первоначальное определение в стандарте ECMA. Определяет поведение индексных и именованных свойств. Указывает, что необходимо использовать оператор <code>new</code>.</td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-typedarray-objects', 'TypedArray Objects')}}</td> diff --git a/files/ru/web/javascript/reference/global_objects/typedarray/join/index.html b/files/ru/web/javascript/reference/global_objects/typedarray/join/index.html index ba3118f74d..9997d91a71 100644 --- a/files/ru/web/javascript/reference/global_objects/typedarray/join/index.html +++ b/files/ru/web/javascript/reference/global_objects/typedarray/join/index.html @@ -37,7 +37,7 @@ uint8.join(''); // '123' <h2 id="Glossary('Polifill'_'Полифил')">{{Glossary('Polifill', 'Полифил')}}</h2> -<p>Поскольку теперь нет глобального объекта с именем <em>TypedArray</em>, то полифиллинг доджен быть выполнен "по требованию".</p> +<p>Поскольку теперь нет глобального объекта с именем <em>TypedArray</em>, то полифилинг должен быть выполнен "по требованию".</p> <pre class="brush: js">// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join if (!Uint8Array.prototype.join) { @@ -47,7 +47,7 @@ if (!Uint8Array.prototype.join) { } </pre> -<p>Если вам нужна поддержка устаревшего JavaScript-дфижка, который не поддерживает свойство <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a></code>, то лучше не создавать полифилы новых методов <code>Array.prototype</code>, так как вы не сможете сделать их неперечислимыми.</p> +<p>Если вам нужна поддержка устаревшего JavaScript-движка, который не поддерживает свойство <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a></code>, то лучше не создавать полифилы новых методов <code>Array.prototype</code>, так как вы не сможете сделать их неперечислимыми.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/javascript/reference/global_objects/typedarray/set/index.html b/files/ru/web/javascript/reference/global_objects/typedarray/set/index.html index 2a26b9b4cb..c35428e678 100644 --- a/files/ru/web/javascript/reference/global_objects/typedarray/set/index.html +++ b/files/ru/web/javascript/reference/global_objects/typedarray/set/index.html @@ -37,7 +37,7 @@ typedarr.set(typedarray [,offset]) <dl> <dt>{{jsxref("RangeError")}}</dt> - <dd>Возникает, в случае, когда с текущим сдвигом елементы будут сохраняться за пределы типизированного массива.</dd> + <dd>Возникает, в случае, когда с текущим сдвигом элементы будут сохраняться за пределы типизированного массива.</dd> </dl> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/global_objects/uint8clampedarray/index.html b/files/ru/web/javascript/reference/global_objects/uint8clampedarray/index.html index e686cc5806..f6248232a8 100644 --- a/files/ru/web/javascript/reference/global_objects/uint8clampedarray/index.html +++ b/files/ru/web/javascript/reference/global_objects/uint8clampedarray/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray --- <div>{{JSRef}}</div> -<p>Типизированный массив<strong><code> Uint8ClampedArray </code></strong>— это массив, служащий для хранения 8-битных безнаковых чисел, обрезаемых до диапазона от 0 до 255. Если значение меньше 0, то оно будет приведено к 0 , и к 255, если оно больше 255. Числа с плавающей точкой округляются с помощью математического округления. Массив инициализуруется нулями. После того как значение установлено, Вы можете ссылаться на него с помощью методов объекта или через стандартный синтаксис массивов (то есть, брать значения с помощью квадратных скобок). </p> +<p>Типизированный массив<strong><code> Uint8ClampedArray </code></strong>— это массив, служащий для хранения 8-битных беззнаковых чисел, обрезаемых до диапазона от 0 до 255. Если значение меньше 0, то оно будет приведено к 0 , и к 255, если оно больше 255. Числа с плавающей точкой округляются с помощью математического округления. Массив инициализируется нулями. После того как значение установлено, Вы можете ссылаться на него с помощью методов объекта или через стандартный синтаксис массивов (то есть, брать значения с помощью квадратных скобок). </p> <h2 id="Syntax">Syntax</h2> diff --git a/files/ru/web/javascript/reference/global_objects/unescape/index.html b/files/ru/web/javascript/reference/global_objects/unescape/index.html index 503782b5d0..b0052bf0dc 100644 --- a/files/ru/web/javascript/reference/global_objects/unescape/index.html +++ b/files/ru/web/javascript/reference/global_objects/unescape/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape <h2 id="Summary" name="Summary">Описание</h2> -<p>Устаревший метод <code><strong>unescape(str)</strong></code> создает новую строку в которой шестнадцатиричная последовательность симоволов вида %xx заменяется эквивалентами из кодировки ASCII. Знаки, закодированные в формате %uxxxx (знаки Юникода), заменяются знаками Юникода в шестнадцатеричной кодировке xxxx.</p> +<p>Устаревший метод <code><strong>unescape(str)</strong></code> создает новую строку в которой шестнадцатеричная последовательность символов вида %xx заменяется эквивалентами из кодировки ASCII. Знаки, закодированные в формате %uxxxx (знаки Юникода), заменяются знаками Юникода в шестнадцатеричной кодировке xxxx.</p> <p>Последовательность может быть результатом работы функции вроде {{jsxref("Global_Objects/escape", "escape")}}. Т.к. {{jsxref("Global_Objects/decodeURIComponent", "unescape")}} является устаревшей, используйте {{jsxref("Global_Objects/decodeURI", "decodeURI")}} или {{jsxref("Global_Objects/decodeURIComponent", "decodeURIComponent")}} вместо неё.</p> @@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape <h2 id="Description" name="Description">Описание</h2> -<p><code>Функция unescape</code> это свойство <em>глабального объекта</em>.</p> +<p><code>Функция unescape</code> это свойство <em>глобального объекта</em>.</p> <h2 id="Примеры">Примеры</h2> @@ -51,7 +51,7 @@ unescape("%u0107"); // "ć" <tr> <td>ECMAScript 1st Edition.</td> <td>Standard</td> - <td>Начальное определние.</td> + <td>Начальное определение.</td> </tr> <tr> <td>{{SpecName('ES5.1', '#sec-B.2.2', 'unescape')}}</td> diff --git a/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html b/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html index 76e4b078dc..8072855d1e 100644 --- a/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html +++ b/files/ru/web/javascript/reference/global_objects/weakmap/delete/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap/delete <pre class="syntaxbox"><code><em>wm</em>.delete(key);</code></pre> -<h3 id="Параетры">Параетры</h3> +<h3 id="Параметры">Параметры</h3> <dl> <dt>key</dt> diff --git a/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html b/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html index ba600573a9..90f80474a6 100644 --- a/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html +++ b/files/ru/web/javascript/reference/global_objects/webassembly/compile/index.html @@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile <dl> <dt><em>bufferSource</em></dt> - <dd>Типированный массив <a href="/en-US/docs/Web/JavaScript/Typed_arrays">typed array</a> или <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a>, содержащий двоичный код модуля <code>.wasm</code>, который вы хотите скомпилировать.</dd> + <dd>Типизированный массив <a href="/en-US/docs/Web/JavaScript/Typed_arrays">typed array</a> или <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a>, содержащий двоичный код модуля <code>.wasm</code>, который вы хотите скомпилировать.</dd> </dl> <h3 id="Возвращаемое_значение">Возвращаемое значение</h3> diff --git a/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html b/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html index c453aeaf46..eb9bc5ce48 100644 --- a/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html +++ b/files/ru/web/javascript/reference/global_objects/webassembly/table/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table --- <div>{{JSRef}}</div> -<p>Объект <code><strong>WebAssembly.Table()</strong></code> - это JavaScript обертка — структура похожая на массив, представляюшая таблицу функций WebAssembly. Таблица, созданная через JavaScript или в коде WebAssembly, будет доступна и может быть изменена как из JavaScript, так и из WebAssembly.</p> +<p>Объект <code><strong>WebAssembly.Table()</strong></code> - это JavaScript обертка — структура похожая на массив, представляющая таблицу функций WebAssembly. Таблица, созданная через JavaScript или в коде WebAssembly, будет доступна и может быть изменена как из JavaScript, так и из WebAssembly.</p> <div class="note"> <p><strong>Обратите внимание</strong>: Таблицы сейчас хранят только ссылки на функции, но это может быть расширено в будущем.</p> @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table <dt><code>Table.prototype.constructor</code></dt> <dd>Возвращает функцию которая создала этот объект. По умолчанию это конструктор {{jsxref("WebAssembly.Table()")}}.</dd> <dt>{{jsxref("WebAssembly/Table/length","Table.prototype.length")}}</dt> - <dd>Возвращает длину таблицы (количество елементов в таблице).</dd> + <dd>Возвращает длину таблицы (количество элементов в таблице).</dd> </dl> <h3 id="Instance_methods">Instance methods</h3> @@ -44,14 +44,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table <h2 id="Примеры">Примеры</h2> -<p>Следующий пример (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.html">исходный код</a> и <a href="https://mdn.github.io/webassembly-examples/js-api-examples/table2.html">живую версию</a> table2.html) создает новый экземпляр WebAssembly Table с 2 элементами. После этого выводит длину таблицы и содержимое первых двух елементов (полученных через {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} чтобы показать что длина равняется 2 и елементы равны {{jsxref("null")}}.</p> +<p>Следующий пример (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.html">исходный код</a> и <a href="https://mdn.github.io/webassembly-examples/js-api-examples/table2.html">живую версию</a> table2.html) создает новый экземпляр WebAssembly Table с 2 элементами. После этого выводит длину таблицы и содержимое первых двух элементов (полученных через {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} чтобы показать что длина равняется 2 и элементы равны {{jsxref("null")}}.</p> <pre class="brush: js">var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"}); console.log(tbl.length); // "2" console.log(tbl.get(0)); // "null" console.log(tbl.get(1)); // "null"</pre> -<p>После этого мы создаем обьект импорта содержащий таблицу:</p> +<p>После этого мы создаем объект импорта содержащий таблицу:</p> <pre class="brush: js">var importObj = { js: { @@ -59,7 +59,7 @@ console.log(tbl.get(1)); // "null"</pre> } };</pre> -<p>После этого, мы создаем экземпляр модуля wasm (table2.wasm) используя метод {{jsxref("WebAssembly.instantiateStreaming()")}}. Модуль table2.wasm содержит две функции, одна возвращает 42, а вторая - 83) и сохраняет эти функции под индексами 0 и 1 в импортированную таблицу (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.wat">текстовую версию</a>). Таким образом, после создания wasm-модуля, таблица имеет туже длину, но елементы таблицы стали <a href="/ru-RU/docs/WebAssembly/Exported_functions">функциями экспортированными из WebAssembly</a> которые можно вызывать из JS.</p> +<p>После этого, мы создаем экземпляр модуля wasm (table2.wasm) используя метод {{jsxref("WebAssembly.instantiateStreaming()")}}. Модуль table2.wasm содержит две функции, одна возвращает 42, а вторая - 83) и сохраняет эти функции под индексами 0 и 1 в импортированную таблицу (смотри <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.wat">текстовую версию</a>). Таким образом, после создания wasm-модуля, таблица имеет туже длину, но элементы таблицы стали <a href="/ru-RU/docs/WebAssembly/Exported_functions">функциями экспортированными из WebAssembly</a> которые можно вызывать из JS.</p> <pre class="brush: js">WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject) .then(function(obj) { diff --git a/files/ru/web/javascript/reference/lexical_grammar/index.html b/files/ru/web/javascript/reference/lexical_grammar/index.html index e3d581c8e6..24705ce8ec 100644 --- a/files/ru/web/javascript/reference/lexical_grammar/index.html +++ b/files/ru/web/javascript/reference/lexical_grammar/index.html @@ -164,7 +164,7 @@ ECMAScript также определяет ключевые слова и лит <p>В JavaScript есть несколько способов указать комментарии в коде.</p> -<p>Первый способ <code>//</code> комментарий; в этом случае весь текст в строке после двойного слэша будет комментарием, например:</p> +<p>Первый способ <code>//</code> комментарий; в этом случае весь текст в строке после двойного слеша будет комментарием, например:</p> <pre class="brush: js notranslate">function comment() { // Это комментарий в строке @@ -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> @@ -428,7 +428,7 @@ var o = { a: a, b: b, c: c }; <h4 id="Экранирование_Юникод_символов">Экранирование Юникод символов</h4> -<p>Для экранирования Юникод символов обязательно нужно указать по-крайней мере 4 символа после \u.</p> +<p>Для экранирования Юникод символов обязательно нужно указать по крайней мере 4 символа после \u.</p> <pre class="brush: js notranslate">'\u00A9' // "©"</pre> diff --git a/files/ru/web/javascript/reference/operators/async_function/index.html b/files/ru/web/javascript/reference/operators/async_function/index.html index 9b9c72aba1..2936baf4f4 100644 --- a/files/ru/web/javascript/reference/operators/async_function/index.html +++ b/files/ru/web/javascript/reference/operators/async_function/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Operators/async_function --- <div>{{jsSidebar("Operators")}}</div> -<p>Ключевое слово <strong><code>async function</code></strong> исползуется для определения асинхронной функции внутри выражений.</p> +<p>Ключевое слово <strong><code>async function</code></strong> используется для определения асинхронной функции внутри выражений.</p> <p>Вы также можете определить асинхронные функции при помощи <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function" title="The async function keyword can be used to define async functions inside expressions.">инструкции async function</a>.</p> diff --git a/files/ru/web/javascript/reference/operators/bitwise_and/index.html b/files/ru/web/javascript/reference/operators/bitwise_and/index.html index ce232c1463..cb2c53503a 100644 --- a/files/ru/web/javascript/reference/operators/bitwise_and/index.html +++ b/files/ru/web/javascript/reference/operators/bitwise_and/index.html @@ -5,12 +5,12 @@ tags: - JavaScript - Оператор - По - - Поитовые операторы + - Побитовые операторы translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND --- <div>{{jsSidebar("Operators")}}</div> -<p>Побитовый опеератор И (<code>&</code>) возвращает <code>1</code> в каждой битовой позиции, для которой соответствующие биты обоих операндов равны <code>1</code>.</p> +<p>Побитовый оператор И (<code>&</code>) возвращает <code>1</code> в каждой битовой позиции, для которой соответствующие биты обоих операндов равны <code>1</code>.</p> <div>{{EmbedInteractiveExample("pages/js/expressions-bitwise-and.html")}}</div> @@ -72,7 +72,7 @@ translation_of: Web/JavaScript/Reference/Operators/Bitwise_AND 14 & 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10) </pre> -<p>Побитовоее И для любого числа <code><var>x</var></code> с <code>0</code> дает <code>0</code>.</p> +<p>Побитовое И для любого числа <code><var>x</var></code> с <code>0</code> дает <code>0</code>.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/operators/class/index.html b/files/ru/web/javascript/reference/operators/class/index.html index ad22c1abc1..47924eddbe 100644 --- a/files/ru/web/javascript/reference/operators/class/index.html +++ b/files/ru/web/javascript/reference/operators/class/index.html @@ -7,7 +7,7 @@ translation_of: Web/JavaScript/Reference/Operators/class <div></div> -<p><strong>Class expression</strong> это способ определения класса в ECMAScript 2015 (ES6). Схожий с <a href="/en-US/docs/Web/JavaScript/Reference/Operators/function">function expressions</a>, class expressions может быть именованным либо не иметь имени. Если он именованный, то его имя доступно только внутри класса. JavaScript классы используют прототипно-ориентированние наследование.</p> +<p><strong>Class expression</strong> это способ определения класса в ECMAScript 2015 (ES6). Схожий с <a href="/en-US/docs/Web/JavaScript/Reference/Operators/function">function expressions</a>, class expressions может быть именованным либо не иметь имени. Если он именованный, то его имя доступно только внутри класса. JavaScript классы используют прототипно-ориентирование наследование.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Operators/class <h2 id="Описание">Описание</h2> -<p>Class expression имеет схожий сиснтаксис с {{jsxref("Statements/class", "class declaration (statement)", "", "true")}}. Однако в class expression можно опустить имя класса ("binding identifier"), что не допустимо с {{jsxref("Statements/class", "class declaration", "", "true")}}. Также class expression позволяет повторно объявить уже существующий класс и это <strong>не приведёт к ошибке типа</strong>, как при использовании {{jsxref("Statements/class", "class declaration", "", "true")}}. Свойство конструктора является опциональным. Результатом вызова оператора {{jsxref("Operators/typeof", "typeof")}} на классах, сгенерированных при помощи class expression, всегда будет "function".</p> +<p>Class expression имеет схожий синтаксис с {{jsxref("Statements/class", "class declaration (statement)", "", "true")}}. Однако в class expression можно опустить имя класса ("binding identifier"), что не допустимо с {{jsxref("Statements/class", "class declaration", "", "true")}}. Также class expression позволяет повторно объявить уже существующий класс и это <strong>не приведёт к ошибке типа</strong>, как при использовании {{jsxref("Statements/class", "class declaration", "", "true")}}. Свойство конструктора является опциональным. Результатом вызова оператора {{jsxref("Operators/typeof", "typeof")}} на классах, сгенерированных при помощи class expression, всегда будет "function".</p> <p>Так же, как и при использовании class declaration, тело класса у class expression будет исполняться в {{jsxref("Strict_mode", "строгом режиме", "", 1)}}.</p> @@ -89,7 +89,7 @@ Foo.name; // "NamedFoo" </tbody> </table> -<h2 id="Поддержка_брузерами">Поддержка брузерами</h2> +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> <p>{{CompatibilityTable}}</p> diff --git a/files/ru/web/javascript/reference/operators/conditional_operator/index.html b/files/ru/web/javascript/reference/operators/conditional_operator/index.html index facc7e671a..8b035ad9e4 100644 --- a/files/ru/web/javascript/reference/operators/conditional_operator/index.html +++ b/files/ru/web/javascript/reference/operators/conditional_operator/index.html @@ -163,7 +163,7 @@ location.assign(url); // "stop.html"</pre> </table> </div> -<h2 id="Смотрие_также">Смотрие также</h2> +<h2 id="Смотрите_также">Смотрите также</h2> <ul> <li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/if...else">if statement</a></li> diff --git a/files/ru/web/javascript/reference/operators/function/index.html b/files/ru/web/javascript/reference/operators/function/index.html index aefe1d0c2b..7e69430938 100644 --- a/files/ru/web/javascript/reference/operators/function/index.html +++ b/files/ru/web/javascript/reference/operators/function/index.html @@ -50,7 +50,7 @@ var notHoisted = function() { <h3 id="Именованное_функциональное_выражение"><a id="№Именованное функциональное выражение" name="№Именованное функциональное выражение">Именованное функциональное выражение</a></h3> -<p>Если вы хотите сослаться на текущую функцию внутри тела этой функции, вам необходимо создать именованое функциональное выражение. Данное имя будет локальным только для тела функции (её области видимости). Кроме того, это позволяет избежать использования нестандартного свойства {{jsxref("arguments.callee")}}.</p> +<p>Если вы хотите сослаться на текущую функцию внутри тела этой функции, вам необходимо создать именованное функциональное выражение. Данное имя будет локальным только для тела функции (её области видимости). Кроме того, это позволяет избежать использования нестандартного свойства {{jsxref("arguments.callee")}}.</p> <pre class="brush: js">var math = { 'factit': function factorial(n) { diff --git a/files/ru/web/javascript/reference/operators/function_star_/index.html b/files/ru/web/javascript/reference/operators/function_star_/index.html index c924d55dfe..289583b059 100644 --- a/files/ru/web/javascript/reference/operators/function_star_/index.html +++ b/files/ru/web/javascript/reference/operators/function_star_/index.html @@ -25,14 +25,14 @@ translation_of: Web/JavaScript/Reference/Operators/function* <dt><code>имя</code></dt> <dd>Имя функции. Может быть опущено, в этом случае функция будет <em>анонимной</em>. Имя локально для тела функции.</dd> <dt><code>параметрN</code></dt> - <dd>Имя аргумента, передаваемого в функцию. Фунция может иметь до 255 аргументов.</dd> + <dd>Имя аргумента, передаваемого в функцию. Функция может иметь до 255 аргументов.</dd> <dt><code>инструкции</code></dt> <dd>Инструкции, составляющие тело функции.</dd> </dl> <h2 id="Описание">Описание</h2> -<p>Выражение<code> function*</code> очень похоже на обявление {{jsxref('Statements/function*', 'function*')}}, и имеет почти такой же синтаксис. Основная разница между выражением <code>function*</code> и объявлением <code>function*</code> – в <em>имени функции,</em> которое может быть опущено в выражениях <code>function*</code> для создания <em>анонимных</em> функций. Смотрите главу о <a href="/ru/docs/Web/JavaScript/Reference/Functions">функциях</a> для получения более подробной информации.</p> +<p>Выражение<code> function*</code> очень похоже на объявление {{jsxref('Statements/function*', 'function*')}}, и имеет почти такой же синтаксис. Основная разница между выражением <code>function*</code> и объявлением <code>function*</code> – в <em>имени функции,</em> которое может быть опущено в выражениях <code>function*</code> для создания <em>анонимных</em> функций. Смотрите главу о <a href="/ru/docs/Web/JavaScript/Reference/Functions">функциях</a> для получения более подробной информации.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/operators/in/index.html b/files/ru/web/javascript/reference/operators/in/index.html index 35ee2c4620..7260b5913e 100644 --- a/files/ru/web/javascript/reference/operators/in/index.html +++ b/files/ru/web/javascript/reference/operators/in/index.html @@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Operators/in <dl> <dt><code>object</code></dt> - <dd>Объект, в котором нужно проверить содежание свойства с заданным именем.</dd> + <dd>Объект, в котором нужно проверить содержание свойства с заданным именем.</dd> </dl> <h2 id="Описание">Описание</h2> diff --git a/files/ru/web/javascript/reference/operators/index.html b/files/ru/web/javascript/reference/operators/index.html index eff74ba579..0ce141a4cb 100644 --- a/files/ru/web/javascript/reference/operators/index.html +++ b/files/ru/web/javascript/reference/operators/index.html @@ -80,7 +80,7 @@ translation_of: Web/JavaScript/Reference/Operators <h3 id="Unary_operators" name="Unary_operators">Унарные операторы</h3> -<p>Унарные опарации — это операции с одним операндом.</p> +<p>Унарные операции — это операции с одним операндом.</p> <dl> <dt>{{jsxref("Operators/delete", "delete")}}</dt> @@ -101,7 +101,7 @@ translation_of: Web/JavaScript/Reference/Operators <h3 id="Arithmetic_operators" name="Arithmetic_operators">Арифметические операторы</h3> -<p>Арифметические операторы своими операндами принимают числовые значения (литерали или переменные) и возвращают одно числовое значение.</p> +<p>Арифметические операторы своими операндами принимают числовые значения (литералы или переменные) и возвращают одно числовое значение.</p> <dl> <dt>{{jsxref("Operators/Arithmetic_Operators", "+", "#Addition")}}</dt> diff --git a/files/ru/web/javascript/reference/operators/instanceof/index.html b/files/ru/web/javascript/reference/operators/instanceof/index.html index 81676c6bf5..dd264b0a07 100644 --- a/files/ru/web/javascript/reference/operators/instanceof/index.html +++ b/files/ru/web/javascript/reference/operators/instanceof/index.html @@ -69,14 +69,14 @@ o3 instanceof C; // true, так как C.prototype теперь присутс <h3 id="instanceof_и_множественные_контексты_(например_фреймы_или_окна)"><code>instanceof</code> и множественные контексты (например, фреймы или окна)</h3> -<p>Различные контексты имеют разные среды выполнения. Это означает, что они имеют различныые built-ins (разный глобальный объект, различные конструкторы и т.д.). Это может давать неожиданные результаты. Например, <code>[] instanceof window.frames[0].Array</code> вернёт <code>false</code>, потому что <code>Array.prototype !== </code><code>window.frames[0].Array</code> а массив наследуется от <code>Array</code>.</p> +<p>Различные контексты имеют разные среды выполнения. Это означает, что они имеют различные built-ins (разный глобальный объект, различные конструкторы и т.д.). Это может давать неожиданные результаты. Например, <code>[] instanceof window.frames[0].Array</code> вернёт <code>false</code>, потому что <code>Array.prototype !== </code><code>window.frames[0].Array</code> а массив наследуется от <code>Array</code>.</p> <p>Это может казаться несущественной проблемой сначала, но при работе с несколькими фреймами или окнами, и передачи объектов из одного контекста в другой с помощью функций, это может стать серьёзной проблемой. С другой стороны, безопасно проверить, является ли некоторый объект массивом можно используя <code>Array.isArray(myObj)</code>.</p> <p>Например, для проверки того, что <a href="/ru/docs/Web/API/Node">Node</a> является <a href="/ru/docs/Web/API/SVGElement">SVGElement</a> в разных контекстах можно использовать <code>myNode instanceof myNode.ownerDocument.defaultView.SVGElement</code>.</p> <div class="note"><strong>Замечания для разработчиков Mozilla:</strong><br> -Использование XPCOM <code>instanceof</code> в коде имеет специальный эффект: <code>obj instanceof </code><em><code>xpcomInterface</code></em> (например <code>Components.interfaces.nsIFile</code>) вызывает <code>obj.QueryInterface(<em>xpcomInterface</em>)</code> и возвращает <code>true</code> если проверка на QueryInterface прошла успешно. Побочным эфектом этого вызова является то, что можно использовать свойства <em><code>xpcomInterface</code></em> на <code>obj</code> после успешной проверки с помощью <code>instanceof</code>. В отличии от стандартных глобальных JavaScript типов, проверка <code>obj instanceof xpcomInterface</code> работает как ожидается, даже если <code>obj</code> отнсится к другому контексту.</div> +Использование XPCOM <code>instanceof</code> в коде имеет специальный эффект: <code>obj instanceof </code><em><code>xpcomInterface</code></em> (например <code>Components.interfaces.nsIFile</code>) вызывает <code>obj.QueryInterface(<em>xpcomInterface</em>)</code> и возвращает <code>true</code> если проверка на QueryInterface прошла успешно. Побочным эффектом этого вызова является то, что можно использовать свойства <em><code>xpcomInterface</code></em> на <code>obj</code> после успешной проверки с помощью <code>instanceof</code>. В отличии от стандартных глобальных JavaScript типов, проверка <code>obj instanceof xpcomInterface</code> работает как ожидается, даже если <code>obj</code> относится к другому контексту.</div> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/javascript/reference/operators/new/index.html b/files/ru/web/javascript/reference/operators/new/index.html index ce21bd41c1..b6f4ed80b7 100644 --- a/files/ru/web/javascript/reference/operators/new/index.html +++ b/files/ru/web/javascript/reference/operators/new/index.html @@ -43,12 +43,12 @@ translation_of: Web/JavaScript/Reference/Operators/new <ol> <li>Создается новый объект, наследующий <code><em>Foo</em>.prototype.</code></li> <li>Вызывается конструктор — функция <code><em>Foo</em></code> с указанными аргументами и <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/this">this</a>, привязанным к только что созданному объекту</code>. <code>new F<em>oo</em></code> эквивалентно <code>new </code><em>F<code>oo</code></em><code>()</code>, то есть если аргументы не указаны, Foo вызывается без аргументов.</li> - <li>Результатом выражения new становится объект, возвращенный конструктором. Если конструктор не возвращет объект явно, используется объект из п. 1. (Обычно конструкторы не возвращают значение, но они могут делать это, если нужно переопределить обычный процесс создания объектов.)</li> + <li>Результатом выражения new становится объект, возвращенный конструктором. Если конструктор не возвращает объект явно, используется объект из п. 1. (Обычно конструкторы не возвращают значение, но они могут делать это, если нужно переопределить обычный процесс создания объектов.)</li> </ol> <p>Всегда можно добавить свойство к уже созданному объекту. Например, <code>car1.color = "black"</code> добавляет свойство <code>color</code> к объекту <code>car1</code>, и присваивает ему значение "<code>black</code>". Это не затрагивает другие объекты. Чтобы добавить свойство ко всем объектам типа, нужно добавлять его в определение типа Car.</p> -<p>Добавить свойство к ранее определенному типу можно используя свойство <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">Function.prototype</a></code>. Это определит свойство для всех объектов, созданных этой функцией, а не только у какого-либо экземпляра. Следующий пример добавляет свойство color со значениеи <code>null</code> всем объектам типа <code>car</code>, а потом меняет его на "<code>black</code>" только у экземпляра <code>car1</code>. Больше информации в статье <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">prototype</a>.</p> +<p>Добавить свойство к ранее определенному типу можно используя свойство <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">Function.prototype</a></code>. Это определит свойство для всех объектов, созданных этой функцией, а не только у какого-либо экземпляра. Следующий пример добавляет свойство color со значением <code>null</code> всем объектам типа <code>car</code>, а потом меняет его на "<code>black</code>" только у экземпляра <code>car1</code>. Больше информации в статье <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype">prototype</a>.</p> <pre class="brush: js">function Car() {} car1 = new Car(); @@ -80,7 +80,7 @@ console.log(car1.color); // black <pre class="brush: js">var mycar = new Car("Eagle", "Talon TSi", 1993); </pre> -<p>Это выражение создает экземпляр <code>mycar</code> и присваевает его свойствам указанные значения. Таким образом, <code>mycar.make</code> принимает значение "Eagle", <code>mycar.year</code> принимает значение 1993, и так далее.</p> +<p>Это выражение создает экземпляр <code>mycar</code> и присваивает его свойствам указанные значения. Таким образом, <code>mycar.make</code> принимает значение "Eagle", <code>mycar.year</code> принимает значение 1993, и так далее.</p> <p>Можно создать любое количество экземпляров <code>car</code> с помощью оператора <code>new</code>. Например:</p> @@ -120,7 +120,7 @@ var ken = new Person("Ken Jones", 39, "M"); var car2 = new Car("Nissan", "300ZX", 1992, ken); </pre> -<p>Вместо строковых или численных значений можно передать обект как параметр. Чтобы узнать имя владельца <code>car2</code>, получим доступ к свойству:</p> +<p>Вместо строковых или численных значений можно передать объект как параметр. Чтобы узнать имя владельца <code>car2</code>, получим доступ к свойству:</p> <pre class="brush: js">car2.owner.name </pre> diff --git a/files/ru/web/javascript/reference/operators/object_initializer/index.html b/files/ru/web/javascript/reference/operators/object_initializer/index.html index c7172a0c03..5f8d445e0d 100644 --- a/files/ru/web/javascript/reference/operators/object_initializer/index.html +++ b/files/ru/web/javascript/reference/operators/object_initializer/index.html @@ -72,7 +72,7 @@ object.foo = 'baz'; <h3 id="Определение_свойств">Определение свойств</h3> -<p>Мы уже рассмотрели, как объявить свойства, используя синтаксис инициализации. Зачастую, в коде появляются свойства, которые вы захотите поместить в объект. Вы увидете следующий код:</p> +<p>Мы уже рассмотрели, как объявить свойства, используя синтаксис инициализации. Зачастую, в коде появляются свойства, которые вы захотите поместить в объект. Вы увидите следующий код:</p> <pre class="brush: js">var a = 'foo', b = 42, @@ -218,7 +218,7 @@ assert(!obj4.hasOwnProperty('__proto__')); <p>Только одно изменение prototype разрешено через литеральное объявление объекта: несколько изменений prototype вызовут синтаксическую ошибку.</p> -<p>Объявление свойства не через "двоеточие" не изменит знаения prototype: это описание будет выглядеть идентично такому же объявлению свойства с использованием любого другого имени.</p> +<p>Объявление свойства не через "двоеточие" не изменит значения prototype: это описание будет выглядеть идентично такому же объявлению свойства с использованием любого другого имени.</p> <pre class="brush: js">var __proto__ = 'variable'; diff --git a/files/ru/web/javascript/reference/operators/optional_chaining/index.html b/files/ru/web/javascript/reference/operators/optional_chaining/index.html index 30fd29e3c0..a51882e0d6 100644 --- a/files/ru/web/javascript/reference/operators/optional_chaining/index.html +++ b/files/ru/web/javascript/reference/operators/optional_chaining/index.html @@ -25,9 +25,9 @@ arr?.[index] <h2 id="Описание">Описание</h2> -<p>Оператор опциональной последовательности предоставляет способ упростить доступ к значениям в цепочке обьектов, когда возможно, что какое-то свойство (или метод) в ней равно <code>undefined</code> или <code>null</code>.</p> +<p>Оператор опциональной последовательности предоставляет способ упростить доступ к значениям в цепочке объектов, когда возможно, что какое-то свойство (или метод) в ней равно <code>undefined</code> или <code>null</code>.</p> -<p>Для примера, создадим обьект <code>obj</code>, имеющий вложенную структуру. Без оператора опциональной последовательности поиск глубоко расположенных подсвойств требует проверки всех промежуточных свойств на существование, например:</p> +<p>Для примера, создадим объект <code>obj</code>, имеющий вложенную структуру. Без оператора опциональной последовательности поиск глубоко расположенных подсвойств требует проверки всех промежуточных свойств на существование, например:</p> <pre class="brush: js">let nestedProp = obj.first && obj.first.second;</pre> @@ -46,7 +46,7 @@ let nestedProp = ((temp === null || temp === undefined) ? undefined : temp.secon <h3 id="Опциональная_последовательность_с_вызовом_функции">Опциональная последовательность с вызовом функции</h3> -<p>Вы можете использовать <code>?.</code><strong>, </strong>когда необходимо вызвать метод, которого может не существовать. Это может быть полезно, например, при использовании API, в котором метод может быть недоступен из-за устаревания или неподдерживаемости устройством пользователя.</p> +<p>Вы можете использовать <code>?.</code><strong>, </strong>когда необходимо вызвать метод, которого может не существовать. Это может быть полезно, например, при использовании API, в котором метод может быть недоступен из-за устаревания или не поддерживаем ости устройством пользователя.</p> <p>Использование <code>?.</code><strong> </strong>с вызовом функции значит, что выполнение автоматически вернет <code>undefined</code>, а не выбросит исключение, если метод не найден:</p> @@ -58,7 +58,7 @@ let nestedProp = ((temp === null || temp === undefined) ? undefined : temp.secon <h3 id="Работа_с_функциями_обратного_вызова_и_обработчиками_событий">Работа с функциями обратного вызова и обработчиками событий</h3> -<p>Если Вы используете функции обратного вызова или извлекаете методы обьекта <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Разбор_объектов">деструктурирующим присваиванием</a>, Вы можете получить несуществующие значения, которые нельзя вызывать как функции до проверки на их существование. Используя оператор <code>?.</code>, Вы можете избежать лишних проверок:</p> +<p>Если Вы используете функции обратного вызова или извлекаете методы объекта <a href="/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Разбор_объектов">деструктурирующим присваиванием</a>, Вы можете получить несуществующие значения, которые нельзя вызывать как функции до проверки на их существование. Используя оператор <code>?.</code>, Вы можете избежать лишних проверок:</p> <pre class="brush: js">// С использованием ES2019 function doSomething(onContent, onError) { diff --git a/files/ru/web/javascript/reference/operators/property_accessors/index.html b/files/ru/web/javascript/reference/operators/property_accessors/index.html index 84ba61f9fd..e7c1631211 100644 --- a/files/ru/web/javascript/reference/operators/property_accessors/index.html +++ b/files/ru/web/javascript/reference/operators/property_accessors/index.html @@ -25,7 +25,7 @@ object["property"] <h3 id="Точечная_запись">Точечная запись</h3> -<p class="brush: js">В записи <code>object.property</code>, <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">property</span></font> должно быть действительным <a href="https://wiki.developer.mozilla.org/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/Identifier">идентификатором</a>. (В стандарте ECMAScript, имена своств технически называются "IdentifierNames", а не "Identifiers", поэтому зарезервированные слова могут быть использованы в их качестве, но это не рекомендуется). Например, <code>object.$1</code> является верной записью, а <code>object.1</code> - нет.</p> +<p class="brush: js">В записи <code>object.property</code>, <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">property</span></font> должно быть действительным <a href="https://wiki.developer.mozilla.org/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/Identifier">идентификатором</a>. (В стандарте ECMAScript, имена свойств технически называются "IdentifierNames", а не "Identifiers", поэтому зарезервированные слова могут быть использованы в их качестве, но это не рекомендуется). Например, <code>object.$1</code> является верной записью, а <code>object.1</code> - нет.</p> <pre class="brush: js notranslate">const variable = <var>object</var>.<var>property_name;</var> @@ -44,7 +44,7 @@ console.log(object.1); // SyntaxError</pre> <pre class="brush: js notranslate">document.createElement('pre')</pre> -<p>Если вы хотите вызвать метод на численном литерале, не имеющий части с экспонентой или точки, отделающей дробную часть, нужно ставить пробел перед точкой, являющейся частью обращения к этому методу, чтобы интерпретатор не посчитал, что это точка отделяет дробную часть числа (или использовать другие способы этого избежать).</p> +<p>Если вы хотите вызвать метод на численном литерале, не имеющий части с экспонентой или точки, отделяющей дробную часть, нужно ставить пробел перед точкой, являющейся частью обращения к этому методу, чтобы интерпретатор не посчитал, что это точка отделяет дробную часть числа (или использовать другие способы этого избежать).</p> <pre class="brush: js notranslate">// SyntaxError, здесь считается, что 77. это число, // поэтому такая запись эквивалентна (77.)toExponentional() @@ -112,7 +112,7 @@ console.log(object[bar]); <pre class="brush: js notranslate">x = eval('document.forms.form_name.elements.' + strFormControl + '.value'); </pre> -<p>Функция <code>eval()</code> очень медленная и её использования следует избегать, когда это возможно. Кроме того, строка <code>strFormControl</code> при таком использовании обязаны содержать действительный идентификатор, что не является обязательным для <code>id</code> полей формы, то есть, например, поле с id <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">1</span></font> не получится получить такой записмью. Лучше вместо этого использовать скобочную запись:</p> +<p>Функция <code>eval()</code> очень медленная и её использования следует избегать, когда это возможно. Кроме того, строка <code>strFormControl</code> при таком использовании обязаны содержать действительный идентификатор, что не является обязательным для <code>id</code> полей формы, то есть, например, поле с id <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">1</span></font> не получится получить такой записью. Лучше вместо этого использовать скобочную запись:</p> <pre class="brush: js notranslate">x = document.forms["form_name"].elements[strFormControl].value; </pre> diff --git a/files/ru/web/javascript/reference/operators/this/index.html b/files/ru/web/javascript/reference/operators/this/index.html index cfd5ae4385..68f1a69d21 100644 --- a/files/ru/web/javascript/reference/operators/this/index.html +++ b/files/ru/web/javascript/reference/operators/this/index.html @@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Operators/this <div>{{EmbedInteractiveExample("pages/js/expressions-this.html")}}</div> -<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории на GitHub. Если вы хотите поучаствовать в создании этого интерактивного примера, склонируйте репозиторий про адресу <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и присылайте пулл-реквест.</p> +<p class="hidden">Исходный код этого интерактивного примера хранится в репозитории на GitHub. Если вы хотите поучаствовать в создании этого интерактивного примера, склонируйте репозиторий про адресу <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и присылайте пул-реквест.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -195,7 +195,7 @@ var fn2 = obj.bar; // потому что он следует за this из fn2. console.log(fn2()() == window); // true</pre> -<p>В примере выше, функция (назовем её анонимной функцией A), присвоенная методу <code>obj.bar</code>, возвращает другую функцию (назовем её анонимной функцией B) которая создана как стрелочная функция. В результате, <code>this функции B при вызове замкнут на</code> <code>this,</code> принадлежащий <code>obj.bar</code> (функции A). <code>this</code> функции B всегда будет иметь то значение, которое он получил при создании. В примере выше, <code>this функции B</code> указывает на <code>this функции A,которым является</code> obj, таким образом this будет равен <code>obj</code> даже тогда, когда будет вызван методом, который в нормальных условиях устанавливал бы значение this равным <code>undefined</code> или глобальному обьекту (или любым другим методом, как в предыдущем примере в глобальном контексте выполнения).</p> +<p>В примере выше, функция (назовем её анонимной функцией A), присвоенная методу <code>obj.bar</code>, возвращает другую функцию (назовем её анонимной функцией B) которая создана как стрелочная функция. В результате, <code>this функции B при вызове замкнут на</code> <code>this,</code> принадлежащий <code>obj.bar</code> (функции A). <code>this</code> функции B всегда будет иметь то значение, которое он получил при создании. В примере выше, <code>this функции B</code> указывает на <code>this функции A,которым является</code> obj, таким образом this будет равен <code>obj</code> даже тогда, когда будет вызван методом, который в нормальных условиях устанавливал бы значение this равным <code>undefined</code> или глобальному объекту (или любым другим методом, как в предыдущем примере в глобальном контексте выполнения).</p> <h3 id="В_методе_объекта">В методе объекта</h3> diff --git a/files/ru/web/javascript/reference/operators/typeof/index.html b/files/ru/web/javascript/reference/operators/typeof/index.html index f3a5ca27a3..68ea92a1ba 100644 --- a/files/ru/web/javascript/reference/operators/typeof/index.html +++ b/files/ru/web/javascript/reference/operators/typeof/index.html @@ -171,7 +171,7 @@ typeof /s/ === 'object'; // Firefox 5+ Соответствует ECMAScript <h3 id="Ошибки_связанные_с_временными_мёртвыми_зонами">Ошибки, связанные с временными мёртвыми зонами</h3> -<p>До ECMAScript 2015, гарантировалось, что оператор <code>typeof</code> вернёт строку для любого операнда, с которым он был вызван. Это изменилось после добавления неподнимающихся объявлений <code><a href="/ru/docs/Web/JavaScript/Reference/Statements/let">let</a></code> and <code><a href="/ru/docs/Web/JavaScript/Reference/Statements/const">const</a></code> с блочной областью видимости. Теперь, если переменные объявлены с помощью <code>let</code> и <code>const</code>, и для них вызывается <code>typeof</code> в блоке объявления переменных, но до объявления, то выбрасывается <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError">ReferenceError</a></code>. Поведение отличается от необъявленных переменных, для которых <code>typeof</code> вернёт 'undefined'. Переменные с блочной областью видимости находятся в "<a href="/ru/docs/Web/JavaScript/Reference/Statements/let#Temporal_Dead_Zone_and_errors_with_let">временной мёртвой зоне</a>", которая длится от начала блока до момента объявления переменных. В этой зоне попытка доступа к переменным выбрасывает исключение.</p> +<p>До ECMAScript 2015, гарантировалось, что оператор <code>typeof</code> вернёт строку для любого операнда, с которым он был вызван. Это изменилось после добавления не поднимающихся объявлений <code><a href="/ru/docs/Web/JavaScript/Reference/Statements/let">let</a></code> and <code><a href="/ru/docs/Web/JavaScript/Reference/Statements/const">const</a></code> с блочной областью видимости. Теперь, если переменные объявлены с помощью <code>let</code> и <code>const</code>, и для них вызывается <code>typeof</code> в блоке объявления переменных, но до объявления, то выбрасывается <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError">ReferenceError</a></code>. Поведение отличается от необъявленных переменных, для которых <code>typeof</code> вернёт 'undefined'. Переменные с блочной областью видимости находятся в "<a href="/ru/docs/Web/JavaScript/Reference/Statements/let#Temporal_Dead_Zone_and_errors_with_let">временной мёртвой зоне</a>", которая длится от начала блока до момента объявления переменных. В этой зоне попытка доступа к переменным выбрасывает исключение.</p> <pre class="brush: js">typeof undeclaredVariable === 'undefined'; typeof newLetVariable; let newLetVariable; // ReferenceError diff --git a/files/ru/web/javascript/reference/operators/yield/index.html b/files/ru/web/javascript/reference/operators/yield/index.html index 04552374c8..2fa0227803 100644 --- a/files/ru/web/javascript/reference/operators/yield/index.html +++ b/files/ru/web/javascript/reference/operators/yield/index.html @@ -82,7 +82,7 @@ console.log(iterator.next()); // { value:undefined, done:true } <p>{{Compat("javascript.operators.yield")}}</p> -<h2 id="See_also" name="See_also">Cмотрите также</h2> +<h2 id="See_also" name="See_also">Смотрите также</h2> <ul> <li><a href="/ru/docs/Web/JavaScript/Guide/The_Iterator_protocol">Итераторы</a></li> diff --git a/files/ru/web/javascript/reference/operators/yield_star_/index.html b/files/ru/web/javascript/reference/operators/yield_star_/index.html index c20f6969e6..ad8431f3bf 100644 --- a/files/ru/web/javascript/reference/operators/yield_star_/index.html +++ b/files/ru/web/javascript/reference/operators/yield_star_/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Reference/Operators/yield* --- <div>{{jsSidebar("Operators")}}</div> -<p><strong>Выражение <code>yield*</code> </strong>используется для того, чтобы "передать упраевление" функцией-генератором другому {{jsxref("Statements/function*", "генератору")}} или итерируемому объекту.</p> +<p><strong>Выражение <code>yield*</code> </strong>используется для того, чтобы "передать управление" функцией-генератором другому {{jsxref("Statements/function*", "генератору")}} или итерируемому объекту.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -18,9 +18,9 @@ translation_of: Web/JavaScript/Reference/Operators/yield* <h2 id="Описание">Описание</h2> -<p>Выражение <code>yield*</code> в функции-генераторе принимает итерируемый объект и возвращает его значения по очереди, как если бы эта функция-генератор возвращала иъ сама.</p> +<p>Выражение <code>yield*</code> в функции-генераторе принимает итерируемый объект и возвращает его значения по очереди, как если бы эта функция-генератор возвращала их сама.</p> -<p>Значение выражения <code>yield*</code> само по себе равно посленему значению итурируемого объекта (т.е., того когда <code>done</code> равно true).</p> +<p>Значение выражения <code>yield*</code> само по себе равно последнему значению итерируемого объекта (т.е., того когда <code>done</code> равно true).</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 df0368c62a..31bcaad8c0 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/statements/block/index.html b/files/ru/web/javascript/reference/statements/block/index.html index 44198e332a..a6fb564aa7 100644 --- a/files/ru/web/javascript/reference/statements/block/index.html +++ b/files/ru/web/javascript/reference/statements/block/index.html @@ -47,7 +47,7 @@ original_slug: Web/JavaScript/Reference/Statements/Блок <h4 id="С_использованием_var">С использованием <code>var</code></h4> -<p>Переменные, объявленные через <code>var</code>, <strong>не</strong> <strong>имеют</strong> блочной области видимости. Переменные, введенные внутри блока, имеют областью видимости содержащую их функцию или скрипт, и последствия записи в них значения распространяются за границы, собственно, блока, в котором они объявлены. Другими словами, блок инструкций не вводит новую область видимости. Хотя "отдельностоящие" блоки не являются нарушением синтаксиса, не стоит использовать отдельностоящие блоки в JavaScript, потому что они не делают то, чего вы от них ожидаете, если вы ожидаете, что они будут себя вести аналогично блокам в C или Java. Например:</p> +<p>Переменные, объявленные через <code>var</code>, <strong>не</strong> <strong>имеют</strong> блочной области видимости. Переменные, введенные внутри блока, имеют областью видимости содержащую их функцию или скрипт, и последствия записи в них значения распространяются за границы, собственно, блока, в котором они объявлены. Другими словами, блок инструкций не вводит новую область видимости. Хотя "отдельно стоящие" блоки не являются нарушением синтаксиса, не стоит использовать отдельно стоящие блоки в JavaScript, потому что они не делают то, чего вы от них ожидаете, если вы ожидаете, что они будут себя вести аналогично блокам в C или Java. Например:</p> <pre class="brush: js example-bad">var x = 1; { diff --git a/files/ru/web/javascript/reference/statements/class/index.html b/files/ru/web/javascript/reference/statements/class/index.html index 3aab01ee9a..8fae4bf5d3 100644 --- a/files/ru/web/javascript/reference/statements/class/index.html +++ b/files/ru/web/javascript/reference/statements/class/index.html @@ -84,7 +84,7 @@ class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared </tbody> </table> -<h2 id="Поддержка_брузерами">Поддержка брузерами</h2> +<h2 id="Поддержка_браузерами">Поддержка браузерами</h2> <p>{{CompatibilityTable}}</p> diff --git a/files/ru/web/javascript/reference/statements/empty/index.html b/files/ru/web/javascript/reference/statements/empty/index.html index 89956bf163..3792c035bc 100644 --- a/files/ru/web/javascript/reference/statements/empty/index.html +++ b/files/ru/web/javascript/reference/statements/empty/index.html @@ -39,7 +39,7 @@ console.log(arr) killTheUniverse() // Это всегда выполняется!!! </pre> -<p>Другой пример: <a href="/ru/docs/Web/JavaScript/Reference/Statements/if...else"><code>if...else</code></a> без фигурных скобок (<code>{}</code>). Если <code>three</code> истинно, ничего не пройзойдет, <code>four</code> не важна, и функция <code>launchRocket()</code> тоже не запустится.</p> +<p>Другой пример: <a href="/ru/docs/Web/JavaScript/Reference/Statements/if...else"><code>if...else</code></a> без фигурных скобок (<code>{}</code>). Если <code>three</code> истинно, ничего не произойдет, <code>four</code> не важна, и функция <code>launchRocket()</code> тоже не запустится.</p> <pre class="brush: js">if (one) doOne(); diff --git a/files/ru/web/javascript/reference/statements/for...in/index.html b/files/ru/web/javascript/reference/statements/for...in/index.html index 6cca45033b..24d7434f81 100644 --- a/files/ru/web/javascript/reference/statements/for...in/index.html +++ b/files/ru/web/javascript/reference/statements/for...in/index.html @@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Statements/for...in <h3 id="Удаление_добавление_и_модификация_свойств">Удаление, добавление и модификация свойств</h3> -<p>Цикл <code>for...in</code> проходит по свойствам в произвольном порядке (см. оператор {{jsxref("Operators/delete", "delete")}} для того, чтобы узнать почему порядок прохода может отличаться в зависимости от браузера). Если свойство изменяется за одну итерацию, а затем изменяется снова, его значением в цикле является его последнее значение. Свойство, удаленное до того, как до него дошёл цикл, не будет участвовать в нём. Свойства добавленные в объекты в цикле могут быть пропущены. В общем, лучше не добавлять, изменять или удалять свойство из объекта во время итерации, если по нему ещё не прошли. Нет гарантии, что добавленное свойство будет посещено циклом, изменное после проведения изменений, а удалённое после удаления.</p> +<p>Цикл <code>for...in</code> проходит по свойствам в произвольном порядке (см. оператор {{jsxref("Operators/delete", "delete")}} для того, чтобы узнать почему порядок прохода может отличаться в зависимости от браузера). Если свойство изменяется за одну итерацию, а затем изменяется снова, его значением в цикле является его последнее значение. Свойство, удаленное до того, как до него дошёл цикл, не будет участвовать в нём. Свойства добавленные в объекты в цикле могут быть пропущены. В общем, лучше не добавлять, изменять или удалять свойство из объекта во время итерации, если по нему ещё не прошли. Нет гарантии, что добавленное свойство будет посещено циклом, низменное после проведения изменений, а удалённое после удаления.</p> <h3 id="Проход_по_массиву_и_for...in"><code>Проход по массиву и for...in</code></h3> diff --git a/files/ru/web/javascript/reference/statements/for...of/index.html b/files/ru/web/javascript/reference/statements/for...of/index.html index 0074719d06..fdf8799529 100644 --- a/files/ru/web/javascript/reference/statements/for...of/index.html +++ b/files/ru/web/javascript/reference/statements/for...of/index.html @@ -251,7 +251,7 @@ iterable.foo = 'hello';</code></pre> console.log(i); // выведет 0, 1, 2, "foo", "arrCustom", "objCustom" }</code></pre> -<p>Цикл выводит только <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties">перечисляемые свойства</a> объекта <code>iterable</code>, в порядке их создания. Он не выводит <strong>значения</strong> <code>3</code>, <code>5</code>, <code>7</code> и <code>hello</code> поскольку они <strong>не являются</strong> перечисляемыми, фактически они вообще не являются свойствами, они являютя <strong>значениями</strong>. Выводятся же <strong>имена свойств и методов</strong>, например <code>arrCustom</code> и <code>objCustom</code>. Если вы еще не совсем поняли, по каким свойствам осуществляется обход, вот дополнительное объяснение того, как работает {{jsxref("Statements/for...in", "array iteration and for...in", "#Array_iteration_and_for...in")}} .</p> +<p>Цикл выводит только <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties">перечисляемые свойства</a> объекта <code>iterable</code>, в порядке их создания. Он не выводит <strong>значения</strong> <code>3</code>, <code>5</code>, <code>7</code> и <code>hello</code> поскольку они <strong>не являются</strong> перечисляемыми, фактически они вообще не являются свойствами, они являются <strong>значениями</strong>. Выводятся же <strong>имена свойств и методов</strong>, например <code>arrCustom</code> и <code>objCustom</code>. Если вы еще не совсем поняли, по каким свойствам осуществляется обход, вот дополнительное объяснение того, как работает {{jsxref("Statements/for...in", "array iteration and for...in", "#Array_iteration_and_for...in")}} .</p> <pre class="notranslate"><code>for (let i in iterable) { if (iterable.hasOwnProperty(i)) { @@ -259,7 +259,7 @@ iterable.foo = 'hello';</code></pre> } }</code></pre> -<p>Цикл аналогичен предыдущему, но использует {{jsxref("Object.prototype.hasOwnProperty()", "hasOwnProperty()")}} для проверки того, собственное ли это свойство объекта или унаследованое. Выводятся только собственные свойства. Имена <code>0</code>, <code>1</code>, <code>2</code> и <code>foo</code> принадлежат только экземпляру объекта (<strong>не унаследованы</strong>). Методы <code>arrCustom</code> и <code>objCustom</code> не выводятся, поскольку они <strong>унаследованы</strong>.</p> +<p>Цикл аналогичен предыдущему, но использует {{jsxref("Object.prototype.hasOwnProperty()", "hasOwnProperty()")}} для проверки того, собственное ли это свойство объекта или унаследованное. Выводятся только собственные свойства. Имена <code>0</code>, <code>1</code>, <code>2</code> и <code>foo</code> принадлежат только экземпляру объекта (<strong>не унаследованы</strong>). Методы <code>arrCustom</code> и <code>objCustom</code> не выводятся, поскольку они <strong>унаследованы</strong>.</p> <pre class="notranslate"><code>for (let i of iterable) { console.log(i); // выведет 3, 5, 7 @@ -279,7 +279,7 @@ iterable.foo = 'hello';</code></pre> <tr> <td>{{SpecName('ES2015', '#sec-for-in-and-for-of-statements', 'for...of statement')}}</td> <td>{{Spec2('ES2015')}}</td> - <td>Изначальное опеределение.</td> + <td>Изначальное определение.</td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-for-in-and-for-of-statements', 'for...of statement')}}</td> diff --git a/files/ru/web/javascript/reference/statements/for/index.html b/files/ru/web/javascript/reference/statements/for/index.html index 40945dffda..6b394ef5a5 100644 --- a/files/ru/web/javascript/reference/statements/for/index.html +++ b/files/ru/web/javascript/reference/statements/for/index.html @@ -20,9 +20,9 @@ translation_of: Web/JavaScript/Reference/Statements/for <dt><font face="Consolas, Liberation Mono, Courier, monospace">инициализация</font></dt> <dd>Выражение (в том числе выражения присвоения) или определение переменных. Обычно используется, чтобы инициализировать счётчик. Это выражение может опционально объявлять новые переменные с помощью ключевого слова <code>var</code>. Эти переменные видимы не только в цикле, т.е. в той же области области видимости, что и цикл <code>for</code>. Результат этого выражения отбрасывается.</dd> <dt><font face="Consolas, Liberation Mono, Courier, monospace">условие</font></dt> - <dd>Выражение, выполняющееся на каждой интерации цикла. Если выражение истинно, цикл выполняется. Условие не является обязательным. Если его нет, условие всегда считается истиной. Если выражение ложно, выполнение переходит к первому выражению, следующему за <code>for.</code></dd> + <dd>Выражение, выполняющееся на каждой итерации цикла. Если выражение истинно, цикл выполняется. Условие не является обязательным. Если его нет, условие всегда считается истиной. Если выражение ложно, выполнение переходит к первому выражению, следующему за <code>for.</code></dd> <dt><font face="Consolas, Liberation Mono, Courier, monospace">финальное выражение</font></dt> - <dd>Выражение, выполняющееся в конце интерации цикла. Происходит до следующего выполнения условия. Обычно используется для обновления или увеличения переменной счётчика.</dd> + <dd>Выражение, выполняющееся в конце итерации цикла. Происходит до следующего выполнения условия. Обычно используется для обновления или увеличения переменной счётчика.</dd> <dt><font face="Consolas, Liberation Mono, Courier, monospace">выражение</font></dt> <dd>Выражение, которое выполняется, когда условие цикла истинно. Чтоб выполнить множество выражений в цикле, используйте <a href="/ru/docs/JavaScript/Reference/Statements/block" title="JavaScript/Reference/Statements/block">блок</a> (<code>{ ... }</code>) для группировки этих выражений. Чтобы не выполнять никакого выражения в цикле, используйте <a href="/ru/docs/Web/JavaScript/Reference/Statements/Empty">пустое выражение</a> (<code>;</code>).</dd> </dl> diff --git a/files/ru/web/javascript/reference/statements/function/index.html b/files/ru/web/javascript/reference/statements/function/index.html index 37ccac9a29..c9bd08cfb8 100644 --- a/files/ru/web/javascript/reference/statements/function/index.html +++ b/files/ru/web/javascript/reference/statements/function/index.html @@ -64,7 +64,7 @@ var notHoisted = function() { <h3 id="Использование_function">Использование <code>function</code></h3> -<p>Следующий код объявляет функцию, возврающую итоговое количество продаж, сложенное из количества продаж продуктов <code>a</code>, <code>b</code> и <code>c</code>.</p> +<p>Следующий код объявляет функцию, возвращающую итоговое количество продаж, сложенное из количества продаж продуктов <code>a</code>, <code>b</code> и <code>c</code>.</p> <pre class="brush: js">function calc_sales(units_a, units_b, units_c) { return units_a*79 + units_b * 129 + units_c * 699; diff --git a/files/ru/web/javascript/reference/statements/import/index.html b/files/ru/web/javascript/reference/statements/import/index.html index bc4a369f52..d301e39327 100644 --- a/files/ru/web/javascript/reference/statements/import/index.html +++ b/files/ru/web/javascript/reference/statements/import/index.html @@ -46,7 +46,7 @@ import("/module-name.js").then(module => {…}) // Динамический <dt><code>module-name</code></dt> <dd>Имя модуля для импорта. Это зачастую относительный или абсолютный путь к <code>.js</code> файлу модуля без указания расширения <code>.js</code>. Некоторые сборщики могут разрешать или даже требовать использования расширения; проверяйте своё рабочее окружение. Допускаются только строки с одиночными или двойными кавычками.</dd> <dt><code>name</code></dt> - <dd>Имя локального обьекта, который будет использован как своего рода пространство имен, ссылающееся на импортируемые значения.</dd> + <dd>Имя локального объекта, который будет использован как своего рода пространство имен, ссылающееся на импортируемые значения.</dd> </dl> <dl> @@ -61,7 +61,7 @@ import("/module-name.js").then(module => {…}) // Динамический <h2 id="Описание">Описание</h2> -<p>Параметр <code>name</code> это имя локального обьекта, который будет использован как своего рода пространство имен, ссылающееся на импортируемые значения. Параметры <code>export</code> определяют отдельные именованные значения, в то время как <code>import * as name</code> импортирует все значения. Примеры ниже объясняют синтаксис.</p> +<p>Параметр <code>name</code> это имя локального объекта, который будет использован как своего рода пространство имен, ссылающееся на импортируемые значения. Параметры <code>export</code> определяют отдельные именованные значения, в то время как <code>import * as name</code> импортирует все значения. Примеры ниже объясняют синтаксис.</p> <h3 id="Импорт_всего_содержимого_модуля">Импорт всего содержимого модуля</h3> @@ -87,7 +87,7 @@ import("/module-name.js").then(module => {…}) // Динамический <h3 id="Импорт_значений_с_использованием_более_удобных_имен">Импорт значений с использованием более удобных имен</h3> -<p>Вы можете переименовать значения, когда импортируете их. Например, этот код вставляет <code>shortName</code> в текующую область видимости.</p> +<p>Вы можете переименовать значения, когда импортируете их. Например, этот код вставляет <code>shortName</code> в текущую область видимости.</p> <pre class="brush: js">import {reallyReallyLongModuleExportName as shortName} from '/modules/my-module.js';</pre> @@ -233,7 +233,7 @@ for (const link of document.querySelectorAll("nav > a")) { <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Комменарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('ES2015', '#sec-imports', 'Imports')}}</td> diff --git a/files/ru/web/javascript/reference/statements/let/index.html b/files/ru/web/javascript/reference/statements/let/index.html index ac3e59d716..2f38f7e7ca 100644 --- a/files/ru/web/javascript/reference/statements/let/index.html +++ b/files/ru/web/javascript/reference/statements/let/index.html @@ -175,13 +175,13 @@ for ( let i=i ; i < 10 ; i++ ) { <pre class="brush: js">for (let <var>expr1</var>; <var>expr2</var>; <var>expr3</var>) <var>statement</var> </pre> -<p>В этом примере <var>expr2</var>, <var>expr3, statement </var> заключены в неявный блок, который содержит блок локальных переменных, объявленых конструкцией <code>let <em>expr1</em></code>. Пример приведен выше.</p> +<p>В этом примере <var>expr2</var>, <var>expr3, statement </var> заключены в неявный блок, который содержит блок локальных переменных, объявленных конструкцией <code>let <em>expr1</em></code>. Пример приведен выше.</p> <h2 id="Примеры">Примеры</h2> <h3 id="let_vs_var"><code>let</code> vs <code>var</code></h3> -<p>Когда let используется внутри блока, то область видимости переменной ограничивается этим блоком. Напомним, что отличие заключается в том, что областью видимости переменных, объявленных диретивой var, является вся функция, в которой они были объявлены.</p> +<p>Когда let используется внутри блока, то область видимости переменной ограничивается этим блоком. Напомним, что отличие заключается в том, что областью видимости переменных, объявленных директивой var, является вся функция, в которой они были объявлены.</p> <pre class="brush: js">var a = 5; var b = 10; @@ -215,7 +215,7 @@ console.log(i); // i is not defined</pre> <p><code>Поддержка let</code> блоков была убрана в Gecko 44 {{bug(1023609)}}.</p> </div> -<p><strong>let блок</strong> предоставляет способ, ассоциировать значения с перемеными внутри области видимости этого блока, без влияния на значения переменных с теми же именами вне этого блока.</p> +<p><strong>let блок</strong> предоставляет способ, ассоциировать значения с переменными внутри области видимости этого блока, без влияния на значения переменных с теми же именами вне этого блока.</p> <h4 id="Синтаксис_2">Синтаксис</h4> @@ -224,7 +224,7 @@ console.log(i); // i is not defined</pre> <h4 id="Описание_2">Описание</h4> -<p><strong><code>let</code> </strong>блок предоставляет локальную область видимости для переменных. Работа его заключается в привязке нуля или более переменных к области видимости этого блока кода, другими словами, он является блоком операторов. Отметим, что область видимости переменных, объявленных директивой <code>var</code>, в <strong>блоке <code>let</code></strong>, будет той же самой, что и если бы эти переменные были объявленны вне <strong>блока <code>let</code></strong>, иными словами областью видимости таких переменных по-прежнему является функция. Скобки в<strong> блоке </strong><code><strong>let</strong></code> являются обязательными. Опускание их приведет к синтаксической ошибке.</p> +<p><strong><code>let</code> </strong>блок предоставляет локальную область видимости для переменных. Работа его заключается в привязке нуля или более переменных к области видимости этого блока кода, другими словами, он является блоком операторов. Отметим, что область видимости переменных, объявленных директивой <code>var</code>, в <strong>блоке <code>let</code></strong>, будет той же самой, что и если бы эти переменные были объявлены вне <strong>блока <code>let</code></strong>, иными словами областью видимости таких переменных по-прежнему является функция. Скобки в<strong> блоке </strong><code><strong>let</strong></code> являются обязательными. Опускание их приведет к синтаксической ошибке.</p> <h4 id="Пример">Пример</h4> @@ -408,7 +408,7 @@ console.log(a); // 5</pre> <ul> <li>До SpiderMonkey 46 {{geckoRelease(46)}} выбрасывал {{jsxref("TypeError")}} на повторное объявление, вместо {{jsxref("SyntaxError")}} ({{bug(1198833)}}).</li> - <li>До SpiderMonkey 44 {{geckoRelease(44)}}, <code>let</code> был доступен только для блоков кода обернутых в HTML <code><script type="application/javascript;version=1.7"></code>block (or higher version) и имел другую сематнику.</li> + <li>До SpiderMonkey 44 {{geckoRelease(44)}}, <code>let</code> был доступен только для блоков кода обернутых в HTML <code><script type="application/javascript;version=1.7"></code>block (or higher version) и имел другую семантику.</li> <li>Поддержка в {{domxref("Worker")}} код спрятан за <code>dom.workers.latestJSVersion</code> флагом ({{bug(487070)}}). Без версии <code>let</code>, флаг будет удален в будущем ({{bug(1219523)}}).</li> - <li>Соблюдение стандарта ES2015 для <code>let</code> в SpIderMonkey отслеживатся в {{bug(950547)}}</li> + <li>Соблюдение стандарта ES2015 для <code>let</code> в SpIderMonkey отслеживается в {{bug(950547)}}</li> </ul> diff --git a/files/ru/web/javascript/reference/statements/return/index.html b/files/ru/web/javascript/reference/statements/return/index.html index 107173c310..37f44af769 100644 --- a/files/ru/web/javascript/reference/statements/return/index.html +++ b/files/ru/web/javascript/reference/statements/return/index.html @@ -12,7 +12,7 @@ translation_of: Web/JavaScript/Reference/Statements/return <div>{{EmbedInteractiveExample("pages/js/statement-return.html")}}</div> -<p class="hidden">Исходный код данного интерактивного примера хранится в репозитории на GitHub. Если вы хотите поучаствовать в проекте интерактивных примеров, пожалуйства, склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам запрос на включение ваших изменений.</p> +<p class="hidden">Исходный код данного интерактивного примера хранится в репозитории на GitHub. Если вы хотите поучаствовать в проекте интерактивных примеров, пожалуйста, склонируйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отправьте нам запрос на включение ваших изменений.</p> <h2 id="Синтаксис">Синтаксис</h2> @@ -34,7 +34,7 @@ var demo = square(3); // значение demo будет равняться 9 </pre> -<p>Если возвращаемое значение не указано, вместо него возращается <code>undefined</code>.</p> +<p>Если возвращаемое значение не указано, вместо него возвращается <code>undefined</code>.</p> <p>Следующие выражения всегда прерывают выполнение функции:</p> diff --git a/files/ru/web/javascript/reference/statements/try...catch/index.html b/files/ru/web/javascript/reference/statements/try...catch/index.html index 3609136b03..70766c3f48 100644 --- a/files/ru/web/javascript/reference/statements/try...catch/index.html +++ b/files/ru/web/javascript/reference/statements/try...catch/index.html @@ -57,7 +57,7 @@ translation_of: Web/JavaScript/Reference/Statements/try...catch <h2 id="Описание">Описание</h2> -<p>Конструкция <code>try</code> содержит блок <code>try</code>, в котором находится одна или несколько инструкций (Блок (<code>{}</code> ) обязательно должен присутствовать, даже если выполняется всего одна инуструкция), и хотя бы один блок <code>catch</code> или <code>finally</code>. Таким образом, есть три основные формы конструкции <code>try</code>:</p> +<p>Конструкция <code>try</code> содержит блок <code>try</code>, в котором находится одна или несколько инструкций (Блок (<code>{}</code> ) обязательно должен присутствовать, даже если выполняется всего одна инструкция), и хотя бы один блок <code>catch</code> или <code>finally</code>. Таким образом, есть три основные формы конструкции <code>try</code>:</p> <ol> <li><code>try {...} catch {...}</code></li> @@ -107,7 +107,7 @@ catch (e) { } }</pre> -<p>Частый сценарий использованя — обработать известные исключения, а при неизвестных ошибках, пробросить их дальше:</p> +<p>Частый сценарий использования — обработать известные исключения, а при неизвестных ошибках, пробросить их дальше:</p> <pre class="brush: js">try { myRoutine(); @@ -200,7 +200,7 @@ window.removeEventListener('scroll', expensiveCalculations)</pre> </pre> -<p>Другой пример: работа с файлами. В следующем фрагменте кода показывается, как скрипт открывает файл и записывает в него какие-то данные (в серверном окружении JavaScript имеет доступ к файловой системе). Во время записи может произойти ошибка. Но после открытия файл очень важно закрыть, потому что незакрытый файл может привести к утечкам памяти. В таких случях используется блок <code>finally</code>:</p> +<p>Другой пример: работа с файлами. В следующем фрагменте кода показывается, как скрипт открывает файл и записывает в него какие-то данные (в серверном окружении JavaScript имеет доступ к файловой системе). Во время записи может произойти ошибка. Но после открытия файл очень важно закрыть, потому что незакрытый файл может привести к утечкам памяти. В таких случаях используется блок <code>finally</code>:</p> <pre class="brush: js">openMyFile(); try { diff --git a/files/ru/web/javascript/reference/statements/var/index.html b/files/ru/web/javascript/reference/statements/var/index.html index fa1df166fc..73954e6b67 100644 --- a/files/ru/web/javascript/reference/statements/var/index.html +++ b/files/ru/web/javascript/reference/statements/var/index.html @@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Statements/var <dl> <dt><code>valueN</code></dt> - <dd>Значение переменной. Любое допустимое выражение. По-умолчанию значение <em>undefined.</em></dd> + <dd>Значение переменной. Любое допустимое выражение. По умолчанию значение <em>undefined.</em></dd> </dl> <h2 id="Описание">Описание</h2> @@ -135,7 +135,7 @@ console.log(x, y); // 0, 1 // значение x взято из глобальной переменной, как и ожидалось // значение переменной y доступно глобально</pre> -<p>Такой же пример, но в строгом режими:</p> +<p>Такой же пример, но в строгом режиме:</p> <pre class="brush: js">'use strict'; diff --git a/files/ru/web/javascript/reference/statements/with/index.html b/files/ru/web/javascript/reference/statements/with/index.html index 7eb5d5d66a..208863d500 100644 --- a/files/ru/web/javascript/reference/statements/with/index.html +++ b/files/ru/web/javascript/reference/statements/with/index.html @@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Statements/with <h2 id="Описание">Описание</h2> -<p>JavaScript ищет unqualified имя, исследуя цепочку областей видимости, связанную с выполнением скрипта или функции, сожержащих это unqualified имя. Оператор 'with' добавляет данный объект в начало цепочки областей видимости в ходе исследования тела его оператора. Если unqualified имя используемое в теле соответствует свойству в цепочке областей видимости, тогда имя привязывается к свойству и объекту, содержащему это свойство. В противном случае возвращаетя {{jsxref("ReferenceError")}}.</p> +<p>JavaScript ищет unqualified имя, исследуя цепочку областей видимости, связанную с выполнением скрипта или функции, содержащих это unqualified имя. Оператор 'with' добавляет данный объект в начало цепочки областей видимости в ходе исследования тела его оператора. Если unqualified имя используемое в теле соответствует свойству в цепочке областей видимости, тогда имя привязывается к свойству и объекту, содержащему это свойство. В противном случае возвращается {{jsxref("ReferenceError")}}.</p> <div class="note">Использование оператора <code>with не рекомендуется</code>, и недопустимо в строгом режиме (<a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode" title="JavaScript/Strict mode">strict mode</a>) ECMAScript 5 . Рекомендуемой альтернативой может стать связывание объекта, чьи свойства Вы хотели получить, с коротким именем переменной.</div> diff --git a/files/ru/web/javascript/reference/strict_mode/index.html b/files/ru/web/javascript/reference/strict_mode/index.html index 401d999d59..7b35f93897 100644 --- a/files/ru/web/javascript/reference/strict_mode/index.html +++ b/files/ru/web/javascript/reference/strict_mode/index.html @@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Strict_mode <h2 id="Активизация_строгого_режима">Активизация строгого режима</h2> -<p>Строгий режим применяется ко <em>всему скрипту</em> или к <em>отдельным функциям</em>. Он не может быть применён к блокам операторов, заключенных в фигурные скобки -- попытка использовать его в подобном контексте будет проигнорирована. Код в <code>eval</code>, <code>Function</code>, в аттрибутах обработчиков событий, в строках, переданных в <a href="/en/DOM/window.setTimeout" title="en/DOM/window.setTimeout"><code>setTimeout</code></a>, и т.п. рассматривается как законченный скрипт, и активизация строгого режима в нём выполняется ожидаемым образом.</p> +<p>Строгий режим применяется ко <em>всему скрипту</em> или к <em>отдельным функциям</em>. Он не может быть применён к блокам операторов, заключенных в фигурные скобки -- попытка использовать его в подобном контексте будет проигнорирована. Код в <code>eval</code>, <code>Function</code>, в атрибутах обработчиков событий, в строках, переданных в <a href="/en/DOM/window.setTimeout" title="en/DOM/window.setTimeout"><code>setTimeout</code></a>, и т.п. рассматривается как законченный скрипт, и активизация строгого режима в нём выполняется ожидаемым образом.</p> <h3 id="Строгий_режим_для_скриптов">Строгий режим для скриптов</h3> @@ -51,7 +51,7 @@ function notStrict() { return "Я не strict."; } <p>ECMAScript 2015 представил <a href="/ru/docs/Web/JavaScript/Reference/Statements/export">модули JavaScript</a> и, следовательно, 3-й способ войти в строгий режим. Все содержимое модулей JavaScript автоматически находится в строгом режиме, и для его запуска не требуется никаких инструкций.</p> <pre><code>function strict() { - // Потому что это модуль, я strict по-умолчанию + // Потому что это модуль, я strict по умолчанию } export default strict;</code></pre> @@ -206,7 +206,7 @@ eval('var y; delete y;'); // !!! </code>синтаксическая ошибк <h3 id="Упрощение_eval_и_arguments">Упрощение <code>eval</code> и <code>arguments</code></h3> -<p>В строгом режиме снижается количество странностей в поведении <code>arguments</code> и <code>eval</code>, оба из которых примешивают определённое количество магии в обычный код. Так <code>eval</code> добавляет или удаляет переменные и меняет их значения, а переменная <code>arguments</code> может удивить своими проиндексированными свойствами, которые являются ссылками (синонимами) для проименованных аргументов функции. Строгий режим делает большой шаг в прояснении этих двух ключевых слов, но полное их обуздание произойдет лишь в следующей редакции ECMAScript.</p> +<p>В строгом режиме снижается количество странностей в поведении <code>arguments</code> и <code>eval</code>, оба из которых примешивают определённое количество магии в обычный код. Так <code>eval</code> добавляет или удаляет переменные и меняет их значения, а переменная <code>arguments</code> может удивить своими проиндексированными свойствами, которые являются ссылками (синонимами) для поименованных аргументов функции. Строгий режим делает большой шаг в прояснении этих двух ключевых слов, но полное их обуздание произойдет лишь в следующей редакции ECMAScript.</p> <p>Во-первых, ключевые слова <code>eval</code> и <code>arguments</code> не могут быть переопределены или изменены. Все подобные попытки это сделать являются синтаксическими ошибками:</p> @@ -242,7 +242,7 @@ var f = function() { return arguments.callee; }; f(); // выдаст TypeError </pre> -<h3 id="Обезопасенный_JavaScript">"Обезопасенный" JavaScript</h3> +<h3 id="Безопасный_JavaScript">"Безопасный" JavaScript</h3> <p>Строгий режим упрощает написание "безопасного" JavaScript кода. Сейчас некоторые веб-сайты предоставляют пользователям возможность писать JavaScript, который будет выполняться на сайте <em>от имени других пользователей. </em>В браузерах, JavaScript может иметь доступ к приватной информации пользователя, поэтому, в целях ограничения доступа к запретной функциональности, такой JavaScript перед выполнением должен быть частично преобразован. Гибкость JavaScript делает это практически невозможным без многочисленных проверок во время исполнения. Функционал, исполняемый языком иногда столь массивен, что выполнение любых дополнительных проверок во время исполнения скрипта приведет к значительной потере производительности. Однако, некоторые особенности строгого режима, плюс обязательное требование того, чтобы JavaScript, загруженный пользователем, имел строгий режим и вызывался определенным способом, существенно снижают потребность в таких проверках.</p> diff --git a/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html b/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html index 8bbf8096cf..5447834c4b 100644 --- a/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html +++ b/files/ru/web/javascript/reference/strict_mode/transitioning_to_strict_mode/index.html @@ -117,7 +117,7 @@ s.opacity = 1; <h2 id="Строго-нейтральный_код">Строго-нейтральный код</h2> -<p>Потенциальный "недостаток" перевода кода в строгий режим - это отличия в семантике старых браузеров, в которых он не реализован. В некоторых редких случаях (как при неудачной конкатенации и минификации) ваш код может не запускаться в режиме, в котором вы его писали и тестировали. Здесь несколько правил, как сделать ваш код строго-нейтральным (strictness-neutral):</p> +<p>Потенциальный "недостаток" перевода кода в строгий режим - это отличия в семантике старых браузеров, в которых он не реализован. В некоторых редких случаях (как при неудачной конкатенации и модификации) ваш код может не запускаться в режиме, в котором вы его писали и тестировали. Здесь несколько правил, как сделать ваш код строго-нейтральным (strictness-neutral):</p> <ol> <li>Пишите ваш код в строгом режиме и убедитесь в отсутствии ошибок только строго режима (из секции выше "Новые ошибки времени выполнения").</li> diff --git a/files/ru/web/javascript/reference/trailing_commas/index.html b/files/ru/web/javascript/reference/trailing_commas/index.html index 9cbe5ae9ea..322cfe9080 100644 --- a/files/ru/web/javascript/reference/trailing_commas/index.html +++ b/files/ru/web/javascript/reference/trailing_commas/index.html @@ -40,7 +40,7 @@ arr.length; // 5 <h3 id="Объекты">Объекты</h3> -<p>Начиная с ECMAScript 5, висящие запятые в объектак также допустимы:</p> +<p>Начиная с ECMAScript 5, висящие запятые в объектах также допустимы:</p> <pre class="brush: js">var object = { foo: "bar", @@ -76,9 +76,9 @@ var obj = { }; </pre> -<h3 id="Вызов_функци">Вызов функци</h3> +<h3 id="Вызов_функции">Вызов функции</h3> -<p>Следующие вызововы функций допустимы и равнозначны друг другу.</p> +<p>Следующие вызовов функций допустимы и равнозначны друг другу.</p> <pre class="brush: js">f(p); f(p,); @@ -121,7 +121,7 @@ var {p, q,} = o; <h2 id="Висящие_запятые_в_JSON">Висящие запятые в JSON</h2> -<p>Висящие запятые в объекте допустимы только в ECMAScript 5. Так как JSON основан на синтаксисе JavaScript старше, чем ES5, <strong>висящие запятые недопускаются в JSON</strong>.</p> +<p>Висящие запятые в объекте допустимы только в ECMAScript 5. Так как JSON основан на синтаксисе JavaScript старше, чем ES5, <strong>висящие запятые не допускаются в JSON</strong>.</p> <p>Обе строки генерируют <code>SyntaxError</code>:</p> diff --git a/files/ru/web/javascript/shells/index.html b/files/ru/web/javascript/shells/index.html index 8fac8980ad..dd816677a9 100644 --- a/files/ru/web/javascript/shells/index.html +++ b/files/ru/web/javascript/shells/index.html @@ -33,7 +33,7 @@ original_slug: Web/JavaScript/JavaScript_шеллы <li><a href="http://es6console.com/">ES6Console.com</a> - консоль JavaScript с открытым исходным кодом для тестирования кода ECMAScript 2015 внутри браузера.</li> <li><a href="http://jsconsole.com/">jsconsole.com</a> -- Консоль JavaScript с открытым исходным кодом с возможностью легко сослаться на конкретное выражение .</li> <li><a class="external" href="http://www.squarefree.com/shell/">JavaScript Shell (web page)</a> - также доступен как часть <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/7434">Extension Developer's Extension</a></li> - <li><a class="external" href="http://www.billyreisinger.com/jash/">Jash: JavaScript Shell</a> - оболочка, основанна на DHTML, которая предоставляет доступ к командной строки веб-страницы.</li> + <li><a class="external" href="http://www.billyreisinger.com/jash/">Jash: JavaScript Shell</a> - оболочка, основана на DHTML, которая предоставляет доступ к командной строки веб-страницы.</li> <li><a class="external" href="http://hyperstruct.net/projects/mozrepl">MozRepl</a> - Подключайтесь к Firefox и другим приложениям Mozilla, изучайте и изменяйте их изнутри, пока они работают.</li> <li><a class="external" href="http://www.mouseless.de/index.php?/content/view/18/31/">Execute JS</a> - (больше не поддерживается) Расширение для Firefox, представляющее собой расширенную JavaScript-консоль, в которой можно удобно набирать и выполнять произвольный JavaScript код и изменить функции.</li> <li><a href="https://addons.mozilla.org/addon/159546">xqjs</a> - Простая консоль для Firefox.</li> diff --git a/files/ru/web/javascript/typed_arrays/index.html b/files/ru/web/javascript/typed_arrays/index.html index 99be4f3d6a..50cc352993 100644 --- a/files/ru/web/javascript/typed_arrays/index.html +++ b/files/ru/web/javascript/typed_arrays/index.html @@ -5,7 +5,7 @@ translation_of: Web/JavaScript/Typed_arrays --- <div>{{JsSidebar("Advanced")}}</div> -<p>Типизированные массивы в JavaScript являются массиво-подобными объектами, предоставляющими механизм доступа к сырым двоичным данным. Как вы уже можете знать, массив {{jsxref("Array")}} растет и обрезается динамически, и может содержать элементы любого типа JavaScript. Благодаря оптимизациям JavaScript движков, массивы остаются быстрыми. Однако, со временем, веб-приложения становятся все более и более мощными, появляется необходимость работы с аудио- и видео-данными, требуется доступ к сырым данным WebSocket`ов, и так далее. Становится очевидным, что возможность быстрой и эффективной работы с двоичными данными в JavaScript будет очень полезной, для чего типизированные массивы и предназначены.</p> +<p>Типизированные массивы в JavaScript являются массива-подобными объектами, предоставляющими механизм доступа к сырым двоичным данным. Как вы уже можете знать, массив {{jsxref("Array")}} растет и обрезается динамически, и может содержать элементы любого типа JavaScript. Благодаря оптимизациям JavaScript движков, массивы остаются быстрыми. Однако, со временем, веб-приложения становятся все более и более мощными, появляется необходимость работы с аудио- и видео-данными, требуется доступ к сырым данным WebSocket`ов, и так далее. Становится очевидным, что возможность быстрой и эффективной работы с двоичными данными в JavaScript будет очень полезной, для чего типизированные массивы и предназначены.</p> <p>Не следует путать типизированные массивы с обычными массивами: так, например, вызов {{jsxref("Array.isArray()")}} для типизированного массива вернет <code>false</code>. Более того, не все методы, доступные для обычных массивов поддерживаются типизированными массивами (например, push и pop).</p> @@ -95,7 +95,7 @@ console.log('Элемент 0 в 32-битном представлении те <h3 id="Работа_со_сложными_структурами_данных">Работа со сложными структурами данных</h3> -<p>Комбинируя буфер и множество представлений разного формата, имеющих разные смещения относильно начала буфера, можно управляться с объектами содержащими разнородные данные. Это позволяет, к примеру, взаимодействовать со сложными структурам из <a href="/ru/docs/Web/WebGL" title="WebGL">WebGL</a>, файлами данных или структурами языка C (<a href="/ru/docs/Mozilla/js-ctypes" title="js-ctypes">сопоставление данных JS и C</a>).</p> +<p>Комбинируя буфер и множество представлений разного формата, имеющих разные смещения относительно начала буфера, можно управляться с объектами содержащими разнородные данные. Это позволяет, к примеру, взаимодействовать со сложными структурам из <a href="/ru/docs/Web/WebGL" title="WebGL">WebGL</a>, файлами данных или структурами языка C (<a href="/ru/docs/Mozilla/js-ctypes" title="js-ctypes">сопоставление данных JS и C</a>).</p> <p>Рассмотрим следующую структуру из языка C:</p> @@ -136,7 +136,7 @@ normalArray.constructor === Array; <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Коментарий</th> + <th scope="col">Комментарий</th> </tr> <tr> <td>{{SpecName('Typed Array')}}</td> diff --git a/files/ru/web/manifest/short_name/index.html b/files/ru/web/manifest/short_name/index.html index a11e2e2664..fead220a06 100644 --- a/files/ru/web/manifest/short_name/index.html +++ b/files/ru/web/manifest/short_name/index.html @@ -29,7 +29,7 @@ translation_of: Web/Manifest/short_name </tbody> </table> -<p>Элемент <code>short_<dfn>name</dfn></code> -- это строка, которая определяет название веб-приложения показываемае пользователю, если для отображения <code><a href="./name">name</a></code> не достаточно места (например, в качестве надписи под иконкой приложения на экране телефона). <code>short_name</code> может отображаться слева-направо или справе-налево, в зависимости от значений элементов манифеста <code><a href="./dir">dir</a></code> and <code><a href="./lang">lang</a></code>.</p> +<p>Элемент <code>short_<dfn>name</dfn></code> -- это строка, которая определяет название веб-приложения показываемое пользователю, если для отображения <code><a href="./name">name</a></code> не достаточно места (например, в качестве надписи под иконкой приложения на экране телефона). <code>short_name</code> может отображаться слева-направо или справе-налево, в зависимости от значений элементов манифеста <code><a href="./dir">dir</a></code> and <code><a href="./lang">lang</a></code>.</p> <h2 id="Примеры">Примеры</h2> diff --git a/files/ru/web/manifest/start_url/index.html b/files/ru/web/manifest/start_url/index.html index 46a76fb058..f3af34a7a7 100644 --- a/files/ru/web/manifest/start_url/index.html +++ b/files/ru/web/manifest/start_url/index.html @@ -29,7 +29,7 @@ translation_of: Web/Manifest/start_url </tbody> </table> -<p><dfn><code>start_url</code></dfn> является строкой, представляющей начальный URL-адрес веб-приложения — tпредпочтительный URL-адрес, который должен быть загружен при запуске пользователем веб-приложения (например, когда пользователь нажимает на значок веб-приложения в меню приложений или на домашнем экране).</p> +<p><dfn><code>start_url</code></dfn> является строкой, представляющей начальный URL-адрес веб-приложения — предпочтительный URL-адрес, который должен быть загружен при запуске пользователем веб-приложения (например, когда пользователь нажимает на значок веб-приложения в меню приложений или на домашнем экране).</p> <div class="blockIndicator note"> <p><strong>Note:</strong> <code>start_url</code> носит чисто рекомендательный характер, и пользовательский агент может его игнорировать или разрешить пользователю изменять его во время установки или после.</p> diff --git a/files/ru/web/mathml/attribute/index.html b/files/ru/web/mathml/attribute/index.html index 9552bf0968..e14849d222 100644 --- a/files/ru/web/mathml/attribute/index.html +++ b/files/ru/web/mathml/attribute/index.html @@ -319,7 +319,7 @@ original_slug: Web/MathML/Атрибут <tr id="maxsize"> <td><code>maxsize</code></td> <td>{{ MathMLElement("mo") }}</td> - <td>Максимальный размер ооператора.</td> + <td>Максимальный размер оператора.</td> </tr> <tr id="minlabelspacing"> <td>{{ unimplemented_inline() }} <code>minlabelspacing</code></td> diff --git a/files/ru/web/mathml/authoring/index.html b/files/ru/web/mathml/authoring/index.html index a6c47f992d..765b420c47 100644 --- a/files/ru/web/mathml/authoring/index.html +++ b/files/ru/web/mathml/authoring/index.html @@ -123,7 +123,7 @@ m|math { <h4 id="MathML_в_клиентах_email_и_клиентах_обмена_мгновенными_сообщениями">MathML в клиентах email и клиентах обмена мгновенными сообщениями</h4> -<p>Современные почтовые клиенты могут посылать и получать электронные сообщения в форматe HTML5, то есть в них можно использовать выражения MathML. Обязательно включите опции "отправить как HTML" и "просмотреть как HTML". В Thunderbird вы можете использовать команду "Вставить HTML", чтобы вставить код HTML + MathML. <a href="http://disruptive-innovations.com/zoo/MathBird/" title="http://disruptive-innovations.com/zoo/MathBird/">MathBird</a> - удобное дополнение для Thunderbird для вставки таких выражений MathML с использованием синтаксиса ввода AsciiMath. Кроме того, поле ввода LaTeX-to-MathML также было интегрировано в <a href="http://www.seamonkey-project.org/">SeaMonkey</a> с версии 2.28 и в <a href="https://www.mozilla.org/thunderbird/">Thunderbird</a> с версии 31. С другой стороны, обработка кода MathML и качество рендеринга MathML <a href="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121" title="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121">зависит от почтового клиента</a>. Даже если ваш браузер поддерживает MathML, ваша электронная почта может помешать вам отправить или получить сообщение с MathML внутри.</p> +<p>Современные почтовые клиенты могут посылать и получать электронные сообщения в формате HTML5, то есть в них можно использовать выражения MathML. Обязательно включите опции "отправить как HTML" и "просмотреть как HTML". В Thunderbird вы можете использовать команду "Вставить HTML", чтобы вставить код HTML + MathML. <a href="http://disruptive-innovations.com/zoo/MathBird/" title="http://disruptive-innovations.com/zoo/MathBird/">MathBird</a> - удобное дополнение для Thunderbird для вставки таких выражений MathML с использованием синтаксиса ввода AsciiMath. Кроме того, поле ввода LaTeX-to-MathML также было интегрировано в <a href="http://www.seamonkey-project.org/">SeaMonkey</a> с версии 2.28 и в <a href="https://www.mozilla.org/thunderbird/">Thunderbird</a> с версии 31. С другой стороны, обработка кода MathML и качество рендеринга MathML <a href="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121" title="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121">зависит от почтового клиента</a>. Даже если ваш браузер поддерживает MathML, ваша электронная почта может помешать вам отправить или получить сообщение с MathML внутри.</p> <p>Клиенты мгновенного обмена сообщениями на базе Gecko могут интегрировать конвертер на основе Javascript, преобразующий текст в код MathML (см. ниже), и отображать выражения MathML, созданные из обычного текста мгновенных сообщений. Например, есть <a href="https://addons.instantbird.org/en-US/instantbird/addon/340" title="https://addons.instantbird.org/en-US/instantbird/addon/340">дополнение Instantbird</a>, которое обрабатывает выражения LaTeX.</p> @@ -324,13 +324,13 @@ sudo make install <p><a href="http://www.firemath.info/">Firemath</a> - это расширение для Firefox, которое является WYSIWYG редактором MathML. Предварительный просмотр формулы осуществляется с помощью механизма рендеринга Mozilla. Сгенерированный код MathML доступен в нижней части окна. Используйте текстовое поле для ввода простых элементов (токенов) и кнопки для создания более сложных конструкций. После того, как вы завершите редактирование, вы сможете сохранить свой документ в виде страницы XHTML.</p> -<p><a href="http://www.lyx.org/">LyX</a> - это графический LaTeX редактор, который имеет встроенную поддержку экспорта XHTML+MathML и может быть скрнфигурирован на использование конвертеров вида LaTeX-to-(X)HTML. Например, вы можете настроить его для экспорта <a href="https://github.com/brucemiller/LaTeXML/wiki/Integrating-LaTeXML-into-TeX-editors#lyx">LaTeXML HTML5/EPUB</a>.</p> +<p><a href="http://www.lyx.org/">LyX</a> - это графический LaTeX редактор, который имеет встроенную поддержку экспорта XHTML+MathML и может быть сконфигурирован на использование конвертеров вида LaTeX-to-(X)HTML. Например, вы можете настроить его для экспорта <a href="https://github.com/brucemiller/LaTeXML/wiki/Integrating-LaTeXML-into-TeX-editors#lyx">LaTeXML HTML5/EPUB</a>.</p> <p>В <a href="http://www.openoffice.org/">OpenOffice</a> и <a href="http://libreoffice.org/">LibreOffice</a> есть редакторы уравнений (File → New → Formula). Это наполовину WYSIWYG: с помощью панели уравнений/клавиатуры вы вводите исходный текст для формулы и предосмотр полученной формулы соответственно обновляется. Редактор использует свой собственный синтаксис "StarMath" для исходных текстов, но при сохранении документа генерируется также и соответствующий код MathML. Для получения кода MathML, сохраните документ как mml и откройте его любым текстовым редактором. Как вариант, вы можете разархивировать файл odf (на самом деле zip-архив) и открыть xml файл <code>content.xml</code>.</p> <p style="text-align: center;"><img alt="Open Office Math" src="/@api/deki/files/4261/=openoffice.png" style="height: 527px; width: 483px;"></p> -<p><a href="http://www.w3.org/Amaya/">Amaya</a> - это Web-редактор от W3C, способный обрабатывать MathML внутри документов XHTML. Используйте элементы из Elements и панель Special Chars для создания различных продвинутых математических конструкций. Простой текст, такой как <code>a+2</code>, автоматически парсится и создается соответствующая разметка MathML. Как только вы закончите, вы cможете напрямую сохранить свою страницу XHTML и открыть ее в Mozilla.</p> +<p><a href="http://www.w3.org/Amaya/">Amaya</a> - это Web-редактор от W3C, способный обрабатывать MathML внутри документов XHTML. Используйте элементы из Elements и панель Special Chars для создания различных продвинутых математических конструкций. Простой текст, такой как <code>a+2</code>, автоматически парсится и создается соответствующая разметка MathML. Как только вы закончите, вы сможете напрямую сохранить свою страницу XHTML и открыть ее в Mozilla.</p> <h2 id="Распознавание_видимых_символов_и_рукописного_текста">Распознавание видимых символов и рукописного текста</h2> diff --git a/files/ru/web/mathml/element/maction/index.html b/files/ru/web/mathml/element/maction/index.html index 4df5beac57..6d60735b70 100644 --- a/files/ru/web/mathml/element/maction/index.html +++ b/files/ru/web/mathml/element/maction/index.html @@ -28,7 +28,7 @@ translation_of: Web/MathML/Element/maction </ul> </dd> <dt id="attr-class-id-style">class, id, style</dt> - <dd>Предусматривается для ипользования с <a href="/ru/docs/CSS">таблицами стилей</a>.</dd> + <dd>Предусматривается для использования с <a href="/ru/docs/CSS">таблицами стилей</a>.</dd> <dt id="attr-href">href</dt> <dd>Используется для установки гиперссылки на указанный URI.</dd> <dt id="attr-mathbackground">mathbackground</dt> diff --git a/files/ru/web/mathml/element/math/index.html b/files/ru/web/mathml/element/math/index.html index d38e0232ad..b8c2c3238b 100644 --- a/files/ru/web/mathml/element/math/index.html +++ b/files/ru/web/mathml/element/math/index.html @@ -13,7 +13,7 @@ translation_of: Web/MathML/Element/math <dl> <dt id="attr-class-id-style">class, id, style</dt> - <dd><span class="notranslate">При условии использования всесте с <a href="https://developer.mozilla.org/en-US/docs/CSS">таблицами стилей</a> .</span></dd> + <dd><span class="notranslate">При условии использования вместе с <a href="https://developer.mozilla.org/en-US/docs/CSS">таблицами стилей</a> .</span></dd> <dt id="attr-dir">dir</dt> <dd><span class="notranslate">Указывает направление формулы:</span> <span class="notranslate"><code>ltr</code> - слева направо или <code>rtl</code> - справа налево.</span></dd> <dt id="attr-href">ref</dt> diff --git a/files/ru/web/mathml/examples/index.html b/files/ru/web/mathml/examples/index.html index 97131d1fc3..da9fd7af37 100644 --- a/files/ru/web/mathml/examples/index.html +++ b/files/ru/web/mathml/examples/index.html @@ -4,8 +4,8 @@ slug: Web/MathML/Examples tags: - MathML - Гайд - - Начинайющий - - НеобходимоОбновлениеДляНачинающих + - Начинающий + - Необходимо Обновление Для Начинающих translation_of: Web/MathML/Examples original_slug: Web/MathML/Примеры --- diff --git a/files/ru/web/mathml/index.html b/files/ru/web/mathml/index.html index ed4b2cc037..12f823b6ef 100644 --- a/files/ru/web/mathml/index.html +++ b/files/ru/web/mathml/index.html @@ -20,8 +20,8 @@ translation_of: Web/MathML <dl> <dt><a href="/ru/docs/Web/MathML/Element" title="/ru/docs/Web/MathML/Element">Справка по элементам MathML</a></dt> <dd>Детальная информация о каждом элементе MathML, а также информация по совместимости для настольных и мобильных браузеров.</dd> - <dt><a href="/ru/docs/Web/MathML/Attribute" title="/ru/docs/Web/MathML/Attribute">Справка по аттрибутам MathML</a></dt> - <dd>Информация по аттрибутам MathML, которые могут изменять внешний вид или поведение элементов.</dd> + <dt><a href="/ru/docs/Web/MathML/Attribute" title="/ru/docs/Web/MathML/Attribute">Справка по атрибутам MathML</a></dt> + <dd>Информация по атрибутам MathML, которые могут изменять внешний вид или поведение элементов.</dd> <dt><a href="/ru/docs/Web/MathML/Examples" title="/ru/docs/Web/MathML/Examples">Примеры MathML</a></dt> <dd>Примеры и образцы работы технологии MathML, которые помогут Вам понять её принципы.</dd> <dt><a href="/ru/docs/Web/MathML/Authoring" title="/ru/docs/Web/MathML/Authoring">Средство разработки MathML</a></dt> diff --git a/files/ru/web/media/formats/codecs_parameter/index.html b/files/ru/web/media/formats/codecs_parameter/index.html index a7eed92590..284e64c550 100644 --- a/files/ru/web/media/formats/codecs_parameter/index.html +++ b/files/ru/web/media/formats/codecs_parameter/index.html @@ -25,7 +25,7 @@ translation_of: Web/Media/Formats/codecs_parameter <dt><code>video/mp4</code></dt> <dd>Видео файл, использующий тип файла <a href="/en-US/docs/Web/Media/Formats/Containers#MP4">MPEG-4</a>.</dd> <dt><code>video/quicktime</code></dt> - <dd>Видео файл, Apple формата <a href="/en-US/docs/Web/Media/Formats/Containers#QuickTime">QuickTime</a>. Как уже отмечалось, этот формат обычно используется в Сети, поскольку требует использования плпгинов.</dd> + <dd>Видео файл, Apple формата <a href="/en-US/docs/Web/Media/Formats/Containers#QuickTime">QuickTime</a>. Как уже отмечалось, этот формат обычно используется в Сети, поскольку требует использования плагинов.</dd> </dl> <p>Однако эти MIME являются не прозрачными. Все эти типы поддерживают несколько кодеков, и эти кодеки могут содержать несколько профилей, уровней , и других факторов конфигурирования. По этой причине указывается строковый параметр медиа типа <code>codecs</code>.</p> @@ -41,10 +41,10 @@ translation_of: Web/Media/Formats/codecs_parameter <dd>Файл <a href="/en-US/docs/Web/Media/Formats/Containers#MP4">MPEG-4</a> , содержащий <a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">AVC</a> (H.264) видео, Основной профиль, Уровень 4.2.</dd> </dl> -<p>Как и вслучае с любым параметром MIME типа , <code>codecs</code> должен заменяться на <code>codecs*</code> (обратите внимание на символ звездочки, <code>*</code>) , если какое-либо из свойств кодека использует специальные символы для указания допонительной информации (языковые отметки, кодировка байтов в шестнадцатиричные значения и т.д.), входящие в {{RFC(2231, "MIME Parameter Value and Encoded Word Extensions", 4)}}. Можно использовать функции JavaScript {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} для кодирования списка параметров, можно использовать {{jsxref("Global_Objects/decodeURI", "decodeURI()")}} для декодирования предварительно закодированного списка параметров.</p> +<p>Как и в случае с любым параметром MIME типа , <code>codecs</code> должен заменяться на <code>codecs*</code> (обратите внимание на символ звездочки, <code>*</code>) , если какое-либо из свойств кодека использует специальные символы для указания дополнительной информации (языковые отметки, кодировка байтов в шестнадцатеричные значения и т.д.), входящие в {{RFC(2231, "MIME Parameter Value and Encoded Word Extensions", 4)}}. Можно использовать функции JavaScript {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} для кодирования списка параметров, можно использовать {{jsxref("Global_Objects/decodeURI", "decodeURI()")}} для декодирования предварительно закодированного списка параметров.</p> <div class="blockIndicator note"> -<p> Когда используется параметр <code>codecs</code>, указанный список кодеков должен включать каждый кодек, используемый для содержимого файлаю Список также может содержать кодеки, которых нет в файле.</p> +<p> Когда используется параметр <code>codecs</code>, указанный список кодеков должен включать каждый кодек, используемый для содержимого файла Список также может содержать кодеки, которых нет в файле.</p> </div> <h2 id="Свойства_кодеков_для_контейнеров">Свойства кодеков для контейнеров</h2> @@ -62,7 +62,7 @@ translation_of: Web/Media/Formats/codecs_parameter </ul> </div> -<p>Несколько ссылок выше входят в одину и то же секцию, потому, что все медиатипы основаны на файловом формате ISO Base Media File Format (ISO BMFF), поэтому они используют тот же синикаксис.</p> +<p>Несколько ссылок выше входят в одину и то же секцию, потому, что все медиатипы основаны на файловом формате ISO Base Media File Format (ISO BMFF), поэтому они используют тот же синтаксис.</p> <h3 id="AV1">AV1</h3> diff --git a/files/ru/web/media/formats/webrtc_codecs/index.html b/files/ru/web/media/formats/webrtc_codecs/index.html index bd9c83dc15..b7c15b90d1 100644 --- a/files/ru/web/media/formats/webrtc_codecs/index.html +++ b/files/ru/web/media/formats/webrtc_codecs/index.html @@ -12,7 +12,7 @@ original_slug: Web/Media/Formats/WebRTC_кодеки <h2 id="Безконтейнерные_медиаданные">Безконтейнерные медиаданные</h2> -<p>WebRTC использует объект типа {{domxref("MediaStreamTrack")}} для представления каждого трека, передающегося между узлами соединения без использования контейнера или объекта типа {{domxref("MediaStream")}} , объединяющего треки. Какие кодеки моут быть в этих треках, спецификацией WebRTC не определяется. Однако, {{RFC(7742)}} определяет, что все браузеры, поддерживающие WebRTC, должны поддерживать <a href="/en-US/docs/Web/Media/Formats/Video_codecs#VP8">VP8</a> и <a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">H.264</a> ограниченный базовый профиль для видео; и {{RFC(7874)}} , определяющая, что браузеры должны поддерживать, по меньшей мере, кодеки <a href="/en-US/docs/Web/Media/Formats/Audio_codecs#Opus">Opus</a> и <a href="/en-US/docs/Web/Media/Formats/Audio_codecs#G.711">G.711</a> форматов PCMA и PCMU.</p> +<p>WebRTC использует объект типа {{domxref("MediaStreamTrack")}} для представления каждого трека, передающегося между узлами соединения без использования контейнера или объекта типа {{domxref("MediaStream")}} , объединяющего треки. Какие кодеки могут быть в этих треках, спецификацией WebRTC не определяется. Однако, {{RFC(7742)}} определяет, что все браузеры, поддерживающие WebRTC, должны поддерживать <a href="/en-US/docs/Web/Media/Formats/Video_codecs#VP8">VP8</a> и <a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">H.264</a> ограниченный базовый профиль для видео; и {{RFC(7874)}} , определяющая, что браузеры должны поддерживать, по меньшей мере, кодеки <a href="/en-US/docs/Web/Media/Formats/Audio_codecs#Opus">Opus</a> и <a href="/en-US/docs/Web/Media/Formats/Audio_codecs#G.711">G.711</a> форматов PCMA и PCMU.</p> <p>Эти две спецификации определяют свойства, которые должны поддерживаться каждым кодеком, а так же определенные функции для удобства использования, к примеру, функция эхоподавления. В этом руководстве происходит обзор кодеков, поддержка которых обязательна браузерам для реализации WebRTC, а так же иные (не обязательные) кодеки, поддерживаемые отдельными или всеми браузерами,.</p> @@ -67,7 +67,7 @@ original_slug: Web/Media/Formats/WebRTC_кодеки <p><strong> Предупреждение :</strong> Эти требования относятся к веб-браузерам и другим продуктам, полностью совместимым с WebRTC. Продукты, не относящиеся к WebRTC, которые в некоторой степени могут взаимодействовать с WebRTC, могут поддерживать или не поддерживать эти кодеки, хотя это рекомендуется в технических документах</p> </div> -<p>В дополнение к обязательным кодекам, некоторые браузеры также поддерживают дополнительные кодеки. Они перечисленны в таблице ниже</p> +<p>В дополнение к обязательным кодекам, некоторые браузеры также поддерживают дополнительные кодеки. Они перечислены в таблице ниже</p> <table class="standard-table"> <caption> @@ -103,7 +103,7 @@ original_slug: Web/Media/Formats/WebRTC_кодеки <p>Поддержка профиля AVC Constrained Baseline (<code>CB</code>) требуется во всех полностью совместимых реализациях WebRTC. <code>CB</code> является подмножеством основного профиля и специально разработан для приложений с низкой сложностью и малой задержкой, таких как мобильное видео и видеоконференции, а также для платформ с более низкими возможностями обработки видео..</p> -<p>Наш <a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">обзор AVC</a> и его функциональности найдете в основном руководстве по видиокодекам.</p> +<p>Наш <a href="/en-US/docs/Web/Media/Formats/Video_codecs#AVC_(H.264)">обзор AVC</a> и его функциональности найдете в основном руководстве по видеокодекам.</p> <h4 id="Требования_поддержки_специальных_параметров">Требования поддержки специальных параметров</h4> @@ -121,14 +121,14 @@ original_slug: Web/Media/Formats/WebRTC_кодеки <dt><code>max-dpb</code></dt> <dd>Определяет максимальный размер буфера декодированных данных, выраженных в единицах 8/3 макроблоков. Подробности в спецификации <a href="https://tools.ietf.org/html/rfc6184#page-46">RFC 6184, страница 46</a>.</dd> <dt><code>max-fs</code></dt> - <dd>Определяет максимальный размер видеокадра, выраженный в колисестве макроблоков.</dd> + <dd>Определяет максимальный размер видеокадра, выраженный в количестве макроблоков.</dd> <dt><code>max-mbps</code></dt> <dd>Определяет максимальную скорость обработки макроблоков в секунду. Значение является целым числом..</dd> <dt><code>max-smbps</code></dt> <dd>Определяет максимальную скорость обработки статических макроблоков в секунду (используя гипотетическое предположение, что все макроблоки являются статическими макроблоками).</dd> </dl> -<h5 id="Пареметры_с_определенными_требованиями">Пареметры с определенными требованиями</h5> +<h5 id="Параметры_с_определенными_требованиями">Параметры с определенными требованиями</h5> <p>Эти параметры являются необязательными, но имеют специальные требования при их использовании.</p> @@ -227,9 +227,9 @@ original_slug: Web/Media/Formats/WebRTC_кодеки <p><a id="other-audio-foot-1" name="other-audio-foot-1">[1]</a> <strong>{{interwiki("wikipedia", "Internet Low Bitrate Codec")}}</strong> (<strong>iLBC</strong>) - узкополосный кодек с открытым кодом, разработанный Global IP Solutions и Google, спроектированный для потокового голосового аудио. Google и другие разработчики браузеров адоптировали его для работы с WebRTC, но он доступен не во всех браузерах, и не является обязательно поддерживаемым кодеком.</p> -<p><a id="other-audio-foot-2" name="other-audio-foot-2">[2]</a> The <strong>{{interwiki("wikipedia", "Internet Speech Audio Codec")}}</strong> (<strong>iSAC</strong>) - другой кодек, разработанный Global IP Solutions, теперь принадлежащий Google, открывший его код. Используется Google Talk, QQ, и другими клиентами быстрых сообщений, специально спроектированный для голосовых сообщений, упакованных в поток RTP. Пока не является обязатено поддерживаемым кодеком. Поддерживается Safari и Chrome. Не поддерживается Firefox и Edge.</p> +<p><a id="other-audio-foot-2" name="other-audio-foot-2">[2]</a> The <strong>{{interwiki("wikipedia", "Internet Speech Audio Codec")}}</strong> (<strong>iSAC</strong>) - другой кодек, разработанный Global IP Solutions, теперь принадлежащий Google, открывший его код. Используется Google Talk, QQ, и другими клиентами быстрых сообщений, специально спроектированный для голосовых сообщений, упакованных в поток RTP. Пока не является обязательной поддерживаемым кодеком. Поддерживается Safari и Chrome. Не поддерживается Firefox и Edge.</p> -<p><strong>{{interwiki("wikipedia", "Comfort noise")}}</strong> (<strong>CN</strong>) - комфортный шум. Является формой искусственного фонового шума, использующегося для заполнения пробелов в передаче, вместо использования полной тишины. Помогает избежать вибрационных эффектов, возникающих, когда голосовая активация или подобная функциональность вызывает временное простановление потока, известная как прерывистая передача (Discontinuous Transmission (DTX)). В спецификации {{RFC(3389)}}, метод предлагает использовать определенное заполнение в беззвучных промежутках.</p> +<p><strong>{{interwiki("wikipedia", "Comfort noise")}}</strong> (<strong>CN</strong>) - комфортный шум. Является формой искусственного фонового шума, использующегося для заполнения пробелов в передаче, вместо использования полной тишины. Помогает избежать вибрационных эффектов, возникающих, когда голосовая активация или подобная функциональность вызывает временное приостановление потока, известная как прерывистая передача (Discontinuous Transmission (DTX)). В спецификации {{RFC(3389)}}, метод предлагает использовать определенное заполнение в беззвучных промежутках.</p> <p>Комфортный шум используется с G.711 и может потенциально использоваться с другими кодеками, которые не имеют встроенной функции CN. Кодек Opus, к примеру, имеет собственную реализацию CN, поэтому использование RFC 3389 CN с кодеком Opus не рекомендуется.</p> @@ -323,7 +323,7 @@ peerConnection.addEventListener("icegatheringstatechange", (event) => { <p>Обработчик события <code>icegatheringstatechange</code> установлен; в нем мы отслеживаем тип события <code>complete</code> завершения сборки кандидатов ICE, указывающее что сборка кандидатов завершена. Метод {{domxref("RTCPeerConnection.getSenders()")}} вызывается для получения списка всех объектов {{domxref("RTCRtpSender")}} , использующихся в соединении.</p> -<p>Имея это в виду, мы просматриваем список отправителей и ищем первого, чей {{domxref ("MediaStreamTrack")}} указывает, что тип {{domxref ("MediaStreamTrack.track", "track")}} в своем свойстве {{domxref("MediaStreamTrack.kind", "kind")}} содержит значение <code>video</code>, указывающее, что данные являються видеоданными. Затем вызывается метод отправителя {{domxref("RTCRtpSender.getParameters", "getParameters()")}} , и значением свойства {{domxref("RTCRtpParameters.codecs", "codecs")}} возвращаемого объекта {{domxref("RTCRtpSendParameters")}} , инициализируем переменную <code>codecList</code>.</p> +<p>Имея это в виду, мы просматриваем список отправителей и ищем первого, чей {{domxref ("MediaStreamTrack")}} указывает, что тип {{domxref ("MediaStreamTrack.track", "track")}} в своем свойстве {{domxref("MediaStreamTrack.kind", "kind")}} содержит значение <code>video</code>, указывающее, что данные являются видеоданными. Затем вызывается метод отправителя {{domxref("RTCRtpSender.getParameters", "getParameters()")}} , и значением свойства {{domxref("RTCRtpParameters.codecs", "codecs")}} возвращаемого объекта {{domxref("RTCRtpSendParameters")}} , инициализируем переменную <code>codecList</code>.</p> <p>Если видеотрек не найден, устанавливаем <code>codecList</code> в <code>null</code>.</p> @@ -392,7 +392,7 @@ peerConnection.addEventListener("icegatheringstatechange", (event) => { <table class="standard-table"> <caption> - <p>Предпочтительные для WebRTC кодеки основных вебрбаузеров</p> + <p>Предпочтительные для WebRTC кодеки основных веб-браузеров</p> </caption> <thead> <tr> @@ -433,13 +433,13 @@ peerConnection.addEventListener("icegatheringstatechange", (event) => { <h2 id="Правильный_выбор_кодеков">Правильный выбор кодеков</h2> -<p>Перед выбором кодека, который не является обязательным (VP8 или AVC для видео и Opus или PCM для аудио), следует серьезно рассмотреть потенциальные недостатки: в особенности, если предпологается, что эти кодеки не широко доступны на всех устройствах, поддерживающих WebRTC.</p> +<p>Перед выбором кодека, который не является обязательным (VP8 или AVC для видео и Opus или PCM для аудио), следует серьезно рассмотреть потенциальные недостатки: в особенности, если предполагается, что эти кодеки не широко доступны на всех устройствах, поддерживающих WebRTC.</p> <p>Если вы предпочитаете кодек, отличный от обязательных, вы должны по крайней мере разрешить откат к одному из обязательных кодеков, если поддержка для кодека, который вы предпочитаете, окажется недоступна.</p> <h3 id="Аудио">Аудио</h3> -<p>В целом, если кодек доступен и звук, который вы хотите отправить, имеет частоту дискретизации более 8 кГц, вам следует настоятельно рекомендовать использовать Opus в качестве основного кодека. Для голосовых соединений в стесненной среде использование G.711 с частотой дискретизации 8 кГц может обеспечить приемлемое качество для разговора, но обычно вы будете использовать G.711 в качестве запасного варианта, поскольку есть другие более эффективные варианты, чей звук лутше, такие как Опус в своем узкополосном режиме .</p> +<p>В целом, если кодек доступен и звук, который вы хотите отправить, имеет частоту дискретизации более 8 кГц, вам следует настоятельно рекомендовать использовать Opus в качестве основного кодека. Для голосовых соединений в стесненной среде использование G.711 с частотой дискретизации 8 кГц может обеспечить приемлемое качество для разговора, но обычно вы будете использовать G.711 в качестве запасного варианта, поскольку есть другие более эффективные варианты, чей звук лучше, такие как Опус в своем узкополосном режиме .</p> <h3 id="Видео">Видео</h3> @@ -459,7 +459,7 @@ peerConnection.addEventListener("icegatheringstatechange", (event) => { <p>Например, Safari для iOS и iPadOS представила WebRTC с AVC в качестве единственного поддерживаемого видеокодека. Преимущество AVC на iOS и iPadOS заключается в возможности кодирования и декодирования на аппаратном уровне.Safari 12.1 представил поддержку VP8 в IRC, что улучшает взаимодействие, но за дополнительную плату - VP8 не имеет аппаратной поддержки на устройствах iOS, поэтому его использование приводит к увеличению нагрузки на процессор и сокращению срока службы батареи.</p> -<h4 id="Призводительность">Призводительность</h4> +<h4 id="Производительность">Производительность</h4> <p>К счастью, VP8 и AVC работают одинаково с точки зрения конечного пользователя и одинаково адекватны для использования в видеоконференцсвязи и других решениях WebRTC. Окончательное решение остается за разработчиком. Какой бы вариант вы ни выбрали, обязательно прочитайте информацию, представленную в этой статье, о любых конкретных проблемах конфигурации, с которыми вам, возможно, придется столкнуться для этого кодека.</p> diff --git a/files/ru/web/performance/animation_performance_and_frame_rate/index.html b/files/ru/web/performance/animation_performance_and_frame_rate/index.html index ef73122adf..9b9121b742 100644 --- a/files/ru/web/performance/animation_performance_and_frame_rate/index.html +++ b/files/ru/web/performance/animation_performance_and_frame_rate/index.html @@ -32,7 +32,7 @@ original_slug: Web/Performance/Производительность_анимац <p><br> Однако, стоимость изменения разных CSS свойств варьируется. Общепринято, что 60 кадров в секунду - это достаточная частота, чтобы анимация выглядела мягкой и плавной. Несложный подсчет говорит, что при частоте 60 кадров в секунду, браузер имеет лишь 16.7 миллисекунд, чтобы выполнить все скрипты, пересчитать стили, скомпоновать слои и отрисовать новый кадр. Отсюда следует, что медленные скрипты и анимация дорогих CSS свойств может может привести к <a href="/en-US/docs/Glossary/Jank">зависаниям</a>, так как браузер все еще будет пытаться вычислить все 60 кадров.</p> -<p>Стоит заметить, что 60 кадров в секунду - это стандартная частота обновления экрана. Существуют экраны с гораздо большим FPS. Например, экраны игровых ноутбуков или iPad Pro 2018 имеют частоту смены кадров, равную 120 fps и выше. Для таких устройств производители браузеров ограничивают частоту 60-ю кадрами в секунду, но с помощю некоторых опций этот лимит можно убрать. И в этом случае, на формирование каждого кадра устройство будет отводить лишь 8.6 миллисекунд.</p> +<p>Стоит заметить, что 60 кадров в секунду - это стандартная частота обновления экрана. Существуют экраны с гораздо большим FPS. Например, экраны игровых ноутбуков или iPad Pro 2018 имеют частоту смены кадров, равную 120 fps и выше. Для таких устройств производители браузеров ограничивают частоту 60-ю кадрами в секунду, но с помощью некоторых опций этот лимит можно убрать. И в этом случае, на формирование каждого кадра устройство будет отводить лишь 8.6 миллисекунд.</p> <h2 id="Этапы_рендеринга">Этапы рендеринга</h2> @@ -46,7 +46,7 @@ original_slug: Web/Performance/Производительность_анимац <li><strong>Paint</strong>: наконец, браузер должен перерисовать элементы на экране. Но этот этап не обязательно должен быть простым, как на изображении. Страница может быть разделена на слои, каждый из которых перерисовывается независимо, а только после этого они комбинируются в процессе, который называется композицией "Composition".</li> </ol> -<p>Процессы, которые браузер использует для отрисовывания изменений на элементе <canvas> отличаются. В случае <canvas>, Layout не присходит. Скорее, страница будет перерисована с помощью JavaScript canvas API. </p> +<p>Процессы, которые браузер использует для отрисовывания изменений на элементе <canvas> отличаются. В случае <canvas>, Layout не происходит. Скорее, страница будет перерисована с помощью JavaScript canvas API. </p> <p>В любом случае, вычисление каждого следующего кадра должно происходить достаточно быстро, чтобы успеть попасть в частоту обновления экрана, чтобы не было зависаний.</p> @@ -122,7 +122,7 @@ original_slug: Web/Performance/Производительность_анимац <p><img alt="" src="https://mdn.mozillademos.org/files/10853/margin-recording.png" style="display: block; height: 237px; margin-left: auto; margin-right: auto; width: 800px;"></p> -<p>На экране показаны три отдельных секции: (a) обзор этапов рендеринга (Waterfall), (b) частота кадров, и (c) детали на временной шкали.</p> +<p>На экране показаны три отдельных секции: (a) обзор этапов рендеринга (Waterfall), (b) частота кадров, и (c) детали на временной шкалы.</p> <h4 id="Обзор_этапов_рендеринга_на_временной_шкале_Waterfall">Обзор этапов рендеринга на временной шкале (Waterfall)</h4> diff --git a/files/ru/web/performance/critical_rendering_path/index.html b/files/ru/web/performance/critical_rendering_path/index.html index ae8a15756d..e486781c97 100644 --- a/files/ru/web/performance/critical_rendering_path/index.html +++ b/files/ru/web/performance/critical_rendering_path/index.html @@ -9,7 +9,7 @@ translation_of: Web/Performance/Critical_rendering_path <p>Объектная модель документа DOM создается в тот момент, когда браузер парсит HTML. Этот HTML может запрашивать JavaScript, который может модифицировать DOM. HTML может запросить стили, которые участвуют в создании СSS Object Model. Движок браузера комбинирует эти две объектные модели, чтобы создать дерево рендера (render tree). Компоновка (layout) определяет размеры и позицию каждого элемента на странице. Как только компоновка определена - пиксели отрисовываются на экране.</p> -<p>Оптимизация критичеческих этапов рендеринга улучшает время до первого рендера. Понимание и оптимизация этих этапов чрезвычайно важны для того, чтобы рендерить приложение с нужной частотой кадров (60 кадров в секунду, fps) и предоставить пользователю удобный, плавный интерфейс.</p> +<p>Оптимизация критических этапов рендеринга улучшает время до первого рендера. Понимание и оптимизация этих этапов чрезвычайно важны для того, чтобы рендерить приложение с нужной частотой кадров (60 кадров в секунду, fps) и предоставить пользователю удобный, плавный интерфейс.</p> <h2 id="Понимание_этапов_CRP">Понимание этапов (CRP)</h2> @@ -31,7 +31,7 @@ translation_of: Web/Performance/Critical_rendering_path <p>Говоря о производительности селекторов (selector), наименее специфичные селекторы срабатывают быстрее. Например, <code>.foo {}</code> сработает быстрее <code>.bar .foo {}</code>. В первом случае, условно, понадобится одна операция, чтобы найти элемент <code>.foo</code>, во втором случае, сначала будут найдены все <code>.foo</code>, а<strong> </strong>потом<strong> браузер пройдет вверх</strong> по дереву в поисках родительского элемента <code>.bar</code>. Более специфичные селекторы требуют от браузера большего количества работы, но эти проблемы, вероятно, не стоят их оптимизации.</p> -<p>Если вы измерите время, требуемое на парсинг CSS, вы будете удивлены тем, как быстро работают браузеры. Более специфичные правила более затратны, потому что требуют обхода большего числа узлов в DOM дереве, но эта дороговизна обходится довольно дёшево, особенно в сравнении с другими узкими местами производительности. <u>Сначала измеряйте. Потом оптимизируйте, если это действительно необходимо.</u> Вероятно, специфичность селекторов не то, что действительно затормаживает ваше приложение. Когда дело доходит до оптимизации CSS, улучшение производительность селекторов ускоряет рендеринг лишь на микросекунды. Существуют другие <a href="/en-US/docs/Learn/Performance/CSS_performance">пути оптимизации CSS</a>, такие как минификация, разделение CSS-файлов на разные файлы на освове media-queries.</p> +<p>Если вы измерите время, требуемое на парсинг CSS, вы будете удивлены тем, как быстро работают браузеры. Более специфичные правила более затратны, потому что требуют обхода большего числа узлов в DOM дереве, но эта дороговизна обходится довольно дёшево, особенно в сравнении с другими узкими местами производительности. <u>Сначала измеряйте. Потом оптимизируйте, если это действительно необходимо.</u> Вероятно, специфичность селекторов не то, что действительно затормаживает ваше приложение. Когда дело доходит до оптимизации CSS, улучшение производительность селекторов ускоряет рендеринг лишь на микросекунды. Существуют другие <a href="/en-US/docs/Learn/Performance/CSS_performance">пути оптимизации CSS</a>, такие как унификация, разделение CSS-файлов на разные файлы на основе media-queries.</p> <h3 id="Дерево_рендера_Render_Tree">Дерево рендера (Render Tree)</h3> @@ -57,7 +57,7 @@ translation_of: Web/Performance/Critical_rendering_path <h2 id="Оптимизация_CRP">Оптимизация CRP</h2> -<p>Улучшайте загрузку страницы с помощью приоритезации ресурсов, с помощью контролирования порядка, в котором они грузятся и с помощью уменьшения размеров файлов. Главные подсказки здесь:</p> +<p>Улучшайте загрузку страницы с помощью приоритизации ресурсов, с помощью контролирования порядка, в котором они грузятся и с помощью уменьшения размеров файлов. Главные подсказки здесь:</p> <ol> <li>Уменьшайте количество критических ресурсов, откладывая их загрузку, помечая их как async и/или группируя их;</li> diff --git a/files/ru/web/performance/css_javascript_animation_performance/index.html b/files/ru/web/performance/css_javascript_animation_performance/index.html index 264fc1ea9b..b6dbb2bedf 100644 --- a/files/ru/web/performance/css_javascript_animation_performance/index.html +++ b/files/ru/web/performance/css_javascript_animation_performance/index.html @@ -10,7 +10,7 @@ tags: - Производительность translation_of: Web/Performance/CSS_JavaScript_animation_performance --- -<p class="summary">Анимация является критичным инструментов для улучшения пользовательнского опыта во многих приложениях. Существует много путей создания анимации в web, например, основанные на CSS-свойствах {{cssxref("transition","transitions")}}/{{cssxref("animation","animations")}} или на JavaScript (using {{domxref("Window.requestAnimationFrame","requestAnimationFrame()")}}). В этой статье мы проанализируем производительность CSS и JavaScript анимаций и сравним их.</p> +<p class="summary">Анимация является критичным инструментов для улучшения пользовательского опыта во многих приложениях. Существует много путей создания анимации в web, например, основанные на CSS-свойствах {{cssxref("transition","transitions")}}/{{cssxref("animation","animations")}} или на JavaScript (using {{domxref("Window.requestAnimationFrame","requestAnimationFrame()")}}). В этой статье мы проанализируем производительность CSS и JavaScript анимаций и сравним их.</p> <h2 id="CSS_transition_и_animation">CSS transition и animation</h2> @@ -55,7 +55,7 @@ translation_of: Web/Performance/CSS_JavaScript_animation_performance <h3 id="Запуск_теста">Запуск теста</h3> -<p>Для начала, в нашем тесте мы будем анимаировать 1000 элементов {{htmlelement("div")}} с помощью CSS.</p> +<p>Для начала, в нашем тесте мы будем анимировать 1000 элементов {{htmlelement("div")}} с помощью CSS.</p> <p><span style="line-height: 16.7999992370605px;">{{JSFiddleEmbed("https://jsfiddle.net/zt94oew2/1/","","480")}}</span></p> diff --git a/files/ru/web/performance/fundamentals/index.html b/files/ru/web/performance/fundamentals/index.html index c4d8b93895..b7e7d891c0 100644 --- a/files/ru/web/performance/fundamentals/index.html +++ b/files/ru/web/performance/fundamentals/index.html @@ -65,7 +65,7 @@ original_slug: Web/Performance/Основы <h3 id="Web_технологии">Web технологии</h3> -<p>Web платформа предоставляет много инструментов, некоторые из которых лучше подходят для конкретных задач, а некоторые - хуже. Логика приложений пишется на JavaScript. Для отображения графики разработчики могут использовать HTML или CSS (т.е. используются высокоуровневные декларативные языки); разработчики также могут использовать низкоуровневые интерфейсы, доступные в {{ htmlelement("canvas") }} (включая <a href="/en-US/docs/Web/WebGL">WebGL</a>). Где-то между HTML/CSS и Canvas лежит <a href="/en-US/docs/Web/SVG">SVG</a>, который предлагает некоторые преимущества обеих систем.</p> +<p>Web платформа предоставляет много инструментов, некоторые из которых лучше подходят для конкретных задач, а некоторые - хуже. Логика приложений пишется на JavaScript. Для отображения графики разработчики могут использовать HTML или CSS (т.е. используются высокоуровневые декларативные языки); разработчики также могут использовать низкоуровневые интерфейсы, доступные в {{ htmlelement("canvas") }} (включая <a href="/en-US/docs/Web/WebGL">WebGL</a>). Где-то между HTML/CSS и Canvas лежит <a href="/en-US/docs/Web/SVG">SVG</a>, который предлагает некоторые преимущества обеих систем.</p> <p>HTML и CSS значительно увеличивают производительность, иногда снижая частоту кадров и не давая контролировать каждый пиксель при рендере. Текст и изображения перерисовываются автоматически, UI-элементы автоматически получают системную тему, а система предоставляет некоторую "встроенную" поддержку для некоторых случаев, о которых разработчик может и не задумываться изначально. Например, отображение контента при разных разрешениях.</p> @@ -81,7 +81,7 @@ original_slug: Web/Performance/Основы <p>Движок Gecko JavaScript поддерживает just-in-time (JIT) компиляцию. Благодаря этому, логика приложения выполняется примерно так же, как это происходит в других приложениях на виртуальных машинах - например, Java Virtual Machines - а в некоторых случаях эффективность этих приложений близка к "нативному коду".</p> -<p>Инструменты, необходимые для работы с HTML, CSS и Canvas оптимизированы несколькими путями. Например, композиция (этап, известный как Layout) в HTML/CSS и код, отвечающий за графику в Gecko, сделаны таким образом, чтобы уменьшить количество операций ревалидации и перерисовки для общих случаев (например, скроллинг); эти оптимизации включены "по умолчанию", поэтому разработчики пользуются ими бесплатно. Буферы пикселей, отрисованных как для Gecko "автоматически", так и для <code>canvas</code> "вручную", минимизируют количество копий, которые передаются в буфер кадров дисплея. Чтобы достичь этого, Gecko старается избегать создания промежуточных слоев (например, во многих других операционных системах создаются пиксельные фоновые буферы для каждого отдельного приложения), но взамен Gecko использует специальные участки памяти ддя хранения графических буферов. К этой памяти имеет прямой доступ железо, которое ответственно за формирование картинки. Сложные сцены рендерятся с использованием графического адаптера (видеокарты). А простые сцены, для экономии энергии, рендерятся специальным выделенным железом для композиции, в то время, как графический адаптер находится в режиме ожидания или выключен.</p> +<p>Инструменты, необходимые для работы с HTML, CSS и Canvas оптимизированы несколькими путями. Например, композиция (этап, известный как Layout) в HTML/CSS и код, отвечающий за графику в Gecko, сделаны таким образом, чтобы уменьшить количество операций ревалидации и перерисовки для общих случаев (например, скроллинг); эти оптимизации включены "по умолчанию", поэтому разработчики пользуются ими бесплатно. Буферы пикселей, отрисованных как для Gecko "автоматически", так и для <code>canvas</code> "вручную", минимизируют количество копий, которые передаются в буфер кадров дисплея. Чтобы достичь этого, Gecko старается избегать создания промежуточных слоев (например, во многих других операционных системах создаются пиксельные фоновые буферы для каждого отдельного приложения), но взамен Gecko использует специальные участки памяти для хранения графических буферов. К этой памяти имеет прямой доступ железо, которое ответственно за формирование картинки. Сложные сцены рендерятся с использованием графического адаптера (видеокарты). А простые сцены, для экономии энергии, рендерятся специальным выделенным железом для композиции, в то время, как графический адаптер находится в режиме ожидания или выключен.</p> <p>Для продвинутых приложений полностью статичный контент скорее является исключением, чем правилом. Такие приложения используют динамический контент, анимируемый с помощью {{ cssxref("animation") }} и {{ cssxref ("transition") }}. Переходы и анимации особенно важны для приложений: разработчики могут использовать CSS для объявления сложного поведения с помощью простого высокоуровнего синтаксиса. С другой стороны, движок Gecko хорошо оптимизирован для того, чтобы рендерить такую анимацию эффективно. В целом, общепринятые анимации передаются к обработке системному компоновщику, который может отрендерить их в эффективном, энергосберегающем режиме. </p> @@ -154,7 +154,7 @@ original_slug: Web/Performance/Основы <p>Современные ЦПУ могут работать в режиме энергосбережения, когда они не задействованы. Приложения, которые постоянно запускают таймеры или продолжают ненужные анимации, мешают процессору перейти в режим энергосбережения. Эффективные приложения не должны так делать.</p> -<p>Когда приложение переходит в фоновый режим, срабатывает событие {{event("visibilitychange")}}. Это событие - друг разработчика. Приложения должы слушать его и реагировать на него. Например, в Firefox OS, приложения, которые умеют ограничивать использование ресурсов и экономят память, когда переходят в фоновый режим, с меньшей долей вероятности будут отключены (см. заметку ниже). Это, если посмотреть с другой стороны, означает, что раз приложение не было выгружено - оно будет быстрее загружено.</p> +<p>Когда приложение переходит в фоновый режим, срабатывает событие {{event("visibilitychange")}}. Это событие - друг разработчика. Приложения должны слушать его и реагировать на него. Например, в Firefox OS, приложения, которые умеют ограничивать использование ресурсов и экономят память, когда переходят в фоновый режим, с меньшей долей вероятности будут отключены (см. заметку ниже). Это, если посмотреть с другой стороны, означает, что раз приложение не было выгружено - оно будет быстрее загружено.</p> <div class="note"> <p><strong>Заметка:</strong> Как было упомянуто выше, Firefox OS пытается сохранить как можно больше приложений, но иногда вынуждена приостанавливать некоторые из них. Обычно это происходит, когда у устройства заканчивается память. Чтобы узнать больше о том, как Firefox OS управляет памятью и избавляется от приложений, когда начинаются проблемы с памятью, читайте <a href="/en-US/docs/Archive/B2G_OS/Debugging/Debugging_OOMs">Debugging out of memory errors on Firefox OS</a>.</p> @@ -176,10 +176,10 @@ original_slug: Web/Performance/Основы <p>Вместо того, чтобы изменять абсолютное позиционирование и возиться с этой математикой вручную, используйте свойство {{cssxref("transform")}}, чтобы изменить позицию, масштаб и некоторые другие аспекты вашего контента. Именно так вы используете аппаратное ускорение. Браузер умеет передавать такие задачи графическому процессору, давая возможность ЦПУ заняться другими важными вещами.</p> -<p>К тому же, трансформация даёт возможности, которых в ином случае у вас не было бы. Вы не только можете манипулировать элементом в двумерном пространстве, но можете трансформировать его в 3D, изменять его наклон (скашивать, skew), поворачивать и др. Пол Айриш опубликовал статью <a href="https://paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/">in-depth analysis of the benefits of <code>translate()</code></a>, в которой проанализировал работу translate с точки зрения производительности. Используя translate/transform вы используете правильный декларативный инструмент и возлагаете оответственность за его оптимизацию на браузер. Вы так же получаете возможность с легкостью позиционировать элементы. Если вы будете использовать только <code>top</code> и <code>left</code>, вам придется написать некоторый дополнительный код, чтобы предусмотреть некоторые особенности такого позиционирования. И последний бонус - с Transform / Translate вы будете работать примерно так же, как работали бы с элементом <code>canvas</code>.</p> +<p>К тому же, трансформация даёт возможности, которых в ином случае у вас не было бы. Вы не только можете манипулировать элементом в двумерном пространстве, но можете трансформировать его в 3D, изменять его наклон (скашивать, skew), поворачивать и др. Пол Айриш опубликовал статью <a href="https://paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/">in-depth analysis of the benefits of <code>translate()</code></a>, в которой проанализировал работу translate с точки зрения производительности. Используя translate/transform вы используете правильный декларативный инструмент и возлагаете ответственность за его оптимизацию на браузер. Вы так же получаете возможность с легкостью позиционировать элементы. Если вы будете использовать только <code>top</code> и <code>left</code>, вам придется написать некоторый дополнительный код, чтобы предусмотреть некоторые особенности такого позиционирования. И последний бонус - с Transform / Translate вы будете работать примерно так же, как работали бы с элементом <code>canvas</code>.</p> <div class="note"> -<p><strong>Заметка:</strong> В некоторых случаях (в зависимости от платформы) вам может понадобиться добавить свойство <code>translateZ(0.1)</code>, если вы хотите заставить клиента перенести вычисление анимаций на графический адаптер. Как было упомянуто выше, это может улучшить производительность, но увеличит потребление памяти. Какое из зол - меньшее - решать вам. Протестируйте оба варианта и выясните, что лучше подходит для вашего приложеия.</p> +<p><strong>Заметка:</strong> В некоторых случаях (в зависимости от платформы) вам может понадобиться добавить свойство <code>translateZ(0.1)</code>, если вы хотите заставить клиента перенести вычисление анимаций на графический адаптер. Как было упомянуто выше, это может улучшить производительность, но увеличит потребление памяти. Какое из зол - меньшее - решать вам. Протестируйте оба варианта и выясните, что лучше подходит для вашего приложения.</p> </div> <h4 id="Используйте_requestAnimationFrame_вместо_setInterval">Используйте <code>requestAnimationFrame()</code> вместо <code>setInterval()</code></h4> diff --git a/files/ru/web/performance/how_browsers_work/index.html b/files/ru/web/performance/how_browsers_work/index.html index a2e16dd970..cda110effb 100644 --- a/files/ru/web/performance/how_browsers_work/index.html +++ b/files/ru/web/performance/how_browsers_work/index.html @@ -59,7 +59,7 @@ translation_of: Web/Performance/How_browsers_work <p><img alt="The DNS lookup, the TCP handshake, and 5 steps of the TLS handshake including clienthello, serverhello and certificate, clientkey and finished for both server and client." src="https://mdn.mozillademos.org/files/16746/ssl.jpg" style="height: 412px; width: 729px;"></p> -<p>И хотя обеспечение безопасности соединения снижает скорость загруки приложения, безопасное соединение стоит затрат на него, так как в этом случае данные не могут быть дешифрованы третьим лицом.</p> +<p>И хотя обеспечение безопасности соединения снижает скорость загрузки приложения, безопасное соединение стоит затрат на него, так как в этом случае данные не могут быть дешифрованы третьим лицом.</p> <p>После обмена восемью сообщениями, браузер, наконец, достигает всех условий, чтобы сделать запрос.</p> @@ -153,7 +153,7 @@ translation_of: Web/Performance/How_browsers_work <h4 id="Компиляция_JavaScript">Компиляция JavaScript</h4> -<p>Как CSS обработан и CSSOM создан, другие ресурсы, например, JavaScript-файлы, продолжают загружаться (спасибо сканеру предзагрузки). JavaScript по окончании загрузки должен быть интерпретирован, скомпилирован, обработан и исполнен. Скрипты преобразовываются в абстрактное синтаксическое дерево (AST). Некоторые браузеры берут {{glossary('Abstract Syntax Tree')}} и передают его в интерпретатор, который преобразует дерево в байт-код. Байткод исполняется в основном потоке. Весь этот процесс называется компиляцией.</p> +<p>Как CSS обработан и CSSOM создан, другие ресурсы, например, JavaScript-файлы, продолжают загружаться (спасибо сканеру предзагрузки). JavaScript по окончании загрузки должен быть интерпретирован, скомпилирован, обработан и исполнен. Скрипты преобразовываются в абстрактное синтаксическое дерево (AST). Некоторые браузеры берут {{glossary('Abstract Syntax Tree')}} и передают его в интерпретатор, который преобразует дерево в байт-код. Байт-код исполняется в основном потоке. Весь этот процесс называется компиляцией.</p> <h4 id="Построение_дерева_доступности">Построение дерева доступности</h4> diff --git a/files/ru/web/performance/how_long_is_too_long/index.html b/files/ru/web/performance/how_long_is_too_long/index.html index 1812385647..37a17d18e9 100644 --- a/files/ru/web/performance/how_long_is_too_long/index.html +++ b/files/ru/web/performance/how_long_is_too_long/index.html @@ -17,7 +17,7 @@ translation_of: Web/Performance/How_long_is_too_long <p>Как правило, первый ресурс, который получает клиент - это HTML документ, который затем делает запрос на загрузку остальных ресурсов. Как было подмечено в <a href="/ru/docs/Web/Performance/Critical_rendering_path">статье о критическом пути рендеринга</a> - как только браузер получает данные, он сразу начинает их обработку, вместо того, чтобы дожидаться загрузки всех ресурсов.</p> -<p>Да, одна секунда на загрузку - это хорошая цель. Но лишь немногие приложения достигают этой скорости. Всё зависит от ожиданий. Например, от приложения "Hello World", работающего в корпоративной (локальной) сети, будет ожидаться загрузка за милисекунды. Пользователь из северной Сибири, пользующийся Edge-мобильной сетью и устройством 5-летней давности, вероятно, посчитает даже 20-секундную загрузку быстрой. Однако, в среднем, если вы позволяете приложению не отвечать на запрос 3 или 4 секунды, вы, вероятно, потеряете пользователя. И, что ещё хуже, этот пользователь вряд ли вернётся к вам в ближайшее время.</p> +<p>Да, одна секунда на загрузку - это хорошая цель. Но лишь немногие приложения достигают этой скорости. Всё зависит от ожиданий. Например, от приложения "Hello World", работающего в корпоративной (локальной) сети, будет ожидаться загрузка за миллисекунды. Пользователь из северной Сибири, пользующийся Edge-мобильной сетью и устройством 5-летней давности, вероятно, посчитает даже 20-секундную загрузку быстрой. Однако, в среднем, если вы позволяете приложению не отвечать на запрос 3 или 4 секунды, вы, вероятно, потеряете пользователя. И, что ещё хуже, этот пользователь вряд ли вернётся к вам в ближайшее время.</p> <p>В деле оптимизации производительности рекомендуется обозначить амбициозные задачи по первичной загрузке контента. Например, 5 секунд для 3G сетей и 1.5 секунды для офисного Т1 канала. Для навигации внутри приложения цели должны быть ещё строже. К счастью, для оптимизации можно использовать Service Workers и кэширование.</p> diff --git a/files/ru/web/performance/index.html b/files/ru/web/performance/index.html index 51b68b881a..82f34d4d7a 100644 --- a/files/ru/web/performance/index.html +++ b/files/ru/web/performance/index.html @@ -23,7 +23,7 @@ translation_of: Web/Performance <p>Чем дольше загружается ваше приложение, тем больше пользователей решаются избавиться от него. Очень важно уменьшать время загрузки приложения, а так же промежутка времени, за которое оно становится интерактивным. Но в то же время, важно добавлять в приложение новые возможности, которые уменьшают время отклика и делают приложение интерактивным за счет неочевидных хитростей, например, за счет асинхронной загрузки данных, которые не понадобятся пользователю "здесь и сейчас". </p> -<p>Существуют инструменты измерения производительности, API и лучшие практики, которые помогут нам измерять и улучшать производительноть. Мы постараемся раскрыть их в следующей секции:</p> +<p>Существуют инструменты измерения производительности, API и лучшие практики, которые помогут нам измерять и улучшать производительность. Мы постараемся раскрыть их в следующей секции:</p> <h2 id="Ключевые_статьи_о_производительности">Ключевые статьи о производительности</h2> diff --git a/files/ru/web/performance/lazy_loading/index.html b/files/ru/web/performance/lazy_loading/index.html index 27c6de4f4d..8a2c64b57c 100644 --- a/files/ru/web/performance/lazy_loading/index.html +++ b/files/ru/web/performance/lazy_loading/index.html @@ -37,7 +37,7 @@ translation_of: Web/Performance/Lazy_loading <h3 id="CSS"> CSS</h3> -<p>По умолчанию, CSS рассматривается как блокирующий рендер (<a href="https://developer.mozilla.org/en-US/docs/Web/Performance/Critical_rendering_path">render blocking</a>) ресурс, так что браузер не отобразит контент, пока объектная модель CSS (<a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model">CSSOM</a>) не будет завершена. Поэтому начальный CSS файл должен небольшим, чтобы быть доставленым так быстро, как это возможно. Рекомендуется использовать media-queries для того, чтобы вместо одного монолитного css-файла грузить специализированные</p> +<p>По умолчанию, CSS рассматривается как блокирующий рендер (<a href="https://developer.mozilla.org/en-US/docs/Web/Performance/Critical_rendering_path">render blocking</a>) ресурс, так что браузер не отобразит контент, пока объектная модель CSS (<a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model">CSSOM</a>) не будет завершена. Поэтому начальный CSS файл должен небольшим, чтобы быть доставленным так быстро, как это возможно. Рекомендуется использовать media-queries для того, чтобы вместо одного монолитного css-файла грузить специализированные</p> <pre><link href="style.css" rel="stylesheet" media="all"> <link href="portrait.css" rel="stylesheet" media="orientation:portrait"> @@ -69,7 +69,7 @@ translation_of: Web/Performance/Lazy_loading <p>Вы можете определить, было ли загружено то или иное изображение, проверив Boolean значение {{domxref("HTMLImageElement.complete", "complete")}}.</p> <p><strong>Полифил</strong><br> - Для использованиях в браузерах, которые не поддерживают данную технологию, рекомендуется использовать полифилл: <a href="https://github.com/mfranzke/loading-attribute-polyfill" rel="noopener">loading-attribute-polyfill</a></p> + Для использованиях в браузерах, которые не поддерживают данную технологию, рекомендуется использовать полифил: <a href="https://github.com/mfranzke/loading-attribute-polyfill" rel="noopener">loading-attribute-polyfill</a></p> <p><strong>Intersection Observer API</strong><br> <a href="https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver">Intersection Observers</a> позволяют вам узнать, как наблюдаемый вами элемент входит или выходит из зоны видимости браузера (viewport).</p> diff --git a/files/ru/web/performance/navigation_and_resource_timings/index.html b/files/ru/web/performance/navigation_and_resource_timings/index.html index 91cf4781b9..bd6c3327d3 100644 --- a/files/ru/web/performance/navigation_and_resource_timings/index.html +++ b/files/ru/web/performance/navigation_and_resource_timings/index.html @@ -274,7 +274,7 @@ performance.getEntriesByType('frame').forEach((frame) => { <p><span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body">Если мы проверим вычисления, то результат получится схожим: </span></span></span><code>1 - (22.04 / 87.24) = 0.747</code>. Тайминги навигации позволяют нам получить такие данные программно.</p> -<p>Обратите внимание, что это данные для одного единственно документа, а не для всех ресурсов вместе взятых. В то же время, длительность загрузки, события-обработчики и тайминиги построения DOM / CSSOM влияют на продолжительность загрузки всего приложения, не только одного конкретного ресурса. Клиентские приложения, выполняющиеся в браузере, могут выглядеть быстрее, если данные объемом 300КБ вы передаете сжатыми до 100КБ, но это все не значит, что JavaScript, CSS или другие медиа-ресурсы не раздувают приложение и не делают его медленее. Проверка уровня сжатия - это очень важно, но не менее важно проверять длительность парсинга ресурсов и время между тем, как завершен DOMContentLoaded и DOM готов к работе. Может случиться так, что время парсинга скриптов и обработка скриптами результатов в основном потоке (main thread) приведет к зависанию интерфейса.</p> +<p>Обратите внимание, что это данные для одного единственно документа, а не для всех ресурсов вместе взятых. В то же время, длительность загрузки, события-обработчики и тайминиги построения DOM / CSSOM влияют на продолжительность загрузки всего приложения, не только одного конкретного ресурса. Клиентские приложения, выполняющиеся в браузере, могут выглядеть быстрее, если данные объемом 300КБ вы передаете сжатыми до 100КБ, но это все не значит, что JavaScript, CSS или другие медиа-ресурсы не раздувают приложение и не делают его медленнее. Проверка уровня сжатия - это очень важно, но не менее важно проверять длительность парсинга ресурсов и время между тем, как завершен DOMContentLoaded и DOM готов к работе. Может случиться так, что время парсинга скриптов и обработка скриптами результатов в основном потоке (main thread) приведет к зависанию интерфейса.</p> <h3 id="Время_запроса">Время запроса</h3> @@ -302,7 +302,7 @@ performance.getEntriesByType('frame').forEach((frame) => { <h2 id="Resource">Resource</h2> -<p>В то время, как тайминги навигации измеряют произодительность загрузки и парсинга основного файла HTML, этот файл служит лишь точкой входа для загрузки других ресурсов. Поэтому нам так же важно знать, как быстро загружаются дополнительные ресурсы. Для измерения этих данных нужно использовать Resource Timing. Большая часть измерений в этом объекте похожи: здесь и поиск домена в DNS, и TCP установка соединения и т.д.</p> +<p>В то время, как тайминги навигации измеряют производительность загрузки и парсинга основного файла HTML, этот файл служит лишь точкой входа для загрузки других ресурсов. Поэтому нам так же важно знать, как быстро загружаются дополнительные ресурсы. Для измерения этих данных нужно использовать Resource Timing. Большая часть измерений в этом объекте похожи: здесь и поиск домена в DNS, и TCP установка соединения и т.д.</p> <p><img alt="Graphic of Resource Timing timestamps" src="https://mdn.mozillademos.org/files/12093/ResourceTiming-TimeStamps.jpg"></p> diff --git a/files/ru/web/performance/optimizing_startup_performance/index.html b/files/ru/web/performance/optimizing_startup_performance/index.html index 941c5894a9..6da93e1660 100644 --- a/files/ru/web/performance/optimizing_startup_performance/index.html +++ b/files/ru/web/performance/optimizing_startup_performance/index.html @@ -9,7 +9,7 @@ translation_of: Web/Performance/Optimizing_startup_performance <h2 id="Приятный_запуск">Приятный запуск</h2> -<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 worker</a>, что выделит его в отдельные фоновые неблокирующие треды (например, запросы данных и их обработка). Затем, все, что должно быть выполнено в основном потоке (например, пользовательские события или рендеринг интерфейса) должно быть разбито на небольшие кусочки так, чтобы обработчик браузера выполнял небольшие куски кода итеративно, а не за один подход. Это позволит ваше приложению выглядеть отзывчивым даже во время первоначальной загрузки.</p> @@ -45,17 +45,17 @@ translation_of: Web/Performance/Optimizing_startup_performance <p>Когда первоначальная загрузка завершена и начинается обработка приложения в основном потоке, вполне возможно, что ваше приложение обязано быть однопоточным, особенно если это портированная версия. Очень важно попытаться помочь процессу запуска приложения, порефакторив код, сделав его композитным, состоящим из маленьких кусочков, каждый из которых может быть обработан последовательно основным потоком. В этом случае, в промежутке между выполнением этих кусочков кода браузер сможет выделить время на обработку ввода (например, клик) или на обработку микро-задач.</p> -<p>В случае, если вы портируете ваше приложение, вы наверняка знаете о <a href="/en-US/docs/Mozilla/Projects/Emscripten">Emscripten. </a>Это решение предоставляет API, которое поможет с подобным рефакторингом. Например, вы можете использовать <code>emscripten_push_main_loop_blocker()</code>, чтобы определить фнукцию, как выполняемую после того, как основной поток разрешит продолжить работу. Создавая такие функции, создавая очередь, которая должна выполниться в определенном порядке, вы можете с легкостью разгрузить основной поток.</p> +<p>В случае, если вы портируете ваше приложение, вы наверняка знаете о <a href="/en-US/docs/Mozilla/Projects/Emscripten">Emscripten. </a>Это решение предоставляет API, которое поможет с подобным рефакторингом. Например, вы можете использовать <code>emscripten_push_main_loop_blocker()</code>, чтобы определить функцию, как выполняемую после того, как основной поток разрешит продолжить работу. Создавая такие функции, создавая очередь, которая должна выполниться в определенном порядке, вы можете с легкостью разгрузить основной поток.</p> <p>Конечно, все это не отменяет необходимости рефакторинга кода так, чтобы он работал лучше и это займет время. Но для старта этого может оказаться достаточно.</p> <h3 id="Насколько_далеко_я_должен_зайти">Насколько далеко я должен зайти?</h3> -<p>Стоит держать в голове, что браузер начинает беспокоиться о вашем скрипте в том случае, если он блокирует основной поток больше, чем на 10 секунд. В идеале, вы не должны блокировать работу страницы так долго. И пока вы держите показатели загрузки приложения ниже этих значение - все должно быть ок. Но не забывайте, что если кто-то имеет не такой мощный компьютер или мобильное устройство, как у вас, то код, выполняющийся у вас за 2 секунды, у этого пользователя может занять 10 секунд. Для этого полезно использовать CPU Throttling, который предоставляется средствами разработчиков в некоорых браузерах.</p> +<p>Стоит держать в голове, что браузер начинает беспокоиться о вашем скрипте в том случае, если он блокирует основной поток больше, чем на 10 секунд. В идеале, вы не должны блокировать работу страницы так долго. И пока вы держите показатели загрузки приложения ниже этих значение - все должно быть ок. Но не забывайте, что если кто-то имеет не такой мощный компьютер или мобильное устройство, как у вас, то код, выполняющийся у вас за 2 секунды, у этого пользователя может занять 10 секунд. Для этого полезно использовать CPU Throttling, который предоставляется средствами разработчиков в некоторых браузерах.</p> <h2 id="Другие_предложения">Другие предложения</h2> -<p>Существуют другие вещи, которые могут влиять на скорость запуска приложения, и одна лишь асинхонность не спасёт от всего. Вот несколько из них:</p> +<p>Существуют другие вещи, которые могут влиять на скорость запуска приложения, и одна лишь асинхронность не спасёт от всего. Вот несколько из них:</p> <dl> <dt>Время загрузки</dt> diff --git a/files/ru/web/performance/performance_budgets/index.html b/files/ru/web/performance/performance_budgets/index.html index ca3615982f..ff86f4b139 100644 --- a/files/ru/web/performance/performance_budgets/index.html +++ b/files/ru/web/performance/performance_budgets/index.html @@ -40,18 +40,18 @@ translation_of: Web/Performance/Performance_budgets <p>Например, для приложения с большим количеством текста (блоги, новостные сайты), показатель <a href="/en-US/docs/Glossary/First_contentful_paint">Первая отрисовка контента (First Contentful Paint)</a> будет гораздо лучше показывать, с чем сталкивается пользователь. Иными словами, этот показатель покажет, как быстро пользователь начинает читать. И этот показатель должен быть включен в специфичные бюджеты, например, бюджет шрифтов, где вы можете применять разные техники для оптимизации. Например, <a href="/en-US/docs/Web/CSS/@font-face/font-display">font-display</a>, чтобы улучшить <a href="/en-US/docs/Learn/Performance/perceived_performance">Субъективно Ощущаемую производительность</a>).</p> -<p>Но самая главная цель таких бюджетов - это возможность корелляции Производительности и Бизнес-целей. Когда вы определяете какие-то показатели, вы должны сфокусироваться на пользовательском опыте. Только он может диктовать, как мы должны изменять приложение таким образом, чтобы не просто улучшить конверсию, но и предсказать вероятность того, что пользователь вернётся.</p> +<p>Но самая главная цель таких бюджетов - это возможность корреляции Производительности и Бизнес-целей. Когда вы определяете какие-то показатели, вы должны сфокусироваться на пользовательском опыте. Только он может диктовать, как мы должны изменять приложение таким образом, чтобы не просто улучшить конверсию, но и предсказать вероятность того, что пользователь вернётся.</p> <h2 id="Как_создать_бюджет">Как создать бюджет?</h2> -<p>Во время разработки вы можете использовать несколько инстурментов, чтобы проверять некоторые показатели:</p> +<p>Во время разработки вы можете использовать несколько инструментов, чтобы проверять некоторые показатели:</p> <ul> - <li>Сборщики (наприме, <a href="https://webpack.js.org/">webpack</a>), из коробки содержат<a href="https://webpack.js.org/configuration/performance/"> инструменты оценки производительности</a>, которые сообщат вам, если какой-то из файлов превысил допустимые размеры.</li> + <li>Сборщики (например, <a href="https://webpack.js.org/">webpack</a>), из коробки содержат<a href="https://webpack.js.org/configuration/performance/"> инструменты оценки производительности</a>, которые сообщат вам, если какой-то из файлов превысил допустимые размеры.</li> <li><a href="https://github.com/siddharthkp/bundlesize">Bundlesize</a>, позволяет вам определить и проверять размеры файлов каждый раз при интеграции вашего кода с помощью <a href="/en-US/docs/Mozilla/Continuous_integration">CI</a>.</li> </ul> -<p>Проверка размеров файлов - это лишь первый рубеж защиты от регрессий. Преобразование этих показателей во временные может быть сложным, потому что во время разработки окружение разработчика может не включать в себя сторонние библиотеки или оптимизации, которые обычно присутствют в Production сборках.</p> +<p>Проверка размеров файлов - это лишь первый рубеж защиты от регрессий. Преобразование этих показателей во временные может быть сложным, потому что во время разработки окружение разработчика может не включать в себя сторонние библиотеки или оптимизации, которые обычно присутствуют в Production сборках.</p> <p>Поэтому, рекомендуется определить базовые линии для каждой метрики бюджета с учетом разницы между окружением разработчика и боевым окружением.</p> diff --git a/files/ru/web/progressive_web_apps/index.html b/files/ru/web/progressive_web_apps/index.html index e0f80c9b4d..b437948a7d 100644 --- a/files/ru/web/progressive_web_apps/index.html +++ b/files/ru/web/progressive_web_apps/index.html @@ -39,7 +39,7 @@ translation_of: Web/Progressive_web_apps <div class="column-3" style="height: 160px;"><img alt="" src="https://mdn.mozillademos.org/files/12660/network-independent.svg" style="float: right; height: 40px; width: 38px;"> <p style="font-size: 110%;"><strong><a href="/en-US/docs/Web/Apps/Modern/Network_independent">Независимые</a></strong></p> -<p style="width: 70%;">Работают в оф-лайне или на низкоскоростных соединениях.</p> +<p style="width: 70%;">Работают в офлайне или на низкоскоростных соединениях.</p> </div> <div class="column-3" style="height: 160px;"><img alt="" src="https://mdn.mozillademos.org/files/12662/progressive.svg" style="float: right; height: 40px; width: 38px;"> 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 6ad0a1211e..efd0061c3f 100644 --- a/files/ru/web/progressive_web_apps/installable_pwas/index.html +++ b/files/ru/web/progressive_web_apps/installable_pwas/index.html @@ -5,13 +5,13 @@ translation_of: Web/Progressive_web_apps/Installable_PWAs --- <div>{{PreviousMenuNext("Web/Apps/Progressive/Offline_Service_workers", "Web/Apps/Progressive/Re-engageable_Notifications_Push", "Web/Apps/Progressive")}}</div> -<p class="summary">В предыдущей статье мы читали о том, как <a href="https://mdn.github.io/pwa-examples/js13kpwa/">js13kPWA</a> работает в off-line режиме благодаря <a href="/en-US/docs/Web/API/Service_Worker_API">service worker</a>, но мы можем пойти дальше и позволить устанвливать веб-приложения на поддерживающие мобльные браузеры, как если бы это было нативное приложение. В этой статье разберём, как этого добиться, используя веб-манифест и функцию под названием «Добавить на главный экран».</p> +<p class="summary">В предыдущей статье мы читали о том, как <a href="https://mdn.github.io/pwa-examples/js13kpwa/">js13kPWA</a> работает в off-line режиме благодаря <a href="/en-US/docs/Web/API/Service_Worker_API">service worker</a>, но мы можем пойти дальше и позволить устанавливать веб-приложения на поддерживающие мобильные браузеры, как если бы это было нативное приложение. В этой статье разберём, как этого добиться, используя веб-манифест и функцию под названием «Добавить на главный экран».</p> <p>Эта технология позволяет запускать приложение прямо с рабочего стола, без запуска браузера и ручного ввода URL-адреса. Ваше веб-приложение может быть установлено рядом с нативным. Поэтому к нему проще получить доступ, а так же вы можете указать, что приложение должно использовать полноэкранный режим браузера, делая его ещё более похожим на нативное</p> <h2 id="Требования">Требования</h2> -<p>Чтобы сделать сайт доступным для установки, ему необходимы соедующие вещи:</p> +<p>Чтобы сделать сайт доступным для установки, ему необходимы следующие вещи:</p> <ul> <li>Веб-манифест с <a href="/en-US/Apps/Progressive/Add_to_home_screen#Manifest">правильно заполненными полями</a></li> @@ -26,7 +26,7 @@ translation_of: Web/Progressive_web_apps/Installable_PWAs <p>Обычно находится в корневой папке веб-приложения. Содержит информацию, такую как название приложения, paths пути к значкам разных размеров, которые можно использовать для представления приложения в мобильных операционных системах (например, в качестве значка домашнего экрана), и цвет фона для использования при загрузке. Эта информация необходима браузеру для правильного отображения приложения при установке и на домашнем экране.</p> -<p>Файл <code>js13kpwa.webmanifest</code> веб-приложения <a href="https://mdn.github.io/pwa-examples/js13kpwa/">js13kPWA</a> включен в раздел {{htmlelement("head")}} файла <code>index.html</code> с помощью средующей строчки кода:</p> +<p>Файл <code>js13kpwa.webmanifest</code> веб-приложения <a href="https://mdn.github.io/pwa-examples/js13kpwa/">js13kPWA</a> включен в раздел {{htmlelement("head")}} файла <code>index.html</code> с помощью следующей строчки кода:</p> <pre class="brush: html"><link rel="manifest" href="js13kpwa.webmanifest"></pre> @@ -65,7 +65,7 @@ translation_of: Web/Progressive_web_apps/Installable_PWAs <li><code>name</code>: Полное название вашего приложения.</li> <li><code>short_name</code>: Короткое название для отображения на домашнем экране.</li> <li><code>description</code>: Одно-два предложения, описывающих приложение.</li> - <li><code>icons</code>: Куча информации о значках — URL, размеры, типы. Не забудьте указать хотя бы несколько, чтобы иконка лучше пдходила под устройство пользователя</li> + <li><code>icons</code>: Куча информации о значках — URL, размеры, типы. Не забудьте указать хотя бы несколько, чтобы иконка лучше подходила под устройство пользователя</li> <li><code>start_url</code>: Загружаемый исходный документ при запуске приложения</li> <li><code>display</code>: Как приложение должно отображаться; может быть fullscreen (полноэкранный), standalone (автономный), minimal-ui (минимальный пользовательский интерфейс), browser (браузер)</li> <li><code>theme_color</code>: Основной цвет для интерфейса, используемый операционной системой</li> @@ -94,7 +94,7 @@ translation_of: Web/Progressive_web_apps/Installable_PWAs <p><img alt="" src="https://mdn.mozillademos.org/files/15834/js13kpwa-installed.png" style="border-style: solid; border-width: 1px; display: block; margin: 0px auto;"></p> -<p>После этого пользователь может запустить приложение и сразу начать его использовать. Обратите внимание, иногда у PWA (в зависимости от браузера и/или операционной системы) в правом нижнем углу значка отображется иконка браузера, чтобы инормировать пользователя о его веб-характере.</p> +<p>После этого пользователь может запустить приложение и сразу начать его использовать. Обратите внимание, иногда у PWA (в зависимости от браузера и/или операционной системы) в правом нижнем углу значка отображается иконка браузера, чтобы игнорировать пользователя о его веб-характере.</p> <h3 id="Экран_загрузки">Экран загрузки</h3> @@ -110,7 +110,7 @@ translation_of: Web/Progressive_web_apps/Installable_PWAs <p>Для получения большей информации, можете почитать наш <a href="/en-US/docs/Web/Apps/Progressive/Add_to_home_screen">Add to Home screen гайд</a>. В настоящее время поддержка ограничена браузерами Firefox для Android 58+, Мобильным Chrome и Android Webview 31+, также Opera для Android 32+, но поддержка должна расширяться в ближайшем будущем.</p> -<p>Теперь давайте перейдём к последнему фаргменту PWA-головоломки — повторному запуску с помощю push-уведомлений.</p> +<p>Теперь давайте перейдём к последнему фрагменту PWA-головоломки — повторному запуску с помощью push-уведомлений.</p> <p>{{PreviousMenuNext("Web/Apps/Progressive/Offline_Service_workers", "Web/Apps/Progressive/Re-engageable_Notifications_Push", "Web/Apps/Progressive")}}</p> diff --git a/files/ru/web/reference/api/index.html b/files/ru/web/reference/api/index.html index 0657ac50a8..df6fdaf23f 100644 --- a/files/ru/web/reference/api/index.html +++ b/files/ru/web/reference/api/index.html @@ -36,7 +36,7 @@ translation_of: Web/Reference/API <dl> <dt>Сертифицированная функциональность</dt> - <dd>Сертифицированое приложение является приложением низкого уровня выполнения критических операций на операционной системе как Firefox OS. Менее привилегированные взаимодействуют с приложениями использующими <a href="/ru/docs/WebAPI/Web_Activities" title="WebAPI/Web_Activities">Web Activities</a>. Сертифицированные API, включают в себя:<a href="/ru/docs/WebAPI/WebBluetooth" title="WebAPI/WebBluetooth"> Bluetooth API</a>, <a href="/ru/docs/WebAPI/Mobile_Connection" title="WebAPI/Mobile_Connection">Mobile Connection API</a>, <a href="/ru/docs/WebAPI/Network_Stats" title="WebAPI/Network_Stats">Network Stats API</a>, <a href="/ru/docs/WebAPI/WebTelephony" title="WebAPI/WebTelephony">Telephony</a>, <a href="/ru/docs/WebAPI/WebSMS" title="WebAPI/WebSMS">WebSMS</a>, <a href="/ru/docs/WebAPI/WiFi_Information" title="WebAPI/WiFi_Information">WiFi Information API</a>, <a href="/ru/docs/WebAPI/Camera" title="WebAPI/Camera">Camera API</a>, <a href="/ru/docs/WebAPI/Power_Management" title="WebAPI/Power_Management">Power Management API</a>, <a href="/ru/docs/WebAPI/Settings" title="WebAPI/Settings">Settings API</a>, <a href="/ru/docs/WebAPI/Idle" title="WebAPI/Device_Storage_API">Idle API</a>, <a href="/ru/docs/WebAPI/Permissions" title="WebAPI/Permissions">Permissions API</a>, <a href="/ru/docs/WebAPI/Time_and_Clock" title="WebAPI/Time_and_Clock">Time/Clock API</a>.</dd> + <dd>Сертифицированное приложение является приложением низкого уровня выполнения критических операций на операционной системе как Firefox OS. Менее привилегированные взаимодействуют с приложениями использующими <a href="/ru/docs/WebAPI/Web_Activities" title="WebAPI/Web_Activities">Web Activities</a>. Сертифицированные API, включают в себя:<a href="/ru/docs/WebAPI/WebBluetooth" title="WebAPI/WebBluetooth"> Bluetooth API</a>, <a href="/ru/docs/WebAPI/Mobile_Connection" title="WebAPI/Mobile_Connection">Mobile Connection API</a>, <a href="/ru/docs/WebAPI/Network_Stats" title="WebAPI/Network_Stats">Network Stats API</a>, <a href="/ru/docs/WebAPI/WebTelephony" title="WebAPI/WebTelephony">Telephony</a>, <a href="/ru/docs/WebAPI/WebSMS" title="WebAPI/WebSMS">WebSMS</a>, <a href="/ru/docs/WebAPI/WiFi_Information" title="WebAPI/WiFi_Information">WiFi Information API</a>, <a href="/ru/docs/WebAPI/Camera" title="WebAPI/Camera">Camera API</a>, <a href="/ru/docs/WebAPI/Power_Management" title="WebAPI/Power_Management">Power Management API</a>, <a href="/ru/docs/WebAPI/Settings" title="WebAPI/Settings">Settings API</a>, <a href="/ru/docs/WebAPI/Idle" title="WebAPI/Device_Storage_API">Idle API</a>, <a href="/ru/docs/WebAPI/Permissions" title="WebAPI/Permissions">Permissions API</a>, <a href="/ru/docs/WebAPI/Time_and_Clock" title="WebAPI/Time_and_Clock">Time/Clock API</a>.</dd> </dl> </div> diff --git a/files/ru/web/security/same-origin_policy/index.html b/files/ru/web/security/same-origin_policy/index.html index 26be420015..0b304bf42f 100644 --- a/files/ru/web/security/same-origin_policy/index.html +++ b/files/ru/web/security/same-origin_policy/index.html @@ -62,11 +62,11 @@ translation_of: Web/Security/Same-origin_policy <h3 id="Исключения_в_Internet_Explorer">Исключения в Internet Explorer</h3> -<p>Internet Explorer два основных исключения из политики одно происхождеия:</p> +<p>Internet Explorer два основных исключения из политики одно происхождения:</p> <dl> <dt>Trust Zones (Зоны доверия)</dt> - <dd>Если оба домена находятся в зоне высокого доверия (наример, зоны корпоративной интрасети), то ограничения на одно и то же происхождение не применяется.</dd> + <dd>Если оба домена находятся в зоне высокого доверия (например, зоны корпоративной интрасети), то ограничения на одно и то же происхождение не применяется.</dd> <dt>Порт</dt> <dd>IE не включает порт в same-origin проверку. Следовательно, <code>https://company.com:81/index.html</code> и <code>https://company.com/index.html</code> являются адресами одного происхождения и ограничения действовать не будут.</dd> </dl> diff --git a/files/ru/web/svg/attribute/attributename/index.html b/files/ru/web/svg/attribute/attributename/index.html index 8a114bc8b2..4c7d498f3a 100644 --- a/files/ru/web/svg/attribute/attributename/index.html +++ b/files/ru/web/svg/attribute/attributename/index.html @@ -11,7 +11,7 @@ translation_of: Web/SVG/Attribute/attributeName <p>Атрибут <code><strong>attributeName</strong></code> задаёт имя свойства CSS или атрибута целевого элемента, которое будет изменено во время анимации.</p> -<p>Четыре элемента используют данный артибут: {{SVGElement("animate")}}, {{SVGElement("animateColor")}}, {{SVGElement("animateTransform")}} и {{SVGElement("set")}}</p> +<p>Четыре элемента используют данный атрибут: {{SVGElement("animate")}}, {{SVGElement("animateColor")}}, {{SVGElement("animateTransform")}} и {{SVGElement("set")}}</p> <div id="topExample"> <div class="hidden"> @@ -39,7 +39,7 @@ translation_of: Web/SVG/Attribute/attributeName <td><code><name></code></td> </tr> <tr> - <th scope="row">Значение по-умолчанию</th> + <th scope="row">Значение по умолчанию</th> <td><em>None</em></td> </tr> <tr> @@ -54,7 +54,7 @@ translation_of: Web/SVG/Attribute/attributeName <dd>Это значение задаёт имя свойства CSS или атрибута целевого элемента, которое будет анимировано.</dd> </dl> -<h2 id="Спецификиции">Спецификиции</h2> +<h2 id="Спецификации">Спецификации</h2> <table class="standard-table"> <thead> diff --git a/files/ru/web/svg/attribute/class/index.html b/files/ru/web/svg/attribute/class/index.html index 622423f521..e05901cdb3 100644 --- a/files/ru/web/svg/attribute/class/index.html +++ b/files/ru/web/svg/attribute/class/index.html @@ -3,9 +3,9 @@ title: class slug: Web/SVG/Attribute/class translation_of: Web/SVG/Attribute/class --- -<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">Домашняя страница справочника по SVG аттрибутам</a></p> +<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">Домашняя страница справочника по SVG атрибутам</a></p> -<p>Присвоение класса или набора классов элементу. Вы можете присовить одинаковые классы/наборы классов любому количеству элементов. Если вы указываете(присваиваете) несколько имён классов, они должны быть разделены символом "пробел".</p> +<p>Присвоение класса или набора классов элементу. Вы можете присвоить одинаковые классы/наборы классов любому количеству элементов. Если вы указываете(присваиваете) несколько имён классов, они должны быть разделены символом "пробел".</p> <p>Класс элемента имеет 2 ключевые роли:</p> @@ -70,7 +70,7 @@ translation_of: Web/SVG/Attribute/class <h2 id="Элементы">Элементы</h2> -<p>В следующих элементах допустимо использовать аттрибут <code>class</code></p> +<p>В следующих элементах допустимо использовать атрибут <code>class</code></p> <p>:{{ SVGElement("a") }}</p> diff --git a/files/ru/web/svg/attribute/cx/index.html b/files/ru/web/svg/attribute/cx/index.html index 6e7c22c089..939e02a067 100644 --- a/files/ru/web/svg/attribute/cx/index.html +++ b/files/ru/web/svg/attribute/cx/index.html @@ -10,7 +10,7 @@ translation_of: Web/SVG/Attribute/cx <p>Для элементов {{ SVGElement("circle") }} и {{ SVGElement("ellipse") }} этот атрибут определяет координату центра элемента по оси x. Если атрибут не определён, то эффект такой, как если бы было указано значение "0".</p> -<p>Для элемента {{ SVGElement("radialGradient") }} этот атрибут определяет координату x набольшого(т.е. внешнего) круга в радиальном градиенте. Градиент будет нарисован так, чтобы значение градиента <strong>100%</strong> соответствовало периметру этого наибольшего(внешнего) круга. Если атрибут не определён, то эффект такой, как если бы было указано значение <strong>50%</strong>.</p> +<p>Для элемента {{ SVGElement("radialGradient") }} этот атрибут определяет координату x небольшого(т.е. внешнего) круга в радиальном градиенте. Градиент будет нарисован так, чтобы значение градиента <strong>100%</strong> соответствовало периметру этого наибольшего(внешнего) круга. Если атрибут не определён, то эффект такой, как если бы было указано значение <strong>50%</strong>.</p> <h2 id="Контекст_использования">Контекст использования</h2> diff --git a/files/ru/web/svg/attribute/cy/index.html b/files/ru/web/svg/attribute/cy/index.html index d4b51c5f9b..4a85d14b35 100644 --- a/files/ru/web/svg/attribute/cy/index.html +++ b/files/ru/web/svg/attribute/cy/index.html @@ -10,7 +10,7 @@ translation_of: Web/SVG/Attribute/cy <p>Для элементов {{ SVGElement("circle") }} и {{ SVGElement("ellipse") }} этот атрибут определяет координату центра элемента по оси y. Если атрибут не определён, то эффект такой, как если бы было указано значение "0".</p> -<p>Для элемента {{ SVGElement("radialGradient") }} этот атрибут определяет координату y набольшого(т.е. внешнего) круга в радиальном градиенте. Градиент будет нарисован так, чтобы значение градиента <strong>100%</strong> соответствовало периметру этого наибольшего(внешнего) круга. Если атрибут не определён, то эффект такой, как если бы было указано значение <strong>50%</strong>.</p> +<p>Для элемента {{ SVGElement("radialGradient") }} этот атрибут определяет координату y небольшого(т.е. внешнего) круга в радиальном градиенте. Градиент будет нарисован так, чтобы значение градиента <strong>100%</strong> соответствовало периметру этого наибольшего(внешнего) круга. Если атрибут не определён, то эффект такой, как если бы было указано значение <strong>50%</strong>.</p> <h2 id="Контекст_использования">Контекст использования</h2> diff --git a/files/ru/web/svg/attribute/dur/index.html b/files/ru/web/svg/attribute/dur/index.html index 7580e8fd28..7c28a1e8cc 100644 --- a/files/ru/web/svg/attribute/dur/index.html +++ b/files/ru/web/svg/attribute/dur/index.html @@ -42,7 +42,7 @@ translation_of: Web/SVG/Attribute/dur <td><code><a href="/ru/SVG/Content_type#Clock-value" title="en/SVG/Content_type#Clock-value"><clock-value></a></code> | <code>indefinite</code> | <code>media</code></td> </tr> <tr> - <th scope="row">Значение по-умолчанию</th> + <th scope="row">Значение по умолчанию</th> <td><code>indefinite</code></td> </tr> <tr> diff --git a/files/ru/web/svg/attribute/keytimes/index.html b/files/ru/web/svg/attribute/keytimes/index.html index 4df57edc2c..d1db1c495f 100644 --- a/files/ru/web/svg/attribute/keytimes/index.html +++ b/files/ru/web/svg/attribute/keytimes/index.html @@ -20,7 +20,7 @@ translation_of: Web/SVG/Attribute/keyTimes <p>Если в качестве режима интерполяции используется <em>paced</em>, атрибут <code>keyTimes </code>игнорируется.</p> -<p>Если в качетсве параметра длительности выбрано <em>indefinite</em>, атрибут <code>keyTimes</code> игнорируется.</p> +<p>Если в качестве параметра длительности выбрано <em>indefinite</em>, атрибут <code>keyTimes</code> игнорируется.</p> <h2 id="Usage_context">Usage context</h2> diff --git a/files/ru/web/svg/attribute/overflow/index.html b/files/ru/web/svg/attribute/overflow/index.html index 46449f0919..1c18f2e3b4 100644 --- a/files/ru/web/svg/attribute/overflow/index.html +++ b/files/ru/web/svg/attribute/overflow/index.html @@ -17,7 +17,7 @@ translation_of: Web/SVG/Attribute/overflow <li>Внутри SVG-содержимого значение <code>auto</code> эквивалентно значению <code>visible</code>.</li> <li>Когда svg-элемент высшего уровня включён в HTML-код, если атрибут <code>overflow</code> имеет значение <code>hidden</code> или <code>scroll</code>, браузер установит первоначальный путь обрезки равным границам первоначального порта просмотра; иначе первоначальный порт просмотра задаётся соответственно CSS-правилам обрезки.</li> <li>Когда svg-элемент высшего уровня автономен, атрибут <code>overflow</code> на нём игнорируется в том, что касается отрисовки, а первоначальный путь обрезки устанавливается по границам первоначального порта просмотра.</li> - <li>Первоначальное значение <code>overflow</code>, как определено вn CSS, есть <code>visible</code>, и это применяется также к корневому элементу {{ SVGElement("svg") }}; но для дочерних элементов SVG-документа браузерные стили SVG перекрывают это первоначальное значение и задают атрибуту <code>overflow</code> элементов, устанавливающих новый порт просмотра, элементов <code>pattern</code> и <code>marker</code> значение <code>hidden</code>.</li> + <li>Первоначальное значение <code>overflow</code>, как определено в CSS, есть <code>visible</code>, и это применяется также к корневому элементу {{ SVGElement("svg") }}; но для дочерних элементов SVG-документа браузерные стили SVG перекрывают это первоначальное значение и задают атрибуту <code>overflow</code> элементов, устанавливающих новый порт просмотра, элементов <code>pattern</code> и <code>marker</code> значение <code>hidden</code>.</li> </ul> <p>Будучи презентационным этот атрибут может также быть использован как свойство прямо в CSS-стилях, подробнее см. {{ cssxref("overflow","CSS overflow") }}.</p> diff --git a/files/ru/web/svg/attribute/patterncontentunits/index.html b/files/ru/web/svg/attribute/patterncontentunits/index.html index a47a9e4480..5a9258a1f4 100644 --- a/files/ru/web/svg/attribute/patterncontentunits/index.html +++ b/files/ru/web/svg/attribute/patterncontentunits/index.html @@ -5,11 +5,11 @@ translation_of: Web/SVG/Attribute/patternContentUnits --- <p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">SVG Attribute reference home</a></p> -<p>Атрибут <code>patternContentUnits</code> определяет систему координат для содержимого {{ SVGElement("pattern") }}. Заметье, что этот аттрибут не имеет эффекта, если {{ SVGAttr("viewBox") }} определен на {{ SVGElement("pattern") }} элементе.</p> +<p>Атрибут <code>patternContentUnits</code> определяет систему координат для содержимого {{ SVGElement("pattern") }}. Заметьте, что этот атрибут не имеет эффекта, если {{ SVGAttr("viewBox") }} определен на {{ SVGElement("pattern") }} элементе.</p> -<p>Если <code>patternContentUnits</code> аттрибут не определен, то его значение предполагается равным <code>userSpaceOnUse</code>.</p> +<p>Если <code>patternContentUnits</code> атрибут не определен, то его значение предполагается равным <code>userSpaceOnUse</code>.</p> -<p>Заметье, что значение {{ SVGElement("pattern") }} не имеет влияния на заданные в процентах аттрибуты контента . Это означает, что, если вы задаете значение <code>patternContentUnits</code> равным <code>objectBoundingBox</code>, значения, указанные в процентах, будут пересчитаны, как если бы вы задали <code>userSpaceOnUse</code>.</p> +<p>Заметьте, что значение {{ SVGElement("pattern") }} не имеет влияния на заданные в процентах атрибуты контента . Это означает, что, если вы задаете значение <code>patternContentUnits</code> равным <code>objectBoundingBox</code>, значения, указанные в процентах, будут пересчитаны, как если бы вы задали <code>userSpaceOnUse</code>.</p> <h2 id="Контекст_использования">Контекст использования</h2> diff --git a/files/ru/web/svg/attribute/shape-rendering/index.html b/files/ru/web/svg/attribute/shape-rendering/index.html index d36ed47bef..9110b8ce42 100644 --- a/files/ru/web/svg/attribute/shape-rendering/index.html +++ b/files/ru/web/svg/attribute/shape-rendering/index.html @@ -5,7 +5,7 @@ translation_of: Web/SVG/Attribute/shape-rendering --- <p>« <a href="/ru/docs/Web/SVG/Attribute" title="/ru/docs/Web/SVG/Attribute">Справочник SVG атрибутов</a></p> -<p>При создание SVG есть возможность указать браузеру о том, как рекомендуется рендерить (отрисовывать) элементы {{ SVGElement("path") }} или базовые фигуры. <code>shape-rendering</code> предоставляет возможность указывать даные рекомендации.</p> +<p>При создание SVG есть возможность указать браузеру о том, как рекомендуется рендерить (отрисовывать) элементы {{ SVGElement("path") }} или базовые фигуры. <code>shape-rendering</code> предоставляет возможность указывать данные рекомендации.</p> <h2 id="Контекст_использования">Контекст использования</h2> diff --git a/files/ru/web/svg/attribute/text-anchor/index.html b/files/ru/web/svg/attribute/text-anchor/index.html index 4a034cfde2..9ffcbe7be3 100644 --- a/files/ru/web/svg/attribute/text-anchor/index.html +++ b/files/ru/web/svg/attribute/text-anchor/index.html @@ -3,7 +3,7 @@ title: text-anchor slug: Web/SVG/Attribute/text-anchor translation_of: Web/SVG/Attribute/text-anchor --- -<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">Справочник SVG Аттрибутов</a></p> +<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">Справочник SVG Атрибутов</a></p> <p>Атрибут <code>text-anchor</code> используется для выравнивания<br> <em>(start-, middle- или end-выравнивание)</em> текстовой строки относительно заданной точки.</p> @@ -38,7 +38,7 @@ translation_of: Web/SVG/Attribute/text-anchor <dl> <dt>start</dt> <dd> - <p>Отрисованные символы выравниваются так, что начало текстовой строки находится в исходной текстовой позиции. Для латиницы в обычной ориентации это эквивалентно выравниванию по левому краю. Для шрифтов, которые по своей сути имеют выравнивание справа налево такие как Иврит и Арабский это эквивалентно правому выравниваю. Для азиаского текста с вертикальным направлением текста это сопоставимо с выравниванием по верхнему краю.</p> + <p>Отрисованные символы выравниваются так, что начало текстовой строки находится в исходной текстовой позиции. Для латиницы в обычной ориентации это эквивалентно выравниванию по левому краю. Для шрифтов, которые по своей сути имеют выравнивание справа налево такие как Иврит и Арабский это эквивалентно правому выравниваю. Для азиатского текста с вертикальным направлением текста это сопоставимо с выравниванием по верхнему краю.</p> </dd> <dt>middle</dt> <dd> @@ -47,8 +47,8 @@ translation_of: Web/SVG/Attribute/text-anchor позиции.)</p> </dd> <dt>end</dt> - <dd>Отрисованные символы выравниваются так, что конец текстовой строки находится в исходной текущей текстовой позиции. Для латиницы в своей обычной ориентации это эквивалетно<br> - правому выраниванию. Для шрифтов которые по определению справа налево такие как Иврит и Арабский это эквивалентно левому выравниванию.</dd> + <dd>Отрисованные символы выравниваются так, что конец текстовой строки находится в исходной текущей текстовой позиции. Для латиницы в своей обычной ориентации это эквивалентно<br> + правому выравниванию. Для шрифтов которые по определению справа налево такие как Иврит и Арабский это эквивалентно левому выравниванию.</dd> <dt>Примечание</dt> <dd>В <strong>IE</strong>-11 атрибут <code><strong>text-anchor</strong></code> не имеет эффекта при привязке текста к заданному пути <strong><code>path</code></strong> посредством тега <code><strong>textPath</strong></code>.<br> В приведенном ниже примере тег <strong><code>path</code></strong> использовался только лишь для отрисовки линий и с расположением текста никак не связан.</dd> diff --git a/files/ru/web/svg/attribute/text-rendering/index.html b/files/ru/web/svg/attribute/text-rendering/index.html index 11c0bdb8cf..e987f821dd 100644 --- a/files/ru/web/svg/attribute/text-rendering/index.html +++ b/files/ru/web/svg/attribute/text-rendering/index.html @@ -4,8 +4,8 @@ slug: Web/SVG/Attribute/text-rendering translation_of: Web/SVG/Attribute/text-rendering --- <p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">SVG Attribute reference home</a></p> -<p>При создание SVG есть возможность указать браузеру о том, как рекомендуется рендерить (отрисовывать) текст. <code>text-rendering</code> предоставляет возможность указывать даные рекомендации.</p> -<p>Помимо presentation attribute, настройки ренедеринга шрифтов можно задавть через CSS стили. Для получения дополнительной информации смотри {{ cssxref("text-rendering","CSS text-rendering") }}.</p> +<p>При создание SVG есть возможность указать браузеру о том, как рекомендуется рендерить (отрисовывать) текст. <code>text-rendering</code> предоставляет возможность указывать данные рекомендации.</p> +<p>Помимо presentation attribute, настройки ренедеринга шрифтов можно задать через CSS стили. Для получения дополнительной информации смотри {{ cssxref("text-rendering","CSS text-rendering") }}.</p> <h2 id="Usage_context">Usage context</h2> <table class="standard-table"> <tbody> diff --git a/files/ru/web/svg/attribute/viewbox/index.html b/files/ru/web/svg/attribute/viewbox/index.html index ed94188d1f..1433367c9d 100644 --- a/files/ru/web/svg/attribute/viewbox/index.html +++ b/files/ru/web/svg/attribute/viewbox/index.html @@ -102,7 +102,7 @@ svg:not(:root) { <h2 id="pattern">pattern</h2> -<p>Для элемента {{SVGElement('pattern')}}, <code>viewBox</code> определеяет расположение и размеры содержимого шаблона.</p> +<p>Для элемента {{SVGElement('pattern')}}, <code>viewBox</code> определяет расположение и размеры содержимого шаблона.</p> <table class="standard-table"> <tbody> diff --git a/files/ru/web/svg/attribute/width/index.html b/files/ru/web/svg/attribute/width/index.html index 30e0e0df21..96fbfeacf0 100644 --- a/files/ru/web/svg/attribute/width/index.html +++ b/files/ru/web/svg/attribute/width/index.html @@ -473,12 +473,12 @@ translation_of: Web/SVG/Attribute/width <h2 id="pattern">pattern</h2> -<p>Для {{SVGElement('pattern')}}, <code>width</code> определяет горизонтальный размер мастящегося паттерна. Точный эффект этого атрибута зависит от атрибутов {{SVGAttr('patternUnits')}} и {{SVGAttr('patternTransform')}}.</p> +<p>Для {{SVGElement('pattern')}}, <code>width</code> определяет горизонтальный размер мостящегося паттерна. Точный эффект этого атрибута зависит от атрибутов {{SVGAttr('patternUnits')}} и {{SVGAttr('patternTransform')}}.</p> <table class="standard-table"> <tbody> <tr> - <th scope="row">Значание</th> + <th scope="row">Значение</th> <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> </tr> <tr> @@ -504,7 +504,7 @@ translation_of: Web/SVG/Attribute/width </tr> <tr> <th scope="row">По умолчанию</th> - <td><code>auto</code> (пассматривается как <code>0</code>)</td> + <td><code>auto</code> (рассматривается как <code>0</code>)</td> </tr> <tr> <th scope="row">Animatable</th> @@ -561,7 +561,7 @@ translation_of: Web/SVG/Attribute/width </tbody> </table> -<p class="note"><strong>Примечание:</strong> Начиная с SVG2, <code>width</code> это геометрическое свойство, что означает, что этот атрибут может, также, быть использован как свойство CSS для использоавнных элементов.</p> +<p class="note"><strong>Примечание:</strong> Начиная с SVG2, <code>width</code> это геометрическое свойство, что означает, что этот атрибут может, также, быть использован как свойство CSS для использованных элементов.</p> <h2 id="Спецификации">Спецификации</h2> @@ -570,7 +570,7 @@ translation_of: Web/SVG/Attribute/width <tr> <th scope="col">Спецификация</th> <th scope="col">Статус</th> - <th scope="col">Комментаий</th> + <th scope="col">Комментарий</th> </tr> </thead> <tbody> diff --git a/files/ru/web/svg/element/a/index.html b/files/ru/web/svg/element/a/index.html index f98250b821..9a39e9b723 100644 --- a/files/ru/web/svg/element/a/index.html +++ b/files/ru/web/svg/element/a/index.html @@ -32,7 +32,7 @@ html,body,svg { height:100% }</pre> </a> </svg></pre> -<pre class="brush: js">/* Так как SVG не предоставляет визуальных стилей по-умолчанию для ссылок, +<pre class="brush: js">/* Так как SVG не предоставляет визуальных стилей по умолчанию для ссылок, будет лучше задать самостоятельно */ @namespace svg url(http://www.w3.org/2000/svg); @@ -65,34 +65,34 @@ svg|a:hover, svg|a:active { <dl> <dt>{{htmlattrxref("download", "a")}} {{experimental_inline}}</dt> <dd>Указывает браузеру выполнить загрузку по {{Glossary("URL")}}, вместо того, чтобы переходить по нему. Таким образом пользователю будет предложено сохранить файл локально.<br> - <small><em>Тип</em>: <strong><string></strong> ;<em>Значение по-умолчанию</em>: <em>none</em>;<em>Анимируем</em>: <strong>нет</strong></small></dd> + <small><em>Тип</em>: <strong><string></strong> ;<em>Значение по умолчанию</em>: <em>none</em>;<em>Анимируем</em>: <strong>нет</strong></small></dd> <dt>{{SVGAttr("href")}}</dt> <dd>{{Glossary("URL")}} или фрагмент URL для перехода.<br> - <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Content_type#URL"><URL></a></strong> ; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> + <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Content_type#URL"><URL></a></strong> ; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> <dt>{{htmlattrxref("hreflang", "a")}}</dt> <dd>URL на человеческом языке или фрагмент URL для перехода.<br> - <small><em>Тип</em>: <strong><string></strong>; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> + <small><em>Тип</em>: <strong><string></strong>; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> <dt>{{htmlattrxref("ping", "a")}} {{experimental_inline}}</dt> <dd>Разделённый пробелами список URL при переходе по которым браузер будет отправлять <code><a href="/ru/docs/Web/HTTP/Methods/POST">POST</a></code> запросы с телом <code>PING</code> (в фоне). Обычно используется для трекинга.<br> - <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Content_type#List-of-Ts"><list-of-URLs></a></strong>; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>нет</strong></small></dd> + <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Content_type#List-of-Ts"><list-of-URLs></a></strong>; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>нет</strong></small></dd> <dt>{{htmlattrxref("referrerpolicy", "a")}} {{experimental_inline}}</dt> <dd>Какой <a href="/ru/docs/Web/HTTP/Заголовки/Referer">referrer</a> отправить при получении {{Glossary("URL")}}.<br> - <small><em>Тип</em>: <code>no-referrer</code>|<code>no-referrer-when-downgrade</code>|<code>same-origin</code>|<code>origin</code>|<code>strict-origin</code>|<code>origin-when-cross-origin</code>|<code>strict-origin-when-cross-origin</code>|<code>unsafe-url</code> ; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>нет</strong></small></dd> + <small><em>Тип</em>: <code>no-referrer</code>|<code>no-referrer-when-downgrade</code>|<code>same-origin</code>|<code>origin</code>|<code>strict-origin</code>|<code>origin-when-cross-origin</code>|<code>strict-origin-when-cross-origin</code>|<code>unsafe-url</code> ; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>нет</strong></small></dd> <dt>{{htmlattrxref("rel", "a")}} {{experimental_inline}}</dt> <dd>Отношение между целевым объектом и объектом link.<br> - <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/HTML/Link_types"><list-of-Link-Types></a></strong> ; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> + <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/HTML/Link_types"><list-of-Link-Types></a></strong> ; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr("target")}}</dt> <dd>Где отобразить переход {{Glossary("URL")}}.<br> - <small><em>Тип</em>: <code>_self</code>|<code>_parent</code>|<code>_top</code>|<code>_blank</code>|<strong><name></strong> ; <em>Значение по-умолчанию</em>: <code>_self</code>; <em>Анимируем</em>: <strong>да</strong></small></dd> + <small><em>Тип</em>: <code>_self</code>|<code>_parent</code>|<code>_top</code>|<code>_blank</code>|<strong><name></strong> ; <em>Значение по умолчанию</em>: <code>_self</code>; <em>Анимируем</em>: <strong>да</strong></small></dd> <dt>{{htmlattrxref("type", "a")}}</dt> <dd>{{Glossary("MIME type")}} для ссылки URL.<br> - <small><em>Тип</em>: <strong><string></strong> ; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> + <small><em>Тип</em>: <strong><string></strong> ; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr("xlink:href")}} {{deprecated_inline("SVG2")}}</dt> <dd>URL или фрагмент URL, на который указывает гиперссылка. Может понадобиться для обратной совместимости со старыми браузерами.<br> - <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Content_type#URL"><URL></a></strong> ; <em>Значение по-умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> + <small><em>Тип</em>: <strong><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Content_type#URL"><URL></a></strong> ; <em>Значение по умолчанию</em>: <em>none</em>; <em>Анимируем</em>: <strong>да</strong></small></dd> </dl> -<h3 id="Глобальные_аттрибуты">Глобальные аттрибуты</h3> +<h3 id="Глобальные_атрибуты">Глобальные атрибуты</h3> <dl> <dt><a href="https://wiki.developer.mozilla.org/docs/Web/SVG/Attribute/Core">Core Attributes</a></dt> @@ -133,7 +133,7 @@ svg|a:hover, svg|a:active { <tr> <td>{{SpecName("SVG2", "linking.html#Links", "<a>")}}</td> <td>{{Spec2("SVG2")}}</td> - <td>Аттрибут {{SVGAttr("xlink:href")}} заменён на {{SVGAttr("href")}}</td> + <td>Атрибут {{SVGAttr("xlink:href")}} заменён на {{SVGAttr("href")}}</td> </tr> <tr> <td>{{SpecName("SVG1.1", "linking.html#Links", "<a>")}}</td> diff --git a/files/ru/web/svg/element/ellipse/index.html b/files/ru/web/svg/element/ellipse/index.html index 332d9abe94..7aeb7f8ea3 100644 --- a/files/ru/web/svg/element/ellipse/index.html +++ b/files/ru/web/svg/element/ellipse/index.html @@ -47,7 +47,7 @@ original_slug: Web/SVG/Элемент/ellipse <small><em>Тип значения</em>: <code>auto</code>|<a href="https://developer.mozilla.org/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="https://developer.mozilla.org/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a> ; <em>Значение по умолчанию</em>: <code>auto</code>; <em>Можно анимировать</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr("pathLength")}}</dt> <dd>Этот атрибут позволяет установить длину всего пути.<br> - <small><em>Тип значения</em>: <a href="https://developer.mozilla.org/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчани</em>: <em>нет</em>; <em>Можно анимировать</em>: <strong>да</strong></small></dd> + <small><em>Тип значения</em>: <a href="https://developer.mozilla.org/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <em>нет</em>; <em>Можно анимировать</em>: <strong>да</strong></small></dd> <dd> @@ -63,7 +63,7 @@ original_slug: Web/SVG/Элемент/ellipse <dd><small>{{SVGAttr('class')}}, {{SVGAttr('style')}}</small></dd> <dt><a href="https://developer.mozilla.org/docs/Web/SVG/Attribute/Conditional_Processing">Условные атрибуты</a></dt> <dd><small>Самые важные: {{SVGAttr('requiredExtensions')}}, {{SVGAttr('systemLanguage')}}</small></dd> - <dt>Аттрибуты событий</dt> + <dt>Атрибуты событий</dt> <dd><small><a href="https://developer.mozilla.org/docs/Web/SVG/Attribute/Events#Global_Event_Attributes">Глобальные атрибуты событий</a>, <a href="https://developer.mozilla.org/docs/Web/SVG/Attribute/Events#Graphical_Event_Attributes">Атрибуты графических событий</a></small></dd> <dt><a href="https://developer.mozilla.org/docs/Web/SVG/Attribute/Presentation">Атрибуты представления</a></dt> <dd><small>Самые важные: {{SVGAttr('clip-path')}}, {{SVGAttr('clip-rule')}}, {{SVGAttr('color')}}, {{SVGAttr('color-interpolation')}}, {{SVGAttr('color-rendering')}}, {{SVGAttr('cursor')}}, {{SVGAttr('display')}}, {{SVGAttr('fill')}}, {{SVGAttr('fill-opacity')}}, {{SVGAttr('fill-rule')}}, {{SVGAttr('filter')}}, {{SVGAttr('mask')}}, {{SVGAttr('opacity')}}, {{SVGAttr('pointer-events')}}, {{SVGAttr('shape-rendering')}}, {{SVGAttr('stroke')}}, {{SVGAttr('stroke-dasharray')}}, {{SVGAttr('stroke-dashoffset')}}, {{SVGAttr('stroke-linecap')}}, {{SVGAttr('stroke-linejoin')}}, {{SVGAttr('stroke-miterlimit')}}, {{SVGAttr('stroke-opacity')}}, {{SVGAttr('stroke-width')}}, {{SVGAttr("transform")}}, {{SVGAttr('vector-effect')}}, {{SVGAttr('visibility')}}</small></dd> diff --git a/files/ru/web/svg/element/g/index.html b/files/ru/web/svg/element/g/index.html index dca6a5d04c..783c2c7729 100644 --- a/files/ru/web/svg/element/g/index.html +++ b/files/ru/web/svg/element/g/index.html @@ -51,7 +51,7 @@ original_slug: Web/SVG/Элемент/g <h2 id="Интерфейс_DOM">Интерфейс DOM</h2> -<p>Этот элемент реализует <code><a href="/en-US/docs/DOM/SVGGElement">SVGGElement</a></code> интерейс.</p> +<p>Этот элемент реализует <code><a href="/en-US/docs/DOM/SVGGElement">SVGGElement</a></code> интерес.</p> <h2 id="Спецификации">Спецификации</h2> diff --git a/files/ru/web/svg/element/line/index.html b/files/ru/web/svg/element/line/index.html index 4b25c44bc3..33c19eed7b 100644 --- a/files/ru/web/svg/element/line/index.html +++ b/files/ru/web/svg/element/line/index.html @@ -30,19 +30,19 @@ original_slug: Web/SVG/Элемент/line <dl> <dt>{{SVGAttr('x1')}}</dt> <dd>Определяет координату начальной точки линии по оси x .<br> - <small><em>Тип значения:</em> <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>нимируемый</em>: <strong>да</strong></small></dd> + <small><em>Тип значения:</em> <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>неминуемый</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr('x2')}}</dt> <dd>Определяет координату конечной точки линии по оси x.<br> - <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>нимируемый</em>: <strong>да</strong></small></dd> + <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>неминуемый</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr('y1')}}</dt> <dd>Определяет координату начальной точки линии по оси y.<br> - <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>нимируемый</em>: <strong>да</strong></small></dd> + <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>неминуемый</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr('y2')}}</dt> <dd>Определяет координату конечной точки линии по оси y.<br> - <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>нимируемый</em>: <strong>да</strong></small></dd> + <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Length"><strong><length></strong></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><strong><percentage></strong></a>|<a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <code>0</code>; А<em>неминуемый</em>: <strong>да</strong></small></dd> <dt>{{SVGAttr("pathLength")}}</dt> <dd>Определяет общую длину пути в пользовательских единицах.<br> - <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <em>none</em>; А<em>нимируемый</em>: <strong>да</strong></small></dd> + <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>: <em>none</em>; А<em>неминуемый</em>: <strong>да</strong></small></dd> </dl> <h3 id="Глобальные_атрибуты">Глобальные атрибуты</h3> @@ -57,7 +57,7 @@ original_slug: Web/SVG/Элемент/line <dt>Атрибуты события</dt> <dd><small><a href="/docs/Web/SVG/Attribute/Events#Global_Event_Attributes">Глобальные атрибуты события</a>, <a href="/docs/Web/SVG/Attribute/Events#Graphical_Event_Attributes">Графические атрибуты события</a></small></dd> <dt><a href="/docs/Web/SVG/Attribute/Presentation">Атрибуты презентации</a></dt> - <dd><small>В превую очередь: {{SVGAttr('clip-path')}}, {{SVGAttr('clip-rule')}}, {{SVGAttr('color')}}, {{SVGAttr('color-interpolation')}}, {{SVGAttr('color-rendering')}}, {{SVGAttr('cursor')}}, {{SVGAttr('display')}}, {{SVGAttr('fill')}}, {{SVGAttr('fill-opacity')}}, {{SVGAttr('fill-rule')}}, {{SVGAttr('filter')}}, {{SVGAttr('mask')}}, {{SVGAttr('opacity')}}, {{SVGAttr('pointer-events')}}, {{SVGAttr('shape-rendering')}}, {{SVGAttr('stroke')}}, {{SVGAttr('stroke-dasharray')}}, {{SVGAttr('stroke-dashoffset')}}, {{SVGAttr('stroke-linecap')}}, {{SVGAttr('stroke-linejoin')}}, {{SVGAttr('stroke-miterlimit')}}, {{SVGAttr('stroke-opacity')}}, {{SVGAttr('stroke-width')}}, {{SVGAttr("transform")}}, {{SVGAttr('vector-effect')}}, {{SVGAttr('visibility')}}</small></dd> + <dd><small>В первую очередь: {{SVGAttr('clip-path')}}, {{SVGAttr('clip-rule')}}, {{SVGAttr('color')}}, {{SVGAttr('color-interpolation')}}, {{SVGAttr('color-rendering')}}, {{SVGAttr('cursor')}}, {{SVGAttr('display')}}, {{SVGAttr('fill')}}, {{SVGAttr('fill-opacity')}}, {{SVGAttr('fill-rule')}}, {{SVGAttr('filter')}}, {{SVGAttr('mask')}}, {{SVGAttr('opacity')}}, {{SVGAttr('pointer-events')}}, {{SVGAttr('shape-rendering')}}, {{SVGAttr('stroke')}}, {{SVGAttr('stroke-dasharray')}}, {{SVGAttr('stroke-dashoffset')}}, {{SVGAttr('stroke-linecap')}}, {{SVGAttr('stroke-linejoin')}}, {{SVGAttr('stroke-miterlimit')}}, {{SVGAttr('stroke-opacity')}}, {{SVGAttr('stroke-width')}}, {{SVGAttr("transform")}}, {{SVGAttr('vector-effect')}}, {{SVGAttr('visibility')}}</small></dd> <dt>Атрибуты ARIA</dt> <dd><small><code>aria-activedescendant</code>, <code>aria-atomic</code>, <code>aria-autocomplete</code>, <code>aria-busy</code>, <code>aria-checked</code>, <code>aria-colcount</code>, <code>aria-colindex</code>, <code>aria-colspan</code>, <code>aria-controls</code>, <code>aria-current</code>, <code>aria-describedby</code>, <code>aria-details</code>, <code>aria-disabled</code>, <code>aria-dropeffect</code>, <code>aria-errormessage</code>, <code>aria-expanded</code>, <code>aria-flowto</code>, <code>aria-grabbed</code>, <code>aria-haspopup</code>, <code>aria-hidden</code>, <code>aria-invalid</code>, <code>aria-keyshortcuts</code>, <code>aria-label</code>, <code>aria-labelledby</code>, <code>aria-level</code>, <code>aria-live</code>, <code>aria-modal</code>, <code>aria-multiline</code>, <code>aria-multiselectable</code>, <code>aria-orientation</code>, <code>aria-owns</code>, <code>aria-placeholder</code>, <code>aria-posinset</code>, <code>aria-pressed</code>, <code>aria-readonly</code>, <code>aria-relevant</code>, <code>aria-required</code>, <code>aria-roledescription</code>, <code>aria-rowcount</code>, <code>aria-rowindex</code>, <code>aria-rowspan</code>, <code>aria-selected</code>, <code>aria-setsize</code>, <code>aria-sort</code>, <code>aria-valuemax</code>, <code>aria-valuemin</code>, <code>aria-valuenow</code>, <code>aria-valuetext</code>, <code>role</code></small></dd> </dl> diff --git a/files/ru/web/svg/element/path/index.html b/files/ru/web/svg/element/path/index.html index 6f3ac7dad7..39270c7dbf 100644 --- a/files/ru/web/svg/element/path/index.html +++ b/files/ru/web/svg/element/path/index.html @@ -29,10 +29,10 @@ original_slug: Web/SVG/Элемент/path <dl> <dt id="attr-cx">{{SVGAttr("d")}}</dt> <dd>Этот атрибут определяет форму.<br> - <small><em>Тип значения</em>: <strong><string></strong> ; <em>Значеие по умолчанию</em>: <code>''</code>; <em>Анимирование</em>: <strong>Да</strong></small></dd> + <small><em>Тип значения</em>: <strong><string></strong> ; <em>Значение по умолчанию</em>: <code>''</code>; <em>Анимирование</em>: <strong>Да</strong></small></dd> <dt>{{SVGAttr("pathLength")}}</dt> <dd>Этот атрибут позволяет указывать общую длину в пользовательских единицах.<br> - <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значеие по умолчанию</em>:<em>нет</em>; <em>Анимирование</em>: <strong>Да</strong></small></dd> + <small><em>Тип значения</em>: <a href="/docs/Web/SVG/Content_type#Number"><strong><number></strong></a> ; <em>Значение по умолчанию</em>:<em>нет</em>; <em>Анимирование</em>: <strong>Да</strong></small></dd> </dl> <h3 id="Глобальные_атрибуты">Глобальные атрибуты</h3> 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 e179b323b2..87f9ecff47 100644 --- a/files/ru/web/svg/svg_as_an_image/index.html +++ b/files/ru/web/svg/svg_as_an_image/index.html @@ -28,7 +28,7 @@ translation_of: Web/SVG/SVG_as_an_Image <ul> <li><a href="/en-US/docs/JavaScript">JavaScript</a> отключен.</li> - <li>Внешние ресурсы (например, изображеня, таблицы стилей) не могут быть загружены, хотя их можно использовать, если они встроены в данные: URI.</li> + <li>Внешние ресурсы (например, изображения, таблицы стилей) не могут быть загружены, хотя их можно использовать, если они встроены в данные: URI.</li> <li>{{cssxref(":visited")}}-стили ссылок не отображаются.</li> <li>Стилизация виджитов на платформе (основанная на теме ОС) отключена.</li> </ul> diff --git a/files/ru/web/svg/tutorial/basic_shapes/index.html b/files/ru/web/svg/tutorial/basic_shapes/index.html index 1af60608af..290e5af23d 100644 --- a/files/ru/web/svg/tutorial/basic_shapes/index.html +++ b/files/ru/web/svg/tutorial/basic_shapes/index.html @@ -36,7 +36,7 @@ original_slug: Web/SVG/Tutorial/Основные_Фигуры <path d="M20,230 Q40,205 50,230 T90,230" fill="none" stroke="blue" stroke-width="5"/> </svg></pre> -<div class="note"><strong>Замечание:</strong> Атрибуты <code>stroke</code>, <code>stroke-width</code> и <code>fill</code> описываются в рукодстве далее.</div> +<div class="note"><strong>Замечание:</strong> Атрибуты <code>stroke</code>, <code>stroke-width</code> и <code>fill</code> описываются в руководстве далее.</div> <h3 id="Rectangles" name="Rectangles">Прямоугольники</h3> @@ -77,7 +77,7 @@ original_slug: Web/SVG/Tutorial/Основные_Фигуры <h3 id="Ellipse" name="Ellipse">Эллипс</h3> -<p><a href="/en-US/Web/SVG/Element/ellipse" title="en-US/Web/SVG/Element/ellipse">Ellipse</a> - это наиболее общая форма элемента окружность, в котором можно маштабировать радиусы x и y (обычно называемые математиками половиной большой оси и половиной малой оси) окружности по отдельности.</p> +<p><a href="/en-US/Web/SVG/Element/ellipse" title="en-US/Web/SVG/Element/ellipse">Ellipse</a> - это наиболее общая форма элемента окружность, в котором можно масштабировать радиусы x и y (обычно называемые математиками половиной большой оси и половиной малой оси) окружности по отдельности.</p> <pre class="brush:xml;gutter:false;"><ellipse cx="75" cy="75" rx="20" ry="5"/></pre> @@ -94,7 +94,7 @@ original_slug: Web/SVG/Tutorial/Основные_Фигуры <h3 id="Line" name="Line">Линия</h3> -<p><a href="/en-US/Web/SVG/Element/line" title="en-US/Web/SVG/Element/line">Line</a> изображает простую прямую линию. Её атрибутами являются две точки, которые определяют начальную и конечне точки линии.</p> +<p><a href="/en-US/Web/SVG/Element/line" title="en-US/Web/SVG/Element/line">Line</a> изображает простую прямую линию. Её атрибутами являются две точки, которые определяют начальную и конечную точки линии.</p> <pre class="brush:xml;gutter:false;"><line x1="10" x2="50" y1="110" y2="150"/></pre> diff --git a/files/ru/web/svg/tutorial/basic_transformations/index.html b/files/ru/web/svg/tutorial/basic_transformations/index.html index 446444ca62..698933241a 100644 --- a/files/ru/web/svg/tutorial/basic_transformations/index.html +++ b/files/ru/web/svg/tutorial/basic_transformations/index.html @@ -56,7 +56,7 @@ original_slug: Web/SVG/Tutorial/Базовые_Преобразования <h2 id="Масштабирование">Масштабирование</h2> -<p><code>scale()</code> изменяем размер элемента. Он использует 2 параметра. Первый - это коэффициент масшабирования по оси Х, а второй - по оси Y. Коэффициенты выражают сжатие по отношению к оригинальному изображению. Например, <var>0.5 уменьшает на 50%. Если второй параметр отсутствует, то тогда он принимается равным первому.</var></p> +<p><code>scale()</code> изменяем размер элемента. Он использует 2 параметра. Первый - это коэффициент масштабирования по оси Х, а второй - по оси Y. Коэффициенты выражают сжатие по отношению к оригинальному изображению. Например, <var>0.5 уменьшает на 50%. Если второй параметр отсутствует, то тогда он принимается равным первому.</var></p> <h2 id="Комплексные_перемещения_с_matrix"><strong id="docs-internal-guid-68ee5272-9619-cb26-01de-19a4df728cd5">Комплексные перемещения с <code>matrix()</code></strong></h2> @@ -68,7 +68,7 @@ original_slug: Web/SVG/Tutorial/Базовые_Преобразования <h2 id="Эффекты_на_системе_координат">Эффекты на системе координат</h2> -<p>В случае использования преобразований вы устанавливаете новую систему координат внутри элемента, к которому применяются изменения. Это означает, что единицы измерения которые вы определяете и его дочерние еи не будут соответствовать 1:1, но также будут искажены, повернуты, перемещены и смаштабированы в соотвествии с преобразованиями.</p> +<p>В случае использования преобразований вы устанавливаете новую систему координат внутри элемента, к которому применяются изменения. Это означает, что единицы измерения которые вы определяете и его дочерние еи не будут соответствовать 1:1, но также будут искажены, повернуты, перемещены и смаштабированы в соответствии с преобразованиями.</p> <pre class="brush: html notranslate"><svg width="100" height="100"> <g transform="scale(2)"> @@ -83,7 +83,7 @@ original_slug: Web/SVG/Tutorial/Базовые_Преобразования <h2 id="Встраивание_SVG_в_SVG">Встраивание SVG в SVG</h2> -<p>В отличие от HTML, SVG позволяет встравивать другие <code>svg</code> элементы без разрыва. Таким образом вы можете запросто создать новую координатную систему используя <code>viewBox</code>, <code>width</code> и<code>height</code> внутреннего <code>svg</code> элемнта.</p> +<p>В отличие от HTML, SVG позволяет встраивать другие <code>svg</code> элементы без разрыва. Таким образом вы можете запросто создать новую координатную систему используя <code>viewBox</code>, <code>width</code> и<code>height</code> внутреннего <code>svg</code> элемента.</p> <pre class="brush: html notranslate"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100" height="100"> <svg width="100" height="100" viewBox="0 0 50 50"> @@ -92,7 +92,7 @@ original_slug: Web/SVG/Tutorial/Базовые_Преобразования </svg> </pre> -<p>На примере выше, так же как и на других примерах ранее, вы можете видеть такой же эффект увеличениея изображения в два раза.</p> +<p>На примере выше, так же как и на других примерах ранее, вы можете видеть такой же эффект увеличения изображения в два раза.</p> <p>{{ EmbedLiveSample('Embedding_SVG_in_SVG', '100', '100', '', 'Web/SVG/Tutorial/Basic_Transformations') }}</p> 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 0caf2a76c5..ff0930252e 100644 --- a/files/ru/web/svg/tutorial/fills_and_strokes/index.html +++ b/files/ru/web/svg/tutorial/fills_and_strokes/index.html @@ -36,7 +36,7 @@ translation_of: Web/SVG/Tutorial/Fills_and_Strokes <p>Свойство <em>stroke-width </em>определяет ширину обводки. Штрихи обводки рисуются вокруг пути. В примере выше путь изображен розовым, а обводка - черным.</p> -<p>Второй атрибут, влияющий на обводку - свойство <em>stroke-linecap. </em>Демонстрируется выше. Свойство управляет отображениеи концов линий.</p> +<p>Второй атрибут, влияющий на обводку - свойство <em>stroke-linecap. </em>Демонстрируется выше. Свойство управляет отображением концов линий.</p> <p>Есть три возможных значения для <em>stroke-linecap</em>:</p> diff --git a/files/ru/web/svg/tutorial/getting_started/index.html b/files/ru/web/svg/tutorial/getting_started/index.html index 5882814c4a..c50b5ba0ea 100644 --- a/files/ru/web/svg/tutorial/getting_started/index.html +++ b/files/ru/web/svg/tutorial/getting_started/index.html @@ -37,8 +37,8 @@ translation_of: Web/SVG/Tutorial/Getting_Started <ul> <li>как известно из (X)HTML, декларацию doctype следует опустить, потому что DTD на основе валидации SVG приводит к бо́льшим проблемам, чем их решает</li> - <li>до SVG 2, чтобы обозначить версию SVG для других типов вилидации, всегда следует использовать атрибуты <code>version</code> и <code>baseProfile</code>. Но в SVG 2 оба эти атрибута <code>version</code> и <code>baseProfile</code> обрели статус не рекомендованных</li> - <li>как диалект XML, SVG всегда правильно должен связывать простанства имен (в атрибуте xmlns). Смотри страницу <a href="/en/docs/Web/SVG/Namespaces_Crash_Course" title="en-US/Web/SVG/Namespaces_Crash_Course">Namespaces Crash Course</a> для большей информации.</li> + <li>до SVG 2, чтобы обозначить версию SVG для других типов валидации, всегда следует использовать атрибуты <code>version</code> и <code>baseProfile</code>. Но в SVG 2 оба эти атрибута <code>version</code> и <code>baseProfile</code> обрели статус не рекомендованных</li> + <li>как диалект XML, SVG всегда правильно должен связывать пространства имен (в атрибуте xmlns). Смотри страницу <a href="/en/docs/Web/SVG/Namespaces_Crash_Course" title="en-US/Web/SVG/Namespaces_Crash_Course">Namespaces Crash Course</a> для большей информации.</li> </ul> </li> <li>Фон устанавливается красным при помощи рисования прямоугольника <a href="/en-US/Web/SVG/Element/rect" title="en-US/Web/SVG/Element/rect"><code><rect/></code></a>, который покрывает всю область изображения</li> @@ -50,7 +50,7 @@ translation_of: Web/SVG/Tutorial/Getting_Started <ul> <li>Первая важная вещь, которую следует заметить - это порядок отображения элементов. Глобально действующее правило для файлов SVG - элементы, <em>которые отрендерились позднее</em>, отображаются <em>поверх </em>предыдущих элементов. Чем дальше вниз элемент (по коду / порядку рендеринга), тем более видимым он будет.</li> - <li>Файлы SVG в вэбе могут быть отображены прямо в браузере или внедрены в файлы HTML посредством нескольких методов: + <li>Файлы SVG в вебе могут быть отображены прямо в браузере или внедрены в файлы HTML посредством нескольких методов: <ul> <li>Если HTML является XHTML и выводится как тип приложение<code>/xhtml+xml</code>, SVG может быть прямо внедрён в источник XML.</li> <li>Если HTML является HTML5, и браузер совместим с HTML5, SVG может быть прямо внедрён тоже. Однако, возможны синтаксические изменения для соответствия с HTML5 спецификацией</li> @@ -71,11 +71,11 @@ translation_of: Web/SVG/Tutorial/Getting_Started <p>Файлы SVG бывают двух видов. Нормальные файлы SVG - это простые текстовые файлы, содержащие разметку SVG. Рекомендуется расширение ".svg" (все нижним регистром) к имени файла для этих файлов.</p> -<p>Благодаря потенциально массивному размеру, который файлы SVG могут иметь при использовании в некоторых приложениях (например, географические приложения), спецификация SVG также допускает gzip-архивированные файлы SVG. Рекомендуется расширение ".svgz" (все нижним регистром) к имени файла. К сожалению, очень проблематично получить gzip-архивированные файлы SVG для надёжной работы со всеми SVG совместимыми пользовательскими агентами при управлении с сервера Microsofts IIS, когда Firefox не может загрузить gzip-архивированный SVG с локального компьютера. Избегайте gzip-архивированного SVG, кроме случаев, когда вы публикуетесь на вебсервере, в корректной работе которого вы уверены (смотри ниже).</p> +<p>Благодаря потенциально массивному размеру, который файлы SVG могут иметь при использовании в некоторых приложениях (например, географические приложения), спецификация SVG также допускает gzip-архивированные файлы SVG. Рекомендуется расширение ".svgz" (все нижним регистром) к имени файла. К сожалению, очень проблематично получить gzip-архивированные файлы SVG для надёжной работы со всеми SVG совместимыми пользовательскими агентами при управлении с сервера Microsofts IIS, когда Firefox не может загрузить gzip-архивированный SVG с локального компьютера. Избегайте gzip-архивированного SVG, кроме случаев, когда вы публикуетесь на веб-сервере, в корректной работе которого вы уверены (смотри ниже).</p> -<h3 id="A_Word_on_Webservers" name="A_Word_on_Webservers">Слово о Вебсерверах</h3> +<h3 id="A_Word_on_Webservers" name="A_Word_on_Webservers">Слово о Веб-серверах</h3> -<p>Теперь, когда вы имеете представление о том, как создавать основные файлы SVG, следующим шагом будет загрузить их на Вебсервер. Но на этом этапе существуют некоторые подводные камни. Для нормальных файлов SVG, сервера должны посылать заголовки HTTP:</p> +<p>Теперь, когда вы имеете представление о том, как создавать основные файлы SVG, следующим шагом будет загрузить их на Веб-сервер. Но на этом этапе существуют некоторые подводные камни. Для нормальных файлов SVG, сервера должны посылать заголовки HTTP:</p> <pre>Content-Type: image/svg+xml Vary: Accept-Encoding</pre> diff --git a/files/ru/web/svg/tutorial/gradients/index.html b/files/ru/web/svg/tutorial/gradients/index.html index bdb5e39461..2e4ef085cf 100644 --- a/files/ru/web/svg/tutorial/gradients/index.html +++ b/files/ru/web/svg/tutorial/gradients/index.html @@ -95,9 +95,9 @@ translation_of: Web/SVG/Tutorial/Gradients <p>{{ EmbedLiveSample('Basic_example_2','120','240','/files/726/SVG_Radial_Gradient_Example.png') }}</p> -<p>Аттрибуты <strong>stop</strong>, используемые здесь - отвечают за то же, что и в линейных градиентах. Однако сейчас объект будет красным в центре и постепенно меняться к синему цвету, "двигаясь" к краям. Как и линейный градиент, элемент <code><radialGradient></code> может иметь несколько аттрибутов, описывающих его позицию и ориентацию (направленность?). Однако, в отличие от линейных градиентов, радиальные немного сложнее. Радиальные градиенты задаются двумя "точками", которые определят где будут границы. Первая "точка" определяет окружность, где градиент заканчивается. Для этого нам потребуется центр круга, который обозначается как <strong>cx</strong> и <strong>cy</strong>, и радиус - <strong>r</strong>. Изменяя эти аттрибуты, вы можете "двигать" внешнюю границу градиента и менять ее размер, как показано во втором прямоугольнике выше.</p> +<p>Атрибуты <strong>stop</strong>, используемые здесь - отвечают за то же, что и в линейных градиентах. Однако сейчас объект будет красным в центре и постепенно меняться к синему цвету, "двигаясь" к краям. Как и линейный градиент, элемент <code><radialGradient></code> может иметь несколько атрибутов, описывающих его позицию и ориентацию (направленность?). Однако, в отличие от линейных градиентов, радиальные немного сложнее. Радиальные градиенты задаются двумя "точками", которые определят где будут границы. Первая "точка" определяет окружность, где градиент заканчивается. Для этого нам потребуется центр круга, который обозначается как <strong>cx</strong> и <strong>cy</strong>, и радиус - <strong>r</strong>. Изменяя эти атрибуты, вы можете "двигать" внешнюю границу градиента и менять ее размер, как показано во втором прямоугольнике выше.</p> -<p>Вторая "точка" называется <strong>фокальной</strong> и задается аттрибутами <strong>fx</strong> и <strong>fy</strong>. В то время как первые "точки" указывают на внешнюю границу градиента, фокальная "точка" определяет где должна быть его <strong>середина</strong>. Это легко увидеть на примере.</p> +<p>Вторая "точка" называется <strong>фокальной</strong> и задается атрибутами <strong>fx</strong> и <strong>fy</strong>. В то время как первые "точки" указывают на внешнюю границу градиента, фокальная "точка" определяет где должна быть его <strong>середина</strong>. Это легко увидеть на примере.</p> <h3 id="Center_and_focal_point">Center and focal point</h3> @@ -128,7 +128,7 @@ translation_of: Web/SVG/Tutorial/Gradients <p>Если фокальная точка передвинута за границы круга, то градиент будет отрисован некорректно. Поэтому фокальная точка обязательно должна быть внутри границы круга (или на самой границе). Если фокальная точка не указана, то по дефолту она совпадает с центром круга.</p> -<p>Линейный и радиальный градиенты также принимают несколько аттрибутов, описывающих как они могут изменяться. Единственный аттрибут, о котором я хотел бы рассказать более подробно - это <strong><code>spreadMethod</code></strong><code>. Этот аттрибут указывает, что должно происходить, когда градиент "достигает" внешней границы градиента, но объект еще не заполнен. Аттрибут может принимать одно и трех значений:</code>"pad", "reflect", или"repeat". "<strong>Pad</strong>" - это то что вы пока что видели: когда градиент достигает "краев", финальный цвет используется для заполнения оставшейся области. "Reflect" - градиент продолжает "двигаться" в "зеркальном" отражении (стартовый цвет берется из 100%, а конечный из 0%). А затем снова "переворачивается". И так до тех пор пока не достигнет края.</p> +<p>Линейный и радиальный градиенты также принимают несколько атрибутов, описывающих как они могут изменяться. Единственный атрибут, о котором я хотел бы рассказать более подробно - это <strong><code>spreadMethod</code></strong><code>. Этот атрибут указывает, что должно происходить, когда градиент "достигает" внешней границы градиента, но объект еще не заполнен. Аттрибут может принимать одно и трех значений:</code>"pad", "reflect", или"repeat". "<strong>Pad</strong>" - это то что вы пока что видели: когда градиент достигает "краев", финальный цвет используется для заполнения оставшейся области. "Reflect" - градиент продолжает "двигаться" в "зеркальном" отражении (стартовый цвет берется из 100%, а конечный из 0%). А затем снова "переворачивается". И так до тех пор пока не достигнет края.</p> <h3 id="spreadMethod">spreadMethod</h3> @@ -168,12 +168,12 @@ translation_of: Web/SVG/Tutorial/Gradients <p>{{ EmbedLiveSample('spreadMethod','220','220','/files/728/SVG_SpreadMethod_Example.png') }}</p> -<p>У обоих типов градиентов также есть атрибут <code><strong>gradientUnits</strong></code>, который описывает систему измерений, которую Вы собираетесь использовать, когда описываете размеры или ориентацию или градиен. Данный атрибут принимает 2 возможных значения: <strong><code>userSpaceOnUse</code></strong><code> </code>или <strong><code>objectBoundingBox </code></strong>(дефолтное, показывалось во всех примерах выше). <strong><code>objectBoundingBox </code></strong>автоматически адаптирует градиент к размеру объекта, так что Вы можете указать координаты в виде значений от 0 до 1, и браузер автоматически их отпозиционирует. <strong><code>userSpaceOnUse </code></strong>позиционирует градиент в абсолютных единицах измерения, так что Вам необходимо знать где находится целевой объект, чтобы правильно применить к нему градиент. radialGradient выше может быть переписан:</p> +<p>У обоих типов градиентов также есть атрибут <code><strong>gradientUnits</strong></code>, который описывает систему измерений, которую Вы собираетесь использовать, когда описываете размеры или ориентацию или градиент. Данный атрибут принимает 2 возможных значения: <strong><code>userSpaceOnUse</code></strong><code> </code>или <strong><code>objectBoundingBox </code></strong>(дефолтное, показывалось во всех примерах выше). <strong><code>objectBoundingBox </code></strong>автоматически адаптирует градиент к размеру объекта, так что Вы можете указать координаты в виде значений от 0 до 1, и браузер автоматически их отпозиционирует. <strong><code>userSpaceOnUse </code></strong>позиционирует градиент в абсолютных единицах измерения, так что Вам необходимо знать где находится целевой объект, чтобы правильно применить к нему градиент. radialGradient выше может быть переписан:</p> <pre class="eval notranslate"> <radialGradient id="Gradient" cx="60" cy="60" r="50" fx="35" fy="35" gradientUnits="userSpaceOnUse"> </pre> -<p>Вы также можете применить иную трансформацию к градиенту, используя аттрибут <strong><code>gradientTransform</code></strong>, но мы пока что <a href="/en-US/Web/SVG/Tutorial/Basic_Transformations">его не изучали</a>, я осталю это на потом.<br> +<p>Вы также можете применить иную трансформацию к градиенту, используя атрибут <strong><code>gradientTransform</code></strong>, но мы пока что <a href="/en-US/Web/SVG/Tutorial/Basic_Transformations">его не изучали</a>, я оставлю это на потом.<br> <br> Существуют и другие предостережения для работы с <br> <code>gradientUnits="objectBoundingBox"</code>, когда поле ограничения объекта не является квадратным, но они довольно сложны и им придется ждать, пока кто-то другой не соизволит объяснить их.</p> diff --git a/files/ru/web/svg/tutorial/index.html b/files/ru/web/svg/tutorial/index.html index ef0fc0459c..2d847f1b87 100644 --- a/files/ru/web/svg/tutorial/index.html +++ b/files/ru/web/svg/tutorial/index.html @@ -11,7 +11,7 @@ translation_of: Web/SVG/Tutorial --- <p>Масштабируемая векторная графика (<a href="/en-US/Web/SVG" title="en-US/Web/SVG">SVG</a>), — это подмножество расширяемого языка разметки XML созданный Консорциумом Всемирной паутины (W3C). Эта технология реализована в Firefox, Opera, Internet Explorer, WebKit и в прочих браузерах.</p> -<p>Это учебное пособие призвано обьяснить Вам суть технологии SVG и ознакомить с её техническими деталями. Если Вы хотите только рисовать красивые изображения, то Вы можете найти более полезные учебные ресурсы. Есть хорошее учебное пособие для знакомства с SVG — это учебное пособие от W3C <a class="external" href="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html" title="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html">SVG Primer</a>.</p> +<p>Это учебное пособие призвано объяснить Вам суть технологии SVG и ознакомить с её техническими деталями. Если Вы хотите только рисовать красивые изображения, то Вы можете найти более полезные учебные ресурсы. Есть хорошее учебное пособие для знакомства с SVG — это учебное пособие от W3C <a class="external" href="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html" title="http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html">SVG Primer</a>.</p> <div class="note">Это учебное пособие находится в стадии разработки. Если Вы можете, то, пожалуйста, помогите с написанием одного или нескольких параграфов. Плюс балл Гриффиндору за написание целой страницы!</div> diff --git a/files/ru/web/svg/tutorial/paths/index.html b/files/ru/web/svg/tutorial/paths/index.html index 63d4cf6412..2b6b81d983 100644 --- a/files/ru/web/svg/tutorial/paths/index.html +++ b/files/ru/web/svg/tutorial/paths/index.html @@ -164,7 +164,7 @@ translation_of: Web/SVG/Tutorial/Paths <h3 id="Arcs" name="Arcs">Дуги</h3> -<p>Другой тип кривых линий, которые можно создать с помощью SVG - дуга (команда A). Дуги - секции кругов или эллипсов. При заданных x- и y-радиусах есть два эллипса, которые могут соединяться любыми двумя точками (пока они находятся внутри радиуса круга). Вдоль любого из этих кругов есть два пути, которые могут испольовать для соединения точек, так что в любой ситуации возможно 4 дуги.</p> +<p>Другой тип кривых линий, которые можно создать с помощью SVG - дуга (команда A). Дуги - секции кругов или эллипсов. При заданных x- и y-радиусах есть два эллипса, которые могут соединяться любыми двумя точками (пока они находятся внутри радиуса круга). Вдоль любого из этих кругов есть два пути, которые могут использовать для соединения точек, так что в любой ситуации возможно 4 дуги.</p> <pre> A rx ry x-axis-rotation large-arc-flag sweep-flag x y a rx ry x-axis-rotation large-arc-flag sweep-flag dx dy @@ -187,7 +187,7 @@ translation_of: Web/SVG/Tutorial/Paths <p>Пример показывает элемент <em>path</em>, который проходит по странице диагонально. В центре этого элемента вырезаны две эллиптические дуги (радиус x = 30, радиус y = 50). В первой дуге параметр <em>x-asix-rotation = 0</em>, а это означает, что эллипс, по которому проходит дуга (показан серым) расположен вертикально. Во второй дуге параметр <em>x-asix-rotation = -45. </em>Это поворачивает эллипс так, что направление его малой оси совпадает с направлением пути, как это видно на рисунке выше.</p> -<p>Четыре разных пути, упомянутых выше определяются с помощью двух аргументов-флагов. Как упоминалось ранее, есть ещё два возможных эллипса для обхода пути и два разных возможных пути на обоих эллипсах, что даёт четыре возможных пути. Первый аргумент - <em>large-arc-flag. </em>Он определяет, должна ли дуга быть больше или меньше 180 градусов. В конечном счёте этот флаг определяет, в каком направлении дуга будет обходить данный круг. Второй аргумент - <em>sweep-flag. </em>Он определяет, должна дуга двигаться по отрицательным углам или по положительным, т.е. по сути определяет по какому из двух кругов она будет идти. Пример ниже показывает все четыре возможные комбинации.</p> +<p>Четыре разных пути, упомянутых выше определяются с помощью двух аргументов-флагов. Как упоминалось ранее, есть ещё два возможных эллипса для обхода пути и два разных возможных пути на обоих эллипсах, что даёт четыре возможных пути. Первый аргумент - <em>large-arc-flag. </em>Он определяет, должна ли дуга быть больше или меньше 180 гградусов. В конечном счёте этот флаг определяет, в каком направлении дуга будет обходить данный круг. Второй аргумент - <em>sweep-flag. </em>Он определяет, должна дуга двигаться по отрицательным углам или по положительным, т.е. по сути определяет по какому из двух кругов она будет идти. Пример ниже показывает все четыре возможные комбинации.</p> <p><img alt="Show the 4 arcs on the Ellipse example" src="https://mdn.mozillademos.org/files/15822/SVGArcs_XAxisRotation_with_grid_ellipses.png"></p> @@ -204,11 +204,11 @@ translation_of: Web/SVG/Tutorial/Paths <ellipse cx="115.779" cy="155.778" rx="36" ry="60" fill="transparent" stroke="blue"/> </svg></pre> -<p>Заметьте, что каждый голубой эллипс сформирован двумя дугами, в завимости от того движетесь ли вы по часовой или против часовой стрелке. Каждый эллипс имеет короткую и длинную дуги. Оба эллипса просто зеркальные отражения друг друга. Они отражены вдоль линии, сформированной start->end точками.</p> +<p>Заметьте, что каждый голубой эллипс сформирован двумя дугами, в зависимости от того движетесь ли вы по часовой или против часовой стрелке. Каждый эллипс имеет короткую и длинную дуги. Оба эллипса просто зеркальные отражения друг друга. Они отражены вдоль линии, сформированной start->end точками.</p> -<p>Если start->end точки расположены далеко и не попадают в пределы радусов эллипсов по x и y, то в этом случае радуисы эллипсов будут увеличены до величины, нужной чтобы достичь точек start->end. Интерактивный codepen внизу этой страницы наглядно это демонстрирует. Для определения достаточны ли велики радиусы ваших эллипсов чтобы требовать увеличения, вам нужно решить систему уравнений подобную <a href="https://www.wolframalpha.com/input/?i=solve+((110+-+x)%5E2%2F36%5E2)+%2B+((215+-+y)%5E2%2F60%5E2)+%3D+1,+((150.71+-+x)%5E2%2F36%5E2)+%2B+((170.29+-+y)%5E2%2F60%5E2)+%3D+1">этой на wolfram alpha</a>. Это вычислиние для non-rotated эллипса с start->end (110, 215)->(150.71, 170.29). Решенимем, (x, y), является центр эллипса(ов). Следющее вычисление для non-rotated эллипса с start->end (110, 215)->(162.55, 162.45). Решение будет <a href="https://www.wolframalpha.com/input/?i=solve+((110+-+x)%5E2%2F30%5E2)+%2B+((215+-+y)%5E2%2F50%5E2)+%3D+1,+((162.55+-+x)%5E2%2F30%5E2)+%2B+((162.45+-+y)%5E2%2F50%5E2)+%3D+1">мнимым</a> если радиусы ваших эллипсов слишком малы. Решение содержит небольшой мнимый компонент потому, что эллипсы были лишь слегка расширены.</p> +<p>Если start->end точки расположены далеко и не попадают в пределы градусов эллипсов по x и y, то в этом случае радиусы эллипсов будут увеличены до величины, нужной чтобы достичь точек start->end. Интерактивный codepen внизу этой страницы наглядно это демонстрирует. Для определения достаточны ли велики радиусы ваших эллипсов чтобы требовать увеличения, вам нужно решить систему уравнений подобную <a href="https://www.wolframalpha.com/input/?i=solve+((110+-+x)%5E2%2F36%5E2)+%2B+((215+-+y)%5E2%2F60%5E2)+%3D+1,+((150.71+-+x)%5E2%2F36%5E2)+%2B+((170.29+-+y)%5E2%2F60%5E2)+%3D+1">этой на wolfram alpha</a>. Это вычисление для non-rotated эллипса с start->end (110, 215)->(150.71, 170.29). Решением, (x, y), является центр эллипса(ов). Следующее вычисление для non-rotated эллипса с start->end (110, 215)->(162.55, 162.45). Решение будет <a href="https://www.wolframalpha.com/input/?i=solve+((110+-+x)%5E2%2F30%5E2)+%2B+((215+-+y)%5E2%2F50%5E2)+%3D+1,+((162.55+-+x)%5E2%2F30%5E2)+%2B+((162.45+-+y)%5E2%2F50%5E2)+%3D+1">мнимым</a> если радиусы ваших эллипсов слишком малы. Решение содержит небольшой мнимый компонент потому, что эллипсы были лишь слегка расширены.</p> -<p>Четыре разных пути, упомянутых выше определяются с помощью двух аргументов-флагов. Как упоминалось ранее, есть ещё два возможных эллипса для обхода пути и два разных возможных пути на обоих эллипсах, что даёт четыре возможных пути. Первый аргумент - <em>large-arc-flag. </em>Он определяет, должна ли дуга быть больше или меньше 180 градусов. В конечном счёте этот флаг определяет, в каком направлении дуга будет обходить данный круг. Второй аргумент - <em>sweep-flag. </em>Он определяет, должна дуга двигаться по отрицательным углам или по положительным, т.е. по сути определяет по какому из двух кругов она будет идти. Пример ниже показывает все четыре возможные комбинации.</p> +<p>Четыре разных пути, упомянутых выше определяются с помощью двух аргументов-флагов. Как упоминалось ранее, есть ещё два возможных эллипса для обхода пути и два разных возможных пути на обоих эллипсах, что даёт четыре возможных пути. Первый аргумент - <em>large-arc-flag. </em>Он определяет, должна ли дуга быть больше или меньше 180 гградусов. В конечном счёте этот флаг определяет, в каком направлении дуга будет обходить данный круг. Второй аргумент - <em>sweep-flag. </em>Он определяет, должна дуга двигаться по отрицательным углам или по положительным, т.е. по сути определяет по какому из двух кругов она будет идти. Пример ниже показывает все четыре возможные комбинации.</p> <p><img alt="" class="internal" src="/@api/deki/files/345/=SVGArcs_Flags.png" style="float: right;"></p> diff --git a/files/ru/web/svg/tutorial/patterns/index.html b/files/ru/web/svg/tutorial/patterns/index.html index 1db8bc9448..4c2e459016 100644 --- a/files/ru/web/svg/tutorial/patterns/index.html +++ b/files/ru/web/svg/tutorial/patterns/index.html @@ -34,9 +34,9 @@ translation_of: Web/SVG/Tutorial/Patterns <p>Внутри элемента <pattern> вы можете использовать любые другие основные фигуры, которые использовались ранее. И каждая из них может быть стилизована, используя любые из возможных вариантов стилизаций, которые Вы изучали до этого, включая градиенты и прозрачность. Выше мы просто нарисовали два прямоугольника внутри нашего шаблона (которые перекрываются, и один из которых в два раза больше другого и используется для заполнения всего шаблона), и один круг.</p> -<p>Сбивающая с толку вещь - это определение единиц измерения и размера. В примере выше мы определили ширину и высоту соответствующими аттрибутами внутри паттерна, что бы указать как далеко паттерн будет "продолжаться", прежде чем начать повторяться. Также доступны <strong>x</strong> и <strong>y</strong> атрибуты для смещения стартовой точки этого прямоугольника в том месте где вы его отрисовываете. Причина по которой они тут использованы, описана ниже.</p> +<p>Сбивающая с толку вещь - это определение единиц измерения и размера. В примере выше мы определили ширину и высоту соответствующими атрибутами внутри паттерна, что бы указать как далеко паттерн будет "продолжаться", прежде чем начать повторяться. Также доступны <strong>x</strong> и <strong>y</strong> атрибуты для смещения стартовой точки этого прямоугольника в том месте где вы его отрисовываете. Причина по которой они тут использованы, описана ниже.</p> -<p>Как и с <strong><code>gradientUnits</code></strong> атрибутом, использованном ранее, у паттерна также есть атрибут <strong><code>patternUnits</code> </strong>. Он определяет единицы измерения, которые принимают атрибуты. По дефолту используется значене "<strong>objectBoundingBox</strong>", (как и в предыдущем разделе). Так что значения от 0 до 1 будут масштабированы в зависимости от размеров объекта, к которому вы применяете паттерн. Поскольку в данном случае мы хотим, чтобы шаблон повторялся 4 раза по горизонтали и вертикали, ширину и высоту мы установили в значение 0.25. Что означает 0.25 от размера целевого объекта</p> +<p>Как и с <strong><code>gradientUnits</code></strong> атрибутом, использованном ранее, у паттерна также есть атрибут <strong><code>patternUnits</code> </strong>. Он определяет единицы измерения, которые принимают атрибуты. По дефолту используется значение "<strong>objectBoundingBox</strong>", (как и в предыдущем разделе). Так что значения от 0 до 1 будут масштабированы в зависимости от размеров объекта, к которому вы применяете паттерн. Поскольку в данном случае мы хотим, чтобы шаблон повторялся 4 раза по горизонтали и вертикали, ширину и высоту мы установили в значение 0.25. Что означает 0.25 от размера целевого объекта</p> <p>В отличие от градиентов, у паттернов есть 2ой атрибут - <code><strong>patternContentUnits</strong>, </code>который описывает единицы измерения, используемые в базовых фигурах внутри элемента <strong>pattern</strong>. Дефолтное значение для этого атрибута - <strong>userSpaceOnUse</strong>, противоположность атрибуту <code><strong>patternUnits</strong>. </code>Это означает, что если Вы не укажете один или оба этих атрибута (<strong><code>patternContentUnits</code> </strong>и/или <strong><code>patternUnits</code></strong>), фигуры, которые Вы будете рисовать внутри блока <<strong>pattern></strong>, будут отрисованы в другой системе координат (отличной от той, которую использует паттерн). Это может немного запутывать, если Вы пишете код вручную.</p> diff --git a/files/ru/web/svg/tutorial/positions/index.html b/files/ru/web/svg/tutorial/positions/index.html index a92d044fa8..9d20d29d1a 100644 --- a/files/ru/web/svg/tutorial/positions/index.html +++ b/files/ru/web/svg/tutorial/positions/index.html @@ -24,7 +24,7 @@ original_slug: Web/SVG/Tutorial/Позиции <h3 id="Что_такое_пиксели">Что такое "пиксели"?</h3> -<p>В наиболее общем случае один пиксель в документе SVG отображает один пиксель в устройстве вывода (a.k.a. экран). Но SVG формат не назывался бы "Маcштабируемым" (от англ. scalable), если не было бы некоторых возможностей изменить такое поведение. Большинство как абсолютных, так и относительных размеров шрифтов в CSS, SVG определяет абсолютными единицами (с размерными обозначениями "pt" или "cm") и, так называемыми, пользовательскими единицами без идентификаторов, являющиеся простыми цифрами.</p> +<p>В наиболее общем случае один пиксель в документе SVG отображает один пиксель в устройстве вывода (a.k.a. экран). Но SVG формат не назывался бы "Масштабируемым" (от англ. scalable), если не было бы некоторых возможностей изменить такое поведение. Большинство как абсолютных, так и относительных размеров шрифтов в CSS, SVG определяет абсолютными единицами (с размерными обозначениями "pt" или "cm") и, так называемыми, пользовательскими единицами без идентификаторов, являющиеся простыми цифрами.</p> <p>Без дополнительного уточнения, одна пользовательская единица равна одной единице экрана. Чтобы явно изменить такое поведение, в SVG существуют некоторые возможности. Мы начинаем с корневого элемента <code>svg</code>:</p> diff --git a/files/ru/web/svg/tutorial/svg_and_css/index.html b/files/ru/web/svg/tutorial/svg_and_css/index.html index 64489d873c..68aec28d65 100644 --- a/files/ru/web/svg/tutorial/svg_and_css/index.html +++ b/files/ru/web/svg/tutorial/svg_and_css/index.html @@ -202,7 +202,7 @@ svg { <caption>Задание</caption> <tbody> <tr> - <td>Измение таблицу стилей так, чтобы все внутренние лепестки становились розовыми, по наведению курсора на одного из них, при этом нельзя менять принцип работы других лепестков.</td> + <td>Изменить таблицу стилей так, чтобы все внутренние лепестки становились розовыми, по наведению курсора на одного из них, при этом нельзя менять принцип работы других лепестков.</td> </tr> </tbody> </table> 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 fc3ab83319..7f993c7bf8 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 @@ -96,7 +96,7 @@ img.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "move.png"); <p><code>meet </code>- сохраняет пропорции, умещая svg в область просмотра</p> -<p><code>slice </code>- тоже cохраняет пропорции, но масштабирует по максимальной границе области просмотра, обрезая часть изображения, которая не поместиласть в область</p> +<p><code>slice </code>- тоже сохраняет пропорции, но масштабирует по максимальной границе области просмотра, обрезая часть изображения, которая не поместилась в область</p> <p>Также есть спецификатор <code>none который означает, что изображение заполнит область путем масштабирования сторон, не сохраняя пропорции (растянет).</code></p> diff --git a/files/ru/web/svg/tutorial/texts/index.html b/files/ru/web/svg/tutorial/texts/index.html index 29170aae1e..1083b55a4d 100644 --- a/files/ru/web/svg/tutorial/texts/index.html +++ b/files/ru/web/svg/tutorial/texts/index.html @@ -38,7 +38,7 @@ translation_of: Web/SVG/Tutorial/Texts <p>Элемент <code>tspan</code> имеет следующие атрибуты:<br> <br> <strong>x</strong><br> - Задает новую координату по Х (аналогично абсолютному позиционированию в CSS) для вложенного текста. Что перезаписывает, установленную по-умолчанию позицию. Атрибут может также содержать набор чисел, которые поочередно применяются к каждому символу <code>tspan</code>.</p> + Задает новую координату по Х (аналогично абсолютному позиционированию в CSS) для вложенного текста. Что перезаписывает, установленную по умолчанию позицию. Атрибут может также содержать набор чисел, которые поочередно применяются к каждому символу <code>tspan</code>.</p> <p><strong>dx</strong><br> Задает смещение по горизонтали <code>dx</code> относительно текущей позиции. Здесь вы также можете задавать набор значений, которые последовательно применяются к каждому символу, устанавливая смещение относительно предыдущего.</p> diff --git a/files/ru/web/tutorials/index.html b/files/ru/web/tutorials/index.html index ccf6849657..516dc45c82 100644 --- a/files/ru/web/tutorials/index.html +++ b/files/ru/web/tutorials/index.html @@ -150,7 +150,7 @@ translation_of: Web/Tutorials <dt><a href="http://www.html.net/tutorials/css/" rel="external">Intermediate CSS Concepts</a> (HTML.net)</dt> <dd>Группировка, псевдо-классы и многое другое.</dd> <dt><a href="http://www.alistapart.com/articles/css-positioning-101/" rel="external">CSS Positioning 101</a> (A List Apart)</dt> - <dd>Использование позиционирования в соотвествии со стандартами, без использования таблиц.</dd> + <dd>Использование позиционирования в соответствии со стандартами, без использования таблиц.</dd> <dt><a href="http://www.alistapart.com/articles/progressiveenhancementwithcss/" rel="external">Progressive Enhancement with CSS</a> (A List Apart)</dt> <dd>Прогрессивное улучшение в веб-страницы с помощью CSS.</dd> <dt><a href="http://www.alistapart.com/articles/fluidgrids/" rel="external">Fluid Grids</a> (A List Apart)</dt> diff --git a/files/ru/web/web_components/index.html b/files/ru/web/web_components/index.html index e8ec0144cc..647bde94bd 100644 --- a/files/ru/web/web_components/index.html +++ b/files/ru/web/web_components/index.html @@ -16,14 +16,14 @@ translation_of: Web/Web_Components <ul> <li><strong>Пользовательские элементы</strong>: набор API-интерфейсов JavaScript, позволяющих определять пользовательские элементы и их поведение, которые затем можно использовать по желанию в пользовательском интерфейсе.</li> <li><strong>Shadow DOM</strong>: набор API-интерфейсов JavaScript для прикрепления инкапсулированного «теневого» дерева DOM к элементу, который отображается отдельно от DOM основного документа, и управления соответствующими функциями. Таким образом, вы можете сохранить функции элемента в секрете, поэтому для них можно создавать сценарии и стили, не опасаясь коллизий с другими частями документа.</li> - <li><strong>HTML templates</strong>: элементы {{HTMLElement("template")}} и {{HTMLElement("slot")}} позволяют создавать шаблоны разметки, которыx не видно на отображаемой странице. Затем их можно многократно использовать в качестве основы структуры настраиваемого элемента.</li> + <li><strong>HTML templates</strong>: элементы {{HTMLElement("template")}} и {{HTMLElement("slot")}} позволяют создавать шаблоны разметки, которых не видно на отображаемой странице. Затем их можно многократно использовать в качестве основы структуры настраиваемого элемента.</li> </ul> <p>Базовый подход к реализации веб-компонента обычно выглядит примерно так:</p> <ol> <li>Создайте класс, в котором вы указываете функциональность своего веб-компонента, используя синтаксис классов ECMAScript 2015 (дополнительную информацию см. в разделе <a href="https://wiki.developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes">Классы</a>).</li> - <li>Зарегистрируйте свой новый настраиваемый элемент с помощью метода {{domxref("CustomElementRegistry.define()")}}, передав ему имя элемента, который будет определен, класс или функцию, в которых указана его функцианальность, и, необязательно, от какого элемента он наследуется.</li> + <li>Зарегистрируйте свой новый настраиваемый элемент с помощью метода {{domxref("CustomElementRegistry.define()")}}, передав ему имя элемента, который будет определен, класс или функцию, в которых указана его функциональность, и, необязательно, от какого элемента он наследуется.</li> <li>При необходимости прикрепите теневую DOM к настраиваемому элементу с помощью метода {{domxref("Element.attachShadow()")}}. Добавьте дочерние элементы, прослушиватели событий и т.д. в теневой DOM, используя обычные методы DOM.</li> <li>При необходимости определите HTML template, используя {{htmlelement("template")}} и {{htmlelement("slot")}}. Снова используйте обычные методы DOM, чтобы клонировать шаблон и прикрепить его к вашей теневой DOM.</li> <li>Используйте свой настраиваемый элемент везде, где хотите, на своей странице, как и любой обычный элемент HTML.</li> @@ -107,7 +107,7 @@ translation_of: Web/Web_Components <dd>Расширения интерфейса <code>Event</code>, относящиеся к теневой модели DOM: <ul> <li>{{domxref("Event.composed")}}: возвращает {{jsxref("Boolean")}}, который указывает, будет ли событие распространяться через границу теневой DOM в стандартную DOM (<code>true</code>) или нет (<code>false</code>).</li> - <li>{{domxref ("Event.composedPath")}}: возвращает путь к событию (объекты, для которых будут вызваны слушатели). Это не включает узлы в теневых деревьях, если теневой кореневой узел был создан с закрытым {{domxref("ShadowRoot.mode")}}.</li> + <li>{{domxref ("Event.composedPath")}}: возвращает путь к событию (объекты, для которых будут вызваны слушатели). Это не включает узлы в теневых деревьях, если теневой корневой узел был создан с закрытым {{domxref("ShadowRoot.mode")}}.</li> </ul> </dd> </dl> diff --git a/files/ru/web/web_components/using_custom_elements/index.html b/files/ru/web/web_components/using_custom_elements/index.html index 3aec974d1a..dbdd9897b7 100644 --- a/files/ru/web/web_components/using_custom_elements/index.html +++ b/files/ru/web/web_components/using_custom_elements/index.html @@ -6,7 +6,7 @@ original_slug: Web/Web_Components/Использование_пользоват --- <div>{{DefaultAPISidebar("Web Components")}}</div> -<p class="summary">Одна из ключевых особенностей стандарта Веб-компонент это возможность создавать пользовательские элементы на HTML-странице, инкапсулирующие функциональность, вместо того чтобы создавать длинyю, вложенную группу элементов, которые бы вместе реализовывали нужную пользовательскую фичу. Эта статья является вводной по использованию пользовательских HTML-компонент.</p> +<p class="summary">Одна из ключевых особенностей стандарта Веб-компонент это возможность создавать пользовательские элементы на HTML-странице, инкапсулирующие функциональность, вместо того чтобы создавать длинную, вложенную группу элементов, которые бы вместе реализовывали нужную пользовательскую фичу. Эта статья является вводной по использованию пользовательских HTML-компонент.</p> <div class="note"> <p><strong>Заметка</strong>: Пользовательские элементы поддерживаются по умолчанию в Firefox, Chrome и Opera. Safari пока поддерживает только автономные пользовательские компоненты, Edge также работает над реализацией.</p> @@ -43,14 +43,14 @@ original_slug: Web/Web_Components/Использование_пользоват } }</pre> -<p>Это простой пример, но его можно дополнить. Можно определить специальные lifecycle callbacks, которые будут вызваны в определенные моменты жизненного цикла элемента. Например, <code>connectedCallback</code> будет вызван, когда пользовательский элемент оказывается впервые встроен в DOM, а <code>attributeChangedCallback</code> вызывается, когда пользовательскому элементу добавляют, удаляют или изменяют какой-то аттрибут.</p> +<p>Это простой пример, но его можно дополнить. Можно определить специальные lifecycle callbacks, которые будут вызваны в определенные моменты жизненного цикла элемента. Например, <code>connectedCallback</code> будет вызван, когда пользовательский элемент оказывается впервые встроен в DOM, а <code>attributeChangedCallback</code> вызывается, когда пользовательскому элементу добавляют, удаляют или изменяют какой-то атрибут.</p> <p>Подробнее об этом в секции {{anch("Using the lifecycle callbacks")}} ниже.</p> <p>Есть два типа пользовательских элементов:</p> <ul> - <li><strong>Автономные пользователькие элементы</strong> независимы — они не наследуют встроенным HTML-элементам. Их используют на странице просто как обычный HTML-элемент. Например, <code><popup-info></code> или <code>document.createElement("popup-info")</code>.</li> + <li><strong>Автономные пользовательские элементы</strong> независимы — они не наследуют встроенным HTML-элементам. Их используют на странице просто как обычный HTML-элемент. Например, <code><popup-info></code> или <code>document.createElement("popup-info")</code>.</li> <li><strong>Модифицированные встроенные элементы</strong> наследуют базовым HTML-элементам. Чтобы создать один из них, вы определяете элемент, от которого они унаследованы (как в примерах выше), и используете их как обычный базовый элемент, но с добавлением атрибута/свойства с именем пользовательского элемента {{htmlattrxref("is")}}. Например <code><p is="word-count"></code>, или <code>document.createElement("p", { is: "word-count" })</code>.</li> </ul> @@ -130,12 +130,12 @@ wrapper.appendChild(info);</pre> на обороте вашей карты."></pre> <div class="note"> -<p><strong>Замечение</strong>: Вы можете прочитать <a href="https://github.com/mdn/web-components-examples/blob/master/popup-info-box-web-component/main.js">полный исходный код на JavaScript</a> здесь.</p> +<p><strong>Замещение</strong>: Вы можете прочитать <a href="https://github.com/mdn/web-components-examples/blob/master/popup-info-box-web-component/main.js">полный исходный код на JavaScript</a> здесь.</p> </div> <h3 id="Модифицированные_встроенные_элементы">Модифицированные встроенные элементы</h3> -<p>Тепреь давайте взглянем на другой пример модифицированного пользовательского элемента — <a href="https://github.com/mdn/web-components-examples/tree/master/expanding-list-web-component">раскрывающийся список</a> (<a href="https://mdn.github.io/web-components-examples/expanding-list-web-component/">см. действующий пример</a>). Он превращает любой ненумерованный список в раскрывающееся/складывающееся меню.</p> +<p>Теперь давайте взглянем на другой пример модифицированного пользовательского элемента — <a href="https://github.com/mdn/web-components-examples/tree/master/expanding-list-web-component">раскрывающийся список</a> (<a href="https://mdn.github.io/web-components-examples/expanding-list-web-component/">см. действующий пример</a>). Он превращает любой ненумерованный список в раскрывающееся/складывающееся меню.</p> <p>Первым делом определим класс элемента наподобие того, как это делалось выше:</p> @@ -150,7 +150,7 @@ wrapper.appendChild(info);</pre> } }</pre> -<p>Здесь мы не будем во всех подробностях описывать функциональность элемента, вы можете понять как он работает, посмотрев исходный код. Единственное принципиальное различие с предыдующим примером состоит в том, что мы используем интерфейс {{domxref("HTMLUListElement")}}, а не {{domxref("HTMLElement")}}. Так что у него есть все характеристики элемента {{htmlelement("ul")}}, плюс дополнительная функциональность, которую определили мы. Это и отличает модифицированный встроенный элемент от автономного пользовательского элемента.</p> +<p>Здесь мы не будем во всех подробностях описывать функциональность элемента, вы можете понять как он работает, посмотрев исходный код. Единственное принципиальное различие с предыдущим примером состоит в том, что мы используем интерфейс {{domxref("HTMLUListElement")}}, а не {{domxref("HTMLElement")}}. Так что у него есть все характеристики элемента {{htmlelement("ul")}}, плюс дополнительная функциональность, которую определили мы. Это и отличает модифицированный встроенный элемент от автономного пользовательского элемента.</p> <p>Далее мы регистрируем этот элемент с помощью метода <code>define()</code> как в прошлом примере, только на сей раз мы добавляем объект options, который определяет, какому встроенному элементу наследует данный:</p> @@ -172,7 +172,7 @@ wrapper.appendChild(info);</pre> <h2 id="Использование_lifecycle_callbacks">Использование lifecycle callbacks</h2> -<p>Вы можете определить несколько разных коллбеков в конструкторе пользовательских элементов, которые сработают на разных этапах жизненного цикла элемента:</p> +<p>Вы можете определить несколько разных колбэков в конструкторе пользовательских элементов, которые сработают на разных этапах жизненного цикла элемента:</p> <ul> <li><code>connectedCallback</code>: Срабатывает, когда пользовательский элемент впервые добавляется в DOM.</li> @@ -209,14 +209,14 @@ shadow.appendChild(div);</pre> } }</pre> -<p>Сами изменения стилей обрабатываются коллбеками жизненного цикла, находящимися внутри конструктора. <code>connectedCallback()</code> срабатывает, когда элемент встраивается в DOM — здесь мы запускаем функцию <code>updateStyle()</code> которая обсеспечивает, чтобы квадрат имел стиль, описанный в его атрибутах:</p> +<p>Сами изменения стилей обрабатываются колбэками жизненного цикла, находящимися внутри конструктора. <code>connectedCallback()</code> срабатывает, когда элемент встраивается в DOM — здесь мы запускаем функцию <code>updateStyle()</code> которая обеспечивает, чтобы квадрат имел стиль, описанный в его атрибутах:</p> <pre class="brush: js">connectedCallback() { console.log('Пользовательский элемент квадрат добавлен на страницу.'); updateStyle(this); }</pre> -<p>коллбеки <code>disconnectedCallback()</code> и <code>adoptedCallback()</code> логируют простые сообщения на консоль, которые уведомляют нас, что элемент удален из DOM или перемещен на другую страницу:</p> +<p>колбэки <code>disconnectedCallback()</code> и <code>adoptedCallback()</code> логируют простые сообщения на консоль, которые уведомляют нас, что элемент удален из DOM или перемещен на другую страницу:</p> <pre class="brush: js">disconnectedCallback() { console.log('Пользователский элемент квадрат удален.'); @@ -226,19 +226,19 @@ adoptedCallback() { console.log('Пользовательский элемент квадарат перемещен на другую страницу.'); }</pre> -<p>Коллбек <code>attributeChangedCallback()</code> запускается когда один из аттрибутов элемента меняется. Как видно из его свойств, можно воздействовать на индивидуальные аттрибуты, глядя на их имена, и новые и старые значения аттрибутов. В данном случае, однако, мы просто снова запускаем функцию <code>updateStyle()</code> чтобы убедиться, что атрибуты квадрата получили новые значения:</p> +<p>Колбэк <code>attributeChangedCallback()</code> запускается когда один из атрибутов элемента меняется. Как видно из его свойств, можно воздействовать на индивидуальные атрибуты, глядя на их имена, и новые и старые значения атрибутов. В данном случае, однако, мы просто снова запускаем функцию <code>updateStyle()</code> чтобы убедиться, что атрибуты квадрата получили новые значения:</p> <pre class="brush: js">attributeChangedCallback(name, oldValue, newValue) { console.log('Атрибуты пользовательского элемента квадрат изменились.'); updateStyle(this); }</pre> -<p>Обратите внимание, что нужно наблюдать за атрибутами, чтобы запустить коллбек <code>attributeChangedCallback()</code> когда они изменятся. Это делается через вызов геттера <code>observedAttributes()</code> в конструкторе, который содержит оператор <code>return</code> возвращающий массив с именами атрибутов, которые вы хотите наблюдать:</p> +<p>Обратите внимание, что нужно наблюдать за атрибутами, чтобы запустить колбэк <code>attributeChangedCallback()</code> когда они изменятся. Это делается через вызов геттера <code>observedAttributes()</code> в конструкторе, который содержит оператор <code>return</code> возвращающий массив с именами атрибутов, которые вы хотите наблюдать:</p> <pre class="brush: js">static get observedAttributes() {return ['w', 'l']; }</pre> <p>В нашем случае он расположен в начале конструктора.</p> <div class="note"> -<p><strong>Замечение</strong>: Смотрите <a href="https://github.com/mdn/web-components-examples/blob/master/life-cycle-callbacks/main.js">полный исходный код на JavaScript</a> здесь.</p> +<p><strong>Замещение</strong>: Смотрите <a href="https://github.com/mdn/web-components-examples/blob/master/life-cycle-callbacks/main.js">полный исходный код на JavaScript</a> здесь.</p> </div> diff --git a/files/ru/web/xml/xml_introduction/index.html b/files/ru/web/xml/xml_introduction/index.html index cf3eb55c96..ef5b2732a9 100644 --- a/files/ru/web/xml/xml_introduction/index.html +++ b/files/ru/web/xml/xml_introduction/index.html @@ -111,7 +111,7 @@ translation_of: Web/XML/XML_introduction <h2 id="Отображение_XML">Отображение XML</h2> -<p>XML обычно используют для описания чего-то. Существуют методы отображения XML данных, но если вы не определили способ визуализации XML документа, то в браузуре он отобразится построчно, как обычный текстовый файл .</p> +<p>XML обычно используют для описания чего-то. Существуют методы отображения XML данных, но если вы не определили способ визуализации XML документа, то в браузере он отобразится построчно, как обычный текстовый файл .</p> <p>Один из методов отображения XML - указать <a href="/ru/docs/Web/CSS" title="ru/CSS">CSS</a> (чтобы использовать в документе нужно прописать инструкцию <code>xml-stylesheet</code>, как показано в примере ниже).</p> @@ -123,9 +123,9 @@ translation_of: Web/XML/XML_introduction <h2 id="Recommendations" name="Recommendations">Рекомендации</h2> -<p>Эта статья является очень маленьким введением в XML, с очень маленьким количеством примеров и ссылок для того, чтобы вы могли начать работать с этим языком. Чтобы больше узнать про XML, вам прийдется искать информацию и более информативные статьи в интернете.</p> +<p>Эта статья является очень маленьким введением в XML, с очень маленьким количеством примеров и ссылок для того, чтобы вы могли начать работать с этим языком. Чтобы больше узнать про XML, вам придется искать информацию и более информативные статьи в интернете.</p> -<p>Изчайте <a href="/ru/docs/Web/HTML" title="ru/HTML">HTML</a> (англ. HyperText Markup Language), знание HTML поможет вам лучше понять XML.</p> +<p>Изучайте <a href="/ru/docs/Web/HTML" title="ru/HTML">HTML</a> (англ. HyperText Markup Language), знание HTML поможет вам лучше понять XML.</p> <h2 id="Смотрите_также">Смотрите также</h2> @@ -136,4 +136,4 @@ translation_of: Web/XML/XML_introduction <li><a class="external" href="http://www.alistapart.com/articles/usingxml/">Using XML: A List Apart</a></li> </ul> -<p>Статья <a href="http://www.alistapart.com/articles/usingxml/">Using XML</a> - отличный ресурс с большим количеством информации о саздании своего языка на основе XML.</p> +<p>Статья <a href="http://www.alistapart.com/articles/usingxml/">Using XML</a> - отличный ресурс с большим количеством информации о создании своего языка на основе XML.</p> diff --git a/files/ru/web/xpath/functions/floor/index.html b/files/ru/web/xpath/functions/floor/index.html index bc1b115357..81ad7d322f 100644 --- a/files/ru/web/xpath/functions/floor/index.html +++ b/files/ru/web/xpath/functions/floor/index.html @@ -6,7 +6,7 @@ original_slug: Web/XPath/Funkcje/floor --- <p>{{ XsltRef() }}</p> <p><br> - Функция <code>floor</code> принимает десятичное число и возвращает наибольшое целое, меньшее или равное исходному.</p> + Функция <code>floor</code> принимает десятичное число и возвращает наибольшее целое, меньшее или равное исходному.</p> <h3 id="Syntax" name="Syntax">Синтаксис</h3> <pre class="eval">floor( <em>number</em> ) </pre> diff --git a/files/ru/webassembly/c_to_wasm/index.html b/files/ru/webassembly/c_to_wasm/index.html index 81e1dc93a3..7f47e01433 100644 --- a/files/ru/webassembly/c_to_wasm/index.html +++ b/files/ru/webassembly/c_to_wasm/index.html @@ -20,7 +20,7 @@ translation_of: WebAssembly/C_to_wasm <p>Когда рабочее окружение подготовлено, попробуем собрать пример кода на языке Си при помощи Emscripten. Вам доступно большое количество опций для настройки компиляции, но мы рассмотрим только два основных сценария компиляции с использованием Emscripten:</p> <ul> - <li>Компиляция в wasm и созданиее HTML-страницы для запуска вашего кода, а также JavaScript кода, необходимого для работы wasm модуля в веб-среде.</li> + <li>Компиляция в wasm и создание HTML-страницы для запуска вашего кода, а также JavaScript кода, необходимого для работы wasm модуля в веб-среде.</li> <li>Просто компиляция в wasm и создание JavaScript кода.</li> </ul> @@ -105,7 +105,7 @@ int main(int argc, char ** argv) { </ol> <div class="note"> -<p><strong>Примечание</strong>: Вы можете указать компилятору создавать только JavaScript кода, без HTML, используя внутри флага <code>-o</code>, <code>.js</code> вместо <code>.html</code> для формата выходного файла, например <code>emcc -o hello2.js hello2.c -O3 -s WASM=1</code>. После этого вы должны создать свой собственный HTML файл с нуля. Однако так делать не рекомендуется — Emscripten теребуется большое количество связывающего кода для обработки операций выделения памяти, утечек памяти и других проблем, которые уже включены в предоставляемый шаблон. Намного легче использовать уже готовое решение, чем создавать свои собственные версии самому.</p> +<p><strong>Примечание</strong>: Вы можете указать компилятору создавать только JavaScript кода, без HTML, используя внутри флага <code>-o</code>, <code>.js</code> вместо <code>.html</code> для формата выходного файла, например <code>emcc -o hello2.js hello2.c -O3 -s WASM=1</code>. После этого вы должны создать свой собственный HTML файл с нуля. Однако так делать не рекомендуется — Emscripten требуется большое количество связывающего кода для обработки операций выделения памяти, утечек памяти и других проблем, которые уже включены в предоставляемый шаблон. Намного легче использовать уже готовое решение, чем создавать свои собственные версии самому.</p> </div> <h3 id="Вызов_пользовательской_функции_определенной_в_Си">Вызов пользовательской функции, определенной в Си</h3> @@ -142,7 +142,7 @@ void EMSCRIPTEN_KEEPALIVE myFunction(int argc, char ** argv) { </div> </li> <li> - <p>Теперь добавьте <code>html_template/shell_minimal.html</code> в ваш новый каталог, просто для удобства. В настоящем проекте стоит размещать его в специально отпределенный каталог.</p> + <p>Теперь добавьте <code>html_template/shell_minimal.html</code> в ваш новый каталог, просто для удобства. В настоящем проекте стоит размещать его в специально определенный каталог.</p> </li> <li> <p>Теперь снова займемся этапом компиляции. Внутри вашего последнего каталога, используя терминал, скомпилируйте ваш Си код следующей командой. (Обратите внимание что при компиляции обязательно нужно использовать опцию NO_EXIT_RUNTIME, иначе после выполнения функции <code>main()</code>, рабочий цикл будет завершен. Это приведет, например, к вызову функции atexits и дальше будет невозможно использовать наш скомпилированный код. Другими словами это необходимо для правильной эмуляции Си.)</p> diff --git a/files/ru/webassembly/concepts/index.html b/files/ru/webassembly/concepts/index.html index 064eb577b1..dde3fc40a4 100644 --- a/files/ru/webassembly/concepts/index.html +++ b/files/ru/webassembly/concepts/index.html @@ -75,7 +75,7 @@ translation_of: WebAssembly/Concepts <p>Выше мы говорили о низкоуровневых примитивах, которые WebAssembly добавляет к веб-платформе: двоичный формат для кода и API для его загрузки и запуска. Теперь давайте поговорим о том, как мы можем использовать эти примитивы на практике.</p> -<p>Экосистема WebAssembly находится на начальной стадии; больше инструментов, несомненно, появится в будущем. На данный момент есть три основные оптравные точки:</p> +<p>Экосистема WebAssembly находится на начальной стадии; больше инструментов, несомненно, появится в будущем. На данный момент есть три основные отправные точки:</p> <ul> <li>Портирование приложения C/C++ с <a href="/en-US/docs/Mozilla/Projects/Emscripten">Emscripten</a>. </li> @@ -117,7 +117,7 @@ translation_of: WebAssembly/Concepts <p>Таким образом, часть связующего кода предоставляет функциональность каждой библиотеки, используемой кодом C/C++. Связующий код также содержит логику для вызова вышеупомянутых WebAssembly JavaScript API для извлечения, загрузки и запуска файла .wasm.</p> -<p>Сгенерированный HTML-документ загружает связующий файл JavaScript и может записать stdout в {{htmlelement("textarea")}}. Если приложение использует OpenGL, HTML документ будет содержать элемент {{htmlelement("canvas")}}, который будет использоватся для рендеринга. Очень легко изменить тип вывода комптляции Emscripten на любое веб-приложение, которое вам нужно.</p> +<p>Сгенерированный HTML-документ загружает связующий файл JavaScript и может записать stdout в {{htmlelement("textarea")}}. Если приложение использует OpenGL, HTML документ будет содержать элемент {{htmlelement("canvas")}}, который будет использоваться для рендеринга. Очень легко изменить тип вывода компиляции Emscripten на любое веб-приложение, которое вам нужно.</p> <p>Вы можете найти полную документацию по Emscripten на <a href="http://emscripten.org">emscripten.org</a>, а также руководство по созданию набора инструментов и компиляции вашего собственного приложения на C/C++ в wasm в разделе <a href="https://developer.mozilla.org/en-US/docs/WebAssembly/C_to_wasm">Компилирование из C/C++ в WebAssembly</a>.</p> diff --git a/files/ru/webassembly/exported_functions/index.html b/files/ru/webassembly/exported_functions/index.html index bf29f3f76b..c586422de3 100644 --- a/files/ru/webassembly/exported_functions/index.html +++ b/files/ru/webassembly/exported_functions/index.html @@ -27,7 +27,7 @@ translation_of: WebAssembly/Exported_functions <h2 id="Пример">Пример</h2> -<p>Давайте посмотрим на пример, чтобы прояснить ситуацию (вы можете найти его на GitHub как <a href="https://github.com/mdn/webassembly-examples/blob/master/other-examples/table-set.html">table-set.html</a> или <a href="https://mdn.github.io/webassembly-examples/other-examples/table-set.html">запустить в своем браузере</a>, и посмотерть <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table.wat">текстовое представление модуля wasm</a>):</p> +<p>Давайте посмотрим на пример, чтобы прояснить ситуацию (вы можете найти его на GitHub как <a href="https://github.com/mdn/webassembly-examples/blob/master/other-examples/table-set.html">table-set.html</a> или <a href="https://mdn.github.io/webassembly-examples/other-examples/table-set.html">запустить в своем браузере</a>, и посмотреть <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table.wat">текстовое представление модуля wasm</a>):</p> <pre class="brush: js">var otherTable = new WebAssembly.Table({ element: "anyfunc", initial: 2 }); diff --git a/files/ru/webassembly/rust_to_wasm/index.html b/files/ru/webassembly/rust_to_wasm/index.html index efc4bd52d0..629987ff09 100644 --- a/files/ru/webassembly/rust_to_wasm/index.html +++ b/files/ru/webassembly/rust_to_wasm/index.html @@ -29,7 +29,7 @@ translation_of: WebAssembly/Rust_to_wasm <p>Чтобы установить Rust, посетите <a href="https://www.rust-lang.org/install.html">Install Rust</a> страницу и проследуйте всем инструкциям. Так вы установите тулзу, называемую "rustup", которая позволит вам управлять несколькими версиями Rust. По умолчанию, она устанавливает последний стабильный релиз Rust, который вы будете использовать для стандартной разработки на Rust. Rustup устанавливает <code>rustc</code>, компилятор Rust, вместе с <code>cargo</code>, Rust-овским пакетным менеджером, <code>rust-std</code>, стандартной библиотекой Rust, и несколькими вспомогательными доками — <code>rust-docs</code>.</p> <div class="note"> -<p><strong>Заметка</strong>: Обратите внимание на пост-установочную заметку о необходимости добавить cargo <code>bin</code> директорию в список <code>PATH</code>. Она должна быть добавлена автоматически, но вам нужно будет перезапустить терминал, чтобы изменения втсупили в силу.</p> +<p><strong>Заметка</strong>: Обратите внимание на пост-установочную заметку о необходимости добавить cargo <code>bin</code> директорию в список <code>PATH</code>. Она должна быть добавлена автоматически, но вам нужно будет перезапустить терминал, чтобы изменения вступили в силу.</p> </div> <h3 id="wasm-pack">wasm-pack</h3> @@ -111,7 +111,7 @@ pub fn greet(name: &str) { } </code></pre> -<p>Это содержимое нашего проекта на Rust. У него есть три основные части, давайте пройдемся по ним по очереди. Мы дадим здесь обощенное пояснение и поясним некоторые детали; чтобы узнать больше о Rust, пожалуйста, просмотрите бесплатную online-книгу <a href="https://doc.rust-lang.org/book/">The Rust Programming Language</a>.</p> +<p>Это содержимое нашего проекта на Rust. У него есть три основные части, давайте пройдемся по ним по очереди. Мы дадим здесь обобщенное пояснение и поясним некоторые детали; чтобы узнать больше о Rust, пожалуйста, просмотрите бесплатную online-книгу <a href="https://doc.rust-lang.org/book/">The Rust Programming Language</a>.</p> <h4 id="Использование_wasm-bindgen_для_коммуникации_между_Rust_и_JavaScript">Использование <code>wasm-bindgen</code> для коммуникации между Rust и JavaScript</h4> @@ -164,7 +164,7 @@ pub fn greet(name: &str) { <p>Еще раз, мы видим <code>#[wasm_bindgen]</code> атрибут. В этом случае, он модифицирует не блок <code>extern</code>, а <code>fn</code>; это значит, что мы хотим, чтобы эта функция на Rust была доступна для JavaScript. Прямо противоположно <code>extern</code>: это не те функции, которые нам нужны, а те, что мы предоставляем миру!</p> -<p>Наша функция называется <code>greet</code>, и она принимает один аргумент, строку (пишется <code>&str</code>), <code>name</code>. Затем она вызывает функцию <code>alert</code>, которую мы запросили в блоке <code>extern</code> выше. Она передает вызов макросу <code>format!</code>, который позволяет нам соеденить строки.</p> +<p>Наша функция называется <code>greet</code>, и она принимает один аргумент, строку (пишется <code>&str</code>), <code>name</code>. Затем она вызывает функцию <code>alert</code>, которую мы запросили в блоке <code>extern</code> выше. Она передает вызов макросу <code>format!</code>, который позволяет нам соединить строки.</p> <p><code>format!</code> принимает два аргумента в нашем случае: форматируемую строку и переменную, которую должен в нее поместить. Форматируемая строка это <code>"Hello, {}!"</code> часть. Она содержит <code>{}</code>, куда будет вставлена переменная. Переменная, которую мы передаем, это <code>name</code>, аргумент функции, так что если мы вызовем <code>greet("Steve")</code>, то увидим <code>"Hello, Steve!".</code></p> @@ -174,7 +174,7 @@ pub fn greet(name: &str) { <h3 id="Компиляция_кода_в_WebAssembly">Компиляция кода в WebAssembly</h3> -<p>Чтобы правильно скомпилить наш код, сначала нам надо сконфигурировать его с помощью <code>Cargo.toml</code>. Октройте этот файл и измените его так, чтобы он выглядел следующим образом:</p> +<p>Чтобы правильно скомпилить наш код, сначала нам надо сконфигурировать его с помощью <code>Cargo.toml</code>. Откройте этот файл и измените его так, чтобы он выглядел следующим образом:</p> <pre class="notranslate"><code class="toml language-toml">[package] name = "hello-wasm" @@ -258,7 +258,7 @@ $ cd site } </code></pre> -<p>Заметьте, что вам нужно ввести свое пользовательское имя после <code>@</code> в секции зависемостей.</p> +<p>Заметьте, что вам нужно ввести свое пользовательское имя после <code>@</code> в секции зависимостей.</p> <p>Дальше нам нужно сконфигурировать Webpack. Создайте <code>webpack.config.js</code> и введите следующее:</p> @@ -305,7 +305,7 @@ js.then(js => { $ npm run serve </code></pre> -<p>Так мы запустим сервер. Откройте <a href="http://localhost:8080">http://localhost:8080</a> и вы увидете алерт с надписью <code>Hello, WebAssembly!</code> в нем! Мы успешно обратились из JavaScript в Rust и из Rust в JavaScript.</p> +<p>Так мы запустим сервер. Откройте <a href="http://localhost:8080">http://localhost:8080</a> и вы увидите алерт с надписью <code>Hello, WebAssembly!</code> в нем! Мы успешно обратились из JavaScript в Rust и из Rust в JavaScript.</p> <h2 id="Заключение">Заключение</h2> diff --git a/files/ru/webassembly/understanding_the_text_format/index.html b/files/ru/webassembly/understanding_the_text_format/index.html index 9acdd0af80..38934e21f2 100644 --- a/files/ru/webassembly/understanding_the_text_format/index.html +++ b/files/ru/webassembly/understanding_the_text_format/index.html @@ -173,7 +173,7 @@ translation_of: WebAssembly/Understanding_the_text_format <h3 id="Вызов_функций_из_других_функций_в_том_же_модуле">Вызов функций из других функций в том же модуле</h3> -<p>Для вызова функци по индексу или имени используется инструкция <code>call</code>. Например, следующий модуль содержит две функции - первая просто возвращает значение <code>42</code>, вторая возвращает сумму результата вызова первой функции и единицы:</p> +<p>Для вызова функции по индексу или имени используется инструкция <code>call</code>. Например, следующий модуль содержит две функции - первая просто возвращает значение <code>42</code>, вторая возвращает сумму результата вызова первой функции и единицы:</p> <pre>(module (func $getAnswer (result i32) @@ -243,7 +243,7 @@ WebAssembly.instantiateStreaming(fetch('logger.wasm'), importObject) <h3 id="Определение_глобальных_переменных_WebAssembly">Определение глобальных переменных WebAssembly</h3> -<p>WebAssembly имеет возможность создавать экземпляры глобальных переменных. Они доступны как в коде JavaScript, так и через импорт / экспорт для одиного и более экземпляров {{jsxref("WebAssembly.Module")}}. Это очень полезная возможность в плане динамического связывания нескольких модулей.</p> +<p>WebAssembly имеет возможность создавать экземпляры глобальных переменных. Они доступны как в коде JavaScript, так и через импорт / экспорт для одного и более экземпляров {{jsxref("WebAssembly.Module")}}. Это очень полезная возможность в плане динамического связывания нескольких модулей.</p> <p>В текстовом формате WebAssembly это выглядит примерно так (смотрите файл <a href="https://mdn.github.io/webassembly-examples/js-api-examples/global.html">global.html</a> в нашем репозитории на GitHub; смотрите также <a href="https://mdn.github.io/webassembly-examples/js-api-examples/global.html">вживую</a>):</p> diff --git a/files/ru/webassembly/using_the_javascript_api/index.html b/files/ru/webassembly/using_the_javascript_api/index.html index d480825a10..21a38cbbc4 100644 --- a/files/ru/webassembly/using_the_javascript_api/index.html +++ b/files/ru/webassembly/using_the_javascript_api/index.html @@ -65,7 +65,7 @@ translation_of: WebAssembly/Using_the_JavaScript_API <p>Эти методы не получают непосредственно доступ к байт-коду, так что требуется дополнительный шаг помещения ответа загрузки файла в объект {{domxref("ArrayBuffer")}} перед компилированием и созданием экземпляра wasm-модуля.</p> -<p>Эквивалентный код будет выглядить так:</p> +<p>Эквивалентный код будет выглядеть так:</p> <pre class="brush: js">fetch('simple.wasm').then(response => response.arrayBuffer() @@ -101,7 +101,7 @@ translation_of: WebAssembly/Using_the_JavaScript_API <pre class="brush: js">var memory = new WebAssembly.Memory({initial:10, maximum:100});</pre> - <p>Единицы измерения начальной (<code>initial</code>) и максимальной (<code>maximum</code>) памяти имеют фиксированый размер в 64KB. Это означает, что в нашем случае объект памяти при создании имеет 640KB, а его максимальный возможный размер будет 6.4MB.</p> + <p>Единицы измерения начальной (<code>initial</code>) и максимальной (<code>maximum</code>) памяти имеют фиксированный размер в 64KB. Это означает, что в нашем случае объект памяти при создании имеет 640KB, а его максимальный возможный размер будет 6.4MB.</p> <p>Объект памяти WebAssembly предоставляет свой хранимый диапазон байт через getter/setter свойства buffer, которое возвращает объект ArrayBuffer. Для примера, чтобы записать число 42 в первое слово линейной памяти, вы можете сделать это:</p> @@ -136,7 +136,7 @@ translation_of: WebAssembly/Using_the_JavaScript_API <ol> <li> - <p>Сопируйте файл <a href="https://github.com/mdn/webassembly-examples/raw/master/js-api-examples/memory.wasm">memory.wasm</a> в локальную директорию в которой вы работаете.</p> + <p>Скопируйте файл <a href="https://github.com/mdn/webassembly-examples/raw/master/js-api-examples/memory.wasm">memory.wasm</a> в локальную директорию в которой вы работаете.</p> <div class="note"> <p><strong>Примечание</strong>: Вы можете увидеть текстовое представление модуля в файле <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/memory.wat">memory.wat</a>.</p> @@ -236,7 +236,7 @@ console.log(tbl.get(1)()); // 42</pre> <p>Вы можете видеть, что он принимает 2 параметра:</p> <ul> - <li>Обьект, который содержит 2 свойства, описывающих глобальную переменную: + <li>Объект, который содержит 2 свойства, описывающих глобальную переменную: <ul> <li><code>value</code>: это тип данных, который может быть одним из типов данных, позволенных внутри WebAssembly модуля — <code>i32</code>, <code>i64</code>, <code>f32</code>, или <code>f64</code>.</li> <li><code>mutable</code>: булево значение, определяющее что переменная может изменяться.</li> |