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 der Parser läuft, was zu einem DOM führt, das nicht mit der Quelle des Dokuments übereinstimmt (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 anderen Fällen wird die Methode einfach ignoriert oder es wird eine Ausnahme ausgelöst. Benutzeragenten sind ausdrücklich erlaubt, das Ausführen vonscript
-Elementen zu vermeiden, die über diese Methode eingefügt werden. Und um die Sache noch schlimmer zu machen, kann das genaue Verhalten dieser Methode in einigen Fällen von der Netzwerklatenz abhängen, was zu Fehlern führen kann, die sehr schwer zu debuggen sind. Aus all diesen Gründen wird die Verwendung dieser Methode stark abgeraten. Daher vermeiden Sie die Verwendung vondocument.write()
– und wenn möglich, aktualisieren Sie vorhandenen Code, der diese Methode noch verwendet.
Die document.write()
Methode schreibt einen Textstring in einen Dokument-Stream, der von document.open()
geöffnet wurde.
Hinweis:
Da document.write()
in den Dokument-Stream schreibt, ruft das Aufrufen von document.write()
bei 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>Replace document content</button>
function newContent() {
document.open();
document.write("<h1>Out with the old, in with the new!</h1>");
document.close();
}
document.querySelector("button").addEventListener("click", newContent);
Anmerkungen
Der von Ihnen geschriebene Text wird in das Strukturmodell des Dokuments analysiert. Im obigen Beispiel wird das h1
Element zu einem Knoten im Dokument.
Das Schreiben in ein Dokument, das bereits geladen wurde, ohne document.open()
aufzurufen, wird document.open()
automatisch aufrufen. Nach dem Schreiben rufen Sie document.close()
auf, um dem Browser mitzuteilen, dass das Laden der Seite abgeschlossen ist.
Wenn der document.write()
Aufruf innerhalb eines inlinen 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 geschieht, wenn eine lokale Datei mit der .xhtml Dateierweiterung geöffnet oder für jedes Dokument mit einem application/xhtml+xml
MIME-Typ bereitgestellt wird. Mehr Informationen sind in den W3C XHTML FAQ verfügbar.
Die Verwendung von document.write()
in verzögerten oder asynchronen Skripten wird ignoriert und Sie erhalten eine Nachricht wie "A call to document.write()
from an asynchronously-loaded external script was ignored" in der Fehlerkonsole.
Nur in Edge verursacht das mehrfache Aufrufen von document.write()
in einem <iframe>
den Fehler "SCRIPT70: Permission denied".
Ab Version 55 wird Chrome <script>
Elemente, die über document.write()
eingefügt wurden, nicht ausführen, wenn bestimmte Bedingungen erfüllt sind. Weitere Informationen finden Sie unter Intervening against document.write().
Spezifikationen
Specification |
---|
HTML # dom-document-write-dev |