sac*_*024 23 google-chrome google-chrome-extension content-script
正如问题所说,我只想知道chrome扩展中后台脚本和内容脚本之间的区别.当我在两个脚本中记录chrome对象时,我发现了不同的对象.
我想在点击图标时将我的javascript注入页面所以在manifest.json我添加内容脚本但我无法在内容脚本中收听图标点击事件.
chrome.browserAction未在内容脚本中的chrome对象中定义.
如何在内容脚本中侦听单击事件.我们可以同时包含背景和内容脚本吗?
这是我的manifest.json
{
"name": "First Plugin Testing",
"version": "1.0",
"manifest_version": 2,
"description": "Trying hands on first extension",
"background": { "scripts": ["background.js"] },
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"tabs", "http://*/*", "https://*/*"
],
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["temp.js"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
sac*_*024 17
我找到了问题的答案.
答:我们可以同时包含内容脚本和后台脚本吗?
是的,我们可以在清单中包含后台脚本和内容脚本.要在它们之间进行互动,您可以使用Chrome Message Passing API.
我也是这样做的,但背景脚本中有一些错误我无法看到因此我在google上搜索后发布了这个问题.
B.如何在内容脚本中收听点击事件?
解决方案:我们不能拥有browser click event内容脚本.它只能部分访问chrome对象所以你必须在后台脚本中接收click处理程序并将消息发送到内容脚本并做任何你想做的事情.
chrome.browserAction.onClicked在后台脚本中使用事件,然后使用消息传递将信息发送到用户单击图标的内容脚本.
| 归档时间: |
|
| 查看次数: |
12331 次 |
| 最近记录: |