我正试图用这个代码片段来灰显我的扩展。
background.js
chrome.runtime.onInstalled.addListener(function() {
chrome.pageAction.onClicked.addListener((tab) => {
alert('OnClick Listener');
chrome.tabs.executeScript({
file: 'content.js'
})
chrome.pageAction.hide(tab.id);
console.log(`tab.id: ${tab.id}`);
});
}
这段代码只允许我在扩展图标上点击一次,目前还可以。
调用hide
确实会禁用我的扩展,但是图标不会返回到grayscale
。为了强制刷新,我甚至尝试使用chrome.pageAction.setIcon
重置它,但它仍然是coloured
。
我知道Chrome扩展:如何根据url将图标变灰?,但我不认为这是我想要的。
根据我的测试,您不能使用"lt;all_urls>quot;以及";activeTab";在";content_ scripts";以及";权限";,否则图标将始终是彩色的。
"content_scripts": [
{
"matches": ["<all_urls>"], // error
"js": ["content.js"],
}
],
"permissions": ["<all_urls>", "activeTab", "storage", "tabs", "declarativeContent"], // error
缩小
"content_scripts": [
{
"matches": ["http://127.0.0.1/*"],
"js": ["content.js"],
}
],
"permissions": ["storage", "tabs", "declarativeContent"],