Firefox扩展请求被解释为CORS

时间:2018-03-02 19:13:38

标签: javascript google-chrome-extension same-origin-policy firefox-webextensions

将Chrome扩展程序移植到Firefox网络扩展程序时,我无法发出任何网络请求,因为它们被相同的原始政策阻止。

举个例子:

const headers = {"content-type": "application/json" };
window.fetch(myDomain + "/api/v3/token", { method: "GET", headers: headers });

此操作失败,并显示以下错误:

enter image description here

有没有办法配置Firefox扩展程序不考虑这些请求CORS?相同的代码与Google Chrome扩展程序一样正常。

即使请求转到localhost也是如此。

我已经尝试使用jquery的$.ajax方法和axios库来获得相同的结果(在Chrome中有效,在Firefox中不起作用)所以我不认为问题仅限于{{1 API。

编辑:我知道我可以在服务器端添加一个CORS处理程序,但我不想这样做。为什么这适用于Chrome而不是Firefox?

编辑2:扩展名是弹出窗​​口

1 个答案:

答案 0 :(得分:1)

这里有记录: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions

简而言之,默认情况下,您需要为localhost添加主机权限以限制同源请求。我不知道为什么谷歌Chrome会以不同的方式处理这个问题。