我正在尝试检测特定标签何时更改域名 - 例如,我将facebook.com留给stackoverflow.com。但我只想在给定的标签中检测到它 - 所以如果我在一个标签中转到facebook.com然后在另一个标签中转到stackoverflow.com则不行。发生此事件时,我需要知道卸载了哪个域。因此,如果在特定标签中我从facebook.com导航到stackoverflow.com,我将需要触发事件和" facebook.com"存储在变量中。
我认为以下内容可行,但是标签ID会发生变化(我认为有时会加载新的标签ID与卸载页面的标签ID),所以它不起作用。有什么想法吗?
在内容脚本中:
ser_cdf.plot(drawstyle='steps')
在后台:
window.onbeforeunload = function () {
var host = location.host;
chrome.runtime.sendMessage({unloadEvent : host}, function(response){
if(response.isSuccess){
console.log('unload message sent');
}
});
}
答案 0 :(得分:1)
不,抱歉。只有在删除/关闭选项卡时才会更改tabid,并且使用内容脚本是一个坏主意。
适合您的方法是使用chrome.tabs.onUpdated,如下所示:
chrome.tabs.onUpdated.addListener(function(tabid, changeInfo, tab) { if (changeInfo.status == 'complete') { alert('tabid: ' + tabid + 'URL: ' + changeInfo.url + 'Tab status: ' + changeInfo.status); } });
这必须包含在后台脚本中。