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. Customer segmentation – LifeCycle Grids with R(转)

    I want to share a very powerful approach for customer segmentation in this post. It is based on cust ...

  2. C#基础篇--面向对象(类与对象)

    1.类是什么?  类就相当于模板,就是把同一类的事物的共同特征进行的抽象. 类的创建和说明: 类是先根据一些具体的对象(实体的东西)来抽象出来的共同的特性,然后用代码来表示. 在类中,用数据表示事物的 ...

  3. javaScript-什么是变量?

    什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名 ...

  4. 【JAVAWEB学习笔记】网上商城实战3:购物模块和订单模块

    网上商城实战3 今日任务 完成购物模块的功能 完成订单模块的功能 1.1      购物模块: 1.1.1    功能演示: 商品详情: 购物车模块: 1.1.2    代码实现: 1.在商品详情的页 ...

  5. 每天一个JS 小demo之“随机”抽奖。主要知识点:Math函数,数组方法,递归

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...

  6. android设计,图标等概述

    作者:郦橙 锦妖 链接:https://www.zhihu.com/question/36813390/answer/87029428 著作权归作者所有,转载请联系作者获得授权. 简单复制,用于记录, ...

  7. Mybatis学习(二) - CRUD操作(增删改查操作)

    直接上例子: 1.项目结构: 2.具体代码及配置 User.java package com.mybatis.bean; public class User { private int id; pri ...

  8. MyEclipse解决SVN同步冲突问题conflict in the working copy obstructs the current operation

    服务端版本控制软件subversion,客户端是eclipse的插件subclipse.当删除一个东西的时候老是提示错误,说冲突 commit -m "" C:/Users/Adm ...

  9. 自己积累写的winfrom 操作api 类

    引用 类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  10. Deep Q-Network 学习笔记(一)—— Q-Learning 学习与实现过程中碰到的一些坑

    这方面的资料比较零散,学起来各种碰壁,碰到各种问题,这里就做下学习记录. 参考资料: https://morvanzhou.github.io/ 非常感谢莫烦老师的教程 http://mnemstud ...