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。