团队,
我正在开发Angular JS应用程序。当我想测试应用程序时,我过去只需要从文件系统直接将应用程序启动到浏览器中。网址应该像
file:///Users/easwar/AngularApp/index.html
当我需要在Chrome中启动应用程序时,我需要使用以下命令从终端打开浏览器
open -a Google Chrome --args --disable-web-security -–allow-file-access-from-files
以避免以下错误。
"XMLHttpRequest无法加载,跨源请求为仅支持以下协议方案:http、data、chrome,chrome扩展,https,chrome扩展资源。"
但令人惊讶的是,在Safari中,该应用程序在不做任何类似操作的情况下运行良好。
我想知道这些浏览器行为之间的区别是什么?为什么它能在Safari中工作,而在Chrome中却不能正常工作?
简而言之:googlechrome不喜欢本地交叉调用。更多信息请点击此处:跨源请求仅支持HTTP,但它';s不是跨域的。
谷歌的隐私和安全政策是:他们尽量避免风险,本地文件调用似乎就是其中之一。
点击此处阅读更多关于跨来源请求以及如何在谷歌Chrome中处理这些请求的信息:https://developer.chrome.com/extensions/xhr
如果您不想使用这些控制台命令,您可能需要寻找一个Web服务器来承载它(或本地Web服务器)。