有人可以告诉我如何在firefox上使用CORS吗?我很容易在Chrome和IE上管理它,但我完全没有使用Firefox。我编辑了以下关于:config entry
的内容security.fileuri.strict_origin_policy = false
此尝试已在此处多次发布,并在其他网站上也被告知,但它没有效果。我阅读了同源政策的Mozilla指南:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
但它只是解释了CORS和相关主题。未列出在FF上启用它的解决方法。
我真的很感激一个明确的解决方案。
ps:FORCECORS无论如何都不起作用......
答案 0 :(得分:18)
对浏览器不做任何操作。默认情况下,CORS is supported适用于所有现代浏览器(自Firefox 3.5起)。
JavaScript访问的服务器必须通过CORS HTTP响应头为托管HTML文档的站点提供JS运行权限。
security.fileuri.strict_origin_policy
用于为本地HTML文档中的JS提供对整个硬盘的访问权限。不要将其设置为false
,因为它会使您容易受到下载的HTML文档(包括电子邮件附件)的攻击。</ p>
答案 1 :(得分:9)
只有在服务器发送此标头时才可以:Access-Control-Allow-Origin: *
如果这是您的代码,那么您可以像这样设置它(PHP):
header('Access-Control-Allow-Origin: *');
答案 2 :(得分:2)
我长期坚持这个问题(CORS在FF中不起作用,但在Chrome和其他人中起作用)。没有建议可以帮助。最后,我发现我的本地开发子域(如sub.example.dev)未在 / etc / hosts 中明确提及,因此FF无法找到它并显示令人困惑的错误消息开发工具面板中的“已中止...”。
将确切的子域放入我的本地 / etc / hosts 修复了问题。 / etc / hosts 只是unix系统中的纯文本文件,因此您可以在root用户下打开它,并将您的子域放在'127.0.0.1'ip地址前面。
答案 3 :(得分:2)
此Firefox插件可能适用于您:
https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
出于开发目的,它可以打开和关闭CORS。
答案 4 :(得分:1)
只需记住两个简单步骤:
关于:config
security.fileuri.strict_origin_policy → false
在DTP和Android上均可使用,但有时会返回true。
答案 5 :(得分:0)
通常你没有选择设置发送服务器所以我做了什么我把我的javascript中的XMLHttpRequest.open调用更改为本地get-file.php文件,其中我有以下代码:
<?php
$file = file($_GET['url']);
echo implode('', $file);
?>
&#13;
javascript正在执行此操作:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// File content is now in the this.responseText
}
};
xhttp.open("GET", "get-file.php?url=http://site/file", true);
xhttp.send();
&#13;
在我的情况下,这完全解决了限制/情况。无需破解Firefox或服务器。只需将带有小php文件的javascript / html文件加载到服务器中即可完成。
答案 6 :(得分:-3)
只需在浏览器中输入 CORS添加Firefox 然后下载该代码并安装在浏览器上,最后您会在右上角找到一个核心咒语,将绿色切换为启用,红色切换为不启用