我正在处理操作某些Cookie的chrome扩展程序。大多数操作都发生在后台服务中,但我需要更新图标并将数据传递给当前选项卡的浏览器操作。
我正在寻找类似于AdBlock扩展程序的操作。 AdBlock会在图标的右下角为阻止的广告数量加载一个小数字,因此它会因标签而异。
当我从后台服务执行此操作时,它似乎会在所有浏览选项卡中发生变化。具有扩展经验的人能否为我指出正确的方向?
答案 0 :(得分:1)
您只需在设置时添加标签ID,例如:
chrome.browserAction.setBadgeText({ text: "5", tabId: tab.id })
答案 1 :(得分:1)
这应该让你开始。
setInterval(function(){//every second
chrome.tabs.getSelected(null,function(tab) {//on the current tab,
chrome.browserAction.getBadgeText({tabId:tab.id}, function(badgeText){//get the tab's badge text
if(badgeText.length<1){
badgeText="0";//set the text if its empty
}
chrome.browserAction.setBadgeText({tabId:tab.id,text:badgeText/1+1+""});//and add one.
});
});
},1000);
请确保您不在控制台中运行此功能,因为chrome会获得开发者工具窗口ID,并且由于没有有效的标签具有该ID,因此它将更改每个标签的badgeText。