我创建了一个Chrome扩展名。该功能在单页中正常工作。目前的问题是如何在每个选项卡中检查扩展程序是否已激活。因此我可以重新确定工具栏图标。
复制步骤:1.在第A页中,主动扩展名,将工具栏图标更改为关闭图标。2.打开一个新的页面B,图标仍在继续使用Close Icon。
我只想使工具栏图标反射到每个页面。
我尝试使用onuupdated的选项卡,但会影响扩展激活的页面。
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
chrome.browserAction.setIcon({
path: "images/logo.png"
});
});
您可以调用chrome.browseraction.seticon((传递 tabid 键,例如:
chrome.browserAction.setIcon({
tabId: my-tab-id,
path: {"images/logo.png"}
});
您还可以在某种情况下将图标从背景更新到所有选项卡,因此您可以做类似的事情:
if (someCondition) {
chrome.tabs.query({}, function(tabs) {
tabs.forEach(tab => {
chrome.browserAction.setIcon({
tabId: tab.id,
path: {"images/logo-A.png"}//ICON A
});
});
});
} else {
chrome.tabs.query({}, function(tabs) {
tabs.forEach(tab => {
chrome.browserAction.setIcon({
tabId: tab.id,
path: {"images/logo-B.png"}//ICON B
});
});
});
}