Spec-Zone.ru › Web Extensions

alarms.create()

Создает новую закладку-напоминание для текущей сессии браузера. Напоминание может срабатывать один раз или несколько раз. Напоминание очищается после последнего срабатывания.

Синтаксис

browser.alarms.create(
  name,              // optional string
  alarmInfo          // optional object
)

Параметры

name Необязательно

string. Имя напоминания. По умолчанию пустая строка.

Может использоваться для указания конкретного напоминания в alarms.get() и alarms.clear(). Также будет доступно в alarms.onAlarm в качестве свойства name объекта alarms.Alarm, переданного в функцию-обработчик.

Имена напоминаний уникальны в рамках одного расширения. Если напоминание с таким же именем уже существует, существующее напоминание будет очищено, и создаваемое напоминание его заменит.

alarmInfo Необязательно

object. Можно использовать для указания момента первоначального срабатывания напоминания, либо как абсолютное значение (when), либо как задержка от момента установки напоминания (delayInMinutes). Чтобы сделать напоминание повторяющимся, укажите periodInMinutes.

В Chrome, если расширение не загружено в режиме разработки, созданные им напоминания не могут срабатывать чаще, чем раз в минуту. Если расширение пытается установить delayInMinutes со значением < 1 или when со значением < 1 минуты в будущем, напоминание сработает через 1 минуту. Если расширение пытается установить periodInMinutes со значением < 1, напоминание будет срабатывать каждую минуту.

Объект alarmInfo может содержать следующие свойства:

when Необязательно

double. Время первого срабатывания напоминания, заданное в миллисекундах с момента эпохи Unix. Чтобы получить количество миллисекунд между эпохой и текущим временем, используйте Date.now(). Если вы указываете when, не указывайте delayInMinutes.

delayInMinutes Необязательно

double. Время первого срабатывания напоминания, заданное в минутах от момента установки напоминания. Если вы указываете delayInMinutes, не указывайте when.

periodInMinutes Необязательно

double. Если это указано, напоминание будет срабатывать каждые periodInMinutes после первоначального срабатывания. Если вы указываете это значение, можно опустить как when, так и delayInMinutes, и напоминание сработает первоначально через periodInMinutes. Если periodInMinutes не указано, напоминание сработает только один раз.

Примеры

Создайте напоминание с одним срабатыванием, основанное на задержке, с "" для имени:

const delayInMinutes = 5;

browser.alarms.create({
  delayInMinutes,
});

Создайте повторяющееся напоминание, основанное на задержке, с именем "my-periodic-alarm":

const delayInMinutes = 5;
const periodInMinutes = 2;

browser.alarms.create("my-periodic-alarm", {
  delayInMinutes,
  periodInMinutes,
});

Создайте повторяющееся напоминание с абсолютным временем срабатывания, с именем "my-periodic-alarm":

const when = 1545696000;
const periodInMinutes = 2;

browser.alarms.create("my-periodic-alarm", {
  when,
  periodInMinutes,
});

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

Рабочие столы Мобильные
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
create Да 79 45
45–64Напоминания, установленные на время в прошлом, никогда не срабатывают.
? Да 14 ? ? 48
48–64Напоминания, установленные на время в прошлом, никогда не срабатывают.
? 15 ?

Примечание: Этот API основан на API chrome.alarms Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/alarms/create

Spec-Zone.ru

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