diff options
author | Alexey Pyltsyn <lex61rus@gmail.com> | 2021-10-27 02:31:24 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-27 02:31:24 +0300 |
commit | 980fe00a74a9ad013b945755415ace2e5429c3c2 (patch) | |
tree | a1c6bb4b302e69bfa53eab13e44500eba55d1696 /files/ru/web/api/service_worker_api | |
parent | 374a039b97a11ee7306539d16aaab27fed66b398 (diff) | |
download | translated-content-980fe00a74a9ad013b945755415ace2e5429c3c2.tar.gz translated-content-980fe00a74a9ad013b945755415ace2e5429c3c2.tar.bz2 translated-content-980fe00a74a9ad013b945755415ace2e5429c3c2.zip |
[RU] Remove notranslate (#2874)
Diffstat (limited to 'files/ru/web/api/service_worker_api')
-rw-r--r-- | files/ru/web/api/service_worker_api/using_service_workers/index.html | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/files/ru/web/api/service_worker_api/using_service_workers/index.html b/files/ru/web/api/service_worker_api/using_service_workers/index.html index d25a516e56..5042cccf4b 100644 --- a/files/ru/web/api/service_worker_api/using_service_workers/index.html +++ b/files/ru/web/api/service_worker_api/using_service_workers/index.html @@ -66,7 +66,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers <h4 id="sync">sync</h4> -<pre class="brush: js notranslate">try { +<pre class="brush: js">try { const value = myFunction(); console.log(value); } catch(err) { @@ -75,7 +75,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers <h4 id="async">async</h4> -<pre class="brush: js notranslate">myFunction().then((value) => { +<pre class="brush: js">myFunction().then((value) => { console.log(value); }).catch((err) => { console.log(err); @@ -89,7 +89,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers <p>{{note("Реальные реализации сервис-воркеров скорее всего будут использовать <code>onfetch</code>, а не устаревающий XMLHttpRequest API. Эти возможности не используются здесь, так что можете сосредоточиться на изучении промисов.")}}</p> -<pre class="brush: js notranslate">const imgLoad = (url) => { +<pre class="brush: js">const imgLoad = (url) => { return new Promise((resolve, reject) => { var request = new XMLHttpRequest(); request.open('GET', url); @@ -115,7 +115,7 @@ translation_of: Web/API/Service_Worker_API/Using_Service_Workers <p>Вызывая функцию <code>imgLoad()</code>, мы ожидаемо передаём в качестве параметра url изображения, которое хотим загрузить, но далее код немного отличается:</p> -<pre class="brush: js notranslate">let body = document.querySelector('body'); +<pre class="brush: js">let body = document.querySelector('body'); let myImage = new Image(); imgLoad('myLittleVader.jpg').then((response) => { @@ -161,7 +161,7 @@ imgLoad('myLittleVader.jpg').then((response) => { <p>Ниже представлен первый блок кода файла app.js. Это точка входа в Service Worker.</p> -<pre class="brush: js notranslate">if ('serviceWorker' in navigator) { +<pre class="brush: js">if ('serviceWorker' in navigator) { navigator.serviceWorker.register('./sw-test/sw.js', {scope: './sw-test/'}) .then((reg) => { // регистрация сработала @@ -224,7 +224,7 @@ imgLoad('myLittleVader.jpg').then((response) => { <p>Давайте начнём этот раздел посмотрев на фрагмент кода ниже — это <a href="https://github.com/mdn/sw-test/blob/gh-pages/sw.js#L1-L17">первый блок кода, который вы увидите в нашем сервис-воркере</a>:</p> -<pre class="brush: js notranslate">self.addEventListener('install', (event) => { +<pre class="brush: js">self.addEventListener('install', (event) => { event.waitUntil( caches.open('v1').then((cache) => { return cache.addAll([ @@ -268,7 +268,7 @@ imgLoad('myLittleVader.jpg').then((response) => { <p>Вы можете подключить к сервис-воркеру обработчик события <code>fetch</code> и внутри него на объекте события вызвать метод <code>respondWith()</code>, чтобы заменить ответы и показать собственную "магию".</p> -<pre class="brush: js notranslate">self.addEventListener('fetch', (event) => { +<pre class="brush: js">self.addEventListener('fetch', (event) => { event.respondWith( // магия происходит здесь ); @@ -277,7 +277,7 @@ imgLoad('myLittleVader.jpg').then((response) => { <p>Для начала, на каждый сетевой запрос мы можем отдать в ответ ресурс, чей url соответствует запросу:</p> -<pre class="brush: js notranslate">self.addEventListener('fetch', (event) => { +<pre class="brush: js">self.addEventListener('fetch', (event) => { event.respondWith( caches.match(event.request) ); @@ -291,29 +291,29 @@ imgLoad('myLittleVader.jpg').then((response) => { <li> <p>Конструктор <code>{{domxref("Response.Response","Response()")}}</code> позволяет вам создавать собственные ответы. В данном случае, мы всего лишь возвращаем простую текстовую строку:</p> - <pre class="brush: js notranslate">new Response('Hello from your friendly neighbourhood service worker!'); + <pre class="brush: js">new Response('Hello from your friendly neighbourhood service worker!'); </pre> <p>В этом более сложном объекте Response показано, как вы можете передать набор заголовков в свой ответ, эмулируя стандартный HTTP-ответ. Здесь мы просто сообщаем браузеру, чем является содержимое ответа:</p> - <pre class="brush: js notranslate">new Response('<p>Hello from your friendly neighbourhood service worker!</p>', { + <pre class="brush: js">new Response('<p>Hello from your friendly neighbourhood service worker!</p>', { headers: { 'Content-Type': 'text/html' } });</pre> </li> <li> <p>Если совпадение не было найдено в кеше, вы можете попросить браузер {{domxref("GlobalFetch.fetch","загрузить")}} тот же ресурс, чтобы получить новый файл через обычную сеть, если она доступна:</p> - <pre class="brush: js notranslate">fetch(event.request);</pre> + <pre class="brush: js">fetch(event.request);</pre> </li> <li> <p>Если информация, соответствующая запросу, в кеше не найдена, а также сеть не доступна, то вы можете просто ответить на запрос какой-либо страницей по умолчанию, которая хранится в кеше, используя {{domxref("CacheStorage.match","match()")}}:</p> - <pre class="brush: js notranslate">caches.match('./fallback.html');</pre> + <pre class="brush: js">caches.match('./fallback.html');</pre> </li> <li> <p>Вы можете получить больше информации о каждом запросе, используя для этого свойства объекта {{domxref("Request")}}, который можно получить как свойство объекта {{domxref("FetchEvent")}}:</p> - <pre class="brush: js notranslate">event.request.url + <pre class="brush: js">event.request.url event.request.method event.request.headers event.request.body</pre> @@ -326,7 +326,7 @@ event.request.body</pre> <p>К счастью, сервис-воркеры имеют структуру основанную на промисах, что делает тривиальной такую обработку и предоставляет большое количество способов успешно обработать запрос:</p> -<pre class="brush: js notranslate">self.addEventListener('fetch', (event) => { +<pre class="brush: js">self.addEventListener('fetch', (event) => { event.respondWith( caches.match(event.request).then((response) => { return response || fetch(event.request); @@ -338,7 +338,7 @@ event.request.body</pre> <p>Если же мы были достаточно умны, то мы не стали бы просто возвращать сетевой запрос, а сохранили бы его результат в кеше, чтобы иметь возможность получить его в офлайн-режиме. В случае с нашим демо-приложением "Star Wars gallery", это означает, что, если в галерею будет добавлено ещё одно изображение, то оно будет получено и сохранено в кеше:</p> -<pre class="brush: js notranslate">self.addEventListener('fetch', (event) => { +<pre class="brush: js">self.addEventListener('fetch', (event) => { event.respondWith( caches.match(event.request).then((resp) => { return resp || fetch(event.request).then((response) => { @@ -357,7 +357,7 @@ event.request.body</pre> <p>У нас все ещё остаётся единственная проблема - если на какой-либо запрос в кеше не будет найдено соответствие, и в этот момент сеть не доступна, то наш запрос завершится неудачно. Давайте реализуем запасной вариант по умолчанию, при котором пользователь, в описанном случае, будет получать хоть что-нибудь:</p> -<pre class="brush: js notranslate">self.addEventListener('fetch', (event) => { +<pre class="brush: js">self.addEventListener('fetch', (event) => { event.respondWith( caches.match(event.request).then((resp) => { return resp || fetch(event.request).then((response) => { @@ -382,7 +382,7 @@ event.request.body</pre> <p>Вы можете обновить обработчик события install в новой версии сервис-воркера, чтобы получить примерно такое (обратите внимание на номер новой версии):</p> -<pre class="brush: js notranslate">self.addEventListener('install', (event) => { +<pre class="brush: js">self.addEventListener('install', (event) => { event.waitUntil( caches.open('v2').then((cache) => { return cache.addAll([ @@ -410,7 +410,7 @@ event.request.body</pre> <p>Promise, переданный в <code>waitUntil()</code>, заблокирует другие события до своего завершения, поэтому можно быть уверенным, что процесс очистки закончится раньше, чем выполнится первое событие <code>fetch</code> на основе нового кеша.</p> -<pre class="brush: js notranslate">self.addEventListener('activate', (event) => { +<pre class="brush: js">self.addEventListener('activate', (event) => { var cacheKeeplist = ['v2']; event.waitUntil( |