Spec-Zone.ru › Web APIs

PeriodicSyncManager

Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.

Примечание: Эта функция доступна в рабочих потоках.

Интерфейс PeriodicSyncManager API PeriodicSyncManager позволяет регистрировать задачи, которые будут выполняться в рабочем потоке через заданные интервалы при наличии сетевого соединения. Эти задачи называются запросами периодической фоновой синхронизации. Доступ к PeriodicSyncManager через ServiceWorkerRegistration.periodicSync.

Свойства экземпляра

Нет.

Методы экземпляра

PeriodicSyncManager.register() Экспериментально

Регистрирует запрос периодической синхронизации в браузере с указанным тегом и параметрами. Возвращает Promise, который разрешается при завершении регистрации.

PeriodicSyncManager.getTags() Экспериментально

Возвращает 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");
});

Спецификации

Спецификация
Web Periodic Background Synchronization
# periodicsyncmanager-interface

Совместимость с браузерами

Рабочий стол Мобильные устройства
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 Нет

См. также

  • Улучшение работы оффлайн с помощью API периодической фоновой синхронизации
  • Демо-приложение Periodic Background Sync

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API