aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorСандро <warsan00@mail.ru>2021-06-10 23:25:35 +0500
committerGitHub <noreply@github.com>2021-06-11 01:25:35 +0700
commitf12beab0b9dd265aaa9085871d43ccfa567bb476 (patch)
tree20d0401c838b1a49ec3bb8b9cfef980b7265cfa2
parent65d5729c20d37be97ddddaec5770fa378cbae7c8 (diff)
downloadtranslated-content-f12beab0b9dd265aaa9085871d43ccfa567bb476.tar.gz
translated-content-f12beab0b9dd265aaa9085871d43ccfa567bb476.tar.bz2
translated-content-f12beab0b9dd265aaa9085871d43ccfa567bb476.zip
Перевод (#1110)
* Перевод перевод, правки и буква "ё" * Правка перевода >— это продлевает время жизни события до момента запуска уведомления и гарантирует, что метод showNotification будет завершён полностью.
-rw-r--r--files/ru/conflicting/web/api/push_api/index.html12
1 files changed, 6 insertions, 6 deletions
diff --git a/files/ru/conflicting/web/api/push_api/index.html b/files/ru/conflicting/web/api/push_api/index.html
index 289aa4704d..b97028f3b5 100644
--- a/files/ru/conflicting/web/api/push_api/index.html
+++ b/files/ru/conflicting/web/api/push_api/index.html
@@ -21,7 +21,7 @@ original_slug: Web/API/Push_API/Using_the_Push_API
<p><img alt="" src="https://mdn.mozillademos.org/files/11823/push-api-demo.png" style="border: 1px solid black; display: block; height: 406px; margin: 0px auto; width: 705px;"></p>
-<p>Чтобы запустить демо, следуйте инструкциям на странице <a href="https://github.com/chrisdavidmills/push-api-demo">push-api-demo README</a>. Заметьте, что серверная компонента все ещё нуждается в небольшой доработке для запуска в Chrome и в общем запускается более разумным путём. Но аспекты Push все ещё могут быть полностью понятны; мы углубимся в это после того, как просмотрим технологии в процессе.</p>
+<p>Чтобы запустить демо, следуйте инструкциям на странице <a href="https://github.com/chrisdavidmills/push-api-demo">push-api-demo README</a>. Заметьте, что серверная компонента всё ещё нуждается в небольшой доработке для запуска в Chrome и в общем запускается более разумным путём. Но аспекты Push всё ещё могут быть полностью понятны; мы углубимся в это после того, как просмотрим технологии в процессе.</p>
<h2 id="Обзор_технологии">Обзор технологии</h2>
@@ -62,7 +62,7 @@ original_slug: Web/API/Push_API/Using_the_Push_API
<li>Запрос на разрешение web-уведомлений или что-то другое, что вы используете и для чего необходимо разрешение.</li>
<li>Регистрация сервис воркера для контроля над страницей с помощью вызова {{domxref("ServiceWorkerContainer.register()")}}.</li>
<li>Подписка на сервис push-уведомлений с помощью {{domxref("PushManager.subscribe()")}}.</li>
- <li>Запрашивание конечной точки, соответствующей подписчику, и генерация публичного ключа клиента ({{domxref("PushSubscription.endpoint")}} и {{domxref("PushSubscription.getKey()")}}. Заметьте, что <code>getKey()</code> на данный момент экспериментальная технологий и доступна только в Firefox.)</li>
+ <li>Запрашивание конечной точки, соответствующей подписчику, и генерация публичного ключа клиента ({{domxref("PushSubscription.endpoint")}} и {{domxref("PushSubscription.getKey()")}}. Заметьте, что <code>getKey()</code> на данный момент экспериментальная технология и доступна только в Firefox.)</li>
<li>Отправка данных на сервер, чтобы тот мог присылать push-сообщения, когда необходимо. Это демо использует {{domxref("XMLHttpRequest")}}, но вы можете использовать <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a>.</li>
<li>Если вы используете <a href="/en-US/docs/Web/API/Channel_Messaging_API">Channel Messaging API</a> для связи с сервис воркером, установите новый канал связи ({{domxref("MessageChannel.MessageChannel()")}}) и отправьте <code>port2</code> сервис воркеру с помощью вызова {{domxref("Worker.postMessage()")}} для того, чтобы открыть канал связи. Вы так же должны настроить обработчик ответов на сообщения, которые будут отправляться обратно с сервис воркера.</li>
<li>На стороне сервера сохраните конечную точку и все остальные необходимые данные, чтобы они были доступны, когда будет необходимо отправить push-сообщение добавленному подписчику (мы используем простой текстовый файл, но вы можете использовать базу данных или все что угодно на ваш вкус). В приложении на продакшене убедитесь, что скрываете эти данные, так что злоумышленники не смогут украсть конечную точку и разослать спам подписчикам в push-сообщениях.</li>
@@ -70,7 +70,7 @@ original_slug: Web/API/Push_API/Using_the_Push_API
<li>Поверх в сервис воркере настройте обработчик событий <code>push</code> для ответов на полученные push-сообщения.
<ol>
<li>Если вы хотите отвечать отправкой сообщения канала обратно основному контексту (смотри шаг 6), необходимо сначала получить ссылку на <code>port2,</code> который был отправлен контексту сервис воркера ({{domxref("MessagePort")}}). Это доступно в объекте  {{domxref("MessageEvent")}}, передаваемого обработчику <code>onmessage </code>({{domxref("ServiceWorkerGlobalScope.onmessage")}}). Конкретнее, он находится в свойстве <code>ports</code>, индекс 0. Когда это сделано, вы можете отправить сообщение обратно <code>port1</code>, используя {{domxref("MessagePort.postMessage()")}}.</li>
- <li>Если вы хотите ответить запуском системного уведомления, вы можете сделать это, вызвав {{domxref("ServiceWorkerRegistration.showNotification()")}}. Заметьте, что в нашем коде мы вызываем его внутри метода {{domxref("ExtendableEvent.waitUntil()")}} — это растягивает время жизни события, пока уведомление не будет запущено, так что мы можем убедиться, что все, что мы хотели, чтобы произошло, действительно произошло.<span id="cke_bm_307E" class="hidden"> </span></li>
+ <li>Если вы хотите ответить запуском системного уведомления, вы можете сделать это, вызвав {{domxref("ServiceWorkerRegistration.showNotification()")}}. Заметьте, что в нашем коде мы вызываем его внутри метода {{domxref("ExtendableEvent.waitUntil()")}} — это продлевает время жизни события до момента запуска уведомления и гарантирует, что метод showNotification будет завершён полностью.<span id="cke_bm_307E" class="hidden"> </span></li>
</ol>
</li>
</ol>
@@ -115,11 +115,11 @@ nameInput.value = 'Bob';</pre>
<p>Далее, мы перехватываем ссылку на {{htmlelement("button")}} подписки/отписки и задаём переменные для сохранения ссылок на наши кнопку отправки сообщения/ввода (который создастся только после успешной подписки).<br>
<br>
- Следующие переменные перехватывают ссылки на три основные {{htmlelement("div")}} элемента, так что мы можем включить в них элементы (к примеру, когда появится кнопка <em>Отправки Сообщения Чата</em> или сообщение появится с писке <em>Сообщений</em>).</p>
+ Следующие переменные перехватывают ссылки на три основные {{htmlelement("div")}} элемента, так что мы можем включить в них элементы (к примеру, когда появится кнопка <em>Отправки Сообщения Чата</em> или сообщение появится в <em>списке сообщений</em>).</p>
-<p>Finally we grab references to our name selection form and {{htmlelement("input")}} element, give the input a default value, and use <code><a href="/en-US/docs/Web/API/Event/preventDefault">preventDefault()</a></code> to stop the form submitting when the form is submitted by pressing return.</p>
+<p>Наконец, мы берем ссылки на нашу форму выбора имени и элемент {{htmlelement("input")}}, присваиваем входу значение по умолчанию и используем <code><a href="/en-US/docs/Web/API/Event/preventDefault">preventDefault()</a></code>, чтобы остановить отправку формы, которая будет отправлена нажатием кнопки return.</p>
-<p>Next, we request permission to send web notifications, using {{domxref("Notification.requestPermission","requestPermission()")}}:</p>
+<p>Далее мы запрашиваем разрешение на отправку веб-уведомлений, используя {{domxref("Notification.requestPermission","requestPermission()")}}:</p>
<pre class="brush: js">Notification.requestPermission();</pre>