Bonjour,
quand j'utilise "document.write" dans un éditeur tout fonctionne ; quand je l'utilise dans la console javaScript de firefox : non ; je suis obligé de le remplacer par "alert" . Pouvez-vous m'éclairer ? Smiley confus
Merci par avance. Smiley biggrin
Bonjour à toutes et à tous,

j'ai eu aussi des choses bizarres avec document.write dans les navigateurs.

Il m'arrive d'en mettre parfois deux, l'un après l'autre, et je ne comprends pas pourquoi le premier s'affiche mais pas le second ?

Et lorsque je mets le premier en commentaire, le second s'affiche normalement.
Je n'ai pas compris le pourquoi de ce problème.

Du coup, lorsque je désire afficher plusieurs variables et bien, je les concatène dans une variable du genre chaine.

Et à quoi peut bien servir un document.writeln ? Je n'ai pas vu de différence dans les navigateurs. Il me semble que cela rajoute un CR + LF en fin de ligne.

@+
Salut platonux,

Alors, je suppose que tu parles de la console javascript intégrée directement dans firefox et non pas de celle de firebug car dans cette dernière cela fonctionne (et je devine que c'est ce qu'utilise Gothor).

Cette console ne donne pas accès à document.write car c'est une instruction un peu particulière qui va modifier le DOM. Lorsqu'elle est présente dans tes scripts, elle modifie le DOM au fur et à mesure de sa construction mais l'utiliser hors de ce contexte détruit ton document, donc j’imagine que c’est pour éviter cela qu'elle a été bloquée dans cette console.
Tu peux par exemple le tester avec firebug ou sur la console de Chrome, l’emploi de cette fonction écrase tout le document pour afficher ce que tu lui passes en paramètre et n’est donc pas très pratique utilisée ainsi.

Accessoirement, ce n’est pas le meilleur moyen pour faire du debug (car j’imagine que tu l’utilises pour cela), si ce n’est pas le cas, je t’inviterais plus à regarder du coté de firebug et de l’instruction console.log().
Modifié par Jules-F (13 May 2012 - 21:54)
De toute façon document.write c'est le mal et il ne faut pas l'utiliser (pour les raisons données par Jules-F).