Chrome扩展程序开发基础介绍

分类:工具 0 90
ぃ_被淹死的鱼、
发布日期:2019-08-13
Event Page
不过很多时候Background Page只是用来注册一些监听事件,不需要在运行中保留任何数据内容,所以Chrome又引进了Event Page,它跟Background Page基本完全一样。只是Background Page会随着浏览器一起存在,而Event Page的生命周期是在一定时间没有使用就会被Chrome销毁。但是另一方面,它注册的监听事件的回调函数依然会在事件发生时被正常调用,而且在回调函数被调用时。这也是它被称作Event Page的原因。
一个简单的例子体现Background Page和Event Page在持久性上的区别:假如脚本中有个全局变量来计算Browser Action的Button被点击的次数,然后设置了onClicked事件的监听方法里自增那个全局变量。点击多次后变量增加到某个值,然后离开Chrome浏览器但不关闭,一段事件之后再回来点击。如果用Background Page,那么变量会继续按照之前留下的值往上增加;若是用Event Page,那变量则会从新从0开始增加。
定义Event Page的方式,就是在Background Page的定义中加一项"persistent": false。如果把值改成true,又会变回Background Page。
"background": {    "scripts": ["eventPage.js"],    "persistent": false }
总结:
名称
持久性上的区别
如何定义
Background Page
变量会继续按照之前留下的值往上增加
"persistent": true
Event Page
变量则会从新从0开始增加
"persistent": false


回帖
  • 消灭零回复