将Chrome扩展程序移植到Firefox网络扩展程序时,我无法发出任何网络请求,因为它们被相同的原始政策阻止。
举个例子:
const headers = {"content-type": "application/json" };
window.fetch(myDomain + "/api/v3/token", { method: "GET", headers: headers });
此操作失败,并显示以下错误:
有没有办法配置Firefox扩展程序不考虑这些请求CORS?相同的代码与Google Chrome扩展程序一样正常。
即使请求转到localhost也是如此。
我已经尝试使用jquery的$.ajax
方法和axios库来获得相同的结果(在Chrome中有效,在Firefox中不起作用)所以我不认为问题仅限于{{1 API。
编辑2:扩展名是弹出窗口
答案 0 :(得分:1)
这里有记录: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions
简而言之,默认情况下,您需要为localhost添加主机权限以限制同源请求。我不知道为什么谷歌Chrome会以不同的方式处理这个问题。