我正在制作一个 Firefox WebExtension 附加组件。这是应该发生的事情:
- 用户点击任何页面上的浏览器图标。
- 执行 JavaScript,从页面收集信息。
- 使用
XMLHttpRequest
将信息发送到我的服务器
这就是我的 Chrome 扩展所做的。但是,我无法让它与 Firefox 附加组件一起使用。注入(inject)并执行 JavaScript 是因为我确实看到了放在脚本末尾的 alert()
。但是,没有调用我的服务器。 Firefox 调试器没有显示任何尝试的网络事件,也没有显示任何错误。
list :
{
"manifest_version": 2,
"name": "my_name",
"version": "1.0",
"description": "My description",
"icons": {
"48": "icons/my_icon.png"
},
"permissions": [
"activeTab"
],
"browser_action": {
"default_icon": "icons/some_icon.png",
"default_title": "My Name"
},
"background": {
"scripts": ["background.js"]
}
}
background.js:
browser.browserAction.onClicked.addListener(function(tab) {
browser.tabs.executeScript(null, {file:"content_script.js"});
});
content_script.js:
var xmlHttp=new XMLHttpRequest();
xmlHttp.open("POST", "https://www.my_site.org",true);
var formData = new FormData();
formData.append("my_var", "my_var");
xmlHttp.send(formData);
alert("I do get here!");
最佳答案
您需要在 manifest.json
中将 URL 添加到 permissions
"permissions": [
"activeTab",
"*://developer.mozilla.org/*" <= URL
],
关于javascript - 火狐 WebExtension : Make XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41024875/