【问题标题】:Selecting Browser Action for Current Tab in Chrome Extension在 Chrome 扩展程序中为当前选项卡选择浏览器操作
【发布时间】:2015-11-19 21:09:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: google-chrome-extension


    【解决方案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。

    【讨论】:

      【解决方案2】:

      你只需要在设置的时候包含tab id,比如:

      chrome.browserAction.setBadgeText({ text: "5", tabId: tab.id })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-21
        • 2012-04-27
        • 1970-01-01
        • 2012-02-10
        • 2013-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多