Dokument: write()-Methode
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Warnung:
Die Verwendung der document.write()
-Methode wird stark abgeraten.
Wie die HTML-Spezifikation selbst warnt:
Diese Methode hat ein sehr eigenwilliges Verhalten. In einigen Fällen kann diese Methode den Zustand des HTML-Parsers beeinflussen, während dieser läuft, wodurch ein DOM entsteht, das nicht der Quelle des Dokuments entspricht (z.B. wenn der geschriebene String der String
<plaintext>
oder<!--
ist). In anderen Fällen kann der Aufruf zuerst die aktuelle Seite leeren, als obdocument.open()
aufgerufen worden wäre. In noch mehr Fällen wird die Methode einfach ignoriert oder wirft eine Ausnahme. Benutzeragenten dürfen explizitscript
-Elemente, die über diese Methode eingefügt wurden, nicht ausführen. Und um die Sache noch schlimmer zu machen, kann das genaue Verhalten dieser Methode in einigen Fällen von der Netzwerkverzögerung abhängen, was zu schwer debugbaren Fehlern führen kann. Aus all diesen Gründen wird von der Verwendung dieser Methode dringend abgeraten. Daher vermeiden Sie die Verwendung vondocument.write()
— und wenn möglich, aktualisieren Sie bestehenden Code, der es noch verwendet.
Die document.write()
-Methode schreibt einen Textstring in einen Dokumentenstrom, der durch document.open()
geöffnet wurde.
Hinweis:
Da document.write()
in den Dokumenten Stream schreibt, ruft ein Aufruf von document.write()
auf einem geschlossenen (geladenen) Dokument automatisch document.open()
auf, was das Dokument löschen wird.
Syntax
write(markup)
Parameter
markup
-
Ein String, der den zu schreibenden Text in das Dokument enthält.
Rückgabewert
Keiner (undefined
).
Beispiele
<p>Some original document content.</p>
<button onclick="newContent()">Replace document content</button>
function newContent() {
document.open();
document.write("<h1>Out with the old, in with the new!</h1>");
document.close();
}
Hinweise
Der von Ihnen geschriebene Text wird in das Strukturmodell des Dokuments geparst. Im obigen Beispiel wird das h1
-Element zu einem Knoten im Dokument.
Das Schreiben in ein bereits geladenes Dokument, ohne document.open()
aufzurufen, ruft automatisch document.open()
auf. Nach dem Schreiben rufen Sie document.close()
auf, um dem Browser mitzuteilen, dass die Seite fertig geladen ist.
Wenn der document.write()
-Aufruf innerhalb eines Inline-HTML-<script>
-Tags eingebettet ist, wird document.open()
nicht aufgerufen. Zum Beispiel:
<script>
document.write("<h1>Main title</h1>");
</script>
document.write()
und document.writeln
funktionieren nicht in XHTML-Dokumenten (Sie erhalten einen "Operation is not supported" (NS_ERROR_DOM_NOT_SUPPORTED_ERR
) Fehler in der Fehlerkonsole). Dies tritt auf, wenn eine lokale Datei mit der .xhtml-Dateierweiterung geöffnet wird oder für jedes Dokument, das mit einem application/xhtml+xml
MIME-Typ bereitgestellt wird. Weitere Informationen finden Sie in den W3C XHTML FAQ.
Die Verwendung von document.write()
in verzögerten oder asynchronen Skripten wird ignoriert und Sie erhalten eine Meldung wie "Ein Aufruf von document.write()
von einem asynchron geladenen externen Skript wurde ignoriert" in der Fehlerkonsole.
Nur in Edge führt das mehrfache Aufrufen von document.write()
in einem <iframe>
zu dem Fehler "SCRIPT70: Permission denied".
Ab Version 55 wird Chrome <script>
-Elemente, die über document.write()
eingefügt wurden, unter bestimmten Bedingungen nicht ausführen. Weitere Informationen finden Sie unter Intervening against document.write().
Spezifikationen
Specification |
---|
HTML # dom-document-write-dev |