确定哪个自定义HTML标记冒犯IE8

pet*_*ter 3 html internet-explorer-8 angularjs

我们在angular.js应用程序中使用了大量的自定义标签,我试图让IE8识别它们.设置:

  • 角度(1.1.5)
  • HTML5模式
  • 在许多情况下使用自定义标签用于指令(我们不会R替换它们)
  • 使用IE-shiv.js向IE8注册自定义标签

这是一个很棒的应用程序 - 我们在IE-shiv.js中注册了50多个自定义标签(我们喜欢自定义标签标记的清晰度).我已经多次浏览应用程序,寻找我忘记注册的标签,但我仍然在使用Error: Unexpected call to method or property access.undefined.我正在打开和关闭应用程序的部分内容以找到有问题的标签......但感觉可能有更好的方法:

我可以在IE8中检测哪个自定义HTML标记触发了错误吗?是否有一些偷偷摸摸的方式 - 猴子冲压document.createElement或添加一个try/catch到一些内部角度指令,也许?

Alo*_*hci 9

加载文档后运行此JS.它将找到标记名称以/字符开头的所有元素,当解析器遇到close标记时,该字符在IE8中为所有无法识别的元素创建.

var list = document.getElementsByTagName('*');
for (var i = 0, len = list.length; i < len ; i++) {
  if (list[i].tagName.indexOf('/') === 0)
    alert(list[i].tagName.substr(1));
} 
Run Code Online (Sandbox Code Playgroud)