PeriodicSyncManager
Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.
Примечание: Эта функция доступна в рабочих потоках.
Интерфейс PeriodicSyncManager API PeriodicSyncManager позволяет регистрировать задачи, которые будут выполняться в рабочем потоке через заданные интервалы при наличии сетевого соединения. Эти задачи называются запросами периодической фоновой синхронизации. Доступ к PeriodicSyncManager через ServiceWorkerRegistration.periodicSync.
Свойства экземпляра
Нет.
Методы экземпляра
-
PeriodicSyncManager.register()Экспериментально -
Регистрирует запрос периодической синхронизации в браузере с указанным тегом и параметрами. Возвращает
Promise, который разрешается при завершении регистрации. -
Возвращает
Promise, который разрешается спискомstrings, представляющим теги, которые в данный момент зарегистрированы для периодической синхронизации. -
PeriodicSyncManager.unregister()Экспериментально -
Отменяет запрос периодической синхронизации, соответствующий указанному тегу, и возвращает
Promise, который разрешается при завершении отмены регистрации.
Примеры
В следующих примерах показано, как использовать интерфейс.
Запрос периодической фоновой синхронизации
Следующая асинхронная функция регистрирует периодическую фоновую синхронизацию с минимальным интервалом в один день из контекста просмотра:
async function registerPeriodicNewsCheck() {
const registration = await navigator.serviceWorker.ready;
try {
await registration.periodicSync.register("get-latest-news", {
minInterval: 24 * 60 * 60 * 1000,
});
} catch {
console.log("Periodic Sync could not be registered!");
}
}
Проверка задачи периодической фоновой синхронизации по тегу
Этот код проверяет, зарегистрирована ли задача периодической фоновой синхронизации с заданным тегом.
navigator.serviceWorker.ready.then((registration) => {
registration.periodicSync.getTags().then((tags) => {
if (tags.includes("get-latest-news")) skipDownloadingLatestNewsOnPageLoad();
});
});
Удаление задачи периодической фоновой синхронизации
Следующий код удаляет задачу периодической фоновой синхронизации, чтобы остановить синхронизацию статей в фоновом режиме.
navigator.serviceWorker.ready.then((registration) => {
registration.periodicSync.unregister("get-latest-news");
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
PeriodicSyncManager |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
getTags |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
register |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
unregister |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PeriodicSyncManager