Creates a new alarm for the current browser session. An alarm may fire once or multiple times. An alarm is cleared after it fires for the last time.
browser.alarms.create( name, // optional string alarmInfo // optional object )
name
Optional
string
. A name for the alarm. Defaults to the empty string.alarms.get()
and alarms.clear()
. It will also be available in alarms.onAlarm
as the name
property of the alarms.Alarm
object passed into the listener function.alarmInfo
Optional
object
. You can use this to specify when the alarm will initially fire, either as an absolute value (when
), or as a delay from the time the alarm is set (delayInMinutes
). To make the alarm recur, specify periodInMinutes
.
On Chrome, unless the extension is loaded unpackaged, alarms it creates are not allowed to fire more than once per minute. If an extension tries to set delayInMinutes
to a value < 1, or when
to a value < 1 minute in the future, then the alarm will fire after 1 minute. If an extension tries to set periodInMinutes
to a value < 1, then the alarm will fire every minute.
The alarmInfo
object may contain the following properties:
when
Optional
double
. The time the alarm will fire first, given as milliseconds since the epoch. To get the number of milliseconds between the epoch and the current time, use Date.now()
. If you specify when
, don't specify delayInMinutes
.delayInMinutes
Optional
double
. The time the alarm will fire first, given as minutes from the time the alarm is set. If you specify delayInMinutes
, don't specify when
.periodInMinutes
Optional
double
. If this is specified, the alarm will fire again every periodInMinutes
after its initial firing. If you specify this value you may omit both when
and delayInMinutes
, and the alarm will then fire initially after periodInMinutes
. If periodInMinutes
is not specified, the alarm will only fire once.Create a one-time delay-based alarm with "" for the name:
const delayInMinutes = 5; browser.alarms.create({ delayInMinutes });
Create a periodic delay-based alarm named "my-periodic-alarm":
const delayInMinutes = 5; const periodInMinutes = 2; browser.alarms.create("my-periodic-alarm", { delayInMinutes, periodInMinutes });
Create a periodic absolute alarm named "my-periodic-alarm":
const when = 1545696000; const periodInMinutes = 2; browser.alarms.create("my-periodic-alarm", { when, periodInMinutes });
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
create |
Yes |
79 |
45
45-64
Alarms scheduled for a time in the past never fire.
|
? |
Yes |
14 |
? |
? |
48
48-64
Alarms scheduled for a time in the past never fire.
|
? |
? |
? |
Note: This API is based on Chromium's chrome.alarms
API.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 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