Bonjour,
Je me suis toujours demandé pourquoi quand par exemple on fait un :
On est "obligé" de séparé </s'+'cript> ???Code:document.write('<script>alert("toto")</s'+'cript>');
Merci beaucoup
Version imprimable
Bonjour,
Je me suis toujours demandé pourquoi quand par exemple on fait un :
On est "obligé" de séparé </s'+'cript> ???Code:document.write('<script>alert("toto")</s'+'cript>');
Merci beaucoup
Qui fait ça ? :koi:
On ne fait pas document.write ! Donc le problème ne se pose pas :)
Utilise plutôt les fonctions du DOM, qui sont très bien pour faire ce genre de chose. Dans ton cas, par exemple :
Code:
1
2
3 var script = document.createElement("script"); script.text = "alert('toto')"; document.body.appendChild(script);
sinon simplement pour ne pas que cette balise script (string) ne soit comprise comme la balise de fermeture du script qui la contient.
Oui enfin, tant qu'on parle de ça, insérer une balise <script> avec JavaScript, c'est pas d'une clarté flamboyante. On pouvait tout aussi bien faire :
Et pas de document.write() ni de createElement() ni de appendChild().Code:eval("alert('toto')");
Il y a même moyen de faire encore plus simple :
Ça fait une bonne décennie qu'il ne sert plus à rien de mettre tout ça dans une string.Code:alert('toto');
==> Thelvin
La balise script aurait un attibut text, maintenant? 8O
Oui : script – embedded script ;)
Mais attention, il s'agit d'un attribut JavaScript, pas d'un attribut HTML !
et c'est beaucoup plus classe qu'un createTextNode :)
salut
:massacre:
la seule façon d'utiliser document.write c'est
:mrgreen:Code:
1
2 document.write= function() {}; document.writeln= document.write;
avec ça en début de page on n'est plus em#@dé
;)
A+JYT
Je n'ai qu'un conseil à te donner simplifie ton code ;) non pas obliger pour les balises on ne les mets qu'une fois, soit plus simple reveille ton esprit logique ;)
merci beaucoup pour votre aide