gpt4 book ai didi

javascript - 当选项卡或 url 更改时更改 chrome 扩展程序图标

转载 作者:行者123 更新时间:2023-11-30 14:56:18 25 4
gpt4 key购买 nike

我正在开发一个扩展,我希望图标在事件选项卡或 url 更改时更改。这是我到目前为止所拥有的:

list .json

{
"manifest_version": 2,

"name": "Link2QR",
"description": "chrome_extension",
"version": "1.0",

"browser_action": {
"default_icon":"icon.png",
"default_popup": "popup.html"
},

"permissions": [
"activeTab",
"https://ajax.googleapis.com/",
"tabs"
],

"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
]
}

内容.js

if(onSupportedPageNeedChangeIcon) {
chrome.runtime.sendMessage({ "newIconPath" : "testimage.png" });
}

弹出窗口

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.browserAction.setIcon({
path: request.newIconPath,
tabId: sender.tab.id
});
});

最佳答案

您正在 popup.js 中处理消息,我想它正在 browser_action 弹出页面中运行。

popup.js 因此仅在单击扩展按钮时运行。

您应该改为在 background.js 中处理它:

list .json

{
"manifest_version": 2,
"name": "test",
"version": "0.0.1",
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": {
"24": "icon.png",
"25": "icon.png"
}
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
]
}

背景.js

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.browserAction.setIcon({
path: request.newIconPath,
tabId: sender.tab.id
});
});

关于javascript - 当选项卡或 url 更改时更改 chrome 扩展程序图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47238598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com