我是 Google Chrome 扩展开发的新手。我有以下两个疑问
我使用时没有出现弹出窗口page_action
在manifest.json中,但在我使用时出现browser_action
。我想知道为什么?还是我做错了
该图标也显示为非活动状态。当我使用时browser_action
,图标显示为活动状态(意味着如果活动,我可以看到颜色,或者如果不活动,我可以看到黑白图标)
清单.json
{
"manifest_version": 2,
"name": "Getting started example",
"description": "This extension shows a Google Image search result for the current page",
"version": "1.0",
"page_action": {
"default_icon": "icon.png",
"default_popup": "popup.html",
"default_title":"getStarted Extension"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/"
]
}
UPDATE:
谢谢Teepemm https://stackoverflow.com/users/2336725/teepeemm。按照他的解释并用代码添加了答案
谢谢Teepemm https://stackoverflow.com/users/2336725/teepeemm为我提供正确的解释,因此为了使图标处于活动状态和非活动状态,您必须使用chrome.pageAction.show(tabId)
(激活图标)和chrome.pageAction.hide(tabId)
(停用图标)=>https://developer.chrome.com/extensions/pageAction#method-show https://developer.chrome.com/extensions/pageAction#method-show
您需要通过从 client.js 调用它来从 background.js 调用此方法
//background.js
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.message === "activate_icon") {
chrome.pageAction.show(sender.tab.id);
}
});
//content-script.js
chrome.runtime.sendMessage({"message": "activate_icon"});
因此,一旦您的扩展程序图标处于活动状态,单击该图标就会出现弹出窗口。因此,只有当图标处于活动状态时才会出现弹出窗口。
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)