我正在开发一个Chrome扩展程序,这是一个问题.在我inject.js
,我提出的请求如下:
chrome.extension.sendRequest({command:'skip'},callback)
Run Code Online (Sandbox Code Playgroud)
在我的`background.js中,我只是添加一个请求监听器,如:
chrome.extension.onrequest.addListener(function(req,sender,res){console.log("procession"})
Run Code Online (Sandbox Code Playgroud)
但是有一个错误:
端口错误:无法建立连接.接收端不存在
这似乎是Chrome中的一个bug?PS:
我的manifest.json的一部分
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["< all_urls >"],
"js": ["inject.js"]
}
],
Run Code Online (Sandbox Code Playgroud)
我在Chromium 17,我尝试重新加载扩展程序,重新打开浏览器......没有发生任何事情,
有人得到一些想法?
我正在使用Firefox Add-on SDK将Chrome扩展程序移植到Firefox.
该扩展程序包含一个连接到工具栏按钮的面板(相当于Chrome的popup.html +浏览器操作)和一个PageMod内容脚本.
当面板打开时,它需要向当前选项卡的内容脚本发送一条消息,以接收包含该页面中某些信息的对象.我遇到麻烦的部分是如何实际传递消息.有人能指点我正确的方向吗?我似乎找不到很多资源来帮助Chrome扩展开发人员学习Firefox插件开发.
以下问题在Chrome环境中演示了此概念.我只需要帮助将其移植到Firefox.
Chrome扩展程序 - 从弹出窗口传递到内容脚本的消息
我对 chrome 扩展开发完全陌生。单击扩展弹出窗口中的按钮时,我试图更改 DOM(将数据附加到活动网页)。这怎么可能。
清单文件
{
"manifest_version": 2,
"name": "test 2",
"description": "test ext 2",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://*/*","https://*/*"],
"js": ["jquery.min.js", "main.js"]
}
],
"permissions": [
"activeTab"
]
}
Run Code Online (Sandbox Code Playgroud)
假设 popup.html 文件是
<!doctype html>
<html>
<head>
<title>test extension 2</title>
<script src="popup.js"></script>
</head>
<body>
<a id="button">button</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我点击#button 时,我想在 main.js 文件中执行一些 jquery 代码,它将一些数据附加到活动网页。
谢谢你。