1

我需要在选项卡更改时修改浏览器操作弹出窗口的内容。我正在检测 background.js 脚本中选项卡的变化

var tabHandler={
    processChange:function(tab){

        var parser = document.createElement('a');//To extract the hostname, we create dom element 
        parser.href = tab.url;

        var regex=/^(www\.)?([^\.]+)/
        var matches=regex.exec(parser.hostname)//This gives us the hostname, we extract the website name
        var website=matches[2];
        function getWebsiteCoupons(site){
            var coupons=cache.pull(site)
            if(!coupons){
                couponfetcher(site)
                coupons=cache.pull(site);
            }
            return coupons;

        }
        var coupons=getWebsiteCoupons(website);
        //NEED TO UPDATE THE POPUP HERE

        chrome.browserAction.setBadgeText({text:coupons.coupons.length+coupons.deals.length+""})

    },

    onTabUpdate:function(tabId,  changeInfo,  dtab){

        chrome.tabs.get(tabId,tabHandler.processChange);


    },
    tabChanged:function(activeInfo) {

        console.log(this)   ;   
        chrome.tabs.get(activeInfo.tabId,tabHandler.processChange);
    },

    init:function(){
        chrome.tabs.onActivated.addListener(this.tabChanged);

    }



}

tabHandler.init();

所以我试图检测浏览器操作上的点击操作,但是当我已经定义了一个弹出窗口时这不起作用。

function BrowserActionClicked(tab){
    alert("hello");
}
chrome.browserAction.onClicked.addListener(BrowserActionClicked)

如果我从清单中删除弹出窗口,则脚本有效。但我不知道如何获取清单内容的实例

我也尝试获得意见。然而,该视图是一个空视图,不包含弹出窗口的内容。

var view=chrome.extension.getViews();
$(view.document).append("Hello");

这也不起作用。如何从后台脚本更新浏览器弹出窗口的内容?

老实说,我在这里有点问题

4

0 回答 0