Google chrome extension 为什么Chrome扩展是';是否将工具栏图标重置为默认图标?
在这个最小的示例中,我有以下manifest.json: 在每次导航中,我都想将工具栏中的图标更改为绿色png。它可以工作,但是有一个问题:Google chrome extension 为什么Chrome扩展是';是否将工具栏图标重置为默认图标?,google-chrome-extension,Google Chrome Extension,在这个最小的示例中,我有以下manifest.json: 在每次导航中,我都想将工具栏中的图标更改为绿色png。它可以工作,但是有一个问题: 我在任何页面上,图标都是绿色的 我点击一个链接,它会触发导航 图标重置回红色几毫秒 我的听众被触发,他们将图标设置回绿色 My background.js: 是什么导致了这种行为?有什么方法可以防止图标在导航时复位吗?这就是在Chrome中实现的方法。你可以抱怨。同时,一种解决方法是在manifest.json中默认设置一个中性灰色图标,并在侦听器中更改为
是什么导致了这种行为?有什么方法可以防止图标在导航时复位吗?这就是在Chrome中实现的方法。你可以抱怨。同时,一种解决方法是在manifest.json中默认设置一个中性灰色图标,并在侦听器中更改为红色或绿色。@wOxxOm感谢您提供的链接。我想知道为什么没有办法让改变永久化。嗯?因为没有人实施它。
{
"name": "Getting Started Example",
"version": "1.0",
"description": "Build an Extension!",
"manifest_version": 2,
"background": {
"scripts": ["background.js"]
},
"permissions": ["webNavigation", "activeTab"],
"browser_action": {
"default_icon": {
"16": "red.png"
}
}
}
const setIcon = (details) => {
if (details.frameId != 0) {
return; // only update the icon for main page, not iframe/frame
}
chrome.browserAction.setIcon({
path: { '16' : 'green.png'},
tabId: details.tabId
});
}
chrome.webNavigation.onHistoryStateUpdated.addListener(setIcon);
chrome.webNavigation.onBeforeNavigate.addListener(setIcon);
chrome.webNavigation.onCommitted.addListener(setIcon);