aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/service_worker_api
diff options
context:
space:
mode:
authorAlexey Pyltsyn <lex61rus@gmail.com>2021-10-27 02:31:24 +0300
committerGitHub <noreply@github.com>2021-10-27 02:31:24 +0300
commit980fe00a74a9ad013b945755415ace2e5429c3c2 (patch)
treea1c6bb4b302e69bfa53eab13e44500eba55d1696 /files/ru/web/api/service_worker_api
parent374a039b97a11ee7306539d16aaab27fed66b398 (diff)
downloadtranslated-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.html36
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) =&gt; {
+<pre class="brush: js">myFunction().then((value) =&gt; {
console.log(value);
}).catch((err) =&gt; {
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) =&gt; {
+<pre class="brush: js">const imgLoad = (url) =&gt; {
return new Promise((resolve, reject) =&gt; {
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) =&gt; {
@@ -161,7 +161,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<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) =&gt; {
// регистрация сработала
@@ -224,7 +224,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<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) =&gt; {
+<pre class="brush: js">self.addEventListener('install', (event) =&gt; {
event.waitUntil(
caches.open('v1').then((cache) =&gt; {
return cache.addAll([
@@ -268,7 +268,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<p>Вы можете подключить к сервис-воркеру обработчик события <code>fetch</code> и внутри него на объекте события вызвать метод <code>respondWith()</code>, чтобы заменить ответы и показать собственную "магию".</p>
-<pre class="brush: js notranslate">self.addEventListener('fetch', (event) =&gt; {
+<pre class="brush: js">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
// магия происходит здесь
);
@@ -277,7 +277,7 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<p>Для начала, на каждый сетевой запрос мы можем отдать в ответ ресурс, чей url соответствует запросу:</p>
-<pre class="brush: js notranslate">self.addEventListener('fetch', (event) =&gt; {
+<pre class="brush: js">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
caches.match(event.request)
);
@@ -291,29 +291,29 @@ imgLoad('myLittleVader.jpg').then((response) =&gt; {
<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('&lt;p&gt;Hello from your friendly neighbourhood service worker!&lt;/p&gt;', {
+ <pre class="brush: js">new Response('&lt;p&gt;Hello from your friendly neighbourhood service worker!&lt;/p&gt;', {
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) =&gt; {
+<pre class="brush: js">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
caches.match(event.request).then((response) =&gt; {
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) =&gt; {
+<pre class="brush: js">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
caches.match(event.request).then((resp) =&gt; {
return resp || fetch(event.request).then((response) =&gt; {
@@ -357,7 +357,7 @@ event.request.body</pre>
<p>У нас все ещё остаётся единственная проблема - если на какой-либо запрос в кеше не будет найдено соответствие, и в этот момент сеть не доступна, то наш запрос завершится неудачно. Давайте реализуем запасной вариант по умолчанию, при котором пользователь, в описанном случае, будет получать хоть что-нибудь:</p>
-<pre class="brush: js notranslate">self.addEventListener('fetch', (event) =&gt; {
+<pre class="brush: js">self.addEventListener('fetch', (event) =&gt; {
event.respondWith(
caches.match(event.request).then((resp) =&gt; {
return resp || fetch(event.request).then((response) =&gt; {
@@ -382,7 +382,7 @@ event.request.body</pre>
<p>Вы можете обновить обработчик события install в новой версии сервис-воркера, чтобы получить примерно такое (обратите внимание на номер новой версии):</p>
-<pre class="brush: js notranslate">self.addEventListener('install', (event) =&gt; {
+<pre class="brush: js">self.addEventListener('install', (event) =&gt; {
event.waitUntil(
caches.open('v2').then((cache) =&gt; {
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) =&gt; {
+<pre class="brush: js">self.addEventListener('activate', (event) =&gt; {
var cacheKeeplist = ['v2'];
event.waitUntil(