写了一个简单地扩展程序,主要目的是动态的更改图标的badge,js代码如下:
$(document).ready(function(){
setInterval(getResult,5000);
});
function getResult(){
var today = new Date();
var s = today.getSeconds();
var details = {
text:s+''
}
chrome.browserAction.setBadgeText(details);
}
但是发现这个badge不会更新,不知道是什么问题。如果把审查弹出内容
同时打开,那么可以看到badge是自动更新的。
window.onload = function(){
var i = 0;
setInterval(function(){
chrome.browserAction.setBadgeText({text:i+''});
i+=1;
},5000);
}
//background.js
测试并没有问题。Chrome/47.0.2526.106
setInterval函数可以使用,我的代码也没有问题,只是放错位置了。js函数应该放到background.html文件中。
暂时没法上网,没法查文档。
我只能先猜测一下:是不是权限问题,比如在manifest.json中开启chrome.browerAction的权限。
另外,我记得setInterval
已经被chrome扩展禁用了的吧?还能用?
提供一下你的 manifest.json 文件
"background": {
"scripts": [
"js/event.js"
],
"persistent": true // <- 这里
},
要让背景页面一直生效,需要指定 persistent: true,不然过一会儿会自动被杀掉。