• Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API


    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) {...})

    · 获取所有alarm

    chrome.alarms.getAll(function(array of Alarm 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就是触发事件的alarm对象。

  • 相关阅读:
    UUID是否会重复、UUID的生成原理
    自己动手实现一个UUID
    分布式系统唯一ID生成方案
    docker命令中的启动停止命令的使用
    执行git push出现"Everything up-to-date"
    Github提交错误:Invalid username or password. fatal: Authentication failed for
    Allure安装
    git clone 时候出现Please make sure you have the correct access rights and the repository exists.问题解决
    使用fiddler,har2case 将api参数转成yaml格式
    Fiddler怎么可以抓取https的请求包
  • 原文地址:https://www.cnblogs.com/champagne/p/4831860.html
Copyright © 2020-2023  润新知