Firefox扩展请求被解释为CORS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firefox扩展请求被解释为CORS相关的知识,希望对你有一定的参考价值。
将Chrome扩展程序移植到Firefox Web扩展程序时,我无法发出任何网络请求,因为它们被相同的原始策略阻止。
举个例子:
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中不起作用)所以我不认为问题仅限于window.fetch
API。
编辑:我知道我可以在服务器端添加一个CORS处理程序,但我不想这样做。为什么这适用于Chrome而非Firefox?
编辑2:扩展名是一个弹出窗口
这里记录了:https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions
简而言之,默认情况下,您需要为localhost添加主机权限以限制同源请求。我不知道为什么Google Chrome会以不同的方式处理此问题。
以上是关于Firefox扩展请求被解释为CORS的主要内容,如果未能解决你的问题,请参考以下文章
FireFox 不发送 CORS 请求(使用 jQuery)
CORS 请求在 Firefox 中中止,而不是在 Chrome 或 IE 中
跨域请求仅在 Firefox 中被阻止! [选项:403 禁止]
即使服务器返回适当的响应标头,Firefox 也不允许 CORS 请求