我有一个Event Page
,我在其中设置了一些监听器,以便在用户更改当前标签中的URL时找出:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
myFunction(tab);
});
现在,我想在使用DOM
时更改标签myFunction
的某些部分。
我已经测试了一下,似乎我正在更改的DOM
,它与用户已更改的标签不同。
我对此有点新意,我不知道是否必须使用Content Scripts
。
谢谢!
答案 0 :(得分:2)
如果您问如何更改选项卡的DOM,我会使用内容脚本。然后使用postMessage
在您的活动页面和内容脚本之间进行通信(如果需要),但事件页面可能会消失,因此可能不是可靠的渠道。
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null,
{code:"document.body.bgColor='red'"});
});
如果您询问如何获取当前选项卡,获取当前选项卡可能会因上下文而异。以下是最近对我有用的内容。
在浏览器操作的popup.html中我有:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var current;
if (_.isEmpty(tabs)) {
return;
}
current = tabs[0];
});
在chrome-extention中://我使用:
chrome.tabs.getCurrent(function(tab) {
});