14

Ho sviluppato la mia applicazione Web senza eseguirne il test su IE. Anche se ha funzionato bene su tutti i browser vale. Chrome, Firefox, Safari ma quando si tratta di IE c'è un comportamento strano.L'applicazione Web Backbone.js non è utilizzabile su Internet Explorer

A volte l'applicazione viene caricata e alcune volte viene caricata una pagina vuota come se nessuno degli eventi di "bind" avesse alcun effetto.

E i tempi fortunati in cui l'app viene caricata, il pannello di navigazione è parzialmente mancante. Non posso mostrarti il ​​codice in questo momento, perché non sono sicuro di quale parte mostrare e dove sto sbagliando.

Se qualcuno di voi può fornirmi una lista di controllo su cosa controllare e quali strumenti sarebbero ideali per il debug su IE, sarebbe fantastico.

E se qualcuno di voi può dirmi i più comuni bug backbone.js su IE, anche quello sarebbe di aiuto.

PS: La versione di IE sto testando con: IE8

risposta

24

Alcuni problemi in IE sono:

Trailing virgole su oggetti:

Ad es

App.model = Backbone.Model.extend({ 
    url: "/foo/bar", 

    validate: function() { 
    }, 
}); 

dovrebbe essere:

App.model = Backbone.Model.extend({ 
    url: "/foo/bar", 

    validate: function() { 
    } 
}); 

L'uso di funzioni che non sono disponibili in Internet Explorer come lastIndexOf()

Una terza cosa da controllare è HTML non valido. IE può essere particolarmente pignolo per la tua struttura HTML. Assicurarsi che tutti i tag aperti o hanno una stretta corrispondenza tag, o sono a chiusura automatica con />

Se si utilizza metodi JSON, come JSON.parse() e JSON.stringify() quindi essere sicuri di includere una libreria JSON, come JSON2.

+7

+1 Le virgole finali e JSON sono le più grandi, un'altra che ho incontrato è la funzione 'trim' su Stringhe –

+1

Uso coffeescript quindi nessun problema con le virgole finali, per me era il tag di chiusura' /> ', ma risolto :) –

+0

Un altro è l'uso di html5 shiv nel caso in cui il progetto sia in html5. – cherouvim

3

Se si utilizza Windows 7, è necessario eseguire l'aggiornamento a IE9. Quindi puoi utilizzare gli strumenti di sviluppo di IE per eseguire il debug della tua pagina. È simile all'utilizzo di firebug o degli strumenti di sviluppo webkit. Con gli strumenti di sviluppo di IE, puoi anche tornare a IE7.

Se si utilizza XP, è necessario ottenere Windows 7 e quindi eseguire l'aggiornamento a IE9.

Inoltre, è necessario utilizzare qualcosa come es5 shims. Questo fornisce funzionalità javascript che è presente nei browser moderni, ma non vecchie versioni di IE.

+5

Questo è piuttosto tardi per un commento ma l'emulazione IE9/10 di IE7 è * non * la stessa di eseguire IE7 su XP. Otterrai risultati diversi. – Goro

+2

Lo prenderò in secondo luogo. Ho visto la vita reale IE8 fare cose diverse per IE11 "Modalità IE8". – Matthew

0

binding dinamico non è supportato da MSIE < 10, ma il suo lavoro in MSIE 10. I codici jQuery come .Show() ,. nascondere() potrebbe funzionare in binding statico, ma in caso di backbone, Nodo come frame work che utilizza associazione dinamica, template e altra tecnologia potrebbe non funzionare su di esso MSIE 10 sarà in grado di catturarlo

+1

Puoi indicare alcuni collegamenti sorgente? – lulalala

0

Ho trovato che i tuoi modelli HTML devono essere ben formati HTML. Chrome e Firefox sembrano molto più tolleranti ma con IE 8, l'inclusione di un brutto ha causato la visualizzazione di una vista vuota.

Problemi correlati