AngularJS:IE会为存储在templateCache中的项目抛出404错误

时间:2014-08-29 14:32:19

标签: javascript angularjs twitter-bootstrap angular-ui-bootstrap

我正在尝试使用Angular UI Bootstrap库,IE尝试加载typeahead-popup.html模板时会抛出404错误,这是我现在唯一使用的模板。我正在使用ui-bootstrap-tpls.0.11.0.js库,其中包含模板。代码在其他浏览器中工作正常,但在检查网络选项卡后,似乎IE正在尝试从/app/template/typeahead/typeahead-popup.html加载模板。如果我将物理文件放在服务器上的那个位置,它就可以了。

无法加载的模板也不仅限于ui-bootstrap库。我定义的自定义库...也不会在IE中加载,除非我将物理文件放在服务器的/app/search.html目录中。

此时我无法弄清楚IE和其他浏览器之间的区别。对我来说唯一看起来很奇怪的是,IE正在/ app目录中查找模板,但我不确定这是否是存储模板缓存项目的角色。此外,看起来Chrome和FF根本不会对模板项进行请求,这是有道理的,因为它应该只存储在模板缓存中。

我已经在IE10和IE11中进行了测试,但在两种浏览器中都失败了,但是chrome,safari和ff都可以正常工作。

1 个答案:

答案 0 :(得分:0)

原因是因为我的应用程序没有存储在根目录中,并且angular bootstrap ui中的模板项用相对路径引用。我添加了一个先行/并且有效。