在Chrome扩展程序中为当前选项卡选择浏览器操作

时间:2015-08-26 00:42:36

标签: google-chrome-extension

我正在处理操作某些Cookie的chrome扩展程序。大多数操作都发生在后台服务中,但我需要更新图标并将数据传递给当前选项卡的浏览器操作。

我正在寻找类似于AdBlock扩展程序的操作。 AdBlock会在图标的右下角为阻止的广告数量加载一个小数字,因此它会因标签而异。

当我从后台服务执行此操作时,它似乎会在所有浏览选项卡中发生变化。具有扩展经验的人能否为我指出正确的方向?

2 个答案:

答案 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。