From f7f5454b72bd74808d1a9cf8cbaf69d8d0b378b9 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Thu, 25 Mar 2021 01:13:29 +0300 Subject: Unify Russian translation of "notes" (#302) * Remove all mentions of EmbedTest262ReportResultsTable Part of #297 * Unify Russian translation of "notes" Co-authored-by: Peter Bengtsson Co-authored-by: tristantheb --- files/ru/conflicting/mozilla/add-ons/index.html | 2 +- .../conflicting/web/api/web_storage_api/index.html | 10 +++++----- files/ru/glossary/forbidden_header_name/index.html | 2 +- files/ru/glossary/method/index.html | 2 +- .../thinking_before_coding/index.html | 2 +- .../upload_files_to_a_web_server/index.html | 4 ++-- .../what_are_browser_developer_tools/index.html | 2 +- .../practical_positioning_examples/index.html | 2 +- .../sending_and_retrieving_form_data/index.html | 8 ++++---- .../publishing_your_website/index.html | 4 ++-- .../document_and_website_structure/index.html | 2 +- .../javascript/asynchronous/async_await/index.html | 2 +- files/ru/learn/javascript/asynchronous/index.html | 2 +- .../javascript/asynchronous/introducing/index.html | 10 +++++----- .../building_blocks/looping_code/index.html | 10 +++++----- .../javascript/first_steps/a_first_splash/index.html | 4 ++-- .../learn/javascript/first_steps/arrays/index.html | 4 ++-- .../ru/learn/javascript/first_steps/math/index.html | 8 ++++---- .../javascript/first_steps/variables/index.html | 8 ++++---- .../first_steps/what_is_javascript/index.html | 16 ++++++++-------- .../server-side/django/authentication/index.html | 10 +++++----- .../learn/server-side/django/deployment/index.html | 10 +++++----- .../django/django_assessment_blog/index.html | 2 +- .../learn/server-side/django/introduction/index.html | 8 ++++---- .../server-side/django/skeleton_website/index.html | 18 +++++++++--------- .../displaying_data/author_list_page/index.html | 2 +- .../displaying_data/book_list_page/index.html | 2 +- .../date_formatting_using_moment/index.html | 4 ++-- .../flow_control_using_async/index.html | 2 +- .../displaying_data/home_page/index.html | 8 ++++---- .../displaying_data/template_primer/index.html | 2 +- .../forms/delete_author_form/index.html | 4 ++-- .../server-side/express_nodejs/forms/index.html | 2 +- files/ru/learn/server-side/express_nodejs/index.html | 2 +- .../server-side/express_nodejs/mongoose/index.html | 20 ++++++++++---------- .../server-side/express_nodejs/routes/index.html | 16 ++++++++-------- .../express_nodejs/skeleton_website/index.html | 16 ++++++++-------- files/ru/mozilla/firefox/releases/68/index.html | 2 +- .../ru/orphaned/web/html/element/element/index.html | 2 +- .../using_the_aria-label_attribute/index.html | 2 +- files/ru/web/api/abortcontroller/index.html | 2 +- files/ru/web/api/blob/index.html | 4 ++-- files/ru/web/api/cachestorage/index.html | 4 ++-- .../createlineargradient/index.html | 2 +- files/ru/web/api/console/clear/index.html | 2 +- files/ru/web/api/console/log/index.html | 2 +- files/ru/web/api/document/contenttype/index.html | 2 +- files/ru/web/api/document/cookie/index.html | 2 +- files/ru/web/api/document/createelement/index.html | 2 +- files/ru/web/api/document/evaluate/index.html | 2 +- files/ru/web/api/document/height/index.html | 2 +- files/ru/web/api/document/keypress_event/index.html | 2 +- files/ru/web/api/document/queryselector/index.html | 4 ++-- .../api/document_object_model/examples/index.html | 2 +- files/ru/web/api/element/classname/index.html | 2 +- files/ru/web/api/element/closest/index.html | 2 +- files/ru/web/api/element/mouseenter_event/index.html | 2 +- files/ru/web/api/element/queryselectorall/index.html | 2 +- files/ru/web/api/element/removeattribute/index.html | 2 +- .../web/api/eventtarget/addeventlistener/index.html | 6 +++--- .../ru/web/api/eventtarget/dispatchevent/index.html | 2 +- .../api/eventtarget/removeeventlistener/index.html | 2 +- files/ru/web/api/fetch_api/index.html | 2 +- files/ru/web/api/filelist/index.html | 2 +- files/ru/web/api/filereader/index.html | 2 +- files/ru/web/api/formdata/append/index.html | 2 +- files/ru/web/api/formdata/getall/index.html | 2 +- .../web/api/globaleventhandlers/onchange/index.html | 2 +- .../web/api/globaleventhandlers/onclick/index.html | 2 +- .../web/api/globaleventhandlers/onerror/index.html | 2 +- .../web/api/globaleventhandlers/onfocus/index.html | 2 +- .../ru/web/api/globaleventhandlers/onload/index.html | 2 +- files/ru/web/api/indexeddb_api/index.html | 4 ++-- .../web/api/keyboardevent/key/key_values/index.html | 10 +++++----- files/ru/web/api/navigator/connection/index.html | 2 +- files/ru/web/api/navigator/cookieenabled/index.html | 2 +- files/ru/web/api/networkinformation/index.html | 2 +- files/ru/web/api/node/childnodes/index.html | 4 ++-- files/ru/web/api/node/nextsibling/index.html | 4 ++-- files/ru/web/api/notifications_api/index.html | 4 ++-- files/ru/web/api/pushmanager/index.html | 2 +- files/ru/web/api/service_worker_api/index.html | 6 +++--- .../api/serviceworkerregistration/update/index.html | 2 +- files/ru/web/api/streams_api/index.html | 2 +- files/ru/web/api/url/createobjecturl/index.html | 2 +- .../api/web_workers_api/using_web_workers/index.html | 18 +++++++++--------- files/ru/web/api/websocket/index.html | 2 +- files/ru/web/api/window/confirm/index.html | 2 +- files/ru/web/api/window/getselection/index.html | 2 +- .../web/api/window/requestanimationframe/index.html | 2 +- files/ru/web/api/window/screenx/index.html | 2 +- files/ru/web/api/window/scrollto/index.html | 2 +- files/ru/web/api/window/scrollx/index.html | 2 +- files/ru/web/api/window/scrolly/index.html | 2 +- files/ru/web/api/xmlhttprequest/open/index.html | 4 ++-- .../xmlhttprequest/using_xmlhttprequest/index.html | 2 +- files/ru/web/css/@font-face/index.html | 2 +- files/ru/web/css/@namespace/index.html | 2 +- files/ru/web/css/_colon_host()/index.html | 2 +- files/ru/web/css/clear/index.html | 2 +- files/ru/web/css/color_value/index.html | 6 +++--- .../stacking_without_z-index/index.html | 2 +- files/ru/web/css/flex-basis/index.html | 2 +- files/ru/web/css/radial-gradient()/index.html | 4 ++-- files/ru/web/css/word-break/index.html | 2 +- .../overview_of_events_and_handlers/index.html | 4 ++-- files/ru/web/html/element/audio/index.html | 2 +- files/ru/web/html/element/div/index.html | 2 +- files/ru/web/html/element/head/index.html | 2 +- files/ru/web/html/element/img/index.html | 10 +++++----- files/ru/web/html/element/input/button/index.html | 2 +- files/ru/web/html/element/ol/index.html | 2 +- files/ru/web/html/element/p/index.html | 2 +- files/ru/web/html/element/section/index.html | 2 +- files/ru/web/html/element/ul/index.html | 2 +- files/ru/web/html/element/wbr/index.html | 2 +- files/ru/web/html/global_attributes/id/index.html | 2 +- files/ru/web/html/preloading_content/index.html | 2 +- .../identifying_resources_on_the_web/index.html | 2 +- .../headers/access-control-allow-headers/index.html | 2 +- .../headers/strict-transport-security/index.html | 2 +- .../reference/classes/constructor/index.html | 2 +- .../reference/errors/not_defined/index.html | 2 +- .../ru/web/javascript/reference/functions/index.html | 4 ++-- .../reference/global_objects/atomics/index.html | 2 +- .../reference/global_objects/date/utc/index.html | 2 +- .../reference/global_objects/float32array/index.html | 2 +- .../global_objects/webassembly/compile/index.html | 2 +- files/ru/web/manifest/background_color/index.html | 2 +- files/ru/web/manifest/dir/index.html | 2 +- .../css_javascript_animation_performance/index.html | 2 +- files/ru/web/performance/dns-prefetch/index.html | 2 +- files/ru/web/performance/fundamentals/index.html | 12 ++++++------ files/ru/web/svg/attribute/d/index.html | 4 ++-- .../web_components/using_custom_elements/index.html | 2 +- files/ru/webassembly/rust_to_wasm/index.html | 2 +- 136 files changed, 254 insertions(+), 254 deletions(-) (limited to 'files/ru') diff --git a/files/ru/conflicting/mozilla/add-ons/index.html b/files/ru/conflicting/mozilla/add-ons/index.html index 6df87261f3..71d884c890 100644 --- a/files/ru/conflicting/mozilla/add-ons/index.html +++ b/files/ru/conflicting/mozilla/add-ons/index.html @@ -70,7 +70,7 @@ original_slug: Building_an_Extension </RDF>
    -
  • sample@example.net - идентификатор вашего Расширения. Это - значение, которое вы должны придумать сами, чтобы идентифицировать ваше Расширение, в данном случае оно в формате адреса электронной почты (это не обязательно должна быть Ваша электронная почта). Этот идентификатор должен быть уникальным. Вы можете также использовать GUID. ЗАМЕТКА: Хотя этот параметр и ДОЛЖЕН быть в формате адреса электронной почты, но не обязательно должен быть действительным адресом электронной почты. (example.example.example)
  • +
  • sample@example.net - идентификатор вашего Расширения. Это - значение, которое вы должны придумать сами, чтобы идентифицировать ваше Расширение, в данном случае оно в формате адреса электронной почты (это не обязательно должна быть Ваша электронная почта). Этот идентификатор должен быть уникальным. Вы можете также использовать GUID. ПРИМЕЧАНИЕ: Хотя этот параметр и ДОЛЖЕН быть в формате адреса электронной почты, но не обязательно должен быть действительным адресом электронной почты. (example.example.example)
  • Определение <em:type>2</em:type> -- объявляет, что устанавливается именно расширение. Если бы вы устанавливали тему, то это было бы 4 ( Install Manifests#type for other type codes).
  • {ec8030f7-c20a-464f-9b0e-13a3a9e97384} - Идентификатор приложения Firefox.
  • 1.5 - минимальная версия Firefox, с которой будет работать ваше Расширение. Укажите здесь минимальную версию, для которой будет выполняться все необходимые тесты.
  • 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 78a2208de4..80b1e15366 100644 --- a/files/ru/conflicting/web/api/web_storage_api/index.html +++ b/files/ru/conflicting/web/api/web_storage_api/index.html @@ -9,10 +9,10 @@ original_slug: Web/Guide/API/DOM/Storage

    DOM хранилище (DOM Storage) - это название для набора инструментов, относящихся к хранилищам, впервые представленных в спецификации Web Applications 1.0,  и выделенных теперь в отдельную спецификацию W3C Web Storage. DOM хранилище было разработано с целью предоставления альтернативы хранению информации в кукисах. Предполагается, что DOM хранилище предоставляет больше объёма, оно более защищено и легче в использовании. Впервые оно было представлено  в браузерах Firefox 2 и Safari 4.

    -
    Заметка: DOM хранилище - это не то же самое, что mozStorage (Mozilla's XPCOM interfaces to SQLite) или Session store API (утилита XPCOM - хранилище для использования в расширениях).
    +
    Примечание: DOM хранилище - это не то же самое, что mozStorage (Mozilla's XPCOM interfaces to SQLite) или Session store API (утилита XPCOM - хранилище для использования в расширениях).
    -

    Заметка: Эта статья скоро будет сильно переработана. Вместо того, чтобы хранить всю информацию на одной странице, она будет разбита на несколько статей, каждая из которых будет описывать разные API хранилища. Отдельная статья, помогающая разобраться в разных API, будет также добавлена.

    +

    Примечание: Эта статья скоро будет сильно переработана. Вместо того, чтобы хранить всю информацию на одной странице, она будет разбита на несколько статей, каждая из которых будет описывать разные API хранилища. Отдельная статья, помогающая разобраться в разных API, будет также добавлена.

    Описание

    @@ -51,9 +51,9 @@ original_slug: Web/Guide/API/DOM/Storage }; -
    Заметка: Несмотря на то, что значения доступны для чтения и записи через стандартные способы Javascript, рекомендуется использование getItem и setItem.
    +
    Примечание: Несмотря на то, что значения доступны для чтения и записи через стандартные способы Javascript, рекомендуется использование getItem и setItem.
    -
    Заметка: Обратите внимание, что любые данные, которые хранятся в любом из хранилищ, описанных на этой странице, преобразуются в строку, используя метод.toString. перед тем, как сохранить значение. Попытка сохранить объект приведёт к сохранению строки "[object Object]"  вместо объекта или его JSON представления. Самым лучшим и распространённым способом сохранения объектов в формате строки является использование предоставляемых браузером методов JSON для парсинга и сериализации объектов.
    +
    Примечание: Обратите внимание, что любые данные, которые хранятся в любом из хранилищ, описанных на этой странице, преобразуются в строку, используя метод.toString. перед тем, как сохранить значение. Попытка сохранить объект приведёт к сохранению строки "[object Object]"  вместо объекта или его JSON представления. Самым лучшим и распространённым способом сохранения объектов в формате строки является использование предоставляемых браузером методов JSON для парсинга и сериализации объектов.

    sessionStorage

    @@ -99,7 +99,7 @@ alert( "username = " + sessionStorage.getItem("username"));

    localStorage - это то же самое, что и {{ Anch("sessionStorage") }}, поддерживает правила единого происхождения(same-origin rules), но хранение данных постоянно. localStorage был представлен в Firefox 3.5.

    -
    Заметка: Когда браузер переходит в частный режим браузера(private browsing mode), то новая, временная база данных создаётся для хранения данных локального хранилища; эта база данных очищается и удаляется, как только частный режим браузера выключается.
    +
    Примечание: Когда браузер переходит в частный режим браузера(private browsing mode), то новая, временная база данных создаётся для хранения данных локального хранилища; эта база данных очищается и удаляется, как только частный режим браузера выключается.

    Совместимость

    diff --git a/files/ru/glossary/forbidden_header_name/index.html b/files/ru/glossary/forbidden_header_name/index.html index 666f7dd523..a15dff9b8d 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
-

Заметка: Заголовок User-Agent более не запрещён, как указано в спецификации — посмотрите список запрещённых заголовков (он был реализован в Firefox 43,) так что User-Agent может быть установлен через в объект Headers под Fetch через вызов метода setRequestHeader().

+

Примечание: Заголовок User-Agent более не запрещён, как указано в спецификации — посмотрите список запрещённых заголовков (он был реализован в Firefox 43,) так что User-Agent может быть установлен через в объект Headers под Fetch через вызов метода setRequestHeader().

diff --git a/files/ru/glossary/method/index.html b/files/ru/glossary/method/index.html index 9ac2de9f2b..57289732b8 100644 --- a/files/ru/glossary/method/index.html +++ b/files/ru/glossary/method/index.html @@ -10,7 +10,7 @@ original_slug: Словарь/Method

Метод это {{glossary("function","функция")}}, являющаяся {{glossary("property","свойством")}} {{glossary("object","объекта")}}. Существует два типа методов: Методы Экземпляра которые являются встроенными задачами, выполняемыми экземпляром объекта, или {{Glossary("static method", "Статические Методы")}} которые являются задачами, вызываемыми непосредственно в конструкторе объекта.

-

Заметка: В JavaScript функции сами по себе являются объектами, поэтому в этом контексте метод фактически является {{glossary("object reference","ссылкой на объект")}} для функции.

+

Примечание: В JavaScript функции сами по себе являются объектами, поэтому в этом контексте метод фактически является {{glossary("object reference","ссылкой на объект")}} для функции.

Узнать больше

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 9be1f7e02e..a00158ff5a 100644 --- a/files/ru/learn/common_questions/thinking_before_coding/index.html +++ b/files/ru/learn/common_questions/thinking_before_coding/index.html @@ -50,7 +50,7 @@ translation_of: Learn/Common_questions/Thinking_before_coding

Часовая конференция-обсуждение с вашими друзьями - хорошее начало, но не совсем рациональное. Лучше будет спокойно сесть и структурировать всю информацию, это позволит вам получить наиболее адекватное представление пути к реализации вашей идеи. Для этого вам нужны лишь только листочек, ручка и немного времени для ответа на следующие вопросы.

-

Заметка: Имеется неисчислимое множество способов, как сформулировать идею проекта. К сожалению, мы не можем собрать здесь все сразу (и даже увесистой книги не хватит). То, что мы представляем в этой статье - это простой способ выполнить шаги, которые профессионалы называют Project Ideation, Project Planning и Project Management.

+

Примечание: Имеется неисчислимое множество способов, как сформулировать идею проекта. К сожалению, мы не можем собрать здесь все сразу (и даже увесистой книги не хватит). То, что мы представляем в этой статье - это простой способ выполнить шаги, которые профессионалы называют Project Ideation, Project Planning и Project Management.

Что же в конце концов я хочу получить?

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 03e45d3874..cd1ce35f94 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 @@ -71,7 +71,7 @@ translation_of: Learn/Common_questions/Upload_files_to_a_web_server

Our demozilla personal website, seen in a browser: it's empty

-

Заметка: В зависимости от вашего хостинг-провайдера, когда вы впервые заходите на свой веб-адрес, большую часть времени вы будете видеть страницу, на которой написано что-то вроде этого: “This website is hosted by [Hosting Service].”

+

Примечание: В зависимости от вашего хостинг-провайдера, когда вы впервые заходите на свой веб-адрес, большую часть времени вы будете видеть страницу, на которой написано что-то вроде этого: “This website is hosted by [Hosting Service].”

Чтобы подключить SFTP клиент к удалённому серверу, выполните следующие действия:

@@ -90,7 +90,7 @@ translation_of: Learn/Common_questions/Upload_files_to_a_web_server

Теперь нажмите Connect для подключения к SFTP-серверу.

-

Заметка: Убедитесь, что ваш хостинг-провайдер предлагает SFTP (безопасный FTP) подключение к вашему хостинговому пространству. FTP по своей сути небезопасен, и вам не следует его использовать.

+

Примечание: Убедитесь, что ваш хостинг-провайдер предлагает SFTP (безопасный FTP) подключение к вашему хостинговому пространству. FTP по своей сути небезопасен, и вам не следует его использовать.

Здесь и там: локальный и удалённый просмотр

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 ab6e0c9470..da683ca2ea 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 @@ -24,7 +24,7 @@ original_slug: Learn/Discover_browser_developer_tools
-

Заметка: Прежде чем начать заниматься с примерами, откройте пример сайта для начинающих, с которым мы работали на предыдущих занятиях. Вам следует держать его открытым, чтобы выполнить описанные ниже действия.

+

Примечание: Прежде чем начать заниматься с примерами, откройте пример сайта для начинающих, с которым мы работали на предыдущих занятиях. Вам следует держать его открытым, чтобы выполнить описанные ниже действия.

Как открыть инструменты веб-разработчика в вашем браузере?

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 7d7b2eaa85..f0a9cef6b0 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 @@ -113,7 +113,7 @@ body { }
-

Заметка: Мы используем селектор-потомки с полем .info-box в начале цепочки в этом примере - это значит, что мы можем вставить эту функцию на страницу с другим содержимым, уже на ней, не опасаясь вмешиваться в стили, применяемые к другим частям страницы.

+

Примечание: Мы используем селектор-потомки с полем .info-box в начале цепочки в этом примере - это значит, что мы можем вставить эту функцию на страницу с другим содержимым, уже на ней, не опасаясь вмешиваться в стили, применяемые к другим частям страницы.

Затем мы нарисуем горизонтальные вкладки - все элементы списка будут перемещены влево, чтобы заставить их сидеть в одной строке вместе, их {{cssxref ("list-style-type")}} имеет значение none, чтобы избавиться от пули и их {{cssxref ("width")}} установлены на 150px, чтобы они удобно располагались в информационном окне. Элементы {{htmlelement ("a")}} имеют {{cssxref ("display")}} встроенный блок, поэтому они будут сидеть в строке, но всё же быть стильными и  соответствующим образом оформлены для кнопок вкладок, используя множество других свойств.

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 f94ea65441..155242dff0 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 @@ -32,7 +32,7 @@ original_slug: Learn/HTML/Forms/Отправка_и_Получение_данн

На стороне клиента HTML-форма - это не более чем удобный способ настройки HTTP-запроса для отправки данных на сервер. Это позволяет пользователю предоставлять информацию для доставки в HTTP-запросе .

-

Заметка: Для получения более полного представления о том, как работают клиент-серверные архитектуры, ознакомьтесь с модулем «Первые шаги в программировании на стороне сервера».

+

Примечание: Для получения более полного представления о том, как работают клиент-серверные архитектуры, ознакомьтесь с модулем «Первые шаги в программировании на стороне сервера».

На стороне клиента: определение способа отправки данных

@@ -60,7 +60,7 @@ original_slug: Learn/HTML/Forms/Отправка_и_Получение_данн
<form action="#">
-

Заметка: Можно указать URL, который использует протокол HTTPS (безопасный HTTP). Когда вы делаете это, данные шифруются вместе с остальной частью запроса, даже если сама форма размещается на небезопасной странице, доступ к которой осуществляется через HTTP. С другой стороны, если форма размещается на защищённой странице, но вы указываете небезопасный URL-адрес HTTP с атрибутом {{htmlattrxref("action","form")}}, все браузеры выдают пользователю предупреждение о безопасности при каждой попытке отправки данных, поскольку данные не шифруются.

+

Примечание: Можно указать URL, который использует протокол HTTPS (безопасный HTTP). Когда вы делаете это, данные шифруются вместе с остальной частью запроса, даже если сама форма размещается на небезопасной странице, доступ к которой осуществляется через HTTP. С другой стороны, если форма размещается на защищённой странице, но вы указываете небезопасный URL-адрес HTTP с атрибутом {{htmlattrxref("action","form")}}, все браузеры выдают пользователю предупреждение о безопасности при каждой попытке отправки данных, поскольку данные не шифруются.

Атрибут {{htmlattrxref("method","form")}}

@@ -104,7 +104,7 @@ original_slug: Learn/HTML/Forms/Отправка_и_Получение_данн Host: foo.com
-

Заметка: вы можете найти этот пример на GitHub — смотрите get-method.html (see it live also).

+

Примечание: вы можете найти этот пример на GitHub — смотрите get-method.html (see it live also).

Метод POST

@@ -139,7 +139,7 @@ say=Hi&to=Mom

Заголовок Content-Length указывает размер тела, а заголовок Content-Type указывает тип данных, отправляемых на сервер. Мы обсудим эти заголовки позже.

-

Заметка: вы можете найти этот пример на GitHub — смотрите post-method.html (see it live also).

+

Примечание: вы можете найти этот пример на GitHub — смотрите post-method.html (see it live also).

Просмотр HTTP-запросов

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 d487a9d40b..2b443ac661 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 @@ -101,7 +101,7 @@ translation_of: Learn/Getting_started_with_the_web/Publishing_your_website

-

Заметка: вы также можете использовать графический пользовательский интерфейс Git для этих же целей, если вам не удобно работать с командной строкой.

+

Примечание: вы также можете использовать графический пользовательский интерфейс Git для этих же целей, если вам не удобно работать с командной строкой.

У всех операционных систем есть командная строка:

@@ -136,7 +136,7 @@ git commit -m 'adding my files to my repository'
-

Заметка: Если вы застряли, GitHub Pages homepage будет очень полезна для вас.

+

Примечание: Если вы застряли, GitHub Pages homepage будет очень полезна для вас.

Дальнейшее изучение GitHub

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 28c23e57de..430ac96483 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 @@ -59,7 +59,7 @@ original_slug: Learn/HTML/Введение_в_HTML/Структура_докум

Это потому, что визуальные эффекты — это ещё не самое главное. Мы используем цвет и размер шрифта для привлечения внимания посетителей к наиболее полезным частям содержимого, такого как навигационное меню или связанные ссылки, но что насчёт людей со слабым зрением, к примеру, для которых концепция "розового" и "большого шрифта" не будет полезной?

-

Заметка: Люди с дальтонизмом составляют около 8% мирового населения. Слепые и слабовидящие люди составляют примерно 4-5% населения мира (в 2012 году в мире было 285 миллионов таких людей, а общая численность населения составляла около 7 миллиардов).

+

Примечание: Люди с дальтонизмом составляют около 8% мирового населения. Слепые и слабовидящие люди составляют примерно 4-5% населения мира (в 2012 году в мире было 285 миллионов таких людей, а общая численность населения составляла около 7 миллиардов).

В своём HTML-коде вы можете размечать разделы содержимого сайта на основе их функциональности — использовать элементы, которые представляют разделы контента, описанные выше, а вспомогательные технологии, такие как программы чтения с экрана, смогут распознавать эти элементы и помогать в таких задачах, как "найти основную навигацию" или "найти основное содержимое". Как мы упоминали ранее в ходе курса, существует ряд последствий неиспользования правильной структуры элементов и семантики для правильной работы.

diff --git a/files/ru/learn/javascript/asynchronous/async_await/index.html b/files/ru/learn/javascript/asynchronous/async_await/index.html index c6c6efe796..d51b0c0f24 100644 --- a/files/ru/learn/javascript/asynchronous/async_await/index.html +++ b/files/ru/learn/javascript/asynchronous/async_await/index.html @@ -291,7 +291,7 @@ displayContent()

Для обработки ошибок мы добавили блок .catch() для функции displayContent(); Это позволило нам отловить ошибки в обоих функциях.

-

Заметка: Мы также можем использовать синхронный блок finally внутри асинхронной функции, вместо асинхронного .finally(), чтобы получить информацию о результате нашей операции — смотрите в действии в нашем live example (смотрите source code).

+

Примечание: Мы также можем использовать синхронный блок finally внутри асинхронной функции, вместо асинхронного .finally(), чтобы получить информацию о результате нашей операции — смотрите в действии в нашем live example (смотрите source code).

Недостатки async/await

diff --git a/files/ru/learn/javascript/asynchronous/index.html b/files/ru/learn/javascript/asynchronous/index.html index 19d66b114c..847a7bf710 100644 --- a/files/ru/learn/javascript/asynchronous/index.html +++ b/files/ru/learn/javascript/asynchronous/index.html @@ -30,7 +30,7 @@ translation_of: Learn/JavaScript/Asynchronous

Если вы ещё не знакомы с концепциями асинхронного программирования, вам стоит начать со статьи Основные концепции асинхронного программирования в этом модуле. А если уже знакомы, то можете сразу переходить к статье Введение в асинхронный JavaScript.

-

Заметка: Если вы работаете за компьютером/планшетом/другим устройством где у вас нет возможности создавать собственные файлы, вы можете попробовать(почти все) примеры кода в одном из веб-приложений, таких, как JSBin или Thimble.

+

Примечание: Если вы работаете за компьютером/планшетом/другим устройством где у вас нет возможности создавать собственные файлы, вы можете попробовать(почти все) примеры кода в одном из веб-приложений, таких, как JSBin или Thimble.

Руководства

diff --git a/files/ru/learn/javascript/asynchronous/introducing/index.html b/files/ru/learn/javascript/asynchronous/introducing/index.html index 36a4d6f9cd..5783228cff 100644 --- a/files/ru/learn/javascript/asynchronous/introducing/index.html +++ b/files/ru/learn/javascript/asynchronous/introducing/index.html @@ -71,7 +71,7 @@ btn.addEventListener('click', () => {

{{EmbedLiveSample('Synchronous_JavaScript', '100%', '70px')}}

-

Заметка: Важно помнить, что alert(), хоть и часто используется для демонстрации синхронных блокирующих операций, сильно не рекомендован к использованию в реальных приложениях.

+

Примечание: Важно помнить, что alert(), хоть и часто используется для демонстрации синхронных блокирующих операций, сильно не рекомендован к использованию в реальных приложениях.

Асинхронный JavaScript

@@ -158,7 +158,7 @@ gods.forEach(function (eachName, index){ });
-

Заметка: вы можете посмотреть законченную версию на github (посмотрите исходный код и запустите пример).

+

Примечание: вы можете посмотреть законченную версию на github (посмотрите исходный код и запустите пример).

В примере видно, как fetch() принимает один параметр — URL ресурса, который нужно  получить из сети, — и возвращает промис. Промис или обещание — это объект, представляющий асинхронную операцию, выполненную удачно или неудачно. Он представляет собой как бы промежуточное состояние. По сути, это способ браузера сказать: "я обещаю вернуться к вам с ответом как можно скорее," отсюда и название "обещание."

@@ -171,7 +171,7 @@ gods.forEach(function (eachName, index){
-

Заметка: вы узнаете намного больше о promise позже в этом модуле, так что не волнуйтесь если вы что-нибудь не поняли.

+

Примечание: вы узнаете намного больше о promise позже в этом модуле, так что не волнуйтесь если вы что-нибудь не поняли.

Очередь событий

@@ -249,7 +249,7 @@ console.log("all done");

Это происходит потому, что в то же время браузер пытается запустить третий console.log(), блок fetch() ещё не закончил выполнение, поэтому переменная image ещё не имеет значения.

-

Заметка: Из соображений безопасности вы не можете применять fetch()  к файлам из вашей локальной системы (или запустить другие такие операции локально); чтобы запустить локально пример выше вам необходимо запустить его через локальный веб-сервер.

+

Примечание: Из соображений безопасности вы не можете применять fetch()  к файлам из вашей локальной системы (или запустить другие такие операции локально); чтобы запустить локально пример выше вам необходимо запустить его через локальный веб-сервер.

Активное обучение: сделайте все это асинхронно!

@@ -257,7 +257,7 @@ console.log("all done");

Чтобы исправить проблемный пример с  fetch() и заставить все три сообщения console.log() появиться в желаемом порядке, вы можете также запустить третье сообщение console.log() асинхронно. Этого можно добиться, переместив его внутрь другого блока .then() присоединённого к концу второго, или просто переместив его внутрь второго блока  then(). Попробуйте исправить это сейчас..

-

Заметка: Если вы застряли, вы можете найти ответ здесь (также можно посмотреть запущенный пример). Также вы можете найти много информации о промисах в нашем гайде Основные понятия асинхронного программирования позднее в этом модуле.

+

Примечание: Если вы застряли, вы можете найти ответ здесь (также можно посмотреть запущенный пример). Также вы можете найти много информации о промисах в нашем гайде Основные понятия асинхронного программирования позднее в этом модуле.

Заключение

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 b6d8eaf8fd..845b82d229 100644 --- a/files/ru/learn/javascript/building_blocks/looping_code/index.html +++ b/files/ru/learn/javascript/building_blocks/looping_code/index.html @@ -231,7 +231,7 @@ para.textContent = info;

{{ EmbedLiveSample('Hidden_code_2', '100%', 60) }}

-

Заметка: вы можете найти этот  пример на GitHub или  посмотреть онлайн.

+

Примечание: вы можете найти этот  пример на GitHub или  посмотреть онлайн.

Здесь показан цикл, используемый для перебора элементов в массиве и выполнения определённых действий с каждым из них — очень распространённый шаблон в JavaScript
@@ -251,11 +251,11 @@ para.textContent = info;

-

Заметка: Мы добавили условия выхода i < cats.length, а не i <= cats.length, потому что компьютеры считают с  0,  а не с 1 — в начале i = 0 и увеличивается до i = 4 (индекс последнего элемента массива). cats.length возвращает 5, т.к. в массиве 5 элементов, но нам не нужно увеличивать до i = 5, т.к. cats[5] вернёт undefined (в массиве нет элемента с индексом 5). Таким образом мы хотим придти к результату на 1 меньше, поэтому i < cats.length, не одно и тоже что i <= cats.length.

+

Примечание: Мы добавили условия выхода i < cats.length, а не i <= cats.length, потому что компьютеры считают с  0,  а не с 1 — в начале i = 0 и увеличивается до i = 4 (индекс последнего элемента массива). cats.length возвращает 5, т.к. в массиве 5 элементов, но нам не нужно увеличивать до i = 5, т.к. cats[5] вернёт undefined (в массиве нет элемента с индексом 5). Таким образом мы хотим придти к результату на 1 меньше, поэтому i < cats.length, не одно и тоже что i <= cats.length.

-

Заметка: Стандартной ошибкой с условием выхода является использование условия "равный" (===) ,а не "меньше или равно" (<=). Если нам нужно увеличить счётчик до i = 5, условие выхода должно быть i <= cats.length. Если мы установим i === cats.length, цикл не начнётся, т.к. i не равно 5 на самой первой итерации, поэтому цикл остановится сразу.

+

Примечание: Стандартной ошибкой с условием выхода является использование условия "равный" (===) ,а не "меньше или равно" (<=). Если нам нужно увеличить счётчик до i = 5, условие выхода должно быть i <= cats.length. Если мы установим i === cats.length, цикл не начнётся, т.к. i не равно 5 на самой первой итерации, поэтому цикл остановится сразу.

Остаётся одна небольшая проблема: выходная строка сформирована не совсем корректно:

@@ -275,7 +275,7 @@ para.textContent = info; }
-

Заметка: вы можете найти этот пример на GitHub или посмотреть онлайн.

+

Примечание: вы можете найти этот пример на GitHub или посмотреть онлайн.

@@ -384,7 +384,7 @@ btn.addEventListener('click', function() {
-

Заметка: вы можете посмотреть исходный код на GitHub  или запустить его (also see it running live).

+

Примечание: вы можете посмотреть исходный код на GitHub  или запустить его (also see it running live).

Пропуск итераций с продолжением

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 46db3d2b70..6da71e0814 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 @@ -249,7 +249,7 @@ var resetButton;
-

Заметка: В дальнейшем вы узнаете намного больше о переменных, в следующей статье.

+

Примечание: В дальнейшем вы узнаете намного больше о переменных, в следующей статье.

Функции (Functions)

@@ -273,7 +273,7 @@ var resetButton;

Вы должны увидеть предупреждение, в котором говорится "I am a placeholder"; в нашем коде мы определили функцию, которая создаёт предупреждение, когда её вызывают.

-

Заметка: В дальнейшем вы намного больше узнаете о функциях.

+

Примечание: В дальнейшем вы намного больше узнаете о функциях.

Операторы (Operators)

diff --git a/files/ru/learn/javascript/first_steps/arrays/index.html b/files/ru/learn/javascript/first_steps/arrays/index.html index e2da17c448..09daaac983 100644 --- a/files/ru/learn/javascript/first_steps/arrays/index.html +++ b/files/ru/learn/javascript/first_steps/arrays/index.html @@ -182,7 +182,7 @@ var random = ['tree', 795, [0, 1, 2]]; shopping; // shopping теперь возвратит [ "tahini", "milk", "cheese", "hummus", "noodles" ] -
Заметка: Мы уже упоминали это прежде, но просто как напоминание — компьютеры начинают считать с нуля!
+
Примечание: Мы уже упоминали это прежде, но просто как напоминание — компьютеры начинают считать с нуля!
  • Заметьте, что массив внутри массива называется многомерным массивом. Вы можете получить доступ к элементу внутри массива, который сам находится внутри другого массива, объединив два набора квадратных скобок. Например, для доступа к одному из элементов внутри массива, который является третьим элементом внутри массива random (см. предыдущую секцию данной статьи), мы могли бы сделать что-то вроде этого:
    random[2][2];
    @@ -221,7 +221,7 @@ for (var i = 0; i < sequence.length; i++) {

    Часто у вас могут быть некоторые необработанные данные, содержащиеся в большой длинной строке, и вы можете захотеть разделить полезные пункты до более удобной и полезной формы, а затем сделать что-то для них, например отобразить их в таблице данных. Для этого мы можем использовать метод {{jsxref ("String.prototype.split ()", "split ()")}}. В его простейшей форме он принимает единственный параметр, символ, который вы хотите отделить в строке, и возвращает подстроки между разделителем как элементы в массиве.

    -

    Заметка: Хорошо, технически это строковый метод, не метод массива, но мы поместили его в массивы, так как он хорошо подходит для них.

    +

    Примечание: Хорошо, технически это строковый метод, не метод массива, но мы поместили его в массивы, так как он хорошо подходит для них.

      diff --git a/files/ru/learn/javascript/first_steps/math/index.html b/files/ru/learn/javascript/first_steps/math/index.html index 3bd91ee39a..1fcdab52b0 100644 --- a/files/ru/learn/javascript/first_steps/math/index.html +++ b/files/ru/learn/javascript/first_steps/math/index.html @@ -185,7 +185,7 @@ num2 + num1 / 8 + 2;

      Результат этого выражения равен 6.

      -

      Заметка: полный список операторов JavaScript и приоритетов их выполнения можно найти по этой ссылке: Expressions and operators.

      +

      Примечание: полный список операторов JavaScript и приоритетов их выполнения можно найти по этой ссылке: Expressions and operators.

      Операторы инкремента и декремента

      @@ -292,7 +292,7 @@ var y = 4; // y содержит значение 4 x *= y; // x содержит значение 12
      -

      Заметка: есть ещё другие операторы присваивания, в этой статье перечислены только самые базовые.

      +

      Примечание: есть ещё другие операторы присваивания, в этой статье перечислены только самые базовые.

      Активное обучение: меняем размеры коробки

      @@ -368,7 +368,7 @@ x *= y; // x содержит значение 12
      -

      Заметка: вы можете заметить, что некоторые люди используют == и != в их программах для сравнения на равенство и неравенство — это валидные JavaScript-операторы, но они отличаются от ===/!== — первая пара проверяет на равенство/неравенство значений, не рассматривая их типы. Вторая пара - строгая версия первой, которая проверяет типы операндов. При использовании строгой версии выявляется больше ошибок, поэтому мы рекомендуем использовать именно её.

      +

      Примечание: вы можете заметить, что некоторые люди используют == и != в их программах для сравнения на равенство и неравенство — это валидные JavaScript-операторы, но они отличаются от ===/!== — первая пара проверяет на равенство/неравенство значений, не рассматривая их типы. Вторая пара - строгая версия первой, которая проверяет типы операндов. При использовании строгой версии выявляется больше ошибок, поэтому мы рекомендуем использовать именно её.

      Если вы попробуете использовать эти операторы в консоли, вы увидите, что все они возвращают значения true/false — о типе данных boolean мы писали в прошлой статье. С их помощью мы можем принимать решения в нашей программе, например:

      @@ -408,7 +408,7 @@ function updateBtn() {

      Мы использовали оператор равенства внутри функции updateBtn(). В этом случае мы не проверяем пару математических выражений на равенство значений — мы просто смотрим, является ли текст на кнопке определённой строкой — что по сути является тем же самым. Если кнопка при нажатии содержит "Start machine", мы меняем содержимое метки на "Stop machine" и обновляем метку. Если же текст кнопки — "Stop machine", при нажатии мы возвращаем все обратно. 

      -

      Заметка: Такой элемент управления, который переключается между двумя состояниями, обычно называется тумблером. Он переключается между одним состоянием и другим: свет включён, свет выключен и т. д.

      +

      Примечание: Такой элемент управления, который переключается между двумя состояниями, обычно называется тумблером. Он переключается между одним состоянием и другим: свет включён, свет выключен и т. д.

      Итого

      diff --git a/files/ru/learn/javascript/first_steps/variables/index.html b/files/ru/learn/javascript/first_steps/variables/index.html index 7c7b5e42ec..f67fcf8e93 100644 --- a/files/ru/learn/javascript/first_steps/variables/index.html +++ b/files/ru/learn/javascript/first_steps/variables/index.html @@ -196,7 +196,7 @@ var myAge;

      {{ EmbedLiveSample('Hidden_code', '100%', 300) }}

      -

      Заметка: в JavaScript все инструкции кода должны заканчиваться точкой с запятой (;) - ваш код может работать правильно для отдельных строк, но, вероятно, не будет, когда вы пишете несколько строк кода вместе. Попытайтесь превратить написание точки с запятой в привычку.

      +

      Примечание: в JavaScript все инструкции кода должны заканчиваться точкой с запятой (;) - ваш код может работать правильно для отдельных строк, но, вероятно, не будет, когда вы пишете несколько строк кода вместе. Попытайтесь превратить написание точки с запятой в привычку.

      Теперь проверим, существуют ли эти значения в среде выполнения. Для этого введём только имя переменной.

      @@ -209,7 +209,7 @@ myAge;
      scoobyDoo;
      -

      Заметка: Не путайте переменную, которая существует, но не имеет значения, с переменной, которая вообще не существует - это разные вещи.

      +

      Примечание: Не путайте переменную, которая существует, но не имеет значения, с переменной, которая вообще не существует - это разные вещи.

      Присвоение значения переменной

      @@ -231,7 +231,7 @@ myAge;

      Скорее всего, так вы будете писать большую часть времени, так как запись и выполнения кода с одно строки происходит быстрее, чем выполнение двух действий на двух отдельных строках.

      -

      Заметка: Если вы пишете многострочную программу JavaScript, которая объявляет и инициализирует (задаёт значение) переменную, вы можете объявить её после её инициализации, и она всё равно будет работать. Это связано с тем, что объявления переменных обычно выполняются первыми, прежде чем остальная часть кода будет выполнена. Это называется hoisting - прочитайте var hoisting для более подробной информации по этому вопросу.

      +

      Примечание: Если вы пишете многострочную программу JavaScript, которая объявляет и инициализирует (задаёт значение) переменную, вы можете объявить её после её инициализации, и она всё равно будет работать. Это связано с тем, что объявления переменных обычно выполняются первыми, прежде чем остальная часть кода будет выполнена. Это называется hoisting - прочитайте var hoisting для более подробной информации по этому вопросу.

      Обновление переменной

      @@ -256,7 +256,7 @@ myAge = 40;
      -

      Заметка: По ссылке можно найти довольно полный список зарезервированных ключевых слов: Lexical grammar — keywords.

      +

      Примечание: По ссылке можно найти довольно полный список зарезервированных ключевых слов: Lexical grammar — keywords.

      Примеры хороших имён переменных:

      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 950006b041..e8c0bcaf18 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 @@ -106,7 +106,7 @@ function updateName() {
      -

      Заметка: Большинство наших демо не будут корректно работать в старых браузерах — поэтому будет хорошей идеей,  для запуска вашего кода установить один из современных браузеров , таких как Firefox, Chrome, Edge или Opera . Также понадобится более подробно рассмотреть раздел по кроссбраузерному тестированию, когда вы приблизитесь к разработке производственного кода (т.е реального кода, который будут использовать клиенты).

      +

      Примечание: Большинство наших демо не будут корректно работать в старых браузерах — поэтому будет хорошей идеей,  для запуска вашего кода установить один из современных браузеров , таких как Firefox, Chrome, Edge или Opera . Также понадобится более подробно рассмотреть раздел по кроссбраузерному тестированию, когда вы приблизитесь к разработке производственного кода (т.е реального кода, который будут использовать клиенты).

      По умолчанию сторонние API-интерфейсы  не встроены в браузер, и вам придётся захватывать их код и информацию из какого-либо места в Сети. Для примера: 

      @@ -117,7 +117,7 @@ function updateName() {
      -

      Заметка: Эти API-и являются продвинутыми, и мы не будем их рассматривать в нашем курсе, но ссылки, данные выше, предлагают полную документацию, если вы заинтересованы в более подробной информации.

      +

      Примечание: Эти API-и являются продвинутыми, и мы не будем их рассматривать в нашем курсе, но ссылки, данные выше, предлагают полную документацию, если вы заинтересованы в более подробной информации.

      Доступно ещё больше! Но пока не заостряйте на этом внимание. Вы не сможете создать следующий Facebook, Google Maps или Instagram после 24 часов изучения JavaScript — сначала нужно изучить основы. И именно для этого вы здесь — давайте двигаться дальше!

      @@ -139,7 +139,7 @@ function updateName() {

      Каждая вкладка браузера представляет собой отдельную коробку для запуска кода (в техническом языке, эти коробки называются "средами исполнения") — это значит, что в большинстве случаев код на каждой вкладке запускается полностью отдельно, а код одной вкладки не может напрямую влиять на код другой вкладки или на другом веб-сайте. Это хорошая мера безопасности — если бы это было иначе, пираты могли написать код, который крал информацию с других сайтов или делал другие плохие вещи.

      -

      Заметка: Есть способы отправлять код и данные между разными веб-сайтами/вкладками безопасным способом, но это продвинутые методы, которые мы не будем рассматривать в рамках этого курса.

      +

      Примечание: Есть способы отправлять код и данные между разными веб-сайтами/вкладками безопасным способом, но это продвинутые методы, которые мы не будем рассматривать в рамках этого курса.

      Последовательность выполнения JavaScript

      @@ -160,7 +160,7 @@ function updateName() {

      Если вы поменяете порядок первых двух строк кода, он перестанет работать — вместо этого вы получите ошибку возвращаемую в консоль браузераTypeError: para is undefined. Это значит, что объект para ещё не существует и вы не можете добавить к нему обнаружение событий.

      -

      Заметка: Это очень частая ошибка — вы должны быть осторожны, чтобы объекты, на которые ссылается ваш код, существовали до того, как вы попытаетесь что-то с ними сделать.

      +

      Примечание: Это очень частая ошибка — вы должны быть осторожны, чтобы объекты, на которые ссылается ваш код, существовали до того, как вы попытаетесь что-то с ними сделать.

      Интерпретируемый против компилируемого кода

      @@ -216,11 +216,11 @@ function updateName() {
    -

    Заметка: Если ваш пример не работает, пройдите ещё раз все шаги и проверьте, сделали ли вы все правильно. Сохранили ли вы вашу локальную копию начального кода, как .html файл? Добавили ли ваш {{htmlelement("script")}} элемент после тэга </body>? Ввели ли вы JavaScript именно так, как показано? JavaScript регистрозависимый, и очень привередливый. Поэтому вам нужно вводить синтаксис именно так, как показано, в противном случае оно может не работать.

    +

    Примечание: Если ваш пример не работает, пройдите ещё раз все шаги и проверьте, сделали ли вы все правильно. Сохранили ли вы вашу локальную копию начального кода, как .html файл? Добавили ли ваш {{htmlelement("script")}} элемент после тэга </body>? Ввели ли вы JavaScript именно так, как показано? JavaScript регистрозависимый, и очень привередливый. Поэтому вам нужно вводить синтаксис именно так, как показано, в противном случае оно может не работать.

    -

    Заметка: вы можете увидеть эту версию на GitHub-е как apply-javascript-internal.html (посмотреть вживую).

    +

    Примечание: вы можете увидеть эту версию на GitHub-е как apply-javascript-internal.html (посмотреть вживую).

    Внешний JavaScript

    @@ -249,7 +249,7 @@ for(let i = 0; i < buttons.length ; i++) {
    -

    Заметка: вы можете увидеть эту версию на GitHub-е как apply-javascript-external.html и script.js (посмотреть вживую).

    +

    Примечание: вы можете увидеть эту версию на GitHub-е как apply-javascript-external.html и script.js (посмотреть вживую).

    Инлайновые JavaScript обработчики

    @@ -285,7 +285,7 @@ for(let i = 0; i < buttons.length ; i++) {

    Это может выглядеть немного длиннее, чем атрибут onclick, но это будет работать для всех кнопок, независимо от того, сколько их на странице, и сколько их удалят или добавят. JavaScript менять не нужно.

    -

    Заметка: Попробуйте отредактировать вашу версию apply-javascript.html и добавить ещё несколько кнопок в файл. После перезагрузки вы должны увидеть, что все кнопки создают параграф, если кликнуть на них. Классно, да?

    +

    Примечание: Попробуйте отредактировать вашу версию apply-javascript.html и добавить ещё несколько кнопок в файл. После перезагрузки вы должны увидеть, что все кнопки создают параграф, если кликнуть на них. Классно, да?

    Стратегии загрузки скриптов

    diff --git a/files/ru/learn/server-side/django/authentication/index.html b/files/ru/learn/server-side/django/authentication/index.html index 8cfcb82ab5..a4baafeae5 100644 --- a/files/ru/learn/server-side/django/authentication/index.html +++ b/files/ru/learn/server-side/django/authentication/index.html @@ -133,11 +133,11 @@ user.save()

    В этом разделе мы покажем, как интегрировать систему по умолчанию в Сайт LocalLibrary и создать шаблоны.  Мы поместим их в основные URL проекта.

    -

    Заметка: вы не должны использовать этот код, но вполне вероятно, что вы хотите, потому что это делает вещи намного проще. Вам почти наверняка потребуется изменить код обработки формы, если вы измените свою модель пользователя (сложная тема!) но даже в этом случае вы всё равно сможете использовать функции просмотра запасов.

    +

    Примечание: вы не должны использовать этот код, но вполне вероятно, что вы хотите, потому что это делает вещи намного проще. Вам почти наверняка потребуется изменить код обработки формы, если вы измените свою модель пользователя (сложная тема!) но даже в этом случае вы всё равно сможете использовать функции просмотра запасов.

    -

    Заметка: В этом случае мы могли бы разумно поместить страницы аутентификации, включая URL-адреса и шаблоны, в наше приложение каталога. Однако, если бы у нас было несколько приложений, было бы лучше отделить это общее поведение входа в систему и иметь его доступным на всем сайте, так что это то, что мы показали здесь!

    +

    Примечание: В этом случае мы могли бы разумно поместить страницы аутентификации, включая URL-адреса и шаблоны, в наше приложение каталога. Однако, если бы у нас было несколько приложений, было бы лучше отделить это общее поведение входа в систему и иметь его доступным на всем сайте, так что это то, что мы показали здесь!

    Проектирование URLs

    @@ -381,7 +381,7 @@ LOGIN_REDIRECT_URL = '/'

    Вы сможете проверить функцию сброса пароля по ссылке на странице входа. Имейте в виду, что Django отправляет только сбросные электронные письма на адреса (пользователи), которые уже хранятся в его базе данных!

    -

    Заметка: Система сброса пароля требует, чтобы ваш сайт поддерживал электронную почту, что выходит за рамки этой статьи, поэтому эта часть ещё не будет работать. Чтобы разрешить тестирование, поместите следующую строку в конец файла settings.py. Это регистрирует любые письма, отправленные на консоль (чтобы вы могли скопировать ссылку на сброс пароля с консоли).

    +

    Примечание: Система сброса пароля требует, чтобы ваш сайт поддерживал электронную почту, что выходит за рамки этой статьи, поэтому эта часть ещё не будет работать. Чтобы разрешить тестирование, поместите следующую строку в конец файла settings.py. Это регистрирует любые письма, отправленные на консоль (чтобы вы могли скопировать ссылку на сброс пароля с консоли).

    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
     
    @@ -432,7 +432,7 @@ def my_view(request): ...
    -

    Заметка: Вы можете сделать то же самое вручную, путём тестирования request.user.is_authenticated, но декоратор намного удобнее!

    +

    Примечание: Вы можете сделать то же самое вручную, путём тестирования request.user.is_authenticated, но декоратор намного удобнее!

    Аналогичным образом, самый простой способ ограничить доступ к зарегистрированным пользователям в ваших представлениях на основе классов - это производные от LoginRequiredMixin. Вы должны объявить этот mixin сначала в списке суперкласса, перед классом основного представления.

    @@ -516,7 +516,7 @@ class BookInstanceAdmin(admin.ModelAdmin):

    Теперь, когда возможно кредитовать книги конкретному пользователю, зайдите и заработайте на нескольких записей в BookInstance. Установите borrowed поле вашему тестовому пользователю, сделайте status «В займе» и установите сроки оплаты как в будущем, так и в прошлом.

    -

    Заметка: Мы не будем описывать процесс, так как вы уже знаете, как использовать Admin сайт!

    +

    Примечание: Мы не будем описывать процесс, так как вы уже знаете, как использовать Admin сайт!

    Займ в представлении

    diff --git a/files/ru/learn/server-side/django/deployment/index.html b/files/ru/learn/server-side/django/deployment/index.html index 318faf8a36..e3d7b75700 100644 --- a/files/ru/learn/server-side/django/deployment/index.html +++ b/files/ru/learn/server-side/django/deployment/index.html @@ -349,7 +349,7 @@ db_from_env = dj_database_url.config(conn_max_age=500) DATABASES['default'].update(db_from_env)
    -

    Заметка:

    +

    Примечание:

    • Мы все ещё будем использовать SQLite во время разработки, поскольку DATABASE_URL переменная среды не будет установлена ​​на нашем компьютере разработки.
    • @@ -410,7 +410,7 @@ STATIC_URL = '/static/' Существует множество способов обслуживания статических файлов на производстве (мы видели соответствующие настройки Django в предыдущих разделах). Heroku рекомендует использовать проект WhiteNoise для обслуживания статических активов непосредственно из Gunicorn в производстве.

      -

      Заметка: Heroku автоматически вызывает collectstatic и готовит ваши статические файлы для использования WhiteNoise после того, как он загрузит ваше приложение. Посмотрите WhiteNoise документацию для объяснения того, как она работает, и почему реализация является относительно эффективным методом для обслуживания этих файлов.

      +

      Примечание: Heroku автоматически вызывает collectstatic и готовит ваши статические файлы для использования WhiteNoise после того, как он загрузит ваше приложение. Посмотрите WhiteNoise документацию для объяснения того, как она работает, и почему реализация является относительно эффективным методом для обслуживания этих файлов.

      Шаги по настройке WhiteNoise для использования в проекте:

      @@ -471,7 +471,7 @@ whitenoise==3.2.2
      python-3.5.2
      -

      Заметка: Heroku поддерживает только небольшое количество Python runtimes. (на момент написания статьи, в том числе и выше). Heroku будет использовать поддерживаемую среду выполнения независимо от значения, указанного в этом файле.

      +

      Примечание: Heroku поддерживает только небольшое количество Python runtimes. (на момент написания статьи, в том числе и выше). Heroku будет использовать поддерживаемую среду выполнения независимо от значения, указанного в этом файле.

      Сохраните изменения в Github и перепроверьте

      @@ -516,7 +516,7 @@ git push origin master
      heroku create
      -

      Заметка: вы можете назвать удалённый, если хотите, указав значение после «create». Если вы этого не сделаете, вы получите случайное имя. Имя используется в URL-адресе по умолчанию.

      +

      Примечание: вы можете назвать удалённый, если хотите, указав значение после «create». Если вы этого не сделаете, вы получите случайное имя. Имя используется в URL-адресе по умолчанию.

      Затем мы можем подтолкнуть наше приложение в репозиторий heroku как показано ниже. Это позволит загрузить приложение, упаковать его в dyno, запустить collectstatic, и запустить сам сайт.

      @@ -567,7 +567,7 @@ DATABASE_URL: postgres://uzfnbcyxidzgrl:j2jkUFDF6OGGqxkgg7Hk3ilbZI@ec2-54-243-20

      Если вы вспомните из раздела, посвящённого  getting the website ready to publish, мы должны установить переменные среды для DJANGO_SECRET_KEY и DJANGO_DEBUG. Давайте сделаем это сейчас.

      -

      Заметка: Секретный ключ должен быть действительно секретным! Один из способов генерации нового ключа - создать новый проект Django (django-admin startproject someprojectname) а затем получить ключ, который генерируется для вас в его settings.py.

      +

      Примечание: Секретный ключ должен быть действительно секретным! Один из способов генерации нового ключа - создать новый проект Django (django-admin startproject someprojectname) а затем получить ключ, который генерируется для вас в его settings.py.

      Мы устанавливаем  DJANGO_SECRET_KEY используя команду config:set (как показано ниже). Не забудьте использовать свой секретный ключ!

      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 7fec548a29..133049349e 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 @@ -165,7 +165,7 @@ translation_of: Learn/Server-side/Django/django_assessment_blog
    -

    Заметка: Конечно, есть много других тестов, которые вы можете запустить. Используйте на своё усмотрение, но мы ожидаем, что вы сделаете хотя бы тесты выше.

    +

    Примечание: Конечно, есть много других тестов, которые вы можете запустить. Используйте на своё усмотрение, но мы ожидаем, что вы сделаете хотя бы тесты выше.

    В следующем разделе показаны скриншоты сайта, который выполняет перечисленные выше требования.

    diff --git a/files/ru/learn/server-side/django/introduction/index.html b/files/ru/learn/server-side/django/introduction/index.html index 2d3fe384c6..4df75a80cf 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/Введение

    Django продолжает расти и улучшаться с момента его первого релиза (1.0) в сентябре 2008 года до недавно выпущенной версии 3.1 (2020). В каждой версии добавлены новые функциональные возможности и исправлены ошибки, начиная от поддержки новых типов баз данных, шаблонизаторов и кеширования, до добавления «общих» функций просмотра и классов (уменьшающих объём кода, который разработчики должны писать для ряда программных задач).

    -

    Заметка: Ознакомьтесь с примечаниями к версии на сайте Django, чтобы увидеть что изменилось в последних версиях и как много работы было проделано, чтобы улучшить Django.

    +

    Примечание: Ознакомьтесь с примечаниями к версии на сайте Django, чтобы увидеть что изменилось в последних версиях и как много работы было проделано, чтобы улучшить Django.

    Django — это процветающий совместный проект с открытым исходным кодом, в котором заняты многие тысячи пользователей и участников. Несмотря на то, что у него всё ещё есть некоторые особенности, которые отражают его происхождение, Django превратился в универсальный фреймворк, способный разрабатывать веб-сайты любого типа.

    @@ -100,7 +100,7 @@ original_slug: Learn/Server-side/Django/Введение
    -

    Заметка: Django реализует уровневую архитектуру "Model View Template (MVT)". Она имеет много общего с более известной архитектурой Model View Controller

    +

    Примечание: Django реализует уровневую архитектуру "Model View Template (MVT)". Она имеет много общего с более известной архитектурой Model View Controller

      @@ -143,7 +143,7 @@ def index(request):
      -

      Заметка: Немного Python:

      +

      Примечание: Немного Python:

      • Модули Python это библиотеки функций, сохранённые в различных файлах, которые мы можем использовать в нашем коде. Здесь мы импортируем только объект HttpResponse из модуля django.http чтобы использовать его в нашем отображении (view): from django.http import HttpResponse . Также есть другие способы импортирования некоторых или всех объектов модуля.
      • @@ -179,7 +179,7 @@ class Team(models.Model):
        -

        Заметка: Немного Python:

        +

        Примечание: Немного Python:

        • Python поддерживает «объектно-ориентированное программирование», то есть стиль программирования, в котором мы организуем наш код в объекты, которые включают связанные данные и функции для работы с этими данными. Объекты также могут наследовать / расширять / выводить из других объектов, позволяя использовать одинаковое поведение между связанными объектами. В Python мы используем ключевое слово class, чтобы определить «скелет» для объекта. Мы можем создать несколько конкретных экземпляров типа объекта на основе модели в классе.
          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 821bbf9063..2b993a5717 100644 --- a/files/ru/learn/server-side/django/skeleton_website/index.html +++ b/files/ru/learn/server-side/django/skeleton_website/index.html @@ -39,7 +39,7 @@ translation_of: Learn/Server-side/Django/skeleton_website
        • Использовать django-admin для создания папки проекта, шаблонов остальных файлов, и скрипта для управления проектом (manage.py).
        • Использовать manage.py для создания одного или нескольких приложений.
          -

          Заметка: Сайт может состоять из одной или нескольких различных частей, например: основная часть, блог, вики, раздел загрузок, и так далее. Философия Django подталкивает разработчиков создавать эти части, как разные приложения, которые, если понадобится, могут быть использованы повторно в других проектах. 

          +

          Примечание: Сайт может состоять из одной или нескольких различных частей, например: основная часть, блог, вики, раздел загрузок, и так далее. Философия Django подталкивает разработчиков создавать эти части, как разные приложения, которые, если понадобится, могут быть использованы повторно в других проектах. 

        • Зарегистрировать в настройках эти приложения, чтобы использовать их в проекте.
        • @@ -94,7 +94,7 @@ cd locallibrary
          python3 manage.py startapp catalog
          -

          Заметка: приведённая выше команда справедлива для GNU Linux/Mac OS. На Windows команда должна иметь вид: py -3 manage.py startapp catalog

          +

          Примечание: приведённая выше команда справедлива для GNU Linux/Mac OS. На Windows команда должна иметь вид: py -3 manage.py startapp catalog

          Если вы работаете под Windows, заменяйте команду python3 на py -3 в этой и следующих статьях.

          @@ -124,7 +124,7 @@ cd locallibrary
        -

        Заметка: Заметили, что некоторых файлов не хватает? В то время, как там нашли себе место файлы для контроллеров(views) и моделей(models), файлов для настройки url соотносителя, шаблонов, и статичных файлов создано не было. Далее мы покажем, как их создать (они не обязательны для каждого сайта, но нужны в данном примере).

        +

        Примечание: Заметили, что некоторых файлов не хватает? В то время, как там нашли себе место файлы для контроллеров(views) и моделей(models), файлов для настройки url соотносителя, шаблонов, и статичных файлов создано не было. Далее мы покажем, как их создать (они не обязательны для каждого сайта, но нужны в данном примере).

        Регистрация папки с приложением

        @@ -146,7 +146,7 @@ cd locallibrary

        Новая строка указывает на файл конфигурации приложения (CatalogConfig), который был создан в /locallibrary/catalog/apps.py , когда вы создали приложение.

        -

        Заметка: Легко заметить, что в INSTALLED_APPS уже подключено большое количество приложений (и объектов MIDDLEWARE, ниже в файле конфигурации). Они добавляют поддержку админ-панели Django и, как следствие, огромное количество функциональности (включая сессии, аутентификацию и прочее).

        +

        Примечание: Легко заметить, что в INSTALLED_APPS уже подключено большое количество приложений (и объектов MIDDLEWARE, ниже в файле конфигурации). Они добавляют поддержку админ-панели Django и, как следствие, огромное количество функциональности (включая сессии, аутентификацию и прочее).

        Настройка базы данных

        @@ -246,7 +246,7 @@ urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
        -

        Заметка: Существуют различные способы дополнения списка urlpatterns (в примере мы просто добавляли объект, используя оператор += чтобы чётко разделить изначальный и дописанный код). Вместо этого, мы могли бы добавить соотношения внутрь определения переменной:

        +

        Примечание: Существуют различные способы дополнения списка urlpatterns (в примере мы просто добавляли объект, используя оператор += чтобы чётко разделить изначальный и дописанный код). Вместо этого, мы могли бы добавить соотношения внутрь определения переменной:

        urlpatterns = [   path('admin/', admin.site.urls),
         path('catalog/', include('catalog.urls')),path('',
        @@ -292,7 +292,7 @@ python3 manage.py migrate
         

        Команда migrate применяет созданные миграции к базе (Django отслеживает, какие миграции были созданы для данной базы).

        -

        Заметка: Посмотрите раздел Миграции в документации Django чтобы получить информацию о менее распространённых командах для управления миграциями.

        +

        Примечание: Посмотрите раздел Миграции в документации Django чтобы получить информацию о менее распространённых командах для управления миграциями.

        Запуск сайта

        @@ -300,7 +300,7 @@ python3 manage.py migrate

        Во время разработки, вы можете проверить свой сайт, разместив его на встроенном отладочном сервере, и просмотрев его в своём браузере. 

        -

        Заметка: Отладочный веб-сервер не настолько функционален и производителен, для постоянного размещения , но это самый простой способ запустить свой сайт на Django и проверить его на наличие ошибок. По умолчанию, он разместит сайт на вашем компьютере (http://127.0.0.1:8000/), но вы так же можете указать различные компьютеры в вашей сети для этой цели. Для получения большего количества информации загляните в раздел django-admin и manage.py: отладочный сервер документации Django.

        +

        Примечание: Отладочный веб-сервер не настолько функционален и производителен, для постоянного размещения , но это самый простой способ запустить свой сайт на Django и проверить его на наличие ошибок. По умолчанию, он разместит сайт на вашем компьютере (http://127.0.0.1:8000/), но вы так же можете указать различные компьютеры в вашей сети для этой цели. Для получения большего количества информации загляните в раздел django-admin и manage.py: отладочный сервер документации Django.

        Запустите веб-сервер, используя команду runserver (в той же папке, что и manage.py):

        @@ -323,13 +323,13 @@ python3 manage.py migrate

        Не волнуйтесь! Эта страница должна появиться и сообщить нам, что мы ещё не настроили ни одной страницы в модуле catalogs.urls (на который мы были перенаправлены запросили корневой URL сайта). 

        -

        Заметка: Показанная выше страница открывает нам одно из замечательных свойств Django — автоматические отчёты об ошибках. На экране с ошибкой отображается множество полезной информации, когда страница не найдена, или ошибка была вызвана кодом. В данном случае, мы видим, что запрошенный URL  не соответствует ни одному шаблону (из указанных). Подобные отчёты будут выключены при DEBUG=False (когда мы разместим приложение в Сеть), в этом случае будет показана менее информативная, но более дружелюбная к пользователю страница(которую вам надо будет создать - прим. переводчика).

        +

        Примечание: Показанная выше страница открывает нам одно из замечательных свойств Django — автоматические отчёты об ошибках. На экране с ошибкой отображается множество полезной информации, когда страница не найдена, или ошибка была вызвана кодом. В данном случае, мы видим, что запрошенный URL  не соответствует ни одному шаблону (из указанных). Подобные отчёты будут выключены при DEBUG=False (когда мы разместим приложение в Сеть), в этом случае будет показана менее информативная, но более дружелюбная к пользователю страница(которую вам надо будет создать - прим. переводчика).

        На данном этапе, мы поняли, что Django работает должным образом! 

        -

        Заметка: вам следует перезапускать миграцию и заново тестировать сайт, после того как вы делаете важные изменения. Поверьте, это не займёт много времени!

        +

        Примечание: вам следует перезапускать миграцию и заново тестировать сайт, после того как вы делаете важные изменения. Поверьте, это не займёт много времени!

        Домашнее задание

        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 219f5639b0..42ef060f72 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 @@ -53,7 +53,7 @@ block content

        Author List Page - Express Local Library site

        -

        Заметка: Представление дат продолжительности жизни автора выглядит безобразно! Это можно исправить, если использовать тот же подход , который применялся для списка BookInstance  (добавить в модель Author виртуальное свойство  продолжительности жизни).  Но в этот раз, однако, некоторые даты могут отсутствовать, и ссылки на несуществующие свойства игнорируются, если не задан строгий режим.  Метод moment() возвращает текущее время, и нежелательно, чтобы отсутствующие  даты форматировались как "сегодня". Один из способов состоит в том, чтобы форматирующая функция возвращала пустую строку, если дата не существует. Например:

        +

        Примечание: Представление дат продолжительности жизни автора выглядит безобразно! Это можно исправить, если использовать тот же подход , который применялся для списка BookInstance  (добавить в модель Author виртуальное свойство  продолжительности жизни).  Но в этот раз, однако, некоторые даты могут отсутствовать, и ссылки на несуществующие свойства игнорируются, если не задан строгий режим.  Метод moment() возвращает текущее время, и нежелательно, чтобы отсутствующие  даты форматировались как "сегодня". Один из способов состоит в том, чтобы форматирующая функция возвращала пустую строку, если дата не существует. Например:

        return this.date_of_birth ? moment(this.date_of_birth).format('YYYY-MM-DD') : '';

        diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/book_list_page/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/book_list_page/index.html index 6bbab5a709..7fe1695792 100644 --- a/files/ru/learn/server-side/express_nodejs/displaying_data/book_list_page/index.html +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/book_list_page/index.html @@ -49,7 +49,7 @@ block content

        View расширит базовый шаблон layout.pug и переопределит block с именем 'content'. Он отображает  title который мы передали из контроллера (с помощью метода render() ), а затем перебирает переменную book_list  используя синтаксис each-in-else . Для каждой книги создаётся элемент списка, отображающий название книги в виде ссылки на страницу сведений о книге, за которой следует имя автора. Если в  book_list нет книг,  то выполняется else, и  отображается текст "нет книг".'

        -

        Заметка: Мы используем book.url  для предоставления ссылки на подробную запись для каждой книги (мы реализовали этот маршрут, но не страницу). Это виртуальное свойство модели Book , которая использует поле  _id для создания уникального URL.

        +

        Примечание: Мы используем book.url  для предоставления ссылки на подробную запись для каждой книги (мы реализовали этот маршрут, но не страницу). Это виртуальное свойство модели Book , которая использует поле  _id для создания уникального URL.

        Здесь интересно, что каждая книга определена в двух строках, использование конвейера для второй строки (выделено выше) необходимо, чтобы имя автора не стало частью гиперссылки из первой строки.

        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 84e9925d43..c873fef846 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 @@ -8,7 +8,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/Date_formatting

        Подход, который будет использован, состоит в  создании виртуального свойства в модели BookInstance,  которое будет возвращать отформатированную дату. Форматирование будет производиться с использованием moment, легковесной библиотеки JavaScript для разбора, проверки, изменения и форматирования дат.

        -

        Заметка: Можно применять moment для форматирования непосредственно в шаблонах Pug, а можно отформатировать строку в других местах. Использование виртуального свойства позволяет получить дату, отформатированную точно так же, как при помощи due_date

        +

        Примечание: Можно применять moment для форматирования непосредственно в шаблонах Pug, а можно отформатировать строку в других местах. Использование виртуального свойства позволяет получить дату, отформатированную точно так же, как при помощи due_date

        Установка moment

        @@ -35,7 +35,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/Date_formatting });
        -

        Заметка: Метод format method может вывести дату почти по любому образцу. Синтаксис для представления различных составляющих даты можно найти в документации ( moment documentation).

        +

        Примечание: Метод format method может вывести дату почти по любому образцу. Синтаксис для представления различных составляющих даты можно найти в документации ( moment documentation).

        Обновляем представление

        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 c09963fb70..ea3160636f 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 @@ -82,7 +82,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/flow_control_us );
        -

        Заметка: Спецификация языка ECMAScript (JavaScript) устанавливает, что порядок  в перечислении объектов не определён, поэтому возможно, что функции не будут вызываться в том порядке, в котором вы их задали на всех платформах. Если порядок вызова действительно важен, вместо объекта следует передавать массив, как показано ниже.

        +

        Примечание: Спецификация языка ECMAScript (JavaScript) устанавливает, что порядок  в перечислении объектов не определён, поэтому возможно, что функции не будут вызываться в том порядке, в котором вы их задали на всех платформах. Если порядок вызова действительно важен, вместо объекта следует передавать массив, как показано ниже.

        async.series([
        diff --git a/files/ru/learn/server-side/express_nodejs/displaying_data/home_page/index.html b/files/ru/learn/server-side/express_nodejs/displaying_data/home_page/index.html
        index 05b2dc3976..2a7512f60d 100644
        --- a/files/ru/learn/server-side/express_nodejs/displaying_data/home_page/index.html
        +++ b/files/ru/learn/server-side/express_nodejs/displaying_data/home_page/index.html
        @@ -27,7 +27,7 @@ router.get('/', book_controller.index);  //This actually maps to /catalog/ becau
         

        Функция контроллера индекса должна получать информацию о том, сколько книг (Book), экземпляров книг (BookInstance), сколько из них доступно, сколько авторов (Author), жанров (Genre) имеется в БД, должна поместить эту информацию в шаблон, чтобы создать  HTML-страницу, после чего вернуть её в  HTTP-ответе.

        -

        Заметка: Количество экземпляров в каждой модели вычисляется при помощи метода countDocuments() . Он вызывается для модели с возможным набором условий, необходимых для проверки соответствия первому аргументу и колбэк-функции второго аргумента (обсуждалось ранее в "Использование базы данных с Mongoose" Using a Database (with Mongoose)), причём можно вернуть также запрос Query, а затем выполнить его позже при помощи callback. Эта  колбэк-функция будет выполняться, когда БД вернёт количество записей.  Значение ошибки (or null) будет первым параметром, а количество записей (или null, если была ошибка) -  вторым параметром.

        +

        Примечание: Количество экземпляров в каждой модели вычисляется при помощи метода countDocuments() . Он вызывается для модели с возможным набором условий, необходимых для проверки соответствия первому аргументу и колбэк-функции второго аргумента (обсуждалось ранее в "Использование базы данных с Mongoose" Using a Database (with Mongoose)), причём можно вернуть также запрос Query, а затем выполнить его позже при помощи callback. Эта  колбэк-функция будет выполняться, когда БД вернёт количество записей.  Значение ошибки (or null) будет первым параметром, а количество записей (или null, если была ошибка) -  вторым параметром.

        SomeModel.countDocuments({ a_model_field: 'match_value' }, function (err, count) {
          // ... do something if there is an err
        @@ -81,7 +81,7 @@ exports.index = function(req, res) {
         

        При успешном завершении колбэк-функции она вызывает res.render(), у которой в качестве параметров - представление (шаблон)  'index' и объект, содержащий данные, которые следует поместить в шаблон (среди них - количества элементов в моделях). Данные представлены как пары ключ-значение, и могут быть получены в шаблоне по ключу.

        -

        Заметка:  В данном случае колбэк-функция, которую вызывает async.parallel() , несколько необычная - страница отображается всегда, независимо от того, была ошибка или нет (обычно используют отдельный путь выполнения для обработки выводимых ошибок).

        +

        Примечание:  В данном случае колбэк-функция, которую вызывает async.parallel() , несколько необычная - страница отображается всегда, независимо от того, была ошибка или нет (обычно используют отдельный путь выполнения для обработки выводимых ошибок).

        Представление

        @@ -113,7 +113,7 @@ block content

        Под заголовком Dynamic content  мы проверяем, определена ли переданная из функции render() переменная error. Если да, отмечаем ошибку. Если нет, выводим ( как список) количества копий каждой модели, которые хранятся в переменной data.

        -

        Заметка:  Мы не экранируем количества элементов (т.е. используется синтаксис !{} ) потому что эти значения вычисляются. Если бы информация предоставлялась конечным пользователем, следовало бы экранировать переменную перед выводом.

        +

        Примечание:  Мы не экранируем количества элементов (т.е. используется синтаксис !{} ) потому что эти значения вычисляются. Если бы информация предоставлялась конечным пользователем, следовало бы экранировать переменную перед выводом.

        Как это выглядит?

        @@ -123,7 +123,7 @@ block content

        Home page - Express Local Library site

        -

        Заметка:  Элементы бокового меню использовать ещё нельзя, так как адреса, представления и шаблоны для этих страниц ещё не определены. Если вы попытаетесь их использовать, будет выведено сообщение об ошибке, например,  вида "NOT IMPLEMENTED: Book list" (НЕ РЕАЛИЗОВАНО: список книг), в зависимости от выбранного элемента меню.  Эти строковые литералы (которые будут замещены действительными данными) были заданы в различных файлах контроллеров в каталоге "controllers".

        +

        Примечание:  Элементы бокового меню использовать ещё нельзя, так как адреса, представления и шаблоны для этих страниц ещё не определены. Если вы попытаетесь их использовать, будет выведено сообщение об ошибке, например,  вида "NOT IMPLEMENTED: Book list" (НЕ РЕАЛИЗОВАНО: список книг), в зависимости от выбранного элемента меню.  Эти строковые литералы (которые будут замещены действительными данными) были заданы в различных файлах контроллеров в каталоге "controllers".

        Next steps

        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 7eeebc6e2a..adcb7f0bce 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 @@ -12,7 +12,7 @@ translation_of: Learn/Server-side/Express_Nodejs/Displaying_data/Template_primer

        Разные языки шаблонов используют различные подходы для определения внешнего вида и разметки позиций для данных—некоторые используют HTML для определения внешнего вида, тогда как другие применяют различные форматы разметки, которые затем должны компилироваться в  HTML. Pug - второго типа; он использует представление (representation)  HTML, в котором первое слово в каждой строке обычно представляет элемент HTML, а отступы в следующих строках применяются, чтобы представить вложенные элементы. Результатом является определение страницы, которое транслируется непосредственно в HTML, и которое, вероятно, более краткое и легче читается.

        -

        Заметка: недостаток применения Pug - это чувствительность к отступам и пробелам (если добавить лишний пробел в "плохом" месте, можно получить невразумительный код ошибки). Однако, если ваши шаблоны уже действуют, их очень легко читать и поддерживать.

        +

        Примечание: недостаток применения Pug - это чувствительность к отступам и пробелам (если добавить лишний пробел в "плохом" месте, можно получить невразумительный код ошибки). Однако, если ваши шаблоны уже действуют, их очень легко читать и поддерживать.

        Конфигурация шаблона

        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 a277b6522c..7246a06622 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 @@ -35,7 +35,7 @@ exports.author_delete_get = function(req, res, next) {

        Контроллер получает id экземпляра Author для удаления из параметра URL  (req.params.id). Он использует метод  async.parallel() , чтобы получить запись автора и параллельно вс связанные книги. Когда оба параметра авершины, он рендерит страницу  author_delete.pug, передаёт значения для title, author, и author_books.

        -

        Заметка: Если findById() не возвращает результатов, то автор отсутствует в базе данных. В этом случае удалять нечего, поэтому сразу выводим список всех авторов.

        +

        Примечание: Если findById() не возвращает результатов, то автор отсутствует в базе данных. В этом случае удалять нечего, поэтому сразу выводим список всех авторов.

        }, function(err, results) {
             if (err) { return next(err); }
        @@ -80,7 +80,7 @@ exports.author_delete_post = function(req, res, next) {
         

        Сначала мы проверяем, что был предоставлен id (он отправляется через параметры тела формы, а не через версию в URL). Затем мы получаем автора и связанные с ним книги так же, как и для маршрута GET. Если книг нет, то удаляем объект автора и перенаправляем в список всех авторов. Если есть ещё книги, то мы просто перерисовываем форму, передавая автора и список книг, которые нужно удалить.

        -

        Заметка: Мы можем проверить, возвращает ли вызов findbyid () какой-либо результат, и если нет, немедленно отобразить список всех авторов.Для краткости мы оставили код как есть выше (он всё равно вернёт список авторов, если id не будет найден, но это произойдёт после findByIdAndRemove()).

        +

        Примечание: Мы можем проверить, возвращает ли вызов findbyid () какой-либо результат, и если нет, немедленно отобразить список всех авторов.Для краткости мы оставили код как есть выше (он всё равно вернёт список авторов, если id не будет найден, но это произойдёт после findByIdAndRemove()).

        View

        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 55eab9d0c1..1a6208f065 100644 --- a/files/ru/learn/server-side/express_nodejs/forms/index.html +++ b/files/ru/learn/server-side/express_nodejs/forms/index.html @@ -35,7 +35,7 @@ translation_of: Learn/Server-side/Express_Nodejs/forms

        В этом уроке мы покажем вам, как вышеуказанные операции могут быть выполнены в Express. По пути мы расширим веб-сайт LocalLibrary, чтобы пользователи могли создавать, редактировать и удалять элементы из библиотеки.

        -

        Заметка: Мы не рассматривали, как ограничить определённые маршруты аутентифицированными или авторизованными пользователями, поэтому на данный момент любой пользователь сможет вносить изменения в базу данных.

        +

        Примечание: Мы не рассматривали, как ограничить определённые маршруты аутентифицированными или авторизованными пользователями, поэтому на данный момент любой пользователь сможет вносить изменения в базу данных.

        HTML Forms

        diff --git a/files/ru/learn/server-side/express_nodejs/index.html b/files/ru/learn/server-side/express_nodejs/index.html index 4270b6bc7d..ca0f7678b2 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

        Перед началом этого модуля вам необходимо представлять, что из себя представляет серверное программирование и веб-фреймворки, желательно из прочтения статей другого модуля Server-side website programming first steps. Знакомство с основными концепциями программирования и языком программирования JavaScript будет очень полезным, но оно не является обязательным для понимания базовых понятий этого модуля.

        -

        Заметка: Этот веб-сайт содержит множество источников для изучения JavaScript в контексте  разработки на стороне клиента: JavaScriptJavaScript Guide, JavaScript BasicsJavaScript (изучение). Ключевые особенности и концепции языка JavaScript остаются сходными и для серверной разработки на Node.js и используемый материал достаточно релевантен. Node.js предоставляет additional APIs для обеспечения функциональности, которая полезна для "безбраузерной" разработки, т.е. для создания HTTP-сервера и доступа к файловой системе, но не поддерживает JavaScript APIs для работы с браузером и DOM.

        +

        Примечание: Этот веб-сайт содержит множество источников для изучения JavaScript в контексте  разработки на стороне клиента: JavaScriptJavaScript Guide, JavaScript BasicsJavaScript (изучение). Ключевые особенности и концепции языка JavaScript остаются сходными и для серверной разработки на Node.js и используемый материал достаточно релевантен. Node.js предоставляет additional APIs для обеспечения функциональности, которая полезна для "безбраузерной" разработки, т.е. для создания HTTP-сервера и доступа к файловой системе, но не поддерживает JavaScript APIs для работы с браузером и DOM.

        Это руководство обеспечит вас некоторой информацией о работе с Node.js и Express, но также существуют и другие многочисленные отличные ресурсы в Интернете и книгах — некоторые из них доступны из тем How do I get started with Node.js (StackOverflow) и What are the best resources for learning Node.js? (Quora).

        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 2bdb148679..2345984700 100644 --- a/files/ru/learn/server-side/express_nodejs/mongoose/index.html +++ b/files/ru/learn/server-side/express_nodejs/mongoose/index.html @@ -106,13 +106,13 @@ translation_of: Learn/Server-side/Express_Nodejs/mongoose

        Также показаны отношения между моделями, включая множественные отношения. Числа на линиях связи показывают максимум и минимум  моделей, участвующих отношении. Например, линия между Book и Genre показывает, что Book и Genre связаны. Числа на этой линии рядом с моделью Book показывают, что жанр может быть связан с любым количеством книг, а числа на другом конце линии рядом с Genre отмечают, что книга может быть связана с любым количеством жанров.

        -

        Заметка: Как показано в примереMongoose primer ниже, часто лучше иметь поле, определяющее отношение между документами (моделями), только в одной модели (обратное отношение можно найти по присвоенному идентификатору _id в другой модели). Ниже мы предпочли задать отношения между Book/Genre и между Book/Author в схеме  Book, а отношение между  Book/BookInstance -- в схеме BookInstance. Этот выбор в некотором смысле был произвольным -- таким же хорошим мог бы быть выбор другого поля в другой схеме.

        +

        Примечание: Как показано в примереMongoose primer ниже, часто лучше иметь поле, определяющее отношение между документами (моделями), только в одной модели (обратное отношение можно найти по присвоенному идентификатору _id в другой модели). Ниже мы предпочли задать отношения между Book/Genre и между Book/Author в схеме  Book, а отношение между  Book/BookInstance -- в схеме BookInstance. Этот выбор в некотором смысле был произвольным -- таким же хорошим мог бы быть выбор другого поля в другой схеме.

        Mongoose Library Model  with correct cardinality

        -

        Заметка: В следующем разделе дан базовый пример, в котором объясняется, как задавать и как использовать модели. При чтении обратите внимание, как будут создаваться модели, приведённые на диаграмме.

        +

        Примечание: В следующем разделе дан базовый пример, в котором объясняется, как задавать и как использовать модели. При чтении обратите внимание, как будут создаваться модели, приведённые на диаграмме.

        Mongoose Справочник

        @@ -168,7 +168,7 @@ db.on('error', console.error.bind(console, 'MongoDB connection error:'));

        Схемы "компилируются "  в окончательную модель методом  mongoose.model(). После создания модели её можно использовать для поиска, создания, обновления и удаления объектов данного типа.

        -

        Заметка: Каждой модели соответствует коллекция документов в ДБ MongoDB. Документы будут содержать поля тех типов, которые заданы в модели Schema.

        +

        Примечание: Каждой модели соответствует коллекция документов в ДБ MongoDB. Документы будут содержать поля тех типов, которые заданы в модели Schema.

        Определение схем данных

        @@ -207,7 +207,7 @@ var SomeModel = mongoose.model('SomeModel', SomeModelSchema );

        Первый аргумент - уникальное имя создаваемой для модели коллекции(Mongoose создаст коллекцию для модели SomeModel), второй аргумент - схема, которая используется для создания модели.

        -

        Заметка: После создания классов модели они могут применяться для создания, обновления или удаления записей в базе, для выполнения запросов по всем записям или по их подмножествам. Как это делать, будет показано в разделе Использование моделей, и когда будут создаваться представления.

        +

        Примечание: После создания классов модели они могут применяться для создания, обновления или удаления записей в базе, для выполнения запросов по всем записям или по их подмножествам. Как это делать, будет показано в разделе Использование моделей, и когда будут создаваться представления.

        Типы схемы (поля)

        @@ -361,7 +361,7 @@ Athlete.find({ 'sport': 'Tennis' }, 'name age', function (err, athletes) {

        Если задать колбэк-функцию так, как показано выше, запрос будет выполнен немедленно. Однако колбэк-функция будет вызвана только после завершения поиска.

        -

        Заметка: Все колбэк-функции в Mongoose используют образец callback(error, result). Если при выполнении запроса возникает ошибка, параметр error будет содержать объект error, а result будет null. При успешном запросе параметр error будет null, а result будет содержать результат запроса.

        +

        Примечание: Все колбэк-функции в Mongoose используют образец callback(error, result). Если при выполнении запроса возникает ошибка, параметр error будет содержать объект error, а result будет null. При успешном запросе параметр error будет null, а result будет содержать результат запроса.

        Если не задать колбэк-функцию, API вернёт переменную типа Query. Можно использовать объект запроса, чтобы создать и выполнить свой запрос (с колбэк-функцией) позже, при помощи метода exec().

        @@ -404,7 +404,7 @@ query.exec(function (err, athletes) {
      -

      Заметка: Есть также метод count(), который определяет количество записей, соответствующих условию. Он полезен при выполнении подсчётов без фактического извлечения записей.

      +

      Примечание: Есть также метод count(), который определяет количество записей, соответствующих условию. Он полезен при выполнении подсчётов без фактического извлечения записей.

      Запросы полезны и во многих других случаях. Дополнительная информация - в Queries (документация Mongoose).

      @@ -462,7 +462,7 @@ bob.save(function (err) { });
      -

      Заметка: Внимательные читатели заметили, что автор добавлен к рассказу, но ничего не сделано, чтобы добавить рассказ к массиву рассказов stories автора. Как же тогда получить список всех рассказов конкретного автора? Один из возможных вариантов - добавить автора в массив рассказов, но при этом пришлось бы хранить данные об авторах и рассказах в двух местах и поддерживать их актуальность.

      +

      Примечание: Внимательные читатели заметили, что автор добавлен к рассказу, но ничего не сделано, чтобы добавить рассказ к массиву рассказов stories автора. Как же тогда получить список всех рассказов конкретного автора? Один из возможных вариантов - добавить автора в массив рассказов, но при этом пришлось бы хранить данные об авторах и рассказах в двух местах и поддерживать их актуальность.

      Лучше получить _id нашего автора author, и применить find() для поиска этого идентификатора в поле "author" всех рассказов.

      @@ -512,7 +512,7 @@ SomeModel.find(callback_function);

      В этом руководстве мы будем использовать базу данных в "песочнице" ("sandbox") - бесплатный облачный сервис, предоставляемый  mLab. Такая база не очень подходит для промышленных веб-сайтов, поскольку не имеет избыточности, но она очень удобна для разработки и прототипирования. Мы используем её, так как она бесплатна, её легко установить, и потому что mLab - популярный поставщик  базы данных как сервиса, и это может быть разумным выбором для промышленной базы данных (на данный момент другие известные возможности включают Compose, ScaleGrid и MongoDB Atlas).

      -

      Заметка: При желании можно установить БД  MongoDb локально, загрузив и установив подходящие для вашей системы двоичные файлы. В этом случае приводимые ниже инструкции не изменятся, за исключением URL базы данных, который нужно будет задать для установки соединения.

      +

      Примечание: При желании можно установить БД  MongoDb локально, загрузив и установив подходящие для вашей системы двоичные файлы. В этом случае приводимые ниже инструкции не изменятся, за исключением URL базы данных, который нужно будет задать для установки соединения.

      Первым делом надо создать аккаунт на mLab (это бесплатно, требует только основных контактных данных и ознакомления с условиями обслуживания). 

      @@ -643,7 +643,7 @@ module.exports = mongoose.model('Author', AuthorSchema);

      Мы объявим также в схеме AuthorSchema виртуальное свойство "url" , которое позволит получить абсолютный  URL конкретного экземпляра модели — используем это свойство  в шаблонах, если потребуется получить связь с конкретным автором.

      -

      Заметка: Объявить  в схеме URL как виртуальные свойства - хорошая идея,  т.к. URL отдельного элемента при необходимости изменения требует коррекции только в одном месте.
      +

      Примечание: Объявить  в схеме URL как виртуальные свойства - хорошая идея,  т.к. URL отдельного элемента при необходимости изменения требует коррекции только в одном месте.
      Сейчас связь при помощи этого URL ещё не работает, так как у нас ещё нет кода, поддерживающего маршруты для экземпляров модели.  Мы построим его в следующей статье!

      @@ -744,7 +744,7 @@ module.exports = mongoose.model('BookInstance', BookInstanceSchema);
    • Загрузите (или создайте) файл populatedb.js в каталоге express-locallibrary-tutorial (на том же уровне, что и package.json).
      -

      Заметка: Не обязательно понимать, как работает populatedb.js; он просто помещает некоторые данные в базу данных.

      +

      Примечание: Не обязательно понимать, как работает populatedb.js; он просто помещает некоторые данные в базу данных.

    • Введите в корне проекта команду для установки модуля async, который потребуется скрипту populatedb.js (роль async обсудим в следующих руководствах) 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 2d8cc116bb..66fb035364 100644 --- a/files/ru/learn/server-side/express_nodejs/routes/index.html +++ b/files/ru/learn/server-side/express_nodejs/routes/index.html @@ -57,7 +57,7 @@ translation_of: Learn/Server-side/Express_Nodejs/routes

      Есть несколько способов создания маршрутов. В этом уроке мы используем промежуточные запросы express.Router,  так как они позволяют группировать обработчики маршрутов для определённой части сайта и получать к ним доступ через общий префикс маршрута.  Все маршруты, связанные с библиотекой, будут сохранены в модуле "catalog", и если мы добавим маршруты для обработки учётных записей пользователей или других функций, мы сможем сгруппировать их отдельно.

      -

      Заметка: Маршруты приложения Express уже кратко рассматривались в Express Introduction > Creating route handlers (Введение -> Создание обработчиков маршрутов).  Применение Router обеспечивает лучшую поддержку модульности (как обсуждается в первой подсекции ниже), а в остальном очень похоже на определение маршрутов непосредственно в объекте приложения Express.

      +

      Примечание: Маршруты приложения Express уже кратко рассматривались в Express Introduction > Creating route handlers (Введение -> Создание обработчиков маршрутов).  Применение Router обеспечивает лучшую поддержку модульности (как обсуждается в первой подсекции ниже), а в остальном очень похоже на определение маршрутов непосредственно в объекте приложения Express.

      В оставшейся части этого раздела представлен обзор того, как Router может быть использован  для определения маршрутов.

      @@ -88,7 +88,7 @@ module.exports = router;
      -

      Заметка: В примере колбэк-функции обработчиков маршрутов определены непосредственно в функциях роутеров. А в LocalLibrary мы определим эти колбэк-функции в отдельном модуле контроллера.

      +

      Примечание: В примере колбэк-функции обработчиков маршрутов определены непосредственно в функциях роутеров. А в LocalLibrary мы определим эти колбэк-функции в отдельном модуле контроллера.

      Чтобы использовать модуль роутера в главном приложении, прежде всего следует выполнить require() модуля маршрута (wiki.js). Потом вызовем use() для  приложения Express с аргументом, в котором указан URL-путь 'wiki', что добавит  Router к пути обработки промежуточного слоя.

      @@ -112,7 +112,7 @@ app.use('/wiki', wiki); функции в цепочке промежуточных элементов.

      -

      Заметка: Функции в Router - это промежуточный слой (middleware) are Express , что означает, что они должны или завершить (ответить на) запрос reqили вызвать следующую (next) функцию в цепочке. В нашем случае запрос завершается вызовом send(), поэтому аргумент next не нужен (и поэтому не указан).

      +

      Примечание: Функции в Router - это промежуточный слой (middleware) are Express , что означает, что они должны или завершить (ответить на) запрос reqили вызвать следующую (next) функцию в цепочке. В нашем случае запрос завершается вызовом send(), поэтому аргумент next не нужен (и поэтому не указан).

      Выше у функции роутера только один колбэк-аргумент, но можно указать столько таких аргументов, сколько хотите, или указать массив колбэк-функций. каждая из функций - это элемент в цепочке промежуточного слоя, и они будут вызываться в порядке их добавления в цепочку (если предыдущая функция не завершит запрос).

      @@ -151,7 +151,7 @@ app.use('/wiki', wiki); })
      -

      Заметка: Большинство наших маршрутов для библиотеки будут просто строками, а не образцами строк или регулярными выражениями. Кроме того, будут использоваться параметры маршрутов, что обсуждается в следующем разделе.

      +

      Примечание: Большинство наших маршрутов для библиотеки будут просто строками, а не образцами строк или регулярными выражениями. Кроме того, будут использоваться параметры маршрутов, что обсуждается в следующем разделе.

      Параметры маршрутов

      @@ -170,7 +170,7 @@ app.use('/wiki', wiki);

      Имена параметров пути должны состоять из “символов слова” (A-Z, a-z, 0-9, и _).

      -

      Заметка: URL /book/create будет соответствовать маршрутам вида /book/:bookId (и 'create' станет значением "bookId"). Будет использован первый маршрут, соответствующий введённому  URL, поэтому, если необходимо обрабатывать URL вида /book/create отдельно, обработчик этого маршрута должен быть расположен до маршрута /book/:bookId .

      +

      Примечание: URL /book/create будет соответствовать маршрутам вида /book/:bookId (и 'create' станет значением "bookId"). Будет использован первый маршрут, соответствующий введённому  URL, поэтому, если необходимо обрабатывать URL вида /book/create отдельно, обработчик этого маршрута должен быть расположен до маршрута /book/:bookId .

      Для начала этих сведений достаточно - если потребуется, можно найти дополнительную информацию в документации  Express: Basic routing (основы маршрутизации) и Routing guide (руководство по маршрутизации).  В следующем разделе показано, как задать маршруты и контроллеры для нашей библиотеки LocalLibrary.

      @@ -193,7 +193,7 @@ app.use('/wiki', wiki);

      В противоположность этому, другие URL используются для работы с  определёнными экземплярами документов и моделей— индивидуальность элементов кодируется в  URL (как <id> выше). Параметры путей используются для извлечения информации и передачи её в обработчик пути (и в следующей статье мы применим этот приём для того, чтобы динамически определять, какую информацию следует получить из БД). By encoding the information in our URL we only need one route for every resource of a particular type (e.g. one route to handle the display of every single book item).

      -

      Заметка: Express позволяет строить URL любым способом, который вам нравится — можно кодировать информацию в теле  URL как показано выше или использовать URL GET -запрос с параметрами (например, /book/?id=6). Какой бы подход вы не применяли, URL должны быть ясными, логичными и читаемыми (ознакомьтесь с советами W3C).

      +

      Примечание: Express позволяет строить URL любым способом, который вам нравится — можно кодировать информацию в теле  URL как показано выше или использовать URL GET -запрос с параметрами (например, /book/?id=6). Какой бы подход вы не применяли, URL должны быть ясными, логичными и читаемыми (ознакомьтесь с советами W3C).

      Далее мы создадим колбэк-функции обработчиков маршрутов и код маршрутов для всех указанных выше URL.

      @@ -562,7 +562,7 @@ router.get('/', function(req, res) { });
      -

      Заметка: Это первое использование метода ответа redirect() . Он делает перенаправление на указанную страницу, и по умолчанию устанавливает код возврата HTTP в "302 Found" (найдено). Если требуется, можно изменить код возврата. Путь можно задавать как абсолютный или как относительный.

      +

      Примечание: Это первое использование метода ответа redirect() . Он делает перенаправление на указанную страницу, и по умолчанию устанавливает код возврата HTTP в "302 Found" (найдено). Если требуется, можно изменить код возврата. Путь можно задавать как абсолютный или как относительный.

      Обновление app.js

      @@ -582,7 +582,7 @@ app.use('/users', usersRouter); app.use('/catalog', catalogRouter); // Add catalog routes to middleware chain.
      -

      Заметка: Мы добавили модуль каталога в путь'/catalog'.  Этот путь будет предшествовать всем путям, определённым в модуле каталога. Например, для доступа к списку книг URL будет таким: /catalog/books/.

      +

      Примечание: Мы добавили модуль каталога в путь'/catalog'.  Этот путь будет предшествовать всем путям, определённым в модуле каталога. Например, для доступа к списку книг URL будет таким: /catalog/books/.

      Вот так. Теперь у нас есть пути и фиктивные функции, подготовленные для всех  URL, которые мы собираемся поддерживать на веб-сайте LocalLibrary.

      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 8b93acdcf3..f1c993e54d 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 @@ -68,7 +68,7 @@ translation_of: Learn/Server-side/Express_Nodejs/skeleton_website

      Можно выбрать движок представления (шаблон), используя --view; параметр --css позволяет выбрать движок для создания CSS.

      -

      Заметка: Другие опции (--hogan, --ejs, --hbs и пр.) для выбора шаблонизатора устарели. Используйте --view (или -v)!

      +

      Примечание: Другие опции (--hogan, --ejs, --hbs и пр.) для выбора шаблонизатора устарели. Используйте --view (или -v)!

      Какой движок представлений следует использовать?

      @@ -76,7 +76,7 @@ translation_of: Learn/Server-side/Express_Nodejs/skeleton_website

      Express-generator даёт возможность сконфигурировать несколько популярных движков, включая EJS, Hbs, Pug (Jade), Twig, и Vash, но по умолчанию  выбран Jade. Экспресс сразу после установки может поддерживать большое количество и других шаблонизаторов.

      -

      Заметка: При желании использовать шаблонизатор, который не поддерживается генератором,  просмотрите  документацию Using template engines with Express  и документацию для нужного шаблонизатора.

      +

      Примечание: При желании использовать шаблонизатор, который не поддерживается генератором,  просмотрите  документацию Using template engines with Express  и документацию для нужного шаблонизатора.

      Как правило, следует выбрать шаблонизатор, который имеет всю необходимую вам функциональность и обеспечивает вам высокую производительность - так же, как вы выбираете любой другой компонент! Некоторые критерии для сравнения шаблонизаторов:

      @@ -110,7 +110,7 @@ translation_of: Learn/Server-side/Express_Nodejs/skeleton_website

      Express Application Generator позволяет создавать проекты, настроенные для применения шаблонизаторов CSS: LESS, SASS, Compass, Stylus.

      -

      Заметка: простой CSS имеет некоторые ограничения, затрудняющие выполнение задач. Шаблонизаторы CSS позволяют использовать более эффективный подход для создании таблиц стилей CSS, но требуют компиляции файлов таблиц стилей в стандартный CSS для применения в браузере.

      +

      Примечание: простой CSS имеет некоторые ограничения, затрудняющие выполнение задач. Шаблонизаторы CSS позволяют использовать более эффективный подход для создании таблиц стилей CSS, но требуют компиляции файлов таблиц стилей в стандартный CSS для применения в браузере.

      Как и в случае с шаблонизаторами сайта, следует применять шаблонизатор, обеспечивающий высокую производительность работы. В этом проекте мы используем обычный CSS (по умолчанию), поскольку простота наших требований к CSS не оправдает применение чего-то более сложного.

      @@ -191,7 +191,7 @@ npm install

      У нас получилось веб-приложение на базе Express, работающее по адресу localhost:3000.

      -

      Заметка: Можно также запустить приложение командой npm start. Переменная DEBUG, указанная в примере, включает логирование в консоль для дальнейшей отладки. Так, при посещении страницы веб-приложения, вы увидите похожий вывод в консоль:

      +

      Примечание: Можно также запустить приложение командой npm start. Переменная DEBUG, указанная в примере, включает логирование в консоль для дальнейшей отладки. Так, при посещении страницы веб-приложения, вы увидите похожий вывод в консоль:

      >SET DEBUG=express-locallibrary-tutorial:* & npm start
       
      @@ -254,7 +254,7 @@ GET /favicon.ico 404 34.134 ms - 1335
      DEBUG=express-locallibrary-tutorial:* npm run devstart
      -

      Заметка: Сейчас после изменения любого файла проекта сервер будет перезапускаться (или можно самостоятельно перезапустить его, введя rs в командной строке). Вам всё равно придётся обновить страницу в браузере .

      +

      Примечание: Сейчас после изменения любого файла проекта сервер будет перезапускаться (или можно самостоятельно перезапустить его, введя rs в командной строке). Вам всё равно придётся обновить страницу в браузере .

      Теперь мы должны выполнять команду "npm run <scriptname>" а не просто  npm start, поскольку "start", это, по сути, команда NPM, сопоставленная сценарию в файле package.json. Можно заменить команду в сценарии "start", но, так как мы хотим использовать nodemon только во время разработки, разумно создать новую команду сценария.

      @@ -348,7 +348,7 @@ GET /favicon.ico 404 34.134 ms - 1335
      -

      Заметка: require() -- это глобальная функция node  для импорта модулей в текущий файл.  Для модуля app.js указан относительный путь, а расширение файла по умолчанию (.js) опущено.

      +

      Примечание: require() -- это глобальная функция node  для импорта модулей в текущий файл.  Для модуля app.js указан относительный путь, а расширение файла по умолчанию (.js) опущено.

      Оставшаяся часть кода настраивает порт сервера node для HTTP (определён в переменной среды или 3000, если не определён), и начинает обработку и протоколирование соединений и ошибок сервера. Сейчас вам не требуется дополнительных сведений о коде (все в этом файле шаблонно), но, при желании, его можно посмотреть.

      @@ -382,7 +382,7 @@ var users = require('./routes/users');
      -

      Заметка: Здесь мы только импортируем модули. В действительности эти пути ещё не используются — это произойдёт в файле несколько позже.

      +

      Примечание: Здесь мы только импортируем модули. В действительности эти пути ещё не используются — это произойдёт в файле несколько позже.

      Далее, импортированные модули express применяются для создания объекта app, который потом устанавливает движки-шаблоны представления. Установка движков состоит их двух частей. В первой мы задаём значение 'view', указывая папку, в которой будут размещаться шаблоны (у нас это /views). Во второй мы задаём значение движка 'view engine', указывая на библиотеку шаблона (у нас — "pug").

      @@ -412,7 +412,7 @@ app.use('/users', users);
      -

      Заметка: . пути, указанные выше ('/' и '/users') рассматриваются как префиксы путей, определённых в импортированных файлах. Так, например, если импортированный модуль users определяет путь для /profile, для доступа следует указать /users/profile.  Мы поговорим подробнее о путях в последующей статье.

      +

      Примечание: . пути, указанные выше ('/' и '/users') рассматриваются как префиксы путей, определённых в импортированных файлах. Так, например, если импортированный модуль users определяет путь для /profile, для доступа следует указать /users/profile.  Мы поговорим подробнее о путях в последующей статье.

      Последняя в файле промежуточная библиотека добавляет методы обработки ошибок и ответов 404 от HTTP.

      diff --git a/files/ru/mozilla/firefox/releases/68/index.html b/files/ru/mozilla/firefox/releases/68/index.html index bbf3ad4633..69aaf7389e 100644 --- a/files/ru/mozilla/firefox/releases/68/index.html +++ b/files/ru/mozilla/firefox/releases/68/index.html @@ -162,7 +162,7 @@ translation_of: Mozilla/Firefox/Releases/68

      {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} больше не может быть использован из небезопасного контекста; попытки сделать это будут сопровождаться исключением NotAllowedError. Безопасными контекстами считаются те, которые загруженные через HTTPS, либо которые использую схему  file:///, либо загружены из localhost. Сейчас, если необходимо, вы можете включить возможность совершать небезопасные вызовы getUserMedia(), установив надстройку media.getusermedia.insecure.enabled в состояние true ({{bug(1335740)}}).

      -

      Заметка: В будущем, Firefox также удалит свойство {{domxref("navigator.mediaDevices")}} на незащищённых контекстах, предотвратив доступ к  {{domxref("MediaDevices")}} API. Это уже так в Nightly сборках.

      +

      Примечание: В будущем, Firefox также удалит свойство {{domxref("navigator.mediaDevices")}} на незащищённых контекстах, предотвратив доступ к  {{domxref("MediaDevices")}} API. Это уже так в Nightly сборках.

    diff --git a/files/ru/orphaned/web/html/element/element/index.html b/files/ru/orphaned/web/html/element/element/index.html index 77ed826146..aab57c9a94 100644 --- a/files/ru/orphaned/web/html/element/element/index.html +++ b/files/ru/orphaned/web/html/element/element/index.html @@ -7,7 +7,7 @@ original_slug: Web/HTML/Element/element

    {{obsolete_header}}

    -

    Заметка: Этот элемент удалён из спецификации. Смотри здесь больше дополнительной информации от редактора спецификации.

    +

    Примечание: Этот элемент удалён из спецификации. Смотри здесь больше дополнительной информации от редактора спецификации.

    Краткая информация

    diff --git a/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-label_attribute/index.html b/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-label_attribute/index.html index b76b9de8c8..41856e1322 100644 --- a/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-label_attribute/index.html +++ b/files/ru/web/accessibility/aria/aria_techniques/using_the_aria-label_attribute/index.html @@ -38,7 +38,7 @@ translation_of: Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attr

    Рабочие примеры:

    -

    Заметки

    +

    Примечания

    • Чаще всего API доступности для лейбла привязывается к свойству accessible name.
    • diff --git a/files/ru/web/api/abortcontroller/index.html b/files/ru/web/api/abortcontroller/index.html index 07671c5722..bcd80f8578 100644 --- a/files/ru/web/api/abortcontroller/index.html +++ b/files/ru/web/api/abortcontroller/index.html @@ -61,7 +61,7 @@ function fetchVideo() { }
      -

      Заметка: При вызове abort(), промис fetch() будет отклонён с AbortError.

      +

      Примечание: При вызове abort(), промис fetch() будет отклонён с AbortError.

      Вы можете найти полный рабочий пример на GitHub — смотрите abort-api (и живой пример).

      diff --git a/files/ru/web/api/blob/index.html b/files/ru/web/api/blob/index.html index c245e5f4ff..0bb96df41c 100644 --- a/files/ru/web/api/blob/index.html +++ b/files/ru/web/api/blob/index.html @@ -16,10 +16,10 @@ translation_of: Web/API/Blob

      API, принимающие объекты Blob, также перечислены в документации на {{domxref("File")}}.

      -

      Заметка: Метод slice() имеет изначально задаваемую длину как второй аргумент, что используется для указания числа байт копируемых в новый Blob. Если указать такие параметры start + length, которые превышают размер исходного Blob, то возвращаемый Blob будет содержать данные от начального индекса (start index) до конца исходного Blob.

      +

      Примечание: Метод slice() имеет изначально задаваемую длину как второй аргумент, что используется для указания числа байт копируемых в новый Blob. Если указать такие параметры start + length, которые превышают размер исходного Blob, то возвращаемый Blob будет содержать данные от начального индекса (start index) до конца исходного Blob.

      -
      Заметка:  Следует помнить ,что метод slice() имеет сторонние префиксы в некоторых браузерах: blob.mozSlice() для Firefox 12 и ранее,  так же blob.webkitSlice() в Safari. Старая версия метода slice(), без сторонних приставок, имеет другой алгоритм и устарела. Поддержка blob.mozSlice() была убрана в Firefox 30.
      +
      Примечание:  Следует помнить ,что метод slice() имеет сторонние префиксы в некоторых браузерах: blob.mozSlice() для Firefox 12 и ранее,  так же blob.webkitSlice() в Safari. Старая версия метода slice(), без сторонних приставок, имеет другой алгоритм и устарела. Поддержка blob.mozSlice() была убрана в Firefox 30.

      Конструктор

      diff --git a/files/ru/web/api/cachestorage/index.html b/files/ru/web/api/cachestorage/index.html index 9e5752e996..9aa7842834 100644 --- a/files/ru/web/api/cachestorage/index.html +++ b/files/ru/web/api/cachestorage/index.html @@ -21,9 +21,9 @@ translation_of: Web/API/CacheStorage

      Вы можете получить доступ к CacheStorage через глобальное свойство {{domxref("WorkerGlobalScope.caches", "caches")}}.

      -
      Заметка: CacheStorage всегда возвращает отказ с SecurityError для ненадёжных источников (т.e. тех, что не используют HTTPS, хотя это утверждение, вероятно, станет более общим в будущем). При тестировании это можно обойти, установив опцию "Enable Service Workers over HTTP (when toolbox is open)" в меню Firefox Devtools options/gear.
      +
      Примечание: CacheStorage всегда возвращает отказ с SecurityError для ненадёжных источников (т.e. тех, что не используют HTTPS, хотя это утверждение, вероятно, станет более общим в будущем). При тестировании это можно обойти, установив опцию "Enable Service Workers over HTTP (when toolbox is open)" в меню Firefox Devtools options/gear.
      -
      Заметка: {{domxref("CacheStorage.match()")}} удобный метод. Подобная функциональность сопоставления записей кеша может быть реализован путём открытия вашего кеша с помощью {{domxref("CacheStorage.open()")}}, возвращения записей, в ней содержащихся, через {{domxref("CacheStorage.keys()")}} и сравнения необходимой {{domxref("CacheStorage.match()")}}.
      +
      Примечание: {{domxref("CacheStorage.match()")}} удобный метод. Подобная функциональность сопоставления записей кеша может быть реализован путём открытия вашего кеша с помощью {{domxref("CacheStorage.open()")}}, возвращения записей, в ней содержащихся, через {{domxref("CacheStorage.keys()")}} и сравнения необходимой {{domxref("CacheStorage.match()")}}.

      Методы

      diff --git a/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html b/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html index 25d4a915b3..414d3b8bc1 100644 --- a/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html +++ b/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/CanvasRenderingContext2D/createLinearGradient

      Этот метод возвращает линейный {{domxref("CanvasGradient")}}. Для того, чтобы быть добавленным к фигуре, градиент должен быть задан свойством {{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle")}} или {{domxref("CanvasRenderingContext2D.strokeStyle", "strokeStyle")}}.

      -

      Заметка: Координаты градиента глобальны, т.е. относятся к текущему пространству координат. При добавлении градиента, его координаты определяются НЕ относительно координат фигур.

      +

      Примечание: Координаты градиента глобальны, т.е. относятся к текущему пространству координат. При добавлении градиента, его координаты определяются НЕ относительно координат фигур.

      Синтаксис

      diff --git a/files/ru/web/api/console/clear/index.html b/files/ru/web/api/console/clear/index.html index b86317d69a..9f0985ba88 100644 --- a/files/ru/web/api/console/clear/index.html +++ b/files/ru/web/api/console/clear/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/Console/clear

      Содержимое консоли заменяется на информационное сообщение, которое может быть следующим: "Консоль очищена".

      -

      Заметка для Google Chrome, от функции console.clear() не будет никакого эффекта, если у пользователя установлена надстройка "Preserve log upon navigation" в настройках.

      +

      Примечание для Google Chrome, от функции console.clear() не будет никакого эффекта, если у пользователя установлена надстройка "Preserve log upon navigation" в настройках.

      Синтаксис

      diff --git a/files/ru/web/api/console/log/index.html b/files/ru/web/api/console/log/index.html index aad40b455d..ac671d68d5 100644 --- a/files/ru/web/api/console/log/index.html +++ b/files/ru/web/api/console/log/index.html @@ -64,7 +64,7 @@ console.log(msg [, subst1, ..., substN]);

      -

      Заметка:

      +

      Примечание:

      • console.log выводит элемент как HTML-дерево
      • diff --git a/files/ru/web/api/document/contenttype/index.html b/files/ru/web/api/document/contenttype/index.html index 78f90fc116..269d461aa7 100644 --- a/files/ru/web/api/document/contenttype/index.html +++ b/files/ru/web/api/document/contenttype/index.html @@ -14,7 +14,7 @@ translation_of: Web/API/Document/contentType

        Свойство contentType доступно только для чтения.

        -

        Заметки

        +

        Примечания

        Свойство не влияет на МЕТА теги.

        diff --git a/files/ru/web/api/document/cookie/index.html b/files/ru/web/api/document/cookie/index.html index 94facee7e6..23438503ae 100644 --- a/files/ru/web/api/document/cookie/index.html +++ b/files/ru/web/api/document/cookie/index.html @@ -182,7 +182,7 @@ if (document.cookie.split(';').filter((item) => item.includes('reader=1')).le

        The HTTPOnly cookie attribute can help to mitigate this attack by preventing access to cookie value through Javascript. Read more about Cookies and Security.

        -

        Заметки

        +

        Примечания

        • Starting with Firefox 2, a better mechanism for client-side storage is available - WHATWG DOM Storage.
        • diff --git a/files/ru/web/api/document/createelement/index.html b/files/ru/web/api/document/createelement/index.html index f56c92272f..048e832ed3 100644 --- a/files/ru/web/api/document/createelement/index.html +++ b/files/ru/web/api/document/createelement/index.html @@ -66,7 +66,7 @@ original_slug: DOM/document.createElement </html> -

          Заметки

          +

          Примечания

          Если существуют атрибуты со значениями по умолчанию, атрибуты узлов предоставляющие их создаются автоматически и применяются к элементу.

          diff --git a/files/ru/web/api/document/evaluate/index.html b/files/ru/web/api/document/evaluate/index.html index 07c7e55155..11f6cbd372 100644 --- a/files/ru/web/api/document/evaluate/index.html +++ b/files/ru/web/api/document/evaluate/index.html @@ -50,7 +50,7 @@ alert(alertText); // Показывает alert со всеми найденны

          Более детально данный материал описан в статье Introduction to using XPath in JavaScript.

          -

          Заметки

          +

          Примечания

          • Выражения XPath могут быть интерпретированы в HTML- и XML-документах.
          • diff --git a/files/ru/web/api/document/height/index.html b/files/ru/web/api/document/height/index.html index aaeed193c1..e9eae0c3b9 100644 --- a/files/ru/web/api/document/height/index.html +++ b/files/ru/web/api/document/height/index.html @@ -11,7 +11,7 @@ translation_of: Web/API/Document/height
            {{APIRef("DOM")}} {{Obsolete_header}}
            -

            Заметка: Начиная с  {{Gecko("6.0")}}, document.height  больше не поддерживается. Используйте document.body.clientHeight. Также смотрите: {{domxref("element.clientHeight")}}.

            +

            Примечание: Начиная с  {{Gecko("6.0")}}, document.height  больше не поддерживается. Используйте document.body.clientHeight. Также смотрите: {{domxref("element.clientHeight")}}.

            Возвращает высоту {{domxref("document")}} объекта. В большинстве случаев, она соответствует {{HTMLElement("body")}} элементу документа.

            diff --git a/files/ru/web/api/document/keypress_event/index.html b/files/ru/web/api/document/keypress_event/index.html index ac1a90647a..14d65b6459 100644 --- a/files/ru/web/api/document/keypress_event/index.html +++ b/files/ru/web/api/document/keypress_event/index.html @@ -148,7 +148,7 @@ translation_of: Web/API/Document/keypress_event -

            Заметки

            +

            Примечания

            Chrome не запускает событие keypress для известных сочетаний клавиш (reference). Какие сочетания клавиш известны, зависит от системы пользователя. Используйте событиеkeydown для реализации сочетаний клавиш.

            diff --git a/files/ru/web/api/document/queryselector/index.html b/files/ru/web/api/document/queryselector/index.html index 69972a97d7..10250f9e9e 100644 --- a/files/ru/web/api/document/queryselector/index.html +++ b/files/ru/web/api/document/queryselector/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/Document/querySelector

            {{domxref("Document")}} метод querySelector() возвращает первый элемент ({{domxref("Element")}}) документа, который соответствует указанному селектору или группе селекторов. Если совпадений не найдено, возвращает значение null.

            -

            Заметка: Сопоставление выполняется с использованием обхода по предварительному порядку в глубину узлов документа, начиная с первого элемента в разметке документа и повторяя последовательные узлы по порядку количества дочерних узлов.

            +

            Примечание: Сопоставление выполняется с использованием обхода по предварительному порядку в глубину узлов документа, начиная с первого элемента в разметке документа и повторяя последовательные узлы по порядку количества дочерних узлов.

            Синтаксис

            @@ -33,7 +33,7 @@ translation_of: Web/API/Document/querySelector
            -

            Заметка: Символы, которые не являются частью стандартного синтаксиса CSS должны быть экранированы символом обратной косой черты. Поскольку JavaScript также использует экранирование символом обратной косой черты, будьте особенно внимательны при написании строковых литералов с использованием этих символов. См. {{anch("Escaping special characters")}} для получения дополнительной информации.

            +

            Примечание: Символы, которые не являются частью стандартного синтаксиса CSS должны быть экранированы символом обратной косой черты. Поскольку JavaScript также использует экранирование символом обратной косой черты, будьте особенно внимательны при написании строковых литералов с использованием этих символов. См. {{anch("Escaping special characters")}} для получения дополнительной информации.

            Возвращаемое значение

            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 6f0354b793..8aa52fafd6 100644 --- a/files/ru/web/api/document_object_model/examples/index.html +++ b/files/ru/web/api/document_object_model/examples/index.html @@ -365,7 +365,7 @@ for (var i = 0; i < 2; i++) { </script> -

            Заметки

            +

            Примечания

            • Свойство таблицы {{domxref ("element.innerHTML", "innerHTML")}} никогда не должно использоваться для изменения таблицы, хотя вы можете использовать её для записи всей таблицы или содержимого ячейки.
            • diff --git a/files/ru/web/api/element/classname/index.html b/files/ru/web/api/element/classname/index.html index 2492c08bb0..605d21fe6c 100644 --- a/files/ru/web/api/element/classname/index.html +++ b/files/ru/web/api/element/classname/index.html @@ -36,7 +36,7 @@ alert(elm.className); //"class1 class2 class3"
              -
              Заметка:
              +
              Примечание:

                Свойство получило необычное название className из-за того, что во многих языках, работающих с DOM, слово class является зарезервированным.

              diff --git a/files/ru/web/api/element/closest/index.html b/files/ru/web/api/element/closest/index.html index f9b70aa269..27d58c40ec 100644 --- a/files/ru/web/api/element/closest/index.html +++ b/files/ru/web/api/element/closest/index.html @@ -104,7 +104,7 @@ div.closest("div[title]") //#block - так как ближе нет блоко
              {{Compat("api.Element.closest")}}
              -

              Заметки совместимости

              +

              Примечания совместимости

              • В Edge document.createElement(tagName).closest(tagName) возвращает null, если элемент ещё не привязан в DOM.
              • diff --git a/files/ru/web/api/element/mouseenter_event/index.html b/files/ru/web/api/element/mouseenter_event/index.html index 82d447d86f..2d73aa25e1 100644 --- a/files/ru/web/api/element/mouseenter_event/index.html +++ b/files/ru/web/api/element/mouseenter_event/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/Element/mouseenter_event -

                Заметки по использованию

                +

                Примечания по использованию

                Хотя mouseenter похоже на {{domxref("Element/mouseover_event", "mouseover")}}, mouseenter отличается тем, что он не является bubble и не отправляется никаким потомкам, когда указатель перемещается из физического пространства одного из его потомков в его собственное физическое пространство.

                diff --git a/files/ru/web/api/element/queryselectorall/index.html b/files/ru/web/api/element/queryselectorall/index.html index 02ffad4f0e..5789bbc376 100644 --- a/files/ru/web/api/element/queryselectorall/index.html +++ b/files/ru/web/api/element/queryselectorall/index.html @@ -38,7 +38,7 @@ var matches = el.querySelectorAll('div.highlighted > p');
                var matches = el.querySelectorAll('iframe[data-src]');
                 
                -

                Заметки

                +

                Примечания

                Функция выбрасывает исключение SYNTAX_ERR, если текст селектора неправильный.

                diff --git a/files/ru/web/api/element/removeattribute/index.html b/files/ru/web/api/element/removeattribute/index.html index df098434f2..bb58af6415 100644 --- a/files/ru/web/api/element/removeattribute/index.html +++ b/files/ru/web/api/element/removeattribute/index.html @@ -23,7 +23,7 @@ document.getElementById("div1").removeAttribute("align"); // now: <div id="div1" width="200px"> -

                Заметки

                +

                Примечания

                Вы должны использовать removeAttribute вместо того, чтобы устанавливать значение атрибута в null, используя setAttribute.

                diff --git a/files/ru/web/api/eventtarget/addeventlistener/index.html b/files/ru/web/api/eventtarget/addeventlistener/index.html index bc4940b7e0..4344d34c0c 100644 --- a/files/ru/web/api/eventtarget/addeventlistener/index.html +++ b/files/ru/web/api/eventtarget/addeventlistener/index.html @@ -205,7 +205,7 @@ el.addEventListener("click", () => { modifyText("four"); }, false);

                Обратите внимание: несмотря на то, что анонимные и стрелочные функции схожи, они имеют разные значения this.

                -

                Заметки

                +

                Примечания

                Зачем использовать addEventListener?

                @@ -443,13 +443,13 @@ elem.addEventListener(
                {{Compat("api.EventTarget.addEventListener", 3)}}
                -

                Заметки по Gecko

                +

                Примечания по Gecko

                • До Firefox 6, браузер выбросит исключение, если параметр useCapture не был точно равен false. До Gecko 9.0 {{geckoRelease("9.0")}}, addEventListener() выбросит исключение, если параметр listener был равен null; сейчас метод завершается без ошибки, но ничего не делает.
                -

                Заметки по WebKit

                +

                Примечания по WebKit

                • Несмотря на то, что в WebKit параметр useCapture был объявлен необязательным только в июне 2011 года, это работало и до этого изменения. Новые изменения были добавлены в Safari 5.1 и Chrome 13.
                • diff --git a/files/ru/web/api/eventtarget/dispatchevent/index.html b/files/ru/web/api/eventtarget/dispatchevent/index.html index 26e049cb28..38a4a408a9 100644 --- a/files/ru/web/api/eventtarget/dispatchevent/index.html +++ b/files/ru/web/api/eventtarget/dispatchevent/index.html @@ -26,7 +26,7 @@ translation_of: Web/API/EventTarget/dispatchEvent

                  Метод dispatchEvent генерирует исключение UNSPECIFIED_EVENT_TYPE_ERR, если тип события не был указан при инициализации до вызова метода, или если тип события равен null или пустой строке. Исключения возникающие в обработчиках события работают как неперехваченные исключения; обработчики события отрабатывают во вложенном стеке вызовов: они блокируют вызывающий код до окончания своего выполнения, но исключения не распространяются на вызывающего.

                  -

                  Заметки

                  +

                  Примечания

                  dispatchEvent является последним шагом для процесса создание => инициализация => диспетчер, который используется для контроля  событий внутри модели выполнения событий.Событие может быть создано используя метод  document.createEvent и инициализировано используя initEvent или другой, более конкретный, метод инициализации, такой как initMouseEvent или initUIEvent.

                  diff --git a/files/ru/web/api/eventtarget/removeeventlistener/index.html b/files/ru/web/api/eventtarget/removeeventlistener/index.html index 86a4b41898..d2ca8f57bb 100644 --- a/files/ru/web/api/eventtarget/removeeventlistener/index.html +++ b/files/ru/web/api/eventtarget/removeeventlistener/index.html @@ -37,7 +37,7 @@ translation_of: Web/API/EventTarget/removeEventListener
                  Если обработчик был зарегистрирован дважды, один раз с перехватом (с capture) и один - без, каждый из них должен быть удалён по отдельности. Удаление перехватывающего обработчика никак не затрагивает неперехватывающую версию этого же обработчика, и наоборот.
                  -
                  Заметка: useCapture требуется в большинстве основных браузеров старых версий. Если вы хотите поддерживать большую совместимость, вы всегда должны использовать параметр useCapture.
                  +
                  Примечание: useCapture требуется в большинстве основных браузеров старых версий. Если вы хотите поддерживать большую совместимость, вы всегда должны использовать параметр useCapture.

                  Возвращаемое значение

                  diff --git a/files/ru/web/api/fetch_api/index.html b/files/ru/web/api/fetch_api/index.html index a4d89b389b..bdb1dfde33 100644 --- a/files/ru/web/api/fetch_api/index.html +++ b/files/ru/web/api/fetch_api/index.html @@ -44,7 +44,7 @@ translation_of: Web/API/Fetch_API
                • fetch() не будет посылать куки-файлы, если только не указано credentials: 'same-origin'.
                -
                Заметка: узнайте больше об использовании Fetch API на Using Fetch и изучите концепции на Fetch basic concepts.
                +
                Примечание: узнайте больше об использовании Fetch API на Using Fetch и изучите концепции на Fetch basic concepts.

                Прерывание выборки

                diff --git a/files/ru/web/api/filelist/index.html b/files/ru/web/api/filelist/index.html index 2b8cfe1fea..aca0fe450a 100644 --- a/files/ru/web/api/filelist/index.html +++ b/files/ru/web/api/filelist/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/FileList
                Объект этого типа возвращается свойством {{HTMLElement("input")}} элемента, что позволяет получить список выбранных файлов из <input type="file">. Также используется для получения списка файлов, брошенных в область веб-контента (Web content) по средствам drag and drop API. Смотрите DataTransfer для детального понимания как это использовать.
                -

                Заметка: До версии {{Gecko("1.9.2")}}, input элемент поддерживает только один выбранный файл, это значит что FileList содержит только один файл. Начиная с {{Gecko("1.9.2")}}, если input содержит атрибут multiple=true, то FileList может содержать несколько файлов.

                +

                Примечание: До версии {{Gecko("1.9.2")}}, input элемент поддерживает только один выбранный файл, это значит что FileList содержит только один файл. Начиная с {{Gecko("1.9.2")}}, если input содержит атрибут multiple=true, то FileList может содержать несколько файлов.

                Использование FileList

                diff --git a/files/ru/web/api/filereader/index.html b/files/ru/web/api/filereader/index.html index fce0949781..0c078893b2 100644 --- a/files/ru/web/api/filereader/index.html +++ b/files/ru/web/api/filereader/index.html @@ -107,7 +107,7 @@ translation_of: Web/API/FileReader
                -

                Заметки по реализации

                +

                Примечания по реализации

                • Для IE9 есть File API Lab.
                • diff --git a/files/ru/web/api/formdata/append/index.html b/files/ru/web/api/formdata/append/index.html index dcaf2440f4..81490c0a42 100644 --- a/files/ru/web/api/formdata/append/index.html +++ b/files/ru/web/api/formdata/append/index.html @@ -64,7 +64,7 @@ formData.append('userpic[]', myFileInput2.files[0], 'chris2.jpg'); Спецификация Состояние - Заметки + Примечания {{SpecName('XMLHttpRequest','#dom-formdata-append','append()')}} diff --git a/files/ru/web/api/formdata/getall/index.html b/files/ru/web/api/formdata/getall/index.html index e2294811bf..75193d921f 100644 --- a/files/ru/web/api/formdata/getall/index.html +++ b/files/ru/web/api/formdata/getall/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/FormData/getAll

                  getAll() - метод объекта {{domxref("FormData")}}, который возвращает все значения, связанные с ключом в объекте FormData.

                  -

                  Заметка: Этот метод доступен в Web Workers.

                  +

                  Примечание: Этот метод доступен в Web Workers.

                  Синтаксис

                  diff --git a/files/ru/web/api/globaleventhandlers/onchange/index.html b/files/ru/web/api/globaleventhandlers/onchange/index.html index 727828bc5b..47960c021f 100644 --- a/files/ru/web/api/globaleventhandlers/onchange/index.html +++ b/files/ru/web/api/globaleventhandlers/onchange/index.html @@ -25,7 +25,7 @@ var handlerFunction = element.onchange;

                  handlerFunction  должна быть либо функцией определяющей обработчик события, либо null .

                  -

                  Заметки

                  +

                  Примечания

                  Почитайте  страницу DOM обработчики события , там содержится вся информация о работе с  on...  обработчиками.

                  diff --git a/files/ru/web/api/globaleventhandlers/onclick/index.html b/files/ru/web/api/globaleventhandlers/onclick/index.html index 47724b1f9d..e953fd4df9 100644 --- a/files/ru/web/api/globaleventhandlers/onclick/index.html +++ b/files/ru/web/api/globaleventhandlers/onclick/index.html @@ -59,7 +59,7 @@ translation_of: Web/API/GlobalEventHandlers/onclick
                  p.onclick = function(event) { alert("moot!"); };
                   
                  -

                  Заметки

                  +

                  Примечания

                  Событие click возникает, когда пользователь кликает на элемент. Событие click возникнет после событий mousedown и mouseup.

                  diff --git a/files/ru/web/api/globaleventhandlers/onerror/index.html b/files/ru/web/api/globaleventhandlers/onerror/index.html index e870db3c68..f6daa8781e 100644 --- a/files/ru/web/api/globaleventhandlers/onerror/index.html +++ b/files/ru/web/api/globaleventhandlers/onerror/index.html @@ -57,7 +57,7 @@ window.onerror = function myErrorHandler(errorMsg, url, lineNumber) { } -

                  Заметки

                  +

                  Примечания

                  Событие возникает, когда происходит ошибка в скрипте.

                  diff --git a/files/ru/web/api/globaleventhandlers/onfocus/index.html b/files/ru/web/api/globaleventhandlers/onfocus/index.html index 4c6d62e881..550b6d5761 100644 --- a/files/ru/web/api/globaleventhandlers/onfocus/index.html +++ b/files/ru/web/api/globaleventhandlers/onfocus/index.html @@ -12,7 +12,7 @@ translation_of: Web/API/GlobalEventHandlers/onfocus
                  element.onfocus = выполняемый код при сработке события
                   
                  -

                  Заметка

                  +

                  Примечание

                  Событие фокуса (focus) вызывается когда пользователь устанавливает фокус на данный элемент.

                  diff --git a/files/ru/web/api/globaleventhandlers/onload/index.html b/files/ru/web/api/globaleventhandlers/onload/index.html index 7040dadfc4..3b6b12123a 100644 --- a/files/ru/web/api/globaleventhandlers/onload/index.html +++ b/files/ru/web/api/globaleventhandlers/onload/index.html @@ -41,7 +41,7 @@ translation_of: Web/API/GlobalEventHandlers/onload </html> -

                  Заметки

                  +

                  Примечания

                  Событие загрузки возникают в конце процесса загрузки документа. В этот момент все объекты документа находятся в DOM, и все картинки, скрипты, фреймы, ссылки загружены.

                  diff --git a/files/ru/web/api/indexeddb_api/index.html b/files/ru/web/api/indexeddb_api/index.html index c759014ee2..23d894c456 100644 --- a/files/ru/web/api/indexeddb_api/index.html +++ b/files/ru/web/api/indexeddb_api/index.html @@ -17,7 +17,7 @@ translation_of: Web/API/IndexedDB_API

                  {{AvailableInWorkers}}

                  -

                  Заметка: IndexedDB API мощные, но могут казаться слишком сложными для простых задач. Если вы предпочитаете простые API, попробуйте библиотеки, такие как localForage, dexie.js и ZangoDB, делающие IndexedDB более дружественным.

                  +

                  Примечание: IndexedDB API мощные, но могут казаться слишком сложными для простых задач. Если вы предпочитаете простые API, попробуйте библиотеки, такие как localForage, dexie.js и ZangoDB, делающие IndexedDB более дружественным.

                  Ключевые концепции и  использование

                  @@ -31,7 +31,7 @@ translation_of: Web/API/IndexedDB_API
                -

                Заметка: Как и большинство решений web-хранения, IndexedDB следует аналогичной same-origin policy. Поэтому вы имеете доступ к хранилищу данных в пределах одного домена, но не можете получать их с любого другого.

                +

                Примечание: Как и большинство решений web-хранения, IndexedDB следует аналогичной same-origin policy. Поэтому вы имеете доступ к хранилищу данных в пределах одного домена, но не можете получать их с любого другого.

                Синхронность и асинхронность

                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 48fdfcee00..c14f529b11 100644 --- a/files/ru/web/api/keyboardevent/key/key_values/index.html +++ b/files/ru/web/api/keyboardevent/key/key_values/index.html @@ -629,7 +629,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values "Pause" Клавиша паузы Pause. Приостанавливает текущее приложение или состояние, если это применимо. -
                Заметка: Не следует путать с клавишей "MediaPause" , которая используется для медиа-контроллеров, а не для управления приложениями и процессами.
                +
                Примечание: Не следует путать с клавишей "MediaPause" , которая используется для медиа-контроллеров, а не для управления приложениями и процессами.
                VK_PAUSE (0x13) @@ -641,7 +641,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values "Play" Клавиша Play . Если применимо, возобновляет ранее приостановленное приложение. -
                Заметка: Не следует путать с клавишей"MediaPlay" которая используется для медиа-контроллеров, а не для управления приложениями и процессами.
                +
                Примечание: Не следует путать с клавишей"MediaPlay" которая используется для медиа-контроллеров, а не для управления приложениями и процессами.
                VK_PLAY (0xFA) @@ -754,7 +754,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values "Power" Кнопка или клавиша питания Power для включения и выключения питания. -
                Заметка: Не все системы передают этот ключ агенту пользователя.
                +
                Примечание: Не все системы передают этот ключ агенту пользователя.
                @@ -1870,7 +1870,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values

                Приостанавливает воспроизведение текущего медиафайла.

                -

                Заметка: Некоторые старые приложения используют просто "паузу", но это неверно.

                +

                Примечание: Некоторые старые приложения используют просто "паузу", но это неверно.

                APPCOMMAND_MEDIA_PAUSE @@ -2410,7 +2410,7 @@ translation_of: Web/API/KeyboardEvent/key/Key_Values
              -

              Заметка: Пульт дистанционного управления обычно содержит кнопки, значения которых уже определены где-то ещё, например Мультимедийные клавиши или Клавиши управления звуком. Значения этих кнопок будут соответствовать тому, что задокументировано в этих таблицах.

              +

              Примечание: Пульт дистанционного управления обычно содержит кнопки, значения которых уже определены где-то ещё, например Мультимедийные клавиши или Клавиши управления звуком. Значения этих кнопок будут соответствовать тому, что задокументировано в этих таблицах.

              diff --git a/files/ru/web/api/navigator/connection/index.html b/files/ru/web/api/navigator/connection/index.html index c989f1f0d6..fbb1149e99 100644 --- a/files/ru/web/api/navigator/connection/index.html +++ b/files/ru/web/api/navigator/connection/index.html @@ -86,7 +86,7 @@ original_slug: Web/API/NetworkInformation/connection
              -

              Заметка для Gecko

              +

              Примечание для Gecko

              • Network API может быть отключена  используя dom.netinfo.enabled.
              • diff --git a/files/ru/web/api/navigator/cookieenabled/index.html b/files/ru/web/api/navigator/cookieenabled/index.html index d04a4659e9..4aabb089e0 100644 --- a/files/ru/web/api/navigator/cookieenabled/index.html +++ b/files/ru/web/api/navigator/cookieenabled/index.html @@ -72,7 +72,7 @@ translation_of: Web/API/Navigator/cookieEnabled
    -

    Заметки для Gecko

    +

    Примечания для Gecko

    До Gecko 8.0 {{ geckoRelease("8.0") }}, window.navigator.cookieEnabled сообщало неправильный результат, если положение исключения было в месте на странице на котором была выполнена проверка. Это было исправлено.

    diff --git a/files/ru/web/api/networkinformation/index.html b/files/ru/web/api/networkinformation/index.html index e763d7131c..086f50f77c 100644 --- a/files/ru/web/api/networkinformation/index.html +++ b/files/ru/web/api/networkinformation/index.html @@ -91,7 +91,7 @@ translation_of: Web/API/NetworkInformation
    -

    Заметки для Gecko

    +

    Примечания для Gecko

    • Сетевое API может быть отключено с помощью dom.network.enabled.
    • diff --git a/files/ru/web/api/node/childnodes/index.html b/files/ru/web/api/node/childnodes/index.html index c24316cf12..72db8d41ef 100644 --- a/files/ru/web/api/node/childnodes/index.html +++ b/files/ru/web/api/node/childnodes/index.html @@ -28,7 +28,7 @@ if (parg.hasChildNodes()) { for (var i = 0; i < children.length; ++i) { // сделать что-то с каждым внутренним элементом через children[i] - // ЗАМЕТКА: Список является ссылкой, Добавление или удаление дочерних элементов изменит список + // ПРИМЕЧАНИЕ: Список является ссылкой, Добавление или удаление дочерних элементов изменит список } } @@ -41,7 +41,7 @@ while (box.firstChild) { box.removeChild(box.firstChild); } -

      Заметки

      +

      Примечания

      Элементы в коллекции -- объекты, а не строки. Чтобы получить данные из этих объектов, вы должны использовать их свойства (например, elementNodeReference.childNodes[1].nodeName чтобы получить имя, и т. д.).

      diff --git a/files/ru/web/api/node/nextsibling/index.html b/files/ru/web/api/node/nextsibling/index.html index 9ecb139758..48560aeeb5 100644 --- a/files/ru/web/api/node/nextsibling/index.html +++ b/files/ru/web/api/node/nextsibling/index.html @@ -23,7 +23,7 @@ translation_of: Web/API/Node/nextSibling
      nextNode = node.nextSibling
       
      -

      Заметки

      +

      Примечания

      Браузеры, основанные на Gecko, вставляют текстовые узлы в документ для представления пробелов в разметке. Поэтому узел, полученный, например, при использовании Node.firstChild или Node.previousSibling может относиться к @@ -67,7 +67,7 @@ while (el) {

      В приведённом выше примере вы можете видеть, что #text узлы вставляются в DOM, где между тегами встречаются пробелы (т.е. после закрывающего тега элемента и до открывающего тега рядом). Не создаётся пробелов между элементами, вставленных с помощью document.write

      -

      Возможность включения текстовых узлов в DOM должна быть разрешена, когда DOM обходится с помощью nextSibling. Смотрите раздел "Заметки".

      +

      Возможность включения текстовых узлов в DOM должна быть разрешена, когда DOM обходится с помощью nextSibling. Смотрите раздел "Примечания".

      Спецификации

      diff --git a/files/ru/web/api/notifications_api/index.html b/files/ru/web/api/notifications_api/index.html index 8fdc6b6de0..22b7acaeb5 100644 --- a/files/ru/web/api/notifications_api/index.html +++ b/files/ru/web/api/notifications_api/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/Notifications_API

      Здесь пользователь может выбрать разрешить уведомления от источника, заблокировать их или решить позже. Как только выбор будет сделан, для текущей сессии будут установлены настройки. 

      -

      Заметка: Для Firefox 44, разрешения для Notifications и Push объединяются. Если было установлено разрешение для уведомлений, push так же будут разрешены .

      +

      Примечание: Для Firefox 44, разрешения для Notifications и Push объединяются. Если было установлено разрешение для уведомлений, push так же будут разрешены .

      Затем создаётся новое уведомление с помощью конструктора  {{domxref("Notification.Notification","Notification()")}}. В функцию должен быть передан аргумент заголовка и, по желанию, объект настроек, чтобы определить опции, такие как направление и тело текста, иконка, звук уведомления и т.д.

      @@ -26,7 +26,7 @@ translation_of: Web/API/Notifications_API

      В дополнение, спецификация Notifications API определить несколько дополнений для ServiceWorker API, чтобы позволить им отправлять уведомления.

      -

      Заметка: Чтобы найти больше об использовании уведомлений в вашем приложении, читайте Использование Notifications API.

      +

      Примечание: Чтобы найти больше об использовании уведомлений в вашем приложении, читайте Использование Notifications API.

      Интерфейс уведомлений

      diff --git a/files/ru/web/api/pushmanager/index.html b/files/ru/web/api/pushmanager/index.html index bf1815769e..37703fc0a9 100644 --- a/files/ru/web/api/pushmanager/index.html +++ b/files/ru/web/api/pushmanager/index.html @@ -21,7 +21,7 @@ translation_of: Web/API/PushManager

      Этот интерфейс доступен через свойство {{domxref("ServiceWorkerRegistration.pushManager")}}.

      -

      Заметка: Этот интерфейс заменил функциональность, предлагаемую устаревшим {{domxref("PushRegistrationManager")}}.

      +

      Примечание: Этот интерфейс заменил функциональность, предлагаемую устаревшим {{domxref("PushRegistrationManager")}}.

      Свойства

      diff --git a/files/ru/web/api/service_worker_api/index.html b/files/ru/web/api/service_worker_api/index.html index f7b0bbb1cd..603cd3caae 100644 --- a/files/ru/web/api/service_worker_api/index.html +++ b/files/ru/web/api/service_worker_api/index.html @@ -28,11 +28,11 @@ translation_of: Web/API/Service_Worker_API

      Из соображений безопасности service worker'ы работают только по HTTPS (либо, в целях разработки, на localhost). Давать сторонним людям возможность изменять сетевые запросы крайне опасно. Кроме того, Service Worker API недоступен в режиме приватного просмотра браузера Firefox.

      -

      Заметка: Service Worker'ы выигрывают у предыдущих решений, таких как AppCache, потому что не делают предположений о том, что вы пытаетесь сделать, и не ломаются, в случаях если их предположения не оказываются верными; вы имеете полный контроль над всем.

      +

      Примечание: Service Worker'ы выигрывают у предыдущих решений, таких как AppCache, потому что не делают предположений о том, что вы пытаетесь сделать, и не ломаются, в случаях если их предположения не оказываются верными; вы имеете полный контроль над всем.

      -

      Заметка: Service worker'ы широко используют промисы (Promises). В общем случае они будут ждать ответа, после которого вернутся с успешным или неудачным завершением. Архитектура на промисах для этого подходит идеально.

      +

      Примечание: Service worker'ы широко используют промисы (Promises). В общем случае они будут ждать ответа, после которого вернутся с успешным или неудачным завершением. Архитектура на промисах для этого подходит идеально.

      Регистрация

      @@ -66,7 +66,7 @@ translation_of: Web/API/Service_Worker_API

      Service worker может отвечать на запросы, используя событие {{domxref("FetchEvent")}}. Вы можете изменять ответ на эти запросы на своё усмотрение используя метод {{domxref("FetchEvent.respondWith") }}.

      -

      Заметка: Так как выполнение oninstall/onactivate может занять время, спецификация service worker предоставляет метод waitUntil, который возвращает промис, когда вызывается oninstall или onactivate. Функциональные события не отправляются service worker, пока промис не завершится успешно.

      +

      Примечание: Так как выполнение oninstall/onactivate может занять время, спецификация service worker предоставляет метод waitUntil, который возвращает промис, когда вызывается oninstall или onactivate. Функциональные события не отправляются service worker, пока промис не завершится успешно.

      Для полного руководства по созданию рабочего примера читайте Использование Service Worker.

      diff --git a/files/ru/web/api/serviceworkerregistration/update/index.html b/files/ru/web/api/serviceworkerregistration/update/index.html index 9ae3e6d00c..3685cfda07 100644 --- a/files/ru/web/api/serviceworkerregistration/update/index.html +++ b/files/ru/web/api/serviceworkerregistration/update/index.html @@ -8,7 +8,7 @@ translation_of: Web/API/ServiceWorkerRegistration/update

      Метод update интерфейса {{domxref("ServiceWorkerRegistration")}} предназначен для обновления service worker. Он обращается по URL service worker-a, и если новый worker побайтно не совпадает с текущим, инсталлирует новую версию. Обращение за новой версией worker обходит любые кеши браузера, если предыдущее обращение произошло более 24 часов назад..

      -

      Заметка: Эта возможность доступна в Web Workers.

      +

      Примечание: Эта возможность доступна в Web Workers.

      Синтаксис

      diff --git a/files/ru/web/api/streams_api/index.html b/files/ru/web/api/streams_api/index.html index 163bb9cfae..a6e3f04c11 100644 --- a/files/ru/web/api/streams_api/index.html +++ b/files/ru/web/api/streams_api/index.html @@ -26,7 +26,7 @@ translation_of: Web/API/Streams_API

      Вы также можете записывать данные в потоки используя {{domxref("WritableStream")}}.

      -

      Заметка: вы можете найти больше информации о теории и практике использования потоков в следующих статьях — Концепты API потоков , Использование потоков на чтение, и Использование потоков на запись.

      +

      Примечание: вы можете найти больше информации о теории и практике использования потоков в следующих статьях — Концепты API потоков , Использование потоков на чтение, и Использование потоков на запись.

      Интерфейсы

      diff --git a/files/ru/web/api/url/createobjecturl/index.html b/files/ru/web/api/url/createobjecturl/index.html index f421934194..d510ed0a96 100644 --- a/files/ru/web/api/url/createobjecturl/index.html +++ b/files/ru/web/api/url/createobjecturl/index.html @@ -33,7 +33,7 @@ translation_of: Web/API/URL/createObjectURL

      Смотрите Using object URLs to display images.

      -

      Заметки

      +

      Примечания

      При каждом вызове createObjectURL(), создаётся новый URL объект, даже если он уже был ранее создан для того же самого объекта. Память для каждого из них нужно освобождать с помощью {{domxref("URL.revokeObjectURL()")}}, в том случае, если они больше не нужны. Браузер сделает это автоматически с выгрузкой объекта, тем не менее в целях оптимизации производительности и использования памяти, следует принудительно выгружать их по возможности.

      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 e54339bd17..95e978704e 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 @@ -18,7 +18,7 @@ original_slug: DOM/Using_web_workers

      Контекст Worker'а представлен объектом {{domxref("DedicatedWorkerGlobalScope")}} в случае выделенных Workers (обычные Workers используются одним скриптом; совместные Workers используют объект {{domxref("SharedWorkerGlobalScope")}}). Выделенный Worker доступен только из скрипта-родителя, в то время как совместные Workers могут быть доступны из нескольких сценариев.

      -

      Заметка: Смотрите страницу Web Workers API для справки по Workers и прочие руководства.

      +

      Примечание: Смотрите страницу Web Workers API для справки по Workers и прочие руководства.

      Вы можете запускать любой код внутри потока worker-а, за некоторыми исключениями. Например, вы не можете прямо манипулировать DOM внутри worker-а, или использовать некоторые методы по умолчанию и свойства объекта {{domxref("window")}}. Но вы можете использовать большой набор опций, доступный под Window, включая WebSockets, и механизмы хранения данных, таких как IndexedDB и относящихся только к Firefox OS Data Store API. Для дополнительной информации смотрите Functions and classes available to workers.

      @@ -88,9 +88,9 @@ second.onchange = function() {

      В примере выше мы берём данные из события сообщения и ставим их как textContent у результирующего абзаца, чтобы показать пользователю результат этой калькуляции.

      -

      Заметка: Обратите внимание, что onmessage()​ и postmessage() должны вызываться из экземпляра Worker в главном потоке, но не в потоке worker-а. Это связано с тем, что внутри потока worker-а, worker выступает в качестве глобального объекта.

      +

      Примечание: Обратите внимание, что onmessage()​ и postmessage() должны вызываться из экземпляра Worker в главном потоке, но не в потоке worker-а. Это связано с тем, что внутри потока worker-а, worker выступает в качестве глобального объекта.

      -

      Заметка: При передаче сообщения между основным потоком и потоком worker-а, оно копируется или "передаётся" (перемещается), не делится между потоками. Читайте {{anch("Transferring data to and from workers: further details")}} для более подробного объяснения.

      +

      Примечание: При передаче сообщения между основным потоком и потоком worker-а, оно копируется или "передаётся" (перемещается), не делится между потоками. Читайте {{anch("Transferring data to and from workers: further details")}} для более подробного объяснения.

      Завершение работы worker-а

      @@ -132,7 +132,7 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */

      Браузер загружает каждый указанный скрипт и исполняет его. Любые глобальные объекты, создаваемые каждым скриптом могут быть использованы в worker'е. Если скрипт не удалось загрузить, будет брошена ошибка NETWORK_ERROR, и последующий код не будет исполнен. Тем не менее код, исполненный ранее (включая отложенный при помощи {{domxref("window.setTimeout()")}}) останется функционален. Объявления функций идущие после вызова метода importScripts() также будут доступны, т.к. объявления функций всегда обрабатываются перед остальным кодом.

      -
      Заметка: Скрипты могут быть загружены в произвольном порядке, но их исполнение будет в  том порядке, в котором имена файлов были переданы в importScripts(). Функция выполняется синхронно; importScripts() не вернёт исполнение, пока все скрипты не будут загружены и исполнены.
      +
      Примечание: Скрипты могут быть загружены в произвольном порядке, но их исполнение будет в  том порядке, в котором имена файлов были переданы в importScripts(). Функция выполняется синхронно; importScripts() не вернёт исполнение, пока все скрипты не будут загружены и исполнены.

      Разделяемые worker-ы (Shared workers)

      @@ -141,11 +141,11 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */

      Здесь мы сосредоточимся на разнице между выделенными и разделёнными worker-ами. Обратите внимание, что в данном примере есть две HTML страницы с JavaScript кодом, которые используют один и тот же файл worker-а.

      -

      Заметка: Если разделяемый worker может быть доступен из нескольких контекстов просмотра, то все они должны иметь одно и то же происхождение (одни и те же протокол, хост и порт).

      +

      Примечание: Если разделяемый worker может быть доступен из нескольких контекстов просмотра, то все они должны иметь одно и то же происхождение (одни и те же протокол, хост и порт).

      -

      Заметка: В Firefox разделяемый worker не может быть использован совместно документами в приватном и неприватном окне ({{bug(1177621)}}).

      +

      Примечание: В Firefox разделяемый worker не может быть использован совместно документами в приватном и неприватном окне ({{bug(1177621)}}).

      Создание разделяемого worker-а

      @@ -159,7 +159,7 @@ importScripts('foo.js', 'bar.js'); /* imports two scripts */

      Соединение с портом должно быть осуществлено либо неявно, используя обработчик событие onmessage, либо явно, вызвав метод start() перед тем, как отправлять любые сообщения. Вызов метода start() необходим только тогда, когда подписка на событие реализована через метод addEventListener().

      -

      Заметка: Когда используется метод start() чтобы открыть соединение с портом, его необходимо вызывать и в родительском потоке и в потоке worker-а, если необходима двухсторонняя коммуникация.

      +

      Примечание: Когда используется метод start() чтобы открыть соединение с портом, его необходимо вызывать и в родительском потоке и в потоке worker-а, если необходима двухсторонняя коммуникация.

      myWorker.port.start();  // в родительском потоке
      @@ -528,7 +528,7 @@ worker.postMessage(uInt8Array.buffer, [uInt8Array.buffer]);
      -

      Заметка: Для дополнительной информации о передаваемых объектах, производительности и поддержки для этого метода, читайте  Transferable Objects: Lightning Fast! на HTML5 Rocks.

      +

      Примечание: Для дополнительной информации о передаваемых объектах, производительности и поддержки для этого метода, читайте  Transferable Objects: Lightning Fast! на HTML5 Rocks.

      Встроенные worker-ы

      @@ -710,7 +710,7 @@ onmessage = function(event) {

      Главное, что вы не можете сделать в Worker это напрямую повлиять на родительскую страницу. Это включает в себя манипулирование DOM и использование объектов этой страницы. Вы должны сделать это косвенно, отправив сообщение обратно основному сценарию через {{domxref("DedicatedWorkerGlobalScope.postMessage")}}, а затем выполнив изменения оттуда.

      -

      Заметка: Для знакомства с  полным списком функций,  доступных для worker-ов, смотрите статью Функции и интерфейсы доступные worker-ам.

      +

      Примечание: Для знакомства с  полным списком функций,  доступных для worker-ов, смотрите статью Функции и интерфейсы доступные worker-ам.

      Спецификации

      diff --git a/files/ru/web/api/websocket/index.html b/files/ru/web/api/websocket/index.html index f0b487b3d2..d3e57735e0 100644 --- a/files/ru/web/api/websocket/index.html +++ b/files/ru/web/api/websocket/index.html @@ -192,7 +192,7 @@ WebSocket WebSocket(
      Строка reason слишком длинные или содержит непарные суррогаты.
      -
      Заметки
      +
      Примечания

      В Gecko этот метод не поддерживает никакие параметры включительно до Gecko 8.0 {{ geckoRelease("8.0") }}.

      diff --git a/files/ru/web/api/window/confirm/index.html b/files/ru/web/api/window/confirm/index.html index 8e481973df..9fa02f5393 100644 --- a/files/ru/web/api/window/confirm/index.html +++ b/files/ru/web/api/window/confirm/index.html @@ -29,7 +29,7 @@ translation_of: Web/API/Window/confirm

      firefox confirm
       

      -

      Заметки

      +

      Примечания

      Окна сообщений - модальные, они препятствуют получению пользователем доступа к другим частям страницы до тех пор, пока окно не будет закрыто. По этой причине, вам не следует злоупотреблять этой функцией. Более того, существуют более веские причины избегать использования диалоговых окон для подтверждения действий пользователя.

      diff --git a/files/ru/web/api/window/getselection/index.html b/files/ru/web/api/window/getselection/index.html index e8f6f3fa73..925cfe39ef 100644 --- a/files/ru/web/api/window/getselection/index.html +++ b/files/ru/web/api/window/getselection/index.html @@ -28,7 +28,7 @@ translation_of: Web/API/Window/getSelection // вернёт диапазон Range } -

      Заметки

      +

      Примечания

      String representation of the Selection object

      diff --git a/files/ru/web/api/window/requestanimationframe/index.html b/files/ru/web/api/window/requestanimationframe/index.html index ae4dfb12d5..042590827b 100644 --- a/files/ru/web/api/window/requestanimationframe/index.html +++ b/files/ru/web/api/window/requestanimationframe/index.html @@ -10,7 +10,7 @@ original_slug: DOM/window.requestAnimationFrame

      window.requestAnimationFrame указывает браузеру на то, что вы хотите произвести анимацию, и просит его запланировать перерисовку на следующем кадре анимации. В качестве параметра метод получает функцию, которая будет вызвана перед перерисовкой.

      -
      Заметка: Ваш callback метод сам должен вызвать requestAnimationFrame() иначе анимация остановится.
      +
      Примечание: Ваш callback метод сам должен вызвать requestAnimationFrame() иначе анимация остановится.

      Вы должны вызывать этот метод всякий раз, когда готовы обновить анимацию на экране, чтобы запросить планирование анимации. Обычно запросы происходят 60 раз в секунду, но чаще всего совпадают с частотой обновления экрана. В большинстве браузеров в фоновых вкладках или скрытых <iframe>, вызовы requestAnimationFrame() приостанавливаются, для того, чтобы повысить производительность и время работы батареи.

      diff --git a/files/ru/web/api/window/screenx/index.html b/files/ru/web/api/window/screenx/index.html index ad30bf1e30..d2a287bc82 100644 --- a/files/ru/web/api/window/screenx/index.html +++ b/files/ru/web/api/window/screenx/index.html @@ -15,7 +15,7 @@ translation_of: Web/API/Window/screenX

      Свойство Window.screenX только для чтения возвращает горизонтальное расстояние в пикселях CSS левой границы окна просмотра браузера пользователя до левой части экрана.

      -

      Заметка: Псевдоним screenX был реализован во всех современных браузерах - {{domxref ("Window.screenLeft")}}. Первоначально это поддерживалось только в IE, но было введено повсеместно из-за популярности.

      +

      Примечание: Псевдоним screenX был реализован во всех современных браузерах - {{domxref ("Window.screenLeft")}}. Первоначально это поддерживалось только в IE, но было введено повсеместно из-за популярности.

      Синтаксис

      diff --git a/files/ru/web/api/window/scrollto/index.html b/files/ru/web/api/window/scrollto/index.html index a79f45f309..23d7bf196a 100644 --- a/files/ru/web/api/window/scrollto/index.html +++ b/files/ru/web/api/window/scrollto/index.html @@ -41,7 +41,7 @@ window.scrol behavior: "smooth" }); -

      Заметки

      +

      Примечания

      Эта функция выполняет то же, что и window.scroll. Остальные функции, связанные с прокруткой window.scrollBy, window.scrollByLines, и window.scrollByPages.

      diff --git a/files/ru/web/api/window/scrollx/index.html b/files/ru/web/api/window/scrollx/index.html index c6cf4f008b..9605892f79 100644 --- a/files/ru/web/api/window/scrollx/index.html +++ b/files/ru/web/api/window/scrollx/index.html @@ -33,7 +33,7 @@ translation_of: Web/API/Window/scrollX window.scroll(0,0); } -

      Заметки

      +

      Примечания

      Свойство pageXOffset - другое название свойства scrollX:

      diff --git a/files/ru/web/api/window/scrolly/index.html b/files/ru/web/api/window/scrolly/index.html index f77cbf3ea2..6e8be1d96d 100644 --- a/files/ru/web/api/window/scrolly/index.html +++ b/files/ru/web/api/window/scrolly/index.html @@ -30,7 +30,7 @@ if (window.scrollY) { window.scrollByPages(1); -

      Заметки

      +

      Примечания

      Применяйте данное свойство для проверки, был ли пролистан документ, когда используете похожие функции для работы с пролистыванием, такие как {{domxref("window.scrollBy", "scrollBy()")}}, {{domxref("window.scrollByLines", "scrollByLines()")}}, or {{domxref("window.scrollByPages", "scrollByPages()")}}.

      diff --git a/files/ru/web/api/xmlhttprequest/open/index.html b/files/ru/web/api/xmlhttprequest/open/index.html index 2ec5642473..c05b4906be 100644 --- a/files/ru/web/api/xmlhttprequest/open/index.html +++ b/files/ru/web/api/xmlhttprequest/open/index.html @@ -7,7 +7,7 @@ translation_of: Web/API/XMLHttpRequest/open

      Метод XMLHttpRequest.open() инициализирует новый запрос или повторно инициализирует уже созданный.

      -
      Заметка: Вызов этого метода для уже активного запроса (для которого уже был вызван  open()) эквивалентно вызову abort().
      +
      Примечание: Вызов этого метода для уже активного запроса (для которого уже был вызван  open()) эквивалентно вызову abort().

      Синтаксис

      @@ -25,7 +25,7 @@ translation_of: Web/API/XMLHttpRequest/open

      Необязательный логический параметр со значением по умолчанию true, указывающим, выполнять ли операцию асинхронно или нет. Если это значение равно false, метод send() не возвращается, пока не будет получен ответ. Если true, уведомление о получении ответа осуществляется с помощью обработчика события. Должен быть true, если атрибут multipart равен true, иначе будет выброшено исключение.

      -
      Заметка: Синхронные запросы в основном потоке могут нарушить работу пользователя, их следует избегать. Фактически большинство браузеров полностью отказались от поддержки синхронных XHR в основном потоке. Синхронные запросы можно использовать в {{domxref("Worker")}}.
      +
      Примечание: Синхронные запросы в основном потоке могут нарушить работу пользователя, их следует избегать. Фактически большинство браузеров полностью отказались от поддержки синхронных XHR в основном потоке. Синхронные запросы можно использовать в {{domxref("Worker")}}.
      user {{optional_inline}}
      Опционально: имя пользователя, использующееся для аутентификации; по умолчанию имеет значение null.
      diff --git a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html index 051a72f559..4238188e55 100644 --- a/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html +++ b/files/ru/web/api/xmlhttprequest/using_xmlhttprequest/index.html @@ -504,7 +504,7 @@ print_r($_FILES);
      AJAXSubmit(myForm);
      -
      Заметка: Данный фреймворк использует FileReader API для передачи загрузочных файлов. Это новый API и его невозможно использовать IE9 и ниже. В связи с этим, загрузки только с использованием AJAX воспринимаются, лишь как экспериментальные. Если вам не требуется загружать бинарные файлы, то данный фреймворк работает в большинстве современных браузерах.
      +
      Примечание: Данный фреймворк использует FileReader API для передачи загрузочных файлов. Это новый API и его невозможно использовать IE9 и ниже. В связи с этим, загрузки только с использованием AJAX воспринимаются, лишь как экспериментальные. Если вам не требуется загружать бинарные файлы, то данный фреймворк работает в большинстве современных браузерах.
      Note: The best way to send binary content is via ArrayBuffers or Blobs in conjuncton with the send() method and possibly the readAsArrayBuffer() method of the FileReader API. But, since the aim of this script is to work with a stringifiable raw data, we used the sendAsBinary() method in conjunction with the readAsBinaryString() method of the FileReader 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 FormData API.
      diff --git a/files/ru/web/css/@font-face/index.html b/files/ru/web/css/@font-face/index.html index b638ecc425..29220ecf3c 100644 --- a/files/ru/web/css/@font-face/index.html +++ b/files/ru/web/css/@font-face/index.html @@ -141,7 +141,7 @@ translation_of: Web/CSS/@font-face -

      Заметки

      +

      Примечания

      • Веб шрифты попадают под правило ограничения домена (файлы шрифтов должны находиться на том же самом домене, что и использующая их страница), если это ограничение не снимается с помощью CORS.
      • diff --git a/files/ru/web/css/@namespace/index.html b/files/ru/web/css/@namespace/index.html index 37e8480c3a..5a3bb799ff 100644 --- a/files/ru/web/css/@namespace/index.html +++ b/files/ru/web/css/@namespace/index.html @@ -32,7 +32,7 @@ svg|a {}

        В HTML5 существуют сторонние элементы которые автоматически ассоциируются с соответствующими пространствами имён. Это значит, что HTML элементы будут действовать так, как если бы они находились в пространстве имён (http://www.w3.org/1999/xhtml), также если они не имеют xmlns атрибута где-либо в документе, то такие элементы как <svg> и <math> будут ассоциироваться с их стандартными пространствами имён (http://www.w3.org/2000/svg and http://www.w3.org/1998/Math/MathML).

        -

        Заметка: В XML, если префикс отличается от атрибута (Например, xlink:href), то атрибут не будет иметь пространства имён. Другими словами, атрибуты не могут наследовать пространство имён элемента в котором они находятся.

        +

        Примечание: В XML, если префикс отличается от атрибута (Например, xlink:href), то атрибут не будет иметь пространства имён. Другими словами, атрибуты не могут наследовать пространство имён элемента в котором они находятся.

        Синтаксис

        diff --git a/files/ru/web/css/_colon_host()/index.html b/files/ru/web/css/_colon_host()/index.html index 99a4fd1c05..9637e4a49f 100644 --- a/files/ru/web/css/_colon_host()/index.html +++ b/files/ru/web/css/_colon_host()/index.html @@ -12,7 +12,7 @@ translation_of: 'Web/CSS/:host()'

        Самый очевидный способ использовать его — поставить некоторый класс только на определённые экземпляры пользовательских элементов, а затем передать соответствующий классовый селектор как аргумент функции. Вы не можете использовать псевдокласс c селектором наследника, чтобы выбрать только экземпляры пользовательского элемента, которые находятся внутри определённого предка. Это работа {{CSSxRef(":host-context()")}}.

        -

        Заметка: Псевдокласс не имеет эффекта вне shadow DOM.

        +

        Примечание: Псевдокласс не имеет эффекта вне shadow DOM.

        /* Выбирает хоста shadow root, только
        diff --git a/files/ru/web/css/clear/index.html b/files/ru/web/css/clear/index.html
        index 146132dfe3..25d09fa0fd 100644
        --- a/files/ru/web/css/clear/index.html
        +++ b/files/ru/web/css/clear/index.html
        @@ -21,7 +21,7 @@ translation_of: Web/CSS/clear
         

        Поплавки, которые имеют отношение к очистке, - это более ранние поплавки в одном и том же контексте форматирования блоков

        -

        Заметка: Если элемент содержит только плавающие элементы, его высота сворачивается в ничто. Если вы хотите, чтобы он всегда мог изменять размер, чтобы он содержал в себе плавающие элементы, вам нужно самоочистить своих детей. Это называется clearfix, и один из способов сделать это - это заменит clear заменённый {{cssxref("::after")}} псевдоэлемент на нем.

        +

        Примечание: Если элемент содержит только плавающие элементы, его высота сворачивается в ничто. Если вы хотите, чтобы он всегда мог изменять размер, чтобы он содержал в себе плавающие элементы, вам нужно самоочистить своих детей. Это называется clearfix, и один из способов сделать это - это заменит clear заменённый {{cssxref("::after")}} псевдоэлемент на нем.

        #container::after {
           content: "";
        diff --git a/files/ru/web/css/color_value/index.html b/files/ru/web/css/color_value/index.html
        index b147bb7344..ffbfa09955 100644
        --- a/files/ru/web/css/color_value/index.html
        +++ b/files/ru/web/css/color_value/index.html
        @@ -16,7 +16,7 @@ translation_of: Web/CSS/color_value
         
      -

      Заметка: В этой статье подробно описывается тип данных <color>. Дополнительные сведения об использовании цвета в HTML см. В разделе применение цвета к элементам HTML с помощью CSS.

      +

      Примечание: В этой статье подробно описывается тип данных <color>. Дополнительные сведения об использовании цвета в HTML см. В разделе применение цвета к элементам HTML с помощью CSS.

      Синтаксис 

      @@ -24,7 +24,7 @@ translation_of: Web/CSS/color_value

      Для типа данных задаётся <color>  с помощью одного из следующих параметров.

      -

      Заметка: значения <color> точно определены, их фактический внешний вид может отличаться (иногда значительно) от устройства к устройству. Это связано с тем что большинство устройств не откалиброваны, а некоторые браузеры не поддерживают цветовые профили устройств вывода.

      +

      Примечание: значения <color> точно определены, их фактический внешний вид может отличаться (иногда значительно) от устройства к устройству. Это связано с тем что большинство устройств не откалиброваны, а некоторые браузеры не поддерживают цветовые профили устройств вывода.

      Ключевые цвета

      @@ -54,7 +54,7 @@ translation_of: Web/CSS/color_value
    -

    Заметка: Список принятых ключевых слов претерпел много изменений в ходе эволюции CSS:

    +

    Примечание: Список принятых ключевых слов претерпел много изменений в ходе эволюции CSS:

    • CSS Level 1 включал только 16 основных цветов, называемых цветами VGA, поскольку они были взяты из набора отображаемых цветов на видеокартах VGA
    • 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 e7eac00f5a..5a838e9b28 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 @@ -22,7 +22,7 @@ original_slug: Web/Guide/CSS/Understanding_z_index/Stacking_without_z-index

      В следующем примере, абсолютно и относительно спозиционированным блокам определена величина  и позиция таким образом, чтобы продемонстрировать правила наложения.

      -

      Заметки:

      +

      Примечания:

      • Given a homogeneous group of elements without any z-index property, such as the positioned blocks (DIV #1 to #4) in the example, the element's stacking order is their order in the HTML hierarchy, regardless of their position.
      • diff --git a/files/ru/web/css/flex-basis/index.html b/files/ru/web/css/flex-basis/index.html index 35c6cbeca1..e0041febe6 100644 --- a/files/ru/web/css/flex-basis/index.html +++ b/files/ru/web/css/flex-basis/index.html @@ -53,7 +53,7 @@ flex-basis: unset;
        content
        Автоматический задаёт размер на основе содержимого элемента flex.
        -
        Заметка: Это значение отсутствовало в первоначальном релизе Flexible Box Layout, и, следовательно, некоторые предыдущие релизы не будут поддерживать его. Аналогичный эффект можно получить, используя auto вместе с основным размером (width или heightauto.
        +
        Примечание: Это значение отсутствовало в первоначальном релизе Flexible Box Layout, и, следовательно, некоторые предыдущие релизы не будут поддерживать его. Аналогичный эффект можно получить, используя auto вместе с основным размером (width или heightauto.

        История:

        diff --git a/files/ru/web/css/radial-gradient()/index.html b/files/ru/web/css/radial-gradient()/index.html index 08d3486834..499f85adae 100644 --- a/files/ru/web/css/radial-gradient()/index.html +++ b/files/ru/web/css/radial-gradient()/index.html @@ -67,7 +67,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)
        -

        Заметка: Ранние реализации этой функции включают в себя другие значения свойства (cover and contain) которые являются синонимами farthest-corner и closest-side, соответственно. Рекомендуется использовать только стандартные значения, так как некоторые реализации уже перестали использовать старые значения свойств.

        +

        Примечание: Ранние реализации этой функции включают в себя другие значения свойства (cover and contain) которые являются синонимами farthest-corner и closest-side, соответственно. Рекомендуется использовать только стандартные значения, так как некоторые реализации уже перестали использовать старые значения свойств.

        <color-stop>
        @@ -128,7 +128,7 @@ radial-gradient(circle at center, red 0, blue, green 100%)

        {{EmbedLiveSample('Градиент_со_смещённым_центром', 240, 120)}}

        -

        Заметка: Дополнительные примеры можно найти в Использование CSS градиентов.

        +

        Примечание: Дополнительные примеры можно найти в Использование CSS градиентов.

        Спецификация

        diff --git a/files/ru/web/css/word-break/index.html b/files/ru/web/css/word-break/index.html index e6d9699fb7..6455db87ba 100644 --- a/files/ru/web/css/word-break/index.html +++ b/files/ru/web/css/word-break/index.html @@ -43,7 +43,7 @@ word-break: unset;
        -

        Заметка: В отличие от word-break: break-word и overflow-wrap: break-word (смотри {{cssxref("overflow-wrap")}}), word-break: break-all вставит перевод строки в том месте, где текст будет превышать занимаемый им блок (даже в том случае, когда текст можно перенести по словам).

        +

        Примечание: В отличие от word-break: break-word и overflow-wrap: break-word (смотри {{cssxref("overflow-wrap")}}), word-break: break-all вставит перевод строки в том месте, где текст будет превышать занимаемый им блок (даже в том случае, когда текст можно перенести по словам).

        Формальный синтаксис

        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 326926fe3a..cd267fea47 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 @@ -93,7 +93,7 @@ document.addEventListener('DOMContentLoaded', funcInit);

        Некоторые события, которые стоит отметить:

        -

        Заметка: Этот список событий будет нуждаться в доработке, чтобы соответствовать действительности; эта работа ожидает некоторой глобальной реорганизации в документе. Так же нужно найти хорошее объяснение событий, включая события во время загрузки страницы, таких, как частично описанных в этой статье  или  этом вопросе на  Stack Overflow.

        +

        Примечание: Этот список событий будет нуждаться в доработке, чтобы соответствовать действительности; эта работа ожидает некоторой глобальной реорганизации в документе. Так же нужно найти хорошее объяснение событий, включая события во время загрузки страницы, таких, как частично описанных в этой статье  или  этом вопросе на  Stack Overflow.

          @@ -112,7 +112,7 @@ document.addEventListener('DOMContentLoaded', funcInit);

          Частичная диаграмма иерархии класса объекта событий:

          -

          Заметка: Эта диаграмма неполная.

          +

          Примечание: Эта диаграмма неполная.

          diff --git a/files/ru/web/html/element/audio/index.html b/files/ru/web/html/element/audio/index.html index b9ab8f0521..f228d6e14d 100644 --- a/files/ru/web/html/element/audio/index.html +++ b/files/ru/web/html/element/audio/index.html @@ -58,7 +58,7 @@ translation_of: Web/HTML/Element/audio
          {{htmlattrdef("autoplay")}}
          Атрибут логического типа. Если он указан, аудио начнёт автоматически воспроизводиться, как только сможет это сделать, не дожидаясь завершения загрузки всего файла. -
          Заметка: Сайты, которые автоматически проигрывают аудио (или видео с аудиодорожкой) могут быть неприятными для пользователей, поэтому этого следует по возможности избегать. Если вам необходимо предлагать функцию автовоспроизведения, то вы должны сделать её Opt-in (вид подписки), то есть когда пользователь специально (сам) включил её. Тем не менее, это может быть полезно, при создании элементов мультимедиа, чей источник будет установлен позднее под контролем пользователя.
          +
          Примечание: Сайты, которые автоматически проигрывают аудио (или видео с аудиодорожкой) могут быть неприятными для пользователей, поэтому этого следует по возможности избегать. Если вам необходимо предлагать функцию автовоспроизведения, то вы должны сделать её Opt-in (вид подписки), то есть когда пользователь специально (сам) включил её. Тем не менее, это может быть полезно, при создании элементов мультимедиа, чей источник будет установлен позднее под контролем пользователя.
          {{htmlattrdef("controls")}}
          Если этот атрибут присутствует, браузер предложит элементы управления, позволяющие пользователю управлять воспроизведением аудио, в том числе громкостью, перемоткой и паузой.
          diff --git a/files/ru/web/html/element/div/index.html b/files/ru/web/html/element/div/index.html index 503e8e24a8..33ed164d1b 100644 --- a/files/ru/web/html/element/div/index.html +++ b/files/ru/web/html/element/div/index.html @@ -59,7 +59,7 @@ translation_of: Web/HTML/Element/div

          К этому элементу применимы глобальные атрибуты.

          -

          Заметка: Атрибут align устарел и вышел из употребления; не используйте его больше. Вместо этого, вам следует использовать свойства {{glossary("CSS")}} или методы, такие как CSS Grid или CSS Flexbox для выравнивания и изменения положения элементов <div> на странице.

          +

          Примечание: Атрибут align устарел и вышел из употребления; не используйте его больше. Вместо этого, вам следует использовать свойства {{glossary("CSS")}} или методы, такие как CSS Grid или CSS Flexbox для выравнивания и изменения положения элементов <div> на странице.

          Примечание

          diff --git a/files/ru/web/html/element/head/index.html b/files/ru/web/html/element/head/index.html index 21fa32018b..e6a0d97c6b 100644 --- a/files/ru/web/html/element/head/index.html +++ b/files/ru/web/html/element/head/index.html @@ -16,7 +16,7 @@ translation_of: Web/HTML/Element/head

          HTML-элемент <head> содержит машиночитаемую информацию ({{glossary("metadata")}}) о документе, например его заголовок, скрипты и страницы стилей.

          -

          Заметка: <head> в основном содержит информацию для машинной обработки, а не для восприятия человеком. Информацию, видимую человеком, такую как заголовки верхнего уровня и перечисленные авторы, смотрите в элементе {{HTMLElement("header")}}.

          +

          Примечание: <head> в основном содержит информацию для машинной обработки, а не для восприятия человеком. Информацию, видимую человеком, такую как заголовки верхнего уровня и перечисленные авторы, смотрите в элементе {{HTMLElement("header")}}.

          diff --git a/files/ru/web/html/element/img/index.html b/files/ru/web/html/element/img/index.html index 2584a82b8b..bfe53c9bd9 100644 --- a/files/ru/web/html/element/img/index.html +++ b/files/ru/web/html/element/img/index.html @@ -103,11 +103,11 @@ translation_of: Web/HTML/Element/img

          Этим атрибутом задаётся альтернативное текстовое описание изображения.

          -

          Заметка: Браузеры не всегда отображают изображение на которое ссылается элемент. Это относится к неграфическим браузерам (включая те, которые используются людьми с нарушениями зрения), если пользователь решает не отображать изображения, или если браузер не может отобразить изображение, потому что оно имеет неверный или неподдерживаемый тип. В этих случаях браузер может заменить изображение текстом записанным в атрибуте alt элемента. По этим и другим причинам вы должны по возможности предоставлять полезное описание в атрибуте alt.

          +

          Примечание: Браузеры не всегда отображают изображение на которое ссылается элемент. Это относится к неграфическим браузерам (включая те, которые используются людьми с нарушениями зрения), если пользователь решает не отображать изображения, или если браузер не может отобразить изображение, потому что оно имеет неверный или неподдерживаемый тип. В этих случаях браузер может заменить изображение текстом записанным в атрибуте alt элемента. По этим и другим причинам вы должны по возможности предоставлять полезное описание в атрибуте alt.

          -

          Заметка: Пропуст этого атрибута в целом указывает, что изображение является ключевой частью контента и текстовый эквивалент не доступен. Установка этого атрибута в значение пустой строки (alt="") указывает, что это изображение не является ключевой частью контента (декоративное), и что невизуальные браузеры могут пропустить его при {{glossary("Rendering engine", "рендеринге")}}.

          +

          Примечание: Пропуст этого атрибута в целом указывает, что изображение является ключевой частью контента и текстовый эквивалент не доступен. Установка этого атрибута в значение пустой строки (alt="") указывает, что это изображение не является ключевой частью контента (декоративное), и что невизуальные браузеры могут пропустить его при {{glossary("Rendering engine", "рендеринге")}}.

          {{htmlattrdef("crossorigin")}}
          @@ -150,7 +150,7 @@ translation_of: Web/HTML/Element/img

          Это атрибут логического типа, указывающий, что изображение является частью серверной карты ссылок. Если это так, то точные координаты клика отправляются на сервер.

          -

          Заметка: Этот атрибут разрешён, только если элемент <img> является потомком элемента {{htmlelement("a")}} с валидным (соответствующий требованиям) атрибутом {{htmlattrxref("href","a")}}.

          +

          Примечание: Этот атрибут разрешён, только если элемент <img> является потомком элемента {{htmlelement("a")}} с валидным (соответствующий требованиям) атрибутом {{htmlattrxref("href","a")}}.

          {{htmlattrdef("referrerpolicy")}} {{experimental_inline}}
          @@ -205,7 +205,7 @@ translation_of: Web/HTML/Element/img

          Неполный {{glossary("URL")}} (начиная с '#') карты-изображения, связанной с элементом.

          -

          Заметка: вы не можете использовать этот атрибут, если элемент <img> является потомком элемента {{htmlelement("a")}} или {{HTMLElement("button")}}.

          +

          Примечание: вы не можете использовать этот атрибут, если элемент <img> является потомком элемента {{htmlelement("a")}} или {{HTMLElement("button")}}.

          @@ -234,7 +234,7 @@ translation_of: Web/HTML/Element/img

          Ссылка на более подробное описание изображения. Возможными значениями являются {{glossary("URL")}} или {{htmlattrxref("id")}} элемента.

          -

          Заметка: Этот атрибут упомянут в последней версии от {{glossary("W3C")}}, HTML 5.2, но был удалён из живого стандарта HTML от {{glossary("WHATWG")}}. У него неопределённое будущее; авторы должны использовать альтернативы {{glossary("WAI")}}-{{glossary("ARIA")}}, такие как aria-describedby или aria-details.

          +

          Примечание: Этот атрибут упомянут в последней версии от {{glossary("W3C")}}, HTML 5.2, но был удалён из живого стандарта HTML от {{glossary("WHATWG")}}. У него неопределённое будущее; авторы должны использовать альтернативы {{glossary("WAI")}}-{{glossary("ARIA")}}, такие как aria-describedby или aria-details.

          {{htmlattrdef("name")}} {{Obsolete_Inline}}
          diff --git a/files/ru/web/html/element/input/button/index.html b/files/ru/web/html/element/input/button/index.html index cd540ba599..e477bc0d1b 100644 --- a/files/ru/web/html/element/input/button/index.html +++ b/files/ru/web/html/element/input/button/index.html @@ -16,7 +16,7 @@ translation_of: Web/HTML/Element/input/button
          -

          Заметка: Хотя элементы <input> с типом button по-прежнему являются абсолютно корректными в HTML, новый элемент {{HTMLElement("button")}} теперь является предпочтительным способом создания кнопок. Учитывая, что текст элемента {{HTMLElement("button")}} вставлен между открывающим и закрывающим тегами, вы можете включить в тег HTML, даже изображения.

          +

          Примечание: Хотя элементы <input> с типом button по-прежнему являются абсолютно корректными в HTML, новый элемент {{HTMLElement("button")}} теперь является предпочтительным способом создания кнопок. Учитывая, что текст элемента {{HTMLElement("button")}} вставлен между открывающим и закрывающим тегами, вы можете включить в тег HTML, даже изображения.

          diff --git a/files/ru/web/html/element/ol/index.html b/files/ru/web/html/element/ol/index.html index 4568058d95..dffc5e3635 100644 --- a/files/ru/web/html/element/ol/index.html +++ b/files/ru/web/html/element/ol/index.html @@ -71,7 +71,7 @@ translation_of: Web/HTML/Element/ol -

          Заметки об использовании

          +

          Примечания об использовании

          Обычно, элементы списка отображены с маркером, предшествующим цифрам или буквам.

          diff --git a/files/ru/web/html/element/p/index.html b/files/ru/web/html/element/p/index.html index c74f0a6b76..eff7afcc2a 100644 --- a/files/ru/web/html/element/p/index.html +++ b/files/ru/web/html/element/p/index.html @@ -57,7 +57,7 @@ translation_of: Web/HTML/Element/p

          К этому элементу применимы только глобальные атрибуты.

          -

          Заметка: Атрибут align в тегах <p> устарел и больше не должен с использоваться.

          +

          Примечание: Атрибут align в тегах <p> устарел и больше не должен с использоваться.

          Пример

          diff --git a/files/ru/web/html/element/section/index.html b/files/ru/web/html/element/section/index.html index 9774eae28f..effa1ee5bc 100644 --- a/files/ru/web/html/element/section/index.html +++ b/files/ru/web/html/element/section/index.html @@ -23,7 +23,7 @@ translation_of: Web/HTML/Element/section

          Например, меню навигации должно быть помещено в элемент {{htmlelement("nav")}}, но список результатов поиска и отображение карты с её элементами управления не имеют специфических элементов и могут быть помещены в <section>.

          -

          Заметка: Если содержимое элемента имеет смысл объединить как единое целое (в цельный и независимый блок), то элемент {{HTMLElement("article")}} может стать лучшим выбором.

          +

          Примечание: Если содержимое элемента имеет смысл объединить как единое целое (в цельный и независимый блок), то элемент {{HTMLElement("article")}} может стать лучшим выбором.

          diff --git a/files/ru/web/html/element/ul/index.html b/files/ru/web/html/element/ul/index.html index c44cd9b7c6..d8b0dcff12 100644 --- a/files/ru/web/html/element/ul/index.html +++ b/files/ru/web/html/element/ul/index.html @@ -69,7 +69,7 @@ translation_of: Web/HTML/Element/ul -

          Заметки об использовании

          +

          Примечания об использовании

          • Элемент <ul> используется для группировки непронумерованных элементов данных, и их последовательность в списке не нужна. Что характерно, непорядочные списки используют маркеры, которые могут быть разных форм (в форме точки, круга или прямоугольной формы). Стиль задаётся не в HTML, а со связанным с ним CSS,  используя свойство {{ cssxref("list-style-type") }}.
          • diff --git a/files/ru/web/html/element/wbr/index.html b/files/ru/web/html/element/wbr/index.html index 353b10ecdd..c70521d620 100644 --- a/files/ru/web/html/element/wbr/index.html +++ b/files/ru/web/html/element/wbr/index.html @@ -44,7 +44,7 @@ translation_of: Web/HTML/Element/wbr

            Элемент может содержать только глобальные атрибуты.

            -

            Заметки

            +

            Примечания

            На страницах в кодировке UTF-8, элемент <wbr> ведёт себя как кодовое значение U+200B ZERO-WIDTH SPACE (пробел нулевой ширины). В частности, он ведёт себя как кодовое значение Unicode Bidi BN, то есть он не влияет на порядок {{Glossary("bidi")}}-направления (двунаправленного потока) <div dir=rtl>123,<wbr>456</div>: отображается, если выражение не разбито на две строки, 123 456 и не 456,123.

            diff --git a/files/ru/web/html/global_attributes/id/index.html b/files/ru/web/html/global_attributes/id/index.html index 989ac64818..92633dc12a 100644 --- a/files/ru/web/html/global_attributes/id/index.html +++ b/files/ru/web/html/global_attributes/id/index.html @@ -20,7 +20,7 @@ translation_of: Web/HTML/Global_attributes/id

            Значение id не должно содержать пропусков (пробелов, табуляции и т.д). Браузеры обрабатывают пробелы, как часть уникального идентификатора. В отличии от атрибута {{htmlattrxref("class")}}, который позволяет разделять пробелами значение (указывать несколько классов через пробел), элементы могут иметь только один ID.

            -

            Заметка: Использование символов отличных от {{glossary("ASCII")}} букв, цифр, '_', '-' и '.' может вызвать проблемы, связанные с совместимостью, т.к. они не были разрешены в HTML 4. Несмотря на то, что в {{glossary("HTML5")}} ограничение было снято, для совместимости ID должен начинаться с латинской буквы.

            +

            Примечание: Использование символов отличных от {{glossary("ASCII")}} букв, цифр, '_', '-' и '.' может вызвать проблемы, связанные с совместимостью, т.к. они не были разрешены в HTML 4. Несмотря на то, что в {{glossary("HTML5")}} ограничение было снято, для совместимости ID должен начинаться с латинской буквы.

            Спецификации

            diff --git a/files/ru/web/html/preloading_content/index.html b/files/ru/web/html/preloading_content/index.html index b846857e31..1327fbe8f5 100644 --- a/files/ru/web/html/preloading_content/index.html +++ b/files/ru/web/html/preloading_content/index.html @@ -76,7 +76,7 @@ translation_of: Web/HTML/Preloading_content
          -

          Заметка: вы можете прочитать немного больше об этих значениях и веб-функциях, которыми они будут пользоваться, в спецификации Предзагрузка — расширения элементов ссылок. Также обратите внимание, что полный список значений атрибут as может принимать в зависимости от определений в спецификации Fetch — запрос направления.

          +

          Примечание: вы можете прочитать немного больше об этих значениях и веб-функциях, которыми они будут пользоваться, в спецификации Предзагрузка — расширения элементов ссылок. Также обратите внимание, что полный список значений атрибут as может принимать в зависимости от определений в спецификации Fetch — запрос направления.

          Включение MIME-типов

          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 279ebe5439..fbc280edc8 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 @@ -150,7 +150,7 @@ urn:ietf:rfc:7230
          #SomewhereInTheDocument - это "якорь" на другую часть ресурса. Якорь представляет собой что-то вроде "закладки" внутри ресурса, давая браузеру  указание показать содержимое с определённого места. В HTML-документе, к примеру, браузер будет скроллить к точке где якорь определён, а на аудио/видео-документе браузер попытается перейти на время, указанное в якоре. Важно что часть, начинающаяся с # - никогда не пересылается серверу в запросе.
          -

          Заметки по использованию

          +

          Примечания по использованию

          Когда используются URLы в {{Glossary("HTML")}} содержимом, вам стоит использовать только несколько из этих схем. Когда идёт обращение к субресурсам (файлам, которые являются частью большого документа) — вам стоит использовать лишь HTTP и HTTPS. Браузеры сейчас перестают использовать FTP для загрузки ресурсов, из соображений безопасности.

          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 bc9e7641c2..699d185c14 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 @@ -71,7 +71,7 @@ original_slug: Web/HTTP/Заголовки/Access-Control-Allow-Headers

          {{Compat("http.headers.Access-Control-Allow-Headers")}}

          -

          Заметки по совместимости

          +

          Примечания по совместимости

          • Подстановочное значение (*), указанное в последней спецификации, ещё не реализовано в браузерах: 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 d5fa694237..c848da01de 100644 --- a/files/ru/web/http/headers/strict-transport-security/index.html +++ b/files/ru/web/http/headers/strict-transport-security/index.html @@ -45,7 +45,7 @@ Strict-Transport-Security: max-age=<expire-time>; preload

            HTTP Strict Transport Security заголовок сообщает браузеру, что тот никогда не должен загружать сайт через HTTP и всегда должен автоматически конвертировать все попытки доступа к сайту с помощью HTTP в HTTPS.

            -
            Заметка: Strict-Transport-Security  заголовок игнорируется браузером, если сайт может быть доступен с помощью HTTP, потому что атакующий может перехватить HTTP соединение и внедрить заголовок или убрать его. Когда сайт доступен по HTTPS без ошибок сертификата, браузер знает, что сайт может работать по HTTPS и примет Strict-Transport-Security заголовок.
            +
            Примечание: Strict-Transport-Security  заголовок игнорируется браузером, если сайт может быть доступен с помощью HTTP, потому что атакующий может перехватить HTTP соединение и внедрить заголовок или убрать его. Когда сайт доступен по HTTPS без ошибок сертификата, браузер знает, что сайт может работать по HTTPS и примет Strict-Transport-Security заголовок.

            Пример сценария

            diff --git a/files/ru/web/javascript/reference/classes/constructor/index.html b/files/ru/web/javascript/reference/classes/constructor/index.html index ea52fc5371..16e1c04d5d 100644 --- a/files/ru/web/javascript/reference/classes/constructor/index.html +++ b/files/ru/web/javascript/reference/classes/constructor/index.html @@ -112,7 +112,7 @@ try { // в который передаётся length в качестве аргументов,   // соответствующим полям width и height класса Polygon super(length, length); - // Заметка: В производном классе, super() должен вызываться перед тем как + // Примечание: В производном классе, super() должен вызываться перед тем как // вы сможете использовать 'this'. Иначе будет сгенерировано исключение reference error. this.name = 'Square'; } 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 6a14279685..1a02af2806 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

            Есть несуществующая переменная, которая ссылается куда-то. Эта переменная должна быть объявлена, или вам необходимо убедиться, что она доступна в вашем текущем скрипте или области исходного кода ( {{Glossary("scope")}}).

            -

            Заметка: При использовании сторонних библиотек (такие как jQuery), убедитесь, что они загружаются до того, как вы используете переменные "$". Поместите тег {{HTMLElement("script")}} загружающий вашу библиотеку до того как вы будете использовать её.

            +

            Примечание: При использовании сторонних библиотек (такие как jQuery), убедитесь, что они загружаются до того, как вы используете переменные "$". Поместите тег {{HTMLElement("script")}} загружающий вашу библиотеку до того как вы будете использовать её.

            Примеры

            diff --git a/files/ru/web/javascript/reference/functions/index.html b/files/ru/web/javascript/reference/functions/index.html index 1b26075e66..94d7a065ea 100644 --- a/files/ru/web/javascript/reference/functions/index.html +++ b/files/ru/web/javascript/reference/functions/index.html @@ -109,7 +109,7 @@ function myFunc(theObject) {

            Стрелочная функция-выражение (=>)

            -

            Заметка: стрелочные функции являются экспериментальной технологией, частью спецификации ECMAScript 6 и пока что не поддерживаются всеми браузерами.

            +

            Примечание: стрелочные функции являются экспериментальной технологией, частью спецификации ECMAScript 6 и пока что не поддерживаются всеми браузерами.

            Стрелочные функции отличаются более кратким синтаксисом и тем, что они лексически связывают значение своего this (подробнее об этом в статье Стрелочные функции):

            @@ -131,7 +131,7 @@ param => expression

            Конструктор Function

            -

            Заметка: Использовать конструктор Function не рекомендуется, так как он принимает тело функции в виде строки, а это может помешать оптимизациям, которые выполняют движки JavaScript, а также привести к другим проблемам.

            +

            Примечание: Использовать конструктор Function не рекомендуется, так как он принимает тело функции в виде строки, а это может помешать оптимизациям, которые выполняют движки JavaScript, а также привести к другим проблемам.

            Объекты {{jsxref("Function")}} можно создавать с помощью оператора new (как и любые другие объекты):

            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 97b927374f..3acb350558 100644 --- a/files/ru/web/javascript/reference/global_objects/atomics/index.html +++ b/files/ru/web/javascript/reference/global_objects/atomics/index.html @@ -149,7 +149,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics
            • Методы Atomics.futexWakeOrRequeue() и Atomics.fence() полностью удалены ({{bug(1259544)}} и {{bug(1225028)}}).
            • -
            • Методы {{jsxref("Atomics.wait()")}} и {{jsxref("Atomics.wake()")}} были названы Atomics.futexWait() и Atomics.futexWake() ({{bug(1260910)}}). Заметка: старые имена были удалены в версии 49 и младше ({{bug(1262062)}}).
            • +
            • Методы {{jsxref("Atomics.wait()")}} и {{jsxref("Atomics.wake()")}} были названы Atomics.futexWait() и Atomics.futexWake() ({{bug(1260910)}}). Примечание: старые имена были удалены в версии 49 и младше ({{bug(1262062)}}).
            • Свойства Atomics.OK, Atomics.TIMEDOUT, Atomics.NOTEQUAL были удалены. {{jsxref("Atomics.wait()")}} метод теперь возвращает строки "ok", "timed-out" и "not-equal" ({{bug(1260835)}}).
            • Параметр count метода {{jsxref("Atomics.wake()")}} изменился: теперь он по умолчанию равен +Infinity, а не 0 ({{bug(1253350)}}).

              diff --git a/files/ru/web/javascript/reference/global_objects/date/utc/index.html b/files/ru/web/javascript/reference/global_objects/date/utc/index.html index e05d187b79..b0678c5418 100644 --- a/files/ru/web/javascript/reference/global_objects/date/utc/index.html +++ b/files/ru/web/javascript/reference/global_objects/date/utc/index.html @@ -96,7 +96,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date/UTC

              {{Compat("javascript.builtins.Date.UTC")}}

              -

              Заметка о совместимости

              +

              Примечание о совместимости

              Date.UTC() с менее чем двумя аргументами

              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 f8fbb0c603..06b8b89559 100644 --- a/files/ru/web/javascript/reference/global_objects/float32array/index.html +++ b/files/ru/web/javascript/reference/global_objects/float32array/index.html @@ -183,7 +183,7 @@ var z = new Float32Array(buffer, 0, 4); -

              Заметки по совместимости

              +

              Примечания по совместимости

              Начиная с ECMAScript 2015 (ES6), Float32Array конструктор обязательно должен вызываться с ключевым словом {{jsxref("Operators/new", "new")}}. Вызов Float32Array конструктора как функцию приведёт к исключению {{jsxref("TypeError")}}.

              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 e463183f01..a3c8f5e34f 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 @@ -44,7 +44,7 @@ fetch('simple.wasm').then(response => );
              -

              Заметка: Вероятно, вы захотите использовать {{jsxref("WebAssembly.compileStreaming()")}} в большинстве случаев, поскольку он более эффективен, чем compile().

              +

              Примечание: Вероятно, вы захотите использовать {{jsxref("WebAssembly.compileStreaming()")}} в большинстве случаев, поскольку он более эффективен, чем compile().

              Характеристики

              diff --git a/files/ru/web/manifest/background_color/index.html b/files/ru/web/manifest/background_color/index.html index 5fa076ac51..749b496a46 100644 --- a/files/ru/web/manifest/background_color/index.html +++ b/files/ru/web/manifest/background_color/index.html @@ -34,7 +34,7 @@ translation_of: Web/Manifest/background_color

              Therefore background_color should match the {{cssxref("background-color")}} CSS property in the site’s stylesheet for a smooth transition between launching the web application and loading the site's content.

              -

              Заметка: Свойство background_color предназначено только для улучшения удобства пользования, пока главная таблица стилей загружается из сети или с носителя; не должно быть использовано агентом пользователя как свойство CSS {{cssxref('background-color')}}, когда стили приложения станут доступны.

              +

              Примечание: Свойство background_color предназначено только для улучшения удобства пользования, пока главная таблица стилей загружается из сети или с носителя; не должно быть использовано агентом пользователя как свойство CSS {{cssxref('background-color')}}, когда стили приложения станут доступны.

              Пример

              diff --git a/files/ru/web/manifest/dir/index.html b/files/ru/web/manifest/dir/index.html index c7798629be..4d403ffa64 100644 --- a/files/ru/web/manifest/dir/index.html +++ b/files/ru/web/manifest/dir/index.html @@ -48,7 +48,7 @@ translation_of: Web/Manifest/dir
            -

            Заметка: Если значение опущено или установлено в auto, браузер будет использовать двунаправленный алгоритм Unicode, чтобы сделать наилучшее предположение о направлении текста.

            +

            Примечание: Если значение опущено или установлено в auto, браузер будет использовать двунаправленный алгоритм Unicode, чтобы сделать наилучшее предположение о направлении текста.

            Пример

            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 8996f5f957..e00d921f22 100644 --- a/files/ru/web/performance/css_javascript_animation_performance/index.html +++ b/files/ru/web/performance/css_javascript_animation_performance/index.html @@ -28,7 +28,7 @@ translation_of: Web/Performance/CSS_JavaScript_animation_performance

            API {{domxref("Window.requestAnimationFrame","requestAnimationFrame()")}} предоставляет эффективный способ создания анимаций в JavaScript. Функция (callback), которую вы передаёте в этот метод, будет вызываться перед каждой следующей отрисовкой нового фрейма. Главное отличие от {{domxref("WindowTimers.setTimeout","setTimeout()")}}/{{domxref("WindowTimers.setInterval","setInterval()")}} в том, что здесь вам не нужно указывать время, через которое функция запустится. requestAnimationFrame() работает гораздо эффективнее, учитывая частоту кадров и производительность системы. Разработчики могут создавать  анимацию, просто изменяя стили элемента каждый раз, когда происходит подготовка нового кадра (или когда обновляется полотно Canvas или в других случаях).

            -

            Заметка: Подобно CSS transition и animation, requestAnimationFrame() приостанавливает работу, когда текущий таб переводится в фоновый режим (например, при смене фокуса)

            +

            Примечание: Подобно CSS transition и animation, requestAnimationFrame() приостанавливает работу, когда текущий таб переводится в фоновый режим (например, при смене фокуса)

            Для подробностей ознакомьтесь с анимирование с JavaScript: от setinterval до requestAnimationFrame.

            diff --git a/files/ru/web/performance/dns-prefetch/index.html b/files/ru/web/performance/dns-prefetch/index.html index 67dcafa684..049154d0eb 100644 --- a/files/ru/web/performance/dns-prefetch/index.html +++ b/files/ru/web/performance/dns-prefetch/index.html @@ -51,7 +51,7 @@ translation_of: Web/Performance/dns-prefetch
            -

            Заметка: если приложению необходимо установить соединение со множеством доменов, использование preconnect контрпродуктивно. preconnect лучше использовать для наиболее критических соединений. Для менее важных достаточно использовать <link rel="dns-prefetch"> для сокращения времени DNS запроса.

            +

            Примечание: если приложению необходимо установить соединение со множеством доменов, использование preconnect контрпродуктивно. preconnect лучше использовать для наиболее критических соединений. Для менее важных достаточно использовать <link rel="dns-prefetch"> для сокращения времени DNS запроса.

            В совместном использовании этих двух техник есть логика. Она заключается в том, что dns-prefetch поддерживается большим количеством браузеров, чем preconnect. Клиенты, которые ещё не поддерживают preconnect, все ещё будут получать бонусы от работы dns-prefetch. Так как эти инструкции относятся к HTML, они очень толерантны к ошибкам. Если какой-то устаревший браузер встречает dns-prefetch, ваш сайт не сломается. Вы просто не получите улучшений от этой инструкции.

            diff --git a/files/ru/web/performance/fundamentals/index.html b/files/ru/web/performance/fundamentals/index.html index 98b884f14d..ef0e1d10f4 100644 --- a/files/ru/web/performance/fundamentals/index.html +++ b/files/ru/web/performance/fundamentals/index.html @@ -40,7 +40,7 @@ original_slug: Web/Performance/Основы

            Ваш мозг знает, что движение - это не отрывчатый или дискретный процесс, а плавный и последовательный. Дисплей устройств с высокой частотой кадров сделаны просто для того, чтобы сделать эту иллюзию более реальной. (Интересно, что стробоскопы переворачивают эту концепцию, заставляя наш мозг создавать иллюзию дискретной реальности).

            -

            Заметка: люди обычно не могут почувствовать разницу между частотами кадров выше 60Hz. По этой причин большая часть современных электронных дисплеев спроектированы для обновления картинки с такой частотой.  Однако, для некоторых живых существ такая частота кадров будет казаться замедленной. Например, для колибри.

            +

            Примечание: люди обычно не могут почувствовать разницу между частотами кадров выше 60Hz. По этой причин большая часть современных электронных дисплеев спроектированы для обновления картинки с такой частотой.  Однако, для некоторых живых существ такая частота кадров будет казаться замедленной. Например, для колибри.

            Использование памяти

            @@ -72,7 +72,7 @@ original_slug: Web/Performance/Основы

            Элемент Холст (canvas) предоставляет прямой доступ к пиксельному буферу, где разработчик может рисовать.Это даёт разработчику возможность контролировать каждый пиксель во время рендеринга, точно контролировать частоту кадров; но тогда разработчик должен иметь в виду работу с большим количеством разрешений экранов и ориентаций; RTL языками и т.д. Разработчики, работающие напрямую с холстами, используют либо знакомое 2D API, либо API WebGL, достаточно "близкий к железу" и по большей части придерживающийся OpenGL ES 2.0.

            -

            Заметка: Firefox OS оптимизирована для работы с приложениями, основанными на Web технологиях: HTML, CSS, JavaScript и т.д. За исключением некоторых базовых служб операционной системы, весь код Firefox OS пришёл из Web приложений и движка Gecko. Даже оконный менеджер операционной системы написан на HTML, CSS и JavaScript. В связи с тем, что ядро операционной системы написано  на этих технологиях, было критически важно соблюсти производительность этих технологий. В Firefox OS не может быть какого-то "запасного выхода". И это очень полезно для разработчиков, потому что теперь сторонние приложения могут использовать все преимущества оптимизации операционной системы. Не существует какого-то "магического зелья производительности", доступного только для предустановленных приложений.

            +

            Примечание: Firefox OS оптимизирована для работы с приложениями, основанными на Web технологиях: HTML, CSS, JavaScript и т.д. За исключением некоторых базовых служб операционной системы, весь код Firefox OS пришёл из Web приложений и движка Gecko. Даже оконный менеджер операционной системы написан на HTML, CSS и JavaScript. В связи с тем, что ядро операционной системы написано  на этих технологиях, было критически важно соблюсти производительность этих технологий. В Firefox OS не может быть какого-то "запасного выхода". И это очень полезно для разработчиков, потому что теперь сторонние приложения могут использовать все преимущества оптимизации операционной системы. Не существует какого-то "магического зелья производительности", доступного только для предустановленных приложений.

            См. Тестирование производительности Firefox OS для подробностей.

            @@ -88,7 +88,7 @@ original_slug: Web/Performance/Основы

            Производительность запуска приложения так же важна, как и её текущая производительность. Gecko оптимизирован для того, чтобы загружать разнообразный контент эффективно: ведь Gecko впитал в себя опыт всего Web-а! Много лет Web улучшался, а разработчики улучшали его контент. Параллельный парсинг HTML, разумное выстраивание очереди перерисовки и декодирования изображений, умные алгоритмы компоновки и т.д.. Все эти оптимизации, конечно, улучшают и производительность Firefox OS.

            -

            Заметка: смотрите Тестирование производительности Firefox OS для дополнительной информации о Firefox OS спецификациях, которые помогают оптимизировать производительность запуска.

            +

            Примечание: смотрите Тестирование производительности Firefox OS для дополнительной информации о Firefox OS спецификациях, которые помогают оптимизировать производительность запуска.

            Производительность приложений

            @@ -126,7 +126,7 @@ original_slug: Web/Performance/Основы

            Другая проблема, которая может привести к ненужному простою - это ожидание ответа на запросы (например, запрос к базе данных). Чтобы избегать этой проблемы, приложение должно запрашивать данные как можно раньше, ещё во время запуска программы. Тогда к моменту, когда данные понадобятся - они уже будут в системе и приложению не придётся ждать.

            -

            Заметка: Для дополнительной информации об ускорении запуска ознакомьтесь с Optimizing startup performance.

            +

            Примечание: Для дополнительной информации об ускорении запуска ознакомьтесь с Optimizing startup performance.

            Следует также отметить, что ресурсы, закешированные локально, могут быть загружены гораздо быстрее, чем динамические данные, загруженные через мобильную сеть с её задержками или узким каналом. Локальное кеширование и работа в офлайне могут быть достигнуты с помощью Service Workers. См. Making PWAs work offline with Service workers для подробностей.

            @@ -157,7 +157,7 @@ original_slug: Web/Performance/Основы

            Когда приложение переходит в фоновый режим, срабатывает событие  {{event("visibilitychange")}}. Это событие - друг разработчика. Приложения должны слушать его и реагировать на него. Например, в Firefox OS, приложения, которые умеют ограничивать использование ресурсов и экономят память, когда переходят в фоновый режим, с меньшей долей вероятности будут отключены (см. заметку ниже). Это, если посмотреть с другой стороны, означает, что раз приложение не было выгружено - оно будет быстрее загружено.

            -

            Заметка: Как было упомянуто выше, Firefox OS пытается сохранить как можно больше приложений, но иногда вынуждена приостанавливать некоторые из них. Обычно это происходит, когда у устройства заканчивается память. Чтобы узнать больше о том, как Firefox OS управляет памятью и избавляется от приложений, когда начинаются проблемы с памятью, читайте Debugging out of memory errors on Firefox OS.

            +

            Примечание: Как было упомянуто выше, Firefox OS пытается сохранить как можно больше приложений, но иногда вынуждена приостанавливать некоторые из них. Обычно это происходит, когда у устройства заканчивается память. Чтобы узнать больше о том, как Firefox OS управляет памятью и избавляется от приложений, когда начинаются проблемы с памятью, читайте Debugging out of memory errors on Firefox OS.

            Советы к применению в коде

            @@ -179,7 +179,7 @@ original_slug: Web/Performance/Основы

            К тому же, трансформация даёт возможности, которых в ином случае у вас не было бы. Вы не только можете манипулировать элементом в двумерном пространстве, но можете трансформировать его в 3D, изменять его наклон (скашивать, skew), поворачивать и др. Пол Айриш опубликовал статью in-depth analysis of the benefits of translate(), в которой проанализировал работу translate с точки зрения производительности. Используя translate/transform вы используете правильный декларативный инструмент и возлагаете ответственность за его оптимизацию на браузер. Вы так же получаете возможность с лёгкостью позиционировать элементы. Если вы будете использовать только top и left, вам придётся написать некоторый дополнительный код, чтобы предусмотреть некоторые особенности такого позиционирования. И последний бонус - с Transform / Translate вы будете работать примерно так же, как работали бы с элементом canvas.

            -

            Заметка: В некоторых случаях (в зависимости от платформы) вам может понадобиться добавить свойство translateZ(0.1), если вы хотите заставить клиента перенести вычисление анимаций на графический адаптер. Как было упомянуто выше, это может улучшить производительность, но увеличит потребление памяти. Какое из зол - меньшее - решать вам. Протестируйте оба варианта и выясните, что лучше подходит для вашего приложения.

            +

            Примечание: В некоторых случаях (в зависимости от платформы) вам может понадобиться добавить свойство translateZ(0.1), если вы хотите заставить клиента перенести вычисление анимаций на графический адаптер. Как было упомянуто выше, это может улучшить производительность, но увеличит потребление памяти. Какое из зол - меньшее - решать вам. Протестируйте оба варианта и выясните, что лучше подходит для вашего приложения.

            Используйте requestAnimationFrame() вместо setInterval()

            diff --git a/files/ru/web/svg/attribute/d/index.html b/files/ru/web/svg/attribute/d/index.html index 2e1807e521..5356bae142 100644 --- a/files/ru/web/svg/attribute/d/index.html +++ b/files/ru/web/svg/attribute/d/index.html @@ -114,7 +114,7 @@ translation_of: Web/SVG/Attribute/d
          • ClosePath: Z, z
          -

          Заметка: Команды чувствительны к регистру; команда верхнего регистра указывает свои аргументы как абсолютные позиции, тогда как команда нижнего регистра указывает точки относительно текущей позиции.

          +

          Примечание: Команды чувствительны к регистру; команда верхнего регистра указывает свои аргументы как абсолютные позиции, тогда как команда нижнего регистра указывает точки относительно текущей позиции.

          Всегда можно указать отрицательное значение в качестве аргумента для команды: отрицательные углы будут вращаться против часовой стрелки, абсолютные позиции x и y будут приниматься за отрицательные координаты, отрицательные относительные значения x будут перемещаться влево, а отрицательные относительные значения y будут двигаться вверх.

          @@ -124,7 +124,7 @@ translation_of: Web/SVG/Attribute/d

          MoveTo инструкции можно рассматривать как собирание чертёжного инструмента и установку его в другом месте. Между предыдущей точкой и указанной точкой нет линии.

          -

          Заметка: Хорошей практикой является открытие всех путей с помощью команды moveto, потому что без начального moveto команды будут выполняться с начальной точки, где бы это ни было ранее, что может привести к неопределённому поведению.

          +

          Примечание: Хорошей практикой является открытие всех путей с помощью команды moveto, потому что без начального moveto команды будут выполняться с начальной точки, где бы это ни было ранее, что может привести к неопределённому поведению.

          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 047d18eb08..892f2529ce 100644 --- a/files/ru/web/web_components/using_custom_elements/index.html +++ b/files/ru/web/web_components/using_custom_elements/index.html @@ -9,7 +9,7 @@ original_slug: Web/Web_Components/Использование_пользоват

          Одна из ключевых особенностей стандарта Веб-компонент это возможность создавать пользовательские элементы на HTML-странице, инкапсулирующие функциональность, вместо того чтобы создавать длинную, вложенную группу элементов, которые бы вместе реализовывали нужную пользовательскую фичу. Эта статья является вводной по использованию пользовательских HTML-компонент.

          -

          Заметка: Пользовательские элементы поддерживаются по умолчанию в Firefox, Chrome и Opera. Safari пока поддерживает только автономные пользовательские компоненты, Edge также работает над реализацией.

          +

          Примечание: Пользовательские элементы поддерживаются по умолчанию в Firefox, Chrome и Opera. Safari пока поддерживает только автономные пользовательские компоненты, Edge также работает над реализацией.

          Высокоуровневый обзор

          diff --git a/files/ru/webassembly/rust_to_wasm/index.html b/files/ru/webassembly/rust_to_wasm/index.html index bf50ad9fa1..9413beea7a 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

          Чтобы установить Rust, посетите Install Rust страницу и проследуйте всем инструкциям. Так вы установите тулзу, называемую "rustup", которая позволит вам управлять несколькими версиями Rust. По умолчанию, она устанавливает последний стабильный релиз Rust, который вы будете использовать для стандартной разработки на Rust. Rustup устанавливает rustc, компилятор Rust, вместе с cargo, Rust-овским пакетным менеджером, rust-std, стандартной  библиотекой Rust, и несколькими вспомогательными доками — rust-docs.

          -

          Заметка: Обратите внимание на пост-установочную заметку о необходимости добавить cargo bin директорию в список PATH. Она должна быть добавлена автоматически, но вам нужно будет перезапустить терминал, чтобы изменения вступили в силу.

          +

          Примечание: Обратите внимание на пост-установочную заметку о необходимости добавить cargo bin директорию в список PATH. Она должна быть добавлена автоматически, но вам нужно будет перезапустить терминал, чтобы изменения вступили в силу.

          wasm-pack

          -- cgit v1.2.3-54-g00ecf