Frage

Nach stundenlangem Debuggen scheint es mir so zu sein, dass in FireFox das innerHTML eines DOM widerspiegelt, was tatsächlich im Markup enthalten ist, im IE jedoch das innerHTML das widerspiegelt, was im Markup PLUS alle vom Benutzer oder dynamisch vorgenommenen Änderungen (d. h.über Javascript).

Hat jemand anderes festgestellt, dass dies wahr ist?Gibt es interessante Workarounds, um sicherzustellen, dass sich beide gleich verhalten?

War es hilfreich?

Lösung

Ich stimme Pat zu.An diesem Punkt im Spiel macht es angesichts der verfügbaren Javascript-Frameworks wenig Sinn, eigenen Code zu schreiben, um die browserübergreifende Kompatibilität zu gewährleisten.Es gibt ein Framework für fast jeden Geschmack (manche sind wirklich recht klein) und sie haben sich darauf konzentriert, wirklich alle Unterschiede zwischen den Browsern abzustrahieren.Sie testen es VIEL häufiger, als Sie wahrscheinlich tun würden.

So etwas wie jQuery oder YUI von Yahoo (denken Sie daran, wie viele Leute an einem Tag auf Yahoo Javascript zugreifen und wie viele verschiedene Browser es gibt) ist einfach viel erprobter als jedes Snippet, das Sie oder ich uns ausgedacht haben.

Andere Tipps

Ich verwende jQuery .html() um ein konsistentes Ergebnis über alle Browser hinweg zu erhalten.

Die Verwendung einer guten Bibliothek ist eine gute Möglichkeit, Browser-Inkonsistenzen zu umgehen, und Jquery ist diejenige, die ich normalerweise empfehle – und wenn Sie insbesondere beim Ändern der Elemente in einem Formular auf Probleme stoßen, bietet JQuery ein paar wirklich nützliche Plugins, die speziell darauf ausgerichtet sind zur Formularmanipulation und -auswertung.

Die Verwendung von Prototyp und der Syntax $("thisid") anstelle von document.getElementById("thisid") könnte für Sie ausreichen.Bei mir hat es funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top