Question

Après des heures de débogage, il me semble que dans FireFox, le innerHTML d'un DOM reflète ce qui se trouve réellement dans le balisage, mais dans IE, le innerHTML reflète le contenu du balisage PLUS toutes les modifications apportées par l'utilisateur ou dynamiquement (c'est-à-direvia Javascript).

Est-ce que quelqu'un d'autre a trouvé que c'était vrai ?Des solutions intéressantes pour garantir que les deux se comportent de la même manière ?

Était-ce utile?

La solution

Je suis d'accord avec Pat.À ce stade du jeu, écrire votre propre code pour gérer la compatibilité entre navigateurs étant donné les frameworks Javascript disponibles n'a pas beaucoup de sens.Il existe un framework pour presque tous les goûts (certains sont vraiment très petits) et ils se sont concentrés sur l'abstraction de toutes les différences entre les navigateurs.Ils font BEAUCOUP plus de tests que vous ne le feriez probablement.

Quelque chose comme jQuery ou YUI de Yahoo (pensez au nombre de personnes qui utilisent Yahoo Javascript par jour et à la variété des navigateurs) est tout simplement bien plus testé que n'importe quel extrait de code que vous ou moi proposons.

Autres conseils

J'utilise jQuery .html() pour obtenir un résultat cohérent sur tous les navigateurs.

utiliser une bonne bibliothèque est un excellent moyen de contourner les incohérences du navigateur, et jquery est celui que je recommande généralement - et si vous rencontrez des problèmes pour modifier les éléments d'un formulaire en particulier, jquery propose quelques plugins très utiles spécifiquement axés sur sur la manipulation et l'évaluation des formulaires.

Utiliser prototype et la syntaxe $("thisid") au lieu de document.getElementById("thisid") pourrait faire l'affaire pour vous.Cela a fonctionné pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top