尝试禁用 Chrome 同源策略
Posted
技术标签:
【中文标题】尝试禁用 Chrome 同源策略【英文标题】:Trying to disable Chrome same origin policy 【发布时间】:2014-03-28 10:20:26 【问题描述】:我正在尝试学习 melonJS 教程。它说我应该使用以下两种方法之一禁用跨域请求:
--disable-web-security
--allow-file-access-from-files**
我已经在命令提示符中尝试了这两种方法:
C:\Users\danniu>C:\Users\danniu\AppData\Local\Google\Chrome\Application\Chrome.e
xe --allow-file-access-from-files
C:\Users\danniu>C:\Users\danniu\AppData\Local\Google\Chrome\Application\Chrome.e
xe --disable-web-security
当我尝试在 Chrome 中运行游戏时,我仍然收到此错误:
XMLHttpRequest cannot load file:///C:/Users/danniu/Desktop/javascript/melonJS/data/map/area01.tmx. Cross origin requests are only supported for HTTP.
我做错了什么?
谢谢
【问题讨论】:
【参考方案1】:您需要同时使用这两个参数。这就是我在我的 Mac 上运行它的方式。
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files
Windows 应该是这样的:
"C:\PathTo\Chrome.exe" –allow-file-access-from-files -disable-web-security
【讨论】:
所以它看起来像这样?C:\Users\danniu>C:\Users\danniu\AppData\Local\Google\Chrome\Application\Chrome.e xe --disable-web-security --allow-file-access-from-files
,那么我可以在那个新的浏览器窗口中打开我的游戏吗?
您可能还需要添加 --args 参数
查看编辑。对于 Windows,您实际上只需要使用一个破折号
好的嗯。还是行不通。有什么方法可以在新的浏览器窗口中验证我是否禁用了这些功能?
好吧,一种方法是您没有收到跨源错误。但是,一旦您打开浏览器,顶部就会出现一个黄色条,表示您处于不安全模式。此外,请确保在运行该标志之前终止所有 chrome 任务。否则就不行了【参考方案2】:
您应该通过 HTTP 协议请求
这是一个非常简单的答案:https://***.com/a/23118676/1585438
【讨论】:
【参考方案3】:要在 Mac 上禁用 chrome 网络安全,请在终端上使用此命令
$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
如果 $ open -a Google\ Chrome --args --disable-web-security --allow-file-access-from-files 没有帮助
【讨论】:
【参考方案4】:反SOP参数:
--disable-web-security -–allow-file-access-from-files
为了使参数生效,不能有另一个chrome实例在运行。如果您chrome已经在运行并使用anti-SOP参数启动一个新实例,它将没有任何效果。
当您关闭 chrome 时,请确保所有实例都已关闭。这也包括没有 GUI 的实例(任务管理器是你的朋友)!
【讨论】:
以上是关于尝试禁用 Chrome 同源策略的主要内容,如果未能解决你的问题,请参考以下文章