blob: 502791c6ceddf9e29e24a7b54da65ab9a002d416 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
---
title: ServiceWorkerRegistration.update()
slug: Web/API/ServiceWorkerRegistration/update
translation_of: Web/API/ServiceWorkerRegistration/update
---
<div>{{SeeCompatTable}}{{APIRef("Service Workers API")}}</div>
<p>Метод <code><strong>update</strong></code> интерфейса {{domxref("ServiceWorkerRegistration")}} предназначен для обновления service worker. Он обращается по URL service worker-a, и если новый worker побайтно не совпадает с текущим, инсталлирует новую версию. Обращение за новой версией worker обходит любые кеши браузера, если предыдущее обращение произошло более 24 часов назад..</p>
<div class="note">
<p><strong>Примечание</strong>: Эта возможность доступна в <a href="/en-US/docs/Web/API/Web_Workers_API">Web Workers</a>.</p>
</div>
<h2 id="Syntax" style="line-height: 30px; font-size: 2.14285714285714rem;">Синтаксис</h2>
<pre class="syntaxbox" style="font-size: 14px;">ServiceWorkerRegistration.update();</pre>
<h3 id="Параметры">Параметры</h3>
<p>Нет.</p>
<h3 id="Возвращает">Возвращает</h3>
<p>{{domxref("Промис")}}, который разрешается в объект {{domxref("ServiceWorkerRegistration")}}.</p>
<h2 id="Пример">Пример</h2>
<p>В следующем простом примере регистрируется service worker, а затем добавляется обработчик события клика по кнопке, так что вы можете явно обновить service worker по необходимости:</p>
<pre class="brush: js">if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw-test/sw.js', {scope: 'sw-test'}).then(function(registration) {
// Регистрация произошла
console.log('Registration succeeded.');
button.onclick = function() {
registration.update();
}
}).catch(function(error) {
// Ошибка при регистрации
console.log('Registration failed with ' + error);
});
};</pre>
<h2 id="Спецификации">Спецификации</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Спецификация</th>
<th scope="col">Статус</th>
<th scope="col">Комментарий</th>
</tr>
<tr>
<td>{{SpecName('Service Workers', '#service-worker-registration-update-method', 'ServiceWorkerRegistration.update()')}}</td>
<td>{{Spec2('Service Workers')}}</td>
<td>Первоначальное определение.</td>
</tr>
</tbody>
</table>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<p>{{Compat("api.ServiceWorkerRegistration.update")}}</p>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li><a href="/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers">Использование Service Workers</a></li>
<li><a href="https://github.com/mdn/sw-test">Service workers базовый пример кода</a> </li>
<li><a href="https://jakearchibald.github.io/isserviceworkerready/">Готов ли ServiceWorker?</a></li>
<li>{{jsxref("Промисы")}}</li>
<li><a href="/en-US/docs/Web/Guide/Performance/Using_web_workers">Использование web workers</a></li>
</ul>
|