我正在构建一个简单的扩展,它需要根据页面中是否存在 JS 变量来更改 default_icon。就这么简单,至少这个功能是这样。
我设法在这种情况下更改每个页面加载的图片,但我想更进一步,每当用户更改他关注的选项卡时,更改用户浏览器中所有加载选项卡的图片。 我在尝试仅更改事件选项卡的 default_icon 时遇到问题。
有人知道我应该如何做到这一点吗? (我还是编写 Chrome 扩展的初学者)
我的内容.js:
if (test == "OK") {
// Setting OK Icon
chrome.runtime.sendMessage({"message": "Existing"});
}
else if (test == "NOK") {
// Setting NOK Icon
chrome.runtime.sendMessage({"message": "Not existing"});
}
我的背景.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"});
}
}
);
最佳答案
那么,你应该看看 chrome.browserAction.setIcon
documentation .
integer (optional)
tabId
Limits the change to when a particular tab is selected. Automatically resets when the tab is closed.
正是所需要的!现在,选项卡 ID 为 reported in the sender
parameter :
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
});
}
}
);
关于javascript - Chrome 扩展 - 仅更改事件选项卡的 default_icon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884898/