【问题标题】:AngularUI - Compatible browsersAngularUI - 兼容的浏览器
【发布时间】:2015-02-19 15:28:39
【问题描述】:
【问题讨论】:
标签:
internet-explorer-8
angular-ui
angular-ui-bootstrap
【解决方案1】:
如果您没有使用自定义元素选项配置它们,许多 AngularUI 指令在 IE8 中都能正常工作。问题是 IE8 忽略了任何不是标准 HTML 的元素,这显然将这种方法从水中吹了出来。
改用属性方法。例如,而不是:
<tabset>
<tab ng-repeat="tab in tabs" heading="{{tab.name}}"></tab>
</tabset>
用途:
<ul tabset>
<li tab ng-repeat="tab in tabs" heading="{{tab.name}}"></li>
</ul>
【解决方案2】:
或者,您可以使用如下脚本告诉 IE8 使用默认情况下未知的元素:
<script>
document.createElement("tabset");
document.createElement("tab");
document.createElement("tab-heading");
</script>
这让 IE8 知道 <tabset>、<tab> 和 <tab-heading> 是有效元素。
【解决方案3】:
除了@Paul 的正确答案(顺便说一句应该被标记为答案),这里是 Angular 团队的解释以及如何更正它们以在 IE8 Angular IE8 development guide 中工作。另外,应该注意的是,Angular 团队在 Angular 1.3 及更高版本blog 中正式放弃了对 IE8 的支持。因此,如果您需要支持 IE8,请不要使用 Angular 1.3+,也不要使用任何使用 1.3+ 的 Angular UI。