18

Czy kiedykolwiek wystąpił błąd "Błąd: nieoczekiwane wywołanie metody lub dostęp do właściwości. Nie określono" tylko IE8? Co było przyczyną? Jak to rozwiązałeś?AngularJS: "Błąd: nieoczekiwane wywołanie metody lub dostępu do właściwości. Nie określono" tylko w IE 8

- Uwaga: Zakłada ten sam kod działa poprawnie w Chrome, Firefox, Safari

Edit: Kontekst

Buduję strony wtyczki kartę facebook z angularjs + Google App Engine Pythona .

Używam kilkunastu niestandardowych dyrektyw napisanych przeze mnie lub przez zespół kątowy-ui i 4-5 kontrolerów.

Wszystko działa poprawnie w Chrome, Safari i Firefox, ale nie w IE8.

+1

prawdopodobnie związane: http://stackoverflow.com/questions/15532864/angular-ui-ie8 -accordion – Spudley

+2

Wygląda na to, że już odpowiedziałeś na własne pytanie, ale w przyszłości naprawdę pomógłby ludziom udzielić odpowiedzi, jeśli podasz nieco więcej informacji na temat zawartości strony. Gdzie w twoim kodzie występuje błąd? Z jakich bibliotek JS korzystasz? Czy masz przykład, który możesz nam pokazać? itd. – Spudley

+0

@Spudley Wystarczy dodać dodatkowy kontekst, aby lepiej sformułować pytanie –

Odpowiedz

36

Problem polega na tym, że IE8 nie rozpoznaje elementów "niestandardowych".

Użyj "replace: true" w deklaracji dyrektyw, które są w formie elementarnej (ogranicz: "E") i użyj IE shiv (użyłem IE shiv kąt-ui i zadeklarowałem tam własne znaczniki).

Zobacz więcej na poniższe linki: https://github.com/angular/angular.js/issues/1933 http://angular-ui.github.com/#ieshiv

+3

, jeśli ta odpowiedź rozwiązała problem, należy oznaczyć go jako "zaakceptowany" przy użyciu ikony znacznika (nawet jeśli odpowiadasz na własne pytanie). – Spudley

1

Jeśli używasz jQuery problem może być rozwiązany poprzez modyfikację pliku jQuery. Dodać elementy niestandardowe do listy "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", 

Więcej informacji ca znaleźć na http://blog-it.hypoport.de/2013/08/24/how-to-make-your-angularjs-app-work-in-ie-8/

Powiązane problemy