Javascript 切换到网站后自动更改分机图标
我想写一个chrome扩展,在每次点击和页面加载后自动检索页面地址,并运行一个脚本自动更改扩展图标。我的代码仅在单击扩展图标后更改图标。如何在切换到网站后自动更改图标 manifest.jsonJavascript 切换到网站后自动更改分机图标,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我想写一个chrome扩展,在每次点击和页面加载后自动检索页面地址,并运行一个脚本自动更改扩展图标。我的代码仅在单击扩展图标后更改图标。如何在切换到网站后自动更改图标 manifest.json { "manifest_version": 2, "name" : "__MSG_extName__", "default_locale" : "en", "version": "1.0", "permissions": [ "tabs" ], "browse
{
"manifest_version": 2,
"name" : "__MSG_extName__",
"default_locale" : "en",
"version": "1.0",
"permissions": [
"tabs"
],
"browser_action": {
"default_icon": "images/icon.png",
"default_popup": "index.html"
}
}
script.js
chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
function(tabs){
var url = tabs[0].url;
if (url.indexOf('mywebsite.com') !== -1){
chrome.browserAction.setIcon({path:"images/ok.png"});
}else{
chrome.browserAction.setIcon({path:"images/no.png"});
}
}
);
如果您希望在页面位置更改时收到通知,则应收听
chrome.tabs.onUpdated
事件。
有关详细信息,请参阅,但其想法是,倾听该事件,当触发时,检查选项卡是否是您关心的选项卡(例如,活动选项卡),并查看更改的值是否为URL,如果是,请与mywebsite.com
进行比较。当您运行查询时,您的代码现在只检查一次
您的代码可能如下所示:
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
const newUrl = changeInfo.url;
if (newUrl) {
if (newUrl.indexOf('mywebsite.com') !== -1){
chrome.browserAction.setIcon({path:"images/ok.png"});
}else{
chrome.browserAction.setIcon({path:"images/no.png"});
}
}
});
切换到另一个页面后,no.png图标不会更改您的意思是切换到另一个选项卡吗?在这种情况下,您还需要注意活动选项卡中的更改,请尝试使用“是”。Po użyciu chrome.tabs.on激活。addListener działa dzięki。