Firefox WebExtension:生成XMLHttpRequest

时间:2016-12-07 18:37:03

标签: javascript xmlhttprequest firefox-addon firefox-webextensions

我正在制作Firefox WebExtension插件。以下是应该发生的事情:

  1. 用户点击任意页面上的浏览器图标。
  2. 执行JavaScript,从页面收集信息。
  3. 使用XMLHttpRequest
  4. 将信息发送到我的服务器

    这是我的Chrome扩展程序的功能。但是,我无法使用Firefox附加组件。 JavaScript被注入并执行,因为我确实看到了alert(),我已经在脚本的末尾添加了{ "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"] } } 。但是,没有调用我的服务器。 Firefox调试器没有显示网络活动,也没有显示任何错误。

    清单:

    browser.browserAction.onClicked.addListener(function(tab) {
        browser.tabs.executeScript(null, {file:"content_script.js"}); 
    });
    

    background.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!");
    

    content_script.js

    {_id: {$in: ids}

1 个答案:

答案 0 :(得分:2)

您需要将网址添加到permissions

中的manifest.json
"permissions": [
    "activeTab",
    "*://developer.mozilla.org/*" <= URL
  ],