Javascript Chrome扩展-仅更改活动选项卡的默认图标
我正在构建一个简单的扩展,它需要根据页面中是否存在JS变量来更改默认的_图标。就这么简单,至少这个功能 在这种情况下,我成功地更改了每个页面加载时的图片,但我想更进一步,每当用户更改其关注的选项卡时,都会更改用户浏览器中所有加载选项卡的图片。 我无法仅为活动选项卡更改默认的_图标 有谁知道我该怎么做? (我还是编写Chrome扩展的初学者) My content.js:Javascript Chrome扩展-仅更改活动选项卡的默认图标,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在构建一个简单的扩展,它需要根据页面中是否存在JS变量来更改默认的_图标。就这么简单,至少这个功能 在这种情况下,我成功地更改了每个页面加载时的图片,但我想更进一步,每当用户更改其关注的选项卡时,都会更改用户浏览器中所有加载选项卡的图片。 我无法仅为活动选项卡更改默认的_图标 有谁知道我该怎么做? (我还是编写Chrome扩展的初学者) My content.js: if (test == "OK") { // Setting OK Icon chrome.runtime.s
if (test == "OK") {
// Setting OK Icon
chrome.runtime.sendMessage({"message": "Existing"});
}
else if (test == "NOK") {
// Setting NOK Icon
chrome.runtime.sendMessage({"message": "Not existing"});
}
My background.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "Existing" ) {
chrome.browserAction.setIcon({path:"OKicon.png"});
}
if( request.message === "Not Existing" ) {
chrome.browserAction.setIcon({path:"NOKicon.png"});
}
}
);
你基本上就在那里。您只需将内容脚本中的逻辑包装为对
窗口焦点
事件的回调
window.onfocus = function(){
if (test == "OK") {
// Setting OK Icon
chrome.runtime.sendMessage({"message": "Existing"});
} else {
// Setting NOK Icon
chrome.runtime.sendMessage({"message": "Not existing"});
}
}
当用户更改焦点时,
后台
脚本将从上下文
脚本接收运行时消息,并相应地更改扩展图标。好的,您应该查看
整数(可选)tabId
将更改限制在选定特定选项卡时进行。选项卡关闭时自动重置
这正是我们需要的!现在,选项卡ID为:
实际上,
setIcon
直接支持它,请参见我的答案非常感谢!就这样!我试着和那张桌子一起工作,但我不知道该放什么进去。谢谢你的时间!
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "Existing" ) {
chrome.browserAction.setIcon({
path:"OKicon.png",
tabId: sender.tab.id
});
}
if( request.message === "Not Existing" ) {
chrome.browserAction.setIcon({
path:"NOKicon.png",
tabId: sender.tab.id
});
}
}
);