Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API
要使用chrome.alarms.* API,,首先需要在manifest.json文件中声明alarms授权如下:
{
"permissions": [
"alarms"
],
}
chrome.alarms.Alarm对象的属性如下:
属性名
类型
必选/可选
注释
name
string
必选
alarm的名字
scheduledTime
double
必选
触发alarm的时间,单位ms
periodInMinutes
double
可选
非null表示alarm周期性执行的时间间隔,单位minute
chrome.alarms API中的常用方法:
· 创建一个alarm
chrome.alarms.create(string name, object alarmInfo)
这是一个同步方法,name属性可选,为空时表示””。alarmInfo对象的属性如下:
属性名
类型
必选/可选
注释
when
double
可选
触发alarm的时间,单位ms
delayInMinutes
double
可选
onAlarm事件发出的延迟时间,单位minute
periodInMinutes
double
可选
非null表示alarm周期性执行的时间间隔,单位minute
在alarmInfo指定的时间创建一个新的alarm,同时发出onAlarm事件。如果已经有重名的alarm则替换已有的alarm。
为了降低创建alarm对运行效率的影响,Chrome浏览器限制一分钟内最多只能有一个alarm,任何可能突破该限制的alarm都将被推迟任意时间。当然调试过程中没有该限制。
· 获取指定名字的alarm
chrome.alarms.get(string name, function( alarm) {...})
· 获取所有alarm
chrome.alarms.getAll(function(array of alarms) {...})
· 通过名字删除alarm
chrome.alarms.clear(string name, function(boolean wasCleared) {...})
· 清除所有alarm
chrome.alarms.clearAll(function(boolean wasCleared) {...})
· 监听alarm发生的事件,用于event page
chrome.alarms.onAlarm.addListener(function( alarm) {...})
回调函数中的alarm就是触发事件的alarm对象。
Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67116.html