Подтвердить что ты не робот

AngularJS: "Ошибка: неожиданный вызов метода или свойства access.undefined" только в IE 8

У вас была ошибка "Ошибка: неожиданный вызов метода или свойства access.undefined" только IE8? Что вызвало это? Как вы его решили?

- Примечание. Предполагается, что тот же код отлично работает в Chrome, Firefox, Safari

Изменить: Контекст

Я создаю плагин вкладки страницы facebook с помощью AngularJS + Google App Engine Python.

Я использую дюжину настраиваемых директив, написанных мной или командой angular -ui и 4-5 контроллерами.

Все работает отлично в Chrome, Safari и Firefox, но не в IE8.

4b9b3361

Ответ 1

Проблема в том, что IE8 не распознает "пользовательские" элементы.

Используйте "replace: true" в объявлении директив, которые находятся в форме элемента (ограничивайте: "E" ) и используйте IE shiv (я использовал angular -ui IE shiv и объявил там свои собственные теги).

Подробнее о ссылках ниже: https://github.com/angular/angular.js/issues/1933 http://angular-ui.github.com/#ieshiv

Ответ 2

Если вы используете 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/