18

Si è mai verificato l'errore "Errore: chiamata inattesa al metodo o proprietà access.undefined" solo IE8? Cosa lo stava causando? come l'hai risolto?AngularJS: "Errore: chiamata inattesa al metodo o proprietà access.undefined" solo in IE 8

- Nota: Si assume lo stesso codice funziona bene in Chrome, Firefox, Safari

Edit: Contesto

Sto costruendo una pagina di Facebook scheda plugin con AngularJS + Google App Engine Python .

Uso una dozzina di direttive personalizzate scritte da me o dal team angular-ui e 4-5 controller.

Tutto funziona correttamente in Chrome, Safari e Firefox, ma non in IE8.

+1

possibilmente correlate: http://stackoverflow.com/questions/15532864/angular-ui-ie8 -accordion – Spudley

+2

Sembra che tu abbia già risposto alla tua domanda, ma in futuro aiuterebbe davvero le persone a dare risposte se hai specificato un po 'di più su cosa contiene la tua pagina. Dove si verifica l'errore nel tuo codice? Quali librerie JS stai usando? Hai un esempio che puoi mostrarci? ecc. – Spudley

+0

@Spudley Appena aggiunto un ulteriore contesto per meglio inquadrare la domanda –

risposta

36

Il problema è che IE8 non riconosce gli elementi "personalizzati".

Utilizzare "replace: true" nella dichiarazione delle direttive che sono in forma di elemento (limit: "E") e utilizzare IE shiv (ho utilizzato lo sh di IE angular-ui e ho dichiarato i miei tag personalizzati lì).

Visualizza maggiori sui link sottostanti: https://github.com/angular/angular.js/issues/1933 http://angular-ui.github.com/#ieshiv

+3

se questa risposta ha risolto il problema, dovresti contrassegnarlo come "accettato" usando l'icona del segno di spunta (anche se rispondevi alla tua stessa domanda). – Spudley

1

Se si utilizza jQuery il problema può essere risolto modificando il file jQuery. Aggiungere gli elementi personalizzati alla lista dei "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", 

Maggiori informazioni sono disponibili sul ca http://blog-it.hypoport.de/2013/08/24/how-to-make-your-angularjs-app-work-in-ie-8/

Problemi correlati