谷歌浏览器插件教程定时运行 Alarms

alarms (我给他命名为警报器)

使用chrome.alarms API 安排代码定期运行或在未来的指定时间运行 。通俗点就是定时器。
黑白课堂
使用时,需要申请权限

//manifest.json
{
...
"permissions": [
    "alarms",
  ],
}

类型

Alarm

  • name 名称
  • periodInMinutes 如果不为空,则定时是重复的,并将在 periodInMinutes 几分钟内再次触发
  • scheduledTime 计划触发此警报的时间,以历元过去的毫秒数为单位(例如Date.now() + n)。出于性能原因,警报可能已延迟超过此任意数量。

AlarmCreateInfo

  • delayInMinutes 事件延迟分钟的时间长度执行(以分钟为单位),

  • periodInMinutes 如果设置,onAlarm 事件应该在periodInMinutes指定的初始事件之后每分钟触发一次。如果未设置,则警报只会触发一次,
    如果设置:2,这表示回调事件间隔2分钟,如果设置 3,回调事件间隔3分钟,类推

  • when 警报应该触发的时间,以历元过去的毫秒数为单位(例如Date.now() + n)

方法

create 创建

chrome.alarms.create(
  name?: string,
  alarmInfo: AlarmCreateInfo,
)

创建警报。在 指定的时间附近alarmInfo,onAlarm触发事件。如果有另一个同名的警报(如果没有指定,则没有名称),它将被取消并被该警报替换。

为了减少用户机器上的负载,Chrome 将警报限制为最多每 1 分钟一次,但可能会延迟任意数量。也就是说,设置delayInMinutes或periodInMinutes小于1将不会被遵守并会导致警告。when可以设置为“现在”之后不到 1 分钟而不发出警告,但实际上不会导致警报至少在 1 分钟内触发。
alarmInfo
描述何时触发警报。初始时间必须由一个when或delayInMinutes(但不能同时)指定。如果periodInMinutes设置,警报将periodInMinutes在初始事件后每分钟重复一次。如果两者都没有when或delayInMinutes没有设置为重复警报,periodInMinutes则用作 的默认值delayInMinutes

为了帮助您调试您的应用程序或扩展程序,当您解压加载它时,警报触发的频率没有限制

需要花费 10 个 学币,后才能查看完整内容 立即购买

评论区 (0)

没有记录
支持 markdown,图片截图粘贴拖拽都可以自动上传。
空气

空气 · 中级学士

热爱技术,喜欢新东西。

老程序员年度分享MVP
查看更多

最新视频课程

钻级赞助商