2009-02-15 7 views
0

MISE À JOUR: le HTML n'était pas bien formé. Cela provoquait l'apparition du script dans div interne. S'il vous plaît ignorer la question.comment surmonter le bug IE lors de l'attachement dynamique de div au corps à partir du script

IE ver < 8 a un bug connu (. Internet explorer ne peut pas afficher la page Opération abandonnée) Si un script tente d'ajouter quelque chose au bloc de niveau supérieur:

Le bug est décrit here:

mise à jour: Je reformulé la question et simplifié l'exemple:

le bug se produit le code suivant:

[end of html file] 
<script type="text/javascript" > 
if (window.document.body){ 
    var c_div = window.document.createElement('div'); 
    window.document.body.appendChild(c_div);  
} 
</script> 

</body> 

Question: Cela me semble exactement semblable à example1 Méthode1 Dans la solution de contournement de Microsoft (here is the link again). Comment se fait-il que j'ai toujours le bug? Qu'est-ce que j'oublie ici?

Répondre

8

Exécutez votre code dans un gestionnaire d'événement domready/onload.

+0

Veuillez lire la mise à jour. Selon Microsoft, cela devrait fonctionner sans événement onload. Voir au dessus. – Nir

+1

n'aurait pas de sens pour changer le dom avant qu'il ne soit prêt de toute façon – ionelmc

0

Il peut s'agir d'une approche un peu folle mais pourriez-vous extraire le innerHTML de <body> en y ajoutant votre chaîne, puis définir le <body> innerHTML sur la nouvelle valeur?

Peut affecter certains événements JS précédemment attachés à moins que ce soit en ligne onclick.

+0

hehe. Je devrais me voter pour cela: P – roborourke

0

Le code HTML de la page n'était pas bien formé. S'il vous plaît ignorer la question.

Questions connexes