【发布时间】:2013-07-29 19:22:20
【问题描述】:
我们在 angular.js 应用程序中使用了大量自定义标签,我正试图让 IE8 识别它们。设置:
- 角度 (1.1.5)
- HTML5模式
- 在很多情况下对指令使用自定义标签(我们不是
Replacing 它们) - 使用 IE-shiv.js 向 IE8 注册自定义标签
这是一个很大的应用程序 - 我们在 IE-shiv.js 中在 IE 中注册了 50 多个自定义标签(我们喜欢使用自定义标签的标记的易读性)。我已经多次浏览该应用程序,寻找忘记注册的标签,但我仍然收到Error: Unexpected call to method or property access.undefined。我目前正在打开和关闭应用程序的某些部分以查找有问题的标签......但感觉可能有更好的方法:
我可以检测到哪个自定义 HTML 标记触发了 IE8 中的错误吗? 是否有一些鬼鬼祟祟的方法 - 猴子打孔 document.createElement 或向某些内部 angular 指令添加 try/catch,也许?
【问题讨论】:
-
我隐约认为你想要一个带有样式的 XML 文件...
-
值得指出的是,HTML5 规范明确规定 不 使用自定义标签,因为可能与未来可能引入的实际 HTML 标签发生冲突。目前正在开发自定义标签规范,要求自定义标签以
x-开头以避免冲突,但尚未最终确定。 -
WRT 未来标记名冲突:一种将可能性降至几乎为零的方法是始终为指令名称添加前缀,就像 Angular 的核心指令所做的那样:
ng-view、ng-repeat等。
标签: html angularjs internet-explorer-8