Domanda

Dopo ore di debug, mi sembra che in FireFox, l'innerHTML di un DOM rifletta ciò che è effettivamente nel markup, ma in IE, l'innerHTML riflette ciò che è nel markup PIÙ qualsiasi modifica apportata dall'utente o in modo dinamico (ad es.tramite Javascript).

Qualcun altro ha riscontrato che ciò è vero?Qualche soluzione interessante per garantire che entrambi si comportino allo stesso modo?

È stato utile?

Soluzione

Sono d'accordo con Pat.A questo punto del gioco, scrivere il proprio codice per gestire la compatibilità tra browser, dati i framework Javascript disponibili, non ha molto senso.Esiste un framework per quasi tutti i gusti (alcuni davvero minuscoli) e si sono concentrati sull'astrazione di tutte le differenze tra i browser.Stanno facendo MOLTI più test di quanto probabilmente farai tu.

Qualcosa come jQuery o YUI di Yahoo (pensa a quante persone utilizzano Javascript Yahoo in un giorno e alla varietà di browser) è semplicemente molto più testato su strada di qualsiasi snippet che tu o io inventiamo.

Altri suggerimenti

Io uso jQuery .html() per ottenere un risultato coerente tra i browser.

utilizzare una buona libreria è un ottimo modo per aggirare le incoerenze del browser e jquery è quello che in genere consiglio - e se riscontri problemi nell'alterare gli elementi in un modulo in particolare, jquery vanta alcuni plugin davvero utili focalizzati specificamente sulla manipolazione e valutazione dei moduli.

Usare il prototipo e la sintassi $("thisid") invece di document.getElementById("thisid") potrebbe fare al caso tuo.Ha funzionato per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top