Bonsoir,
j'ai réalisé un editeur WYSIWYG (à partir d'un code récupérer sur le site de firefox... que bien sur je n'arrive pas à retrouver ...), à l'aide d'une iframe et des commandes exec.
Il fonctionne correctement sous firefox, cependant j'ai un souci sous IE.
J'arrive à mettre le focus, cependant je n'arrive pas à charger le texte provenant de la base de donnée.
Celui-ci est chargé simplement dans un 'input type text' et récupérer en js.
Voici le début de la fonction :
----------------------------------------------------------------------
---------------------------------------------------------------------
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
17
18 function Start() { document.getElementById('edit').contentWindow.document.designMode = "on"; try { document.getElementById('edit').contentWindow.document.execCommand("undo", false, null); } catch (e) { if(document.getElementById('marge1').style.display != 'none'){ alert("This demo is not supported on your level of Mozilla."); } } var sTmp=$('all_txt').value; var tipbugie= document.getElementById('edit'); alert('BUG IE'+tipbugie); tipbugie.contentWindow.document.body.innerHTML=sTmp;
Après multitude de test, j'ai constaté :
le code marche sous IE, lorsque je fais afficher l'alert SI je fais réfèrence à l'objet dans l'alert (c a d : si je mets que du texte ou si je mets l'objet plus '.contentWindow' il plante).
Lors de mes premiers tests, j'ai mis un setTimeout(), pensant que l'objet n'était pas encore chargé sous IE lors de l'appel....
Je pense toujours que la solution vient du fait que IE et Firefox ne charge pas les éléments d'une page dans le meme ordre .....
Mais la je bug....
Est-il possible qu'un autre code JS présent dans la page provoque cette erreur ? (j'ai testé de retirer le maximum de code js.. mais il s'agit d'un gros projet et cela n'est donc pas évident...)
JE vous remercie d'avance...
Partager