Bonsoir � tous !
Je ne comprends pas pourquoi le script suivant fonctionne bien sous Firefox, Chrome et Opera, mais pas sous Internet Explorer 7.
Peut �tre que quelqu'un saura m'�clairer ?
Le but de ce script est d'�valuer � la vol�e une chaine contenant des scripts Javascript ainsi que du HTML.
Il peut y avoir plusieurs scripts dans la chaine, m�lang�s avec du HTML.
Pour l'exemple, la chaine contient uniquement un script affichant "Test" dans une box alert.
Test.html:
Au chargement de Test.html, on devrait voir une box alert affichant "Test". Ce n'est pas le cas sous IE.
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 <body> <script type="text/javascript"> var element = document.createElement('div'); document.body.appendChild(element); element.innerHTML = "<script type=\"text/javascript\">alert('Test');<\/script>"; var scripts = element.getElementsByTagName("script"); for(var i=0; i<scripts.length; i++) { if (window.execScript) window.execScript(scripts[i].text.replace('<!--','')); else window.eval(scripts[i].text); } </script> </body>
Ne cherchez pas la logique de ce code, c'est juste un exemple :p j'ai pris que la partie utile de mon code pour d�crire le bug que je rencontre.
Le probl�me est visiblement li� � element.getElementsByTagName("script"), qui ne trouve aucun script avec IE, puisque scripts.length vaut 0.
Quelqu'un sait-il pourquoi �a ne fonctionne pas sous IE ?
Je vous remercie et... bonne nuit !
Partager