alarms.create()
建立一個新的瀏覽器會話鬧鐘。一個鬧鐘可以觸發一次或多次。鬧鐘在最後一次觸發後會被清除。
注意: 從 Chrome 117 開始,活動鬧鐘的數量限制為 500。達到此限制時,鬧鐘建立將失敗。
語法
browser.alarms.create(
name, // optional string
alarmInfo // optional object
)
引數
name可選-
string。鬧鐘的名稱。預設為空字串。這可用於在
alarms.get()和alarms.clear()中引用特定鬧鐘。它也將作為傳遞給監聽器函式的alarms.Alarm物件的name屬性在alarms.onAlarm中可用。鬧鐘名稱在單個擴充套件的作用域內是唯一的。如果存在同名鬧鐘,則現有鬧鐘將被清除,正在建立的鬧鐘將取代它。
alarmInfo可選-
object。您可以使用它來指定鬧鐘的初始觸發時間,可以是絕對值 (when) 或距離設定鬧鐘的時間的延遲 (delayInMinutes)。要使鬧鐘重複,請指定periodInMinutes。在 Chrome 中,除非擴充套件是解包載入的,否則鬧鐘不會每 30 秒觸發一次以上。如果擴充套件設定
delayInMinutes的值為 < 0.5,或when的值為 < 0.5,則鬧鐘在設定後 30 秒觸發。如果擴充套件設定periodInMinutes的值為 < 0.5,則鬧鐘每 30 秒觸發一次。將delayInMinutes或periodInMinutes設定為 < 0.5 會導致警告。鬧鐘觸發可能會被任意延遲。在 Chrome 120 之前,此限制為一分鐘。alarmInfo物件可能包含以下屬性when可選-
double。鬧鐘的第一次觸發時間,以 自紀元以來的毫秒數給出。要獲取紀元和當前時間之間的毫秒數,請使用Date.now()。如果指定了when,請勿指定delayInMinutes。 delayInMinutes可選-
double。鬧鐘的第一次觸發時間,以距離設定鬧鐘的時間的分鐘數給出。如果指定了delayInMinutes,請勿指定when。 periodInMinutes可選-
double。如果指定了此值,則鬧鐘將在初始觸發後每periodInMinutes再次觸發。如果您指定此值,則可以省略when和delayInMinutes,然後鬧鐘將在periodInMinutes後初始觸發。如果未指定periodInMinutes,則鬧鐘僅觸發一次。
返回值
一個 Promise,它以無引數的方式完成。
示例
建立一個一次性的基於延遲的鬧鐘,名稱為空字串 ""
function onAdded() {
console.log("Alarm Added!");
}
let delayInMinutes = 5;
let addingAlarm = browser.alarms.create({
delayInMinutes,
});
addingAlarm.then(onAdded);
建立一個名為“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,
});
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.alarms API。