Google chrome extension Chrome扩展在页面操作中显示弹出窗口
我对chrome浏览器扩展和页面操作有点困惑。 我的目标是有一个特定页面的弹出窗口Google chrome extension Chrome扩展在页面操作中显示弹出窗口,google-chrome-extension,Google Chrome Extension,我对chrome浏览器扩展和页面操作有点困惑。 我的目标是有一个特定页面的弹出窗口 manifest.json: { “名称”:“基本扩展”, “版本”:“1.0”, “说明”:“扩展”, “权限”:[ “活动标签”, “声明内容”, “存储”, “标签”, “*://www.google.com/*”], “背景”:{ “脚本”:[“background.js”], “持续”:假 }, “页面操作”:{ “默认弹出窗口”:“popup.html”, “默认_图标”:{ “16”:“imag
manifest.json
:
{
“名称”:“基本扩展”,
“版本”:“1.0”,
“说明”:“扩展”,
“权限”:[
“活动标签”,
“声明内容”,
“存储”,
“标签”,
“*://www.google.com/*”],
“背景”:{
“脚本”:[“background.js”],
“持续”:假
},
“页面操作”:{
“默认弹出窗口”:“popup.html”,
“默认_图标”:{
“16”:“images/icon16.png”,
“32”:“images/icon32.png”,
“48”:“images/icon64.png”,
“128”:“images/icon128.png”
}
},
“图标”:{
“16”:“images/icon16.png”,
“32”:“images/icon32.png”,
“48”:“images/icon64.png”,
“128”:“images/icon128.png”
},
“清单版本”:2
}
background.js
:
“严格使用”;
chrome.runtime.onInstalled.addListener(函数(){
chrome.declarativeContent.onPageChanged.removeRules(未定义,函数(){
chrome.declarativeContent.onPageChanged.addRules([{
条件:[新建chrome.declarativeContent.PageStateMatcher]({
pageUrl:{hostEquals:'https://www.google.com/*'},
})],
操作:[新建chrome.declarativeContent.ShowPageAction()]
}]);
});
});
popup.html
:
身体{
背景颜色:绿色;
}
测试扩展
试验
问题是:
- 如果我在清单中使用
,它将按预期工作。单击扩展图标后将显示弹出窗口browser\u action
- 但当我将其更改为
时,弹出窗口不再显示。(鼠标左键单击将打开与鼠标右键单击相同的菜单,而不是显示我的弹出窗口。)page\u action
我是否需要手动触发弹出窗口?我是否缺少清单中的某些权限?如果您能提供任何帮助或提示,我将不胜感激。您对
hostEquals
的条件定义不正确。它应该分为hostEqual
和scheme
两部分,如下所示:
pageUrl: { hostEquals: 'www.google.com', schemes: ['https'] }
这样做之后,它应该按照定义工作。请查看中的规则部分