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对象。

Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API的更多相关文章

  1. Chrome浏览器扩展开发系列之十四

    Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59      阅读:1361      评论:0      收藏:0    ...

  2. Chrome浏览器扩展开发系列之十四:本地消息机制Native messagin

    Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 2016-11-24 09:36 114人阅读 评论(0) 收藏 举报  分类: PPAPI(27)  通过将浏览器 ...

  3. Chrome浏览器扩展开发系列之十一:NPAPI插件的使用

    在Chrome浏览器扩展中使用HTML和JavaScript非常容易,但是如何重用已有的非JavaScript遗留系统代码呢?答案是将NPAPI插件绑定到Chrome浏览器扩展,从而实现在Chrome ...

  4. Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging

    通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机(native messaging host)”,Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应 ...

  5. Chrome浏览器扩展开发系列之七:override页面

    Chrome浏览器通常提供了一些默认页面,如标签管理器页面chrome://bookmarks.浏览历史记录页面chrome://history或新建Tab页面chrome://newtab等. Ch ...

  6. Chrome浏览器扩展开发系列之十九:扩展开发示例

    翻译总结了这么多的官网内容,下面以一款博主开发的“沪深股票价格变化实时追踪提醒”软件为例,介绍Chrome浏览器扩展程序的开发,开发环境为Eclipse IDE+Chrome Browser. “沪深 ...

  7. Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API

    除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...

  8. Chrome浏览器扩展开发系列之一:初识Google Chrome扩展

    1.       Google Chrome扩展简介 Google Chrome扩展是一种软件,以增强Chrome浏览器的功能. Google Chrome扩展使用HTML.JavaScript.CS ...

  9. Chrome浏览器扩展开发系列之十八:扩展的软件国际化chrome.i18n API

    i18n是internationalization 的简写,这里将讨论软件国际化的问题.熟悉软件国际化的朋友应该知道,软件国际化要求,页面中所有用户可见的字符串都必须置于资源属性文件中.资源属性文件中 ...

随机推荐

  1. .net操作InI文件

    public class INI { public static string IniFileName = "";//路径 [DllImport("kernel32&qu ...

  2. 开涛spring3(7.4) - 对JDBC的支持 之 7.4 Spring提供的其它帮助

    7.4  Spring提供的其它帮助 7.4.1  SimpleJdbc方式 Spring JDBC抽象框架提供SimpleJdbcInsert和SimpleJdbcCall类,这两个类通过利用JDB ...

  3. root用户不能修改iptable文件

    问题: 需要放通IP 端口  执行: vi /etc/sysconfig/iptables, 添加完成后,wq保存,提示文件只读无法保存!!! 解决步骤: 1.查看文件权限  ls -ld /etc/ ...

  4. JQuery中参数e,event

    与Flex类似,JavaScript中的事件也同样存在,捕获--触发--冒泡 三个节点.比较常见的情况是,在子DIV触发事件时,如果父DIV也监听同类事件,那么也会一起触发,并向上冒泡 jQuery对 ...

  5. java将类和函数封装成jar,然后在别的项目中使用这个jar包

    本来想用idea安装的,不过用maven生成后发现jar有20,30M肯定不对,后来还是用eclipse生成了,方便很多 环境: eclipse luna,jdk1.8_112 1.生成jar包,首先 ...

  6. JVM-5.字节码执行引擎

    一.概述 二.栈帧结构 三.方法调用 四.方法执行       一.概述 虚拟机与物理机 虚拟机是一个相对于物理机的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器.硬件. ...

  7. 如何实现windows命令提示符的tab补全

    1:使用win+r打开 运行 控制台 2:输入 regedit 打开注册表 3:进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\Co ...

  8. mac os 安装 python 环境

    1.我们先获取pip安装脚本: 1 wget https://bootstrap.pypa.io/get-pip.py 如果没有安装wget可以去这里将所有内容复制下来,新建get-pip.py文件, ...

  9. ionic 中关于日期的转换格式

    //在HTML页面上{{ 2015-12-07T15:59:59.000Z | date }} //结果:December 7, 2015 {{ 2015-12-07T15:59:59.000Z | ...

  10. 【CC2530入门教程-01】IAR集成开发环境的建立与项目开发流程

    [引言] 本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:1.CC2530单片机开发入门.2.通用I/O端口的输入和输出.3.外部中断初步应用.4.定时/计 ...