Bonjour,
J'ai un problème avec Internet Explorer que je ne parviens pas à expliquer.
Voilà la vie d'une variable javascript :
Lorsque je teste avec Google Chrome, tout va bien. Il n'entre pas dans la condition "if(preview_close.firstChild===null)" et insère preview_close là où il devrait être.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 // déclaration de la variable et envoie de paramètres. // $.addEvent est une classe personnelle. // tout ceci se passe dans les balises SCRIPT, la portée est donc globale var preview_close=document.createElement("DIV"); preview_close.appendChild(document.createTextNode("Fermer")); $.addEvent(preview_close,"click",function(){deletePreview();}); [...] // dans une fonction appelée par Ajax if(preview_close.firstChild===null) { alert("null"); } preview.insertBefore(preview_close,preview.firstChild);
Mais pour IE ce n'est pas pareil : il entre dans la boucle, comme si le texte n'avait jamais été entré dans preview_close. J'ai bien essayé de mettre "document.createTextNode..." dans une variable avant de faire appelle à "appendChild", mais le résultat est exactement le même.
Pourtant, il affiche correctement un autre menu que j'affiche exactement de la même manière (via des variables javascript, mais sans passer par Ajax).
Ça aurait un lien avec Ajax, donc... sauf qu'il connait preview_close (vérifié), alors pourquoi avoir oublié que j'avais mis un texte à l'intérieur ?
J'ai redémarré mon ordinateur puisque parfois les navigateurs font n'importe quoi après trop d'heures sans mise hors-tension, mais rien n'y fait.
Si quelqu'un pouvait répondre, ce serait vraiment super, et je vous remercie d'avance !
Parce que là je ne comprends pas... même venant de IE !
Partager