在Chrome和Safari中启动Angular JS应用程序的区别?

时间:2015-03-18 13:30:24

标签: javascript angularjs google-chrome safari cross-domain

我正在开发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-extension,https,chrome-extension-resource。"

但令人惊讶的是,在Safari中,该应用程序可以正常运行而不会执行此类操作。

我想找一下这些浏览器行为有什么区别?为什么它在Safari中工作并且没有调整就无法在Chrome中工作?

1 个答案:

答案 0 :(得分:1)

简而言之:谷歌浏览器不喜欢本地交叉电话。 更多信息请访问:Cross origin requests are only supported for HTTP but it's not cross-domain

这是Googles的隐私和安全政策:他们尽量避免风险,本地文件调用似乎就是其中之一。

详细了解跨源请求及其在Google Chrome中的处理方式:https://developer.chrome.com/extensions/xhr

如果您不想使用这些控制台命令,您可能希望寻找一个Web服务器来托管它(或本地Web服务器)。