document.write
Écrit une chaîne de texte dans un document ouvert par document.open().
Note : Comme document.write
écrit dans le flux de documents, appeler document.write
sur un document fermé (chargé) appelle automatiquement document.open
, ce qui efface le document.
Syntaxe
document.write(balisage);
Paramètres
markup
-
est une chaîne de caractères contenant le texte à écrire dans le document.
Exemple
<html>
<head>
<title>Exemple de document.write</title>
<script type="text/javascript">
function nouveauContenu() {
alert("chargement du nouveau contenu");
document.open();
document.write(
"<h1>Assez de l'ancien contenu, passons au nouveau !</h1>",
);
document.close();
}
</script>
</head>
<body onload="nouveauContenu();">
<p>Ceci est le contenu original du document.</p>
</body>
</html>
Notes
Écrire dans un document qui a déjà été chargé sans appeler document.open() provoquera un appel automatique à document.open
. Une fois l'écriture terminée, il est recommandé d'appeler document.close() pour indiquer au navigateur qu'il peut terminer de charger la page. Le texte fourni est analysé et intégré à la structure du modèle de document. Dans l'exemple ci-dessus, l'élément h1
devient un nœud dans le document.
Si l'appel à document.write()
est intégré directement dans le code HTML, il n'appellera pas document.open()
. Par exemple :
<script>
document.write("<h1>Main title</h1>");
</script>
Note : document.write
et document.writeln
ne fonctionnent pas dans les documents XHTML (vous obtiendrez une erreur « Operation is not supported [NS_ERROR_DOM_NOT_SUPPORTED_ERR
] » dans la console d'erreurs). Cela arrive lors de l'ouverture d'un fichier local avec l'extension de fichier .xhtm
ou pour tout document servi avec une application/xhtml+xml
de type MIME. Plus d'informations disponibles dans la foire aux questions W3C XHTML (en anglais).
Note : document.write
dans les scripts deferred (différé) ou asynchronous (asynchrone) sera ignoré et vous recevrez un message comme "A call to document.write()
from an asynchronously-loaded external script was ignored" dans la console d'erreurs.
Note : Dans Edge seulement, appeler plusieurs fois document.write
dans un "iframe" déclenche une erreur "SCRIPT70: Permission denied." (autorisation refusée).
Note : À partir de la version 55, Chrome n'exécute pas les éléments <script>
injectés via document.write()
en cas d'échec de cache HTTP pour les utilisateurs sur une connexion 2G.