18

您是否曾经遇到过仅 IE8 的错误“错误:意外调用方法或属性 access.undefined”?是什么造成的?你是怎么解决的?

-- 注意:假设相同的代码在 Chrome、Firefox、Safari 中运行良好

编辑:上下文

我正在使用 AngularJS + Google App Engine Python 构建一个 facebook 页面选项卡插件。

我使用了十几个由我或 angular-ui 团队和 4-5 个控制器编写的自定义指令。

在 Chrome、Safari 和 Firefox 中一切正常,但在 IE8 中却不行。

4

2 回答 2

36

问题是 IE8 不能识别“自定义”元素。

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

查看以下链接的更多信息: https ://github.com/angular/angular.js/issues/1933 http://angular-ui.github.com/#ieshiv

于 2013-03-23T18:55:46.950 回答
1

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

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",

更多信息可以在http://blog-it.hypoport.de/2013/08/24/how-to-make-your-angularjs-app-work-in-ie-8/上找到

于 2014-12-09T10:55:59.130 回答