Angular通过XHTiggo加载模板而限制使用file://(消除方案)

而AngularJS的模版tpl通过XHHummerH贰下载,而利用本地展开(file://,即直接张开网页),就会促成上述错误。

 

大概讲得不老子@晰,如有写得不佳的,欢迎作弄留言咨询,有越来越好的消除方案欢迎共享,O(∩_∩)O谢谢!

 

对于该难点,有3种缓解方案:

分析:

因为众多浏览器(包罗chrome、opera)限制使用XH卡宴时调用file://协议。

 

编写angular项目时,遭受此困难:

贰选取index.html文件嵌入模板<script>指令:参考网站http://docs.angularjs.org/api/ng.directive:script,所以模板不再要求经过XHRAV4加载。

angular.js:12011 XMLHttpRequest cannot load
file:///E:/angular/imooc/chapter2/bookstore/app/tpls/hello.html. Cross
origin requests are only supported for protocol schemes: http, data,
chrome, chrome-extension, https, chrome-extension-resource.

1使用Web服务器运营你的体系(有像许多简短的化解办法https://code.google.com/p/mongoose/或几行的node.js脚本)。

 

叁改造浏览器设置为允许XHOdyssey调用过file://协议。例如,那可以在Chrome中形成,像这么:同意谷歌(谷歌)Chrome浏览器采取XMLHttpRequest从本土文件加载U奥迪Q5L,推荐方式为”chrome.exe
–allow-file-access-from-files”(在指令行中先进入chrome.exe的目录,再实行此命令)。(参考网站:http://stackoverflow.com/questions/4819060/allow-google-chrome-to-use-xmlhttprequest-to-load-a-url-from-a-local-file

我本人试了方案三,如故不行,最后使用方案壹中的node,安装http-server(轻量级server),在档次目录下,命令行运行运行http-server,则项目下的文件都能够在服务器上跑,那样angular通过XHQX56加载模板时,调用的是http协议,张开网页就不会晤世上述荒唐了。

相关文章