Internet explorer AngularJS:“;错误:对方法或属性访问的意外调用。未定义";仅在IE 8中

Internet explorer AngularJS:“;错误:对方法或属性访问的意外调用。未定义";仅在IE 8中,internet-explorer,internet-explorer-8,angularjs,angularjs-directive,Internet Explorer,Internet Explorer 8,Angularjs,Angularjs Directive,您是否曾经遇到过错误“错误:对方法或属性访问的意外调用。未定义”仅限IE8?是什么引起的?你是怎么解决的 --注意:它假设相同的代码在Chrome、Firefox、Safari中也能正常工作 编辑:上下文 我正在用AngularJS+Google应用程序引擎Python构建一个facebook页面标签插件 我使用了十几条自定义指令,要么是我自己编写的,要么是angular ui团队和4-5个控制器编写的 在Chrome、Safari和Firefox中,一切都可以正常工作,但在IE8中却不行。问题

您是否曾经遇到过错误“错误:对方法或属性访问的意外调用。未定义”仅限IE8?是什么引起的?你是怎么解决的

--注意:它假设相同的代码在Chrome、Firefox、Safari中也能正常工作

编辑:上下文

我正在用AngularJS+Google应用程序引擎Python构建一个facebook页面标签插件

我使用了十几条自定义指令,要么是我自己编写的,要么是angular ui团队和4-5个控制器编写的


在Chrome、Safari和Firefox中,一切都可以正常工作,但在IE8中却不行。

问题在于IE8无法识别“自定义”元素

在元素形式的指令声明中使用“replace:true”(restrict:'E'),并使用IE shiv(我使用angular ui的IE shiv并在那里声明了我的自定义标记)

请参阅以下链接的更多信息:

如果使用jQuery,则可以通过修改jQuery文件来解决问题。 将自定义元素添加到“节点名称”列表中:


更多信息可以在

上找到,可能是相关的:看起来您已经回答了自己的问题,但在将来,如果您对您的页面包含的内容多加说明,这将真正帮助人们给出答案。错误发生在代码中的什么位置?您正在使用什么JS库?你能给我们举个例子吗?等等。@Spudley刚刚添加了额外的上下文来更好地构建问题。如果这个答案解决了问题,你应该使用勾号图标将其标记为“已接受”(即使是你回答自己的问题)。
var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
    "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video|accordion|accordion-group|accordion-heading",