首页 > chrome 扩展程序运行时如何动态更改图标 badge

chrome 扩展程序运行时如何动态更改图标 badge

写了一个简单地扩展程序,主要目的是动态的更改图标的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,不然过一会儿会自动被杀掉。

【热门文章】
【热门文章】