Xhttp 没有在 firefox 插件中触发请求

Xhttp is not firing request in firefox add on

我正在尝试添加一个记录我访问过的网址的插件。数据应该发布到我的网站。

我有manifest.json

{

  "manifest_version": 2,
  "name": "add_link",
  "version": "1.0",

  "description": "button to post current page url to my site",

  "icons": {
    "48": "icons/border-48.png"
  },

  "content_scripts": [
    {
      "matches": ["*://*/", "*://www.youtube.com/*", "http://127.0.0.1:3000/links", "http://127.0.0.1:3000/*"],
      "js": ["add_link.js", "jquery.js"]
    }
  ],
  "permissions": [
    "activeTab",
    "tabs"
  ]
}

和add_link.js

var xhttp = new XMLHttpRequest();
xhttp.open("POST", "http://xlinks.herokuapp.com/links", true);
var fd = new FormData();
fd.append('link[url]', window.location.href)
xhttp.send(fd);

关于为什么它不起作用的任何线索? 提前致谢

您需要获得远程服务器的权限才能发送 cross-origin 请求

在您的情况下,您应该在 manifest.json:

中添加类似的内容
{
    "name": "add_link",
    ...
    "permissions": [
        "http://xlinks.herokuapp.com/links"
        "activeTab",
        "tabs"
    ]
    ...
}

更多信息: https://developer.chrome.com/extensions/xhr#requesting-permission