需要在更改选项卡时修改浏览器操作弹出内容

时间:2013-09-05 15:31:17

标签: google-chrome-extension

我需要在选项卡更改时修改浏览器Action弹出窗口的内容。 我正在检测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");

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

说实话,我在这里有点修复

0 个答案:

没有答案