我需要在选项卡更改时修改浏览器操作弹出窗口的内容。我正在检测 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");
这也不起作用。如何从后台脚本更新浏览器弹出窗口的内容?
老实说,我在这里有点问题