angularjs中ng-include使用被注释或者报错解决方法
原创
©著作权归作者所有:来自51CTO博客作者mb637f2759ea9f4的原创作品,请联系作者获取转载授权,否则将追究法律责任
如下代码:
<div ng-include="demo25_1.html"></div>
在浏览器打开是会被注释掉的,首先基本的解决方法是加上单引号:
<div ng-include="'demo25_1.html'"></div>
如果加上单引号,可能还会报出如下错误:
<span style="color: rgb(102, 102, 102); font-family: "Courier New", sans-serif; background-color: rgb(245, 245, 245);"><em>XMLHttpRequest cannot load file:///Users/iceStone/Documents/Learning/angular/demo/angular-moviecat/movie/view.html. </em></span>
<span style="color: rgb(102, 102, 102); font-family: "Courier New", sans-serif; text-align: justify; background-color: rgb(245, 245, 245);"><em>Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.</em></span>
原因是:浏览器(Webkit内核)的安全策略决定了file协议访问的应用无法使用XMLHttpRequest
对象,错误消息中也很清楚的说明了
解决办法
作为我个人最喜欢的Chrome,强大,没什么好说的,只有想不到,几乎没有做不到,所以必须也得支持:
- Windows:
- 设置Chrome的快捷方式属性,在“目标”后面加上--allow-file-access-from-files,注意前面有个空格,重新打开Chrome即可。