blob: 3b25f6b658fd9ec98cde3e3c39ea831f8654ce44 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
---
title: Document.write()
slug: Web/API/Document/write
tags:
- API
- DOM
- Document
- Méthode
- Referenz
translation_of: Web/API/Document/write
---
<div>{{ ApiRef("DOM") }}</div>
<p>Schreibt eine Zeichenfolge in einen Dokument-Stream, der zuvor mittels <a href="/en-US/docs/Web/API/document.open">document.open()</a> geöffnet wurde.</p>
<div class="note">Hinweis: da <code>document.write</code> in einen Dokument-<strong>Stream </strong>schreibt, wird beim Aufruf von <code>document.write</code> auf ein geschlossenes (fertig geladenes) Dokument dieses automatisch wieder mittels <code>document.open</code> geöffnet, <a href="https://developer.mozilla.org/en-US/docs/Web/API/document.open#Notes">wodurch das Dokument geleert wird</a>.</div>
<h2 id="Syntax">Syntax</h2>
<pre class="brush: js">document.write(<em>markup</em>);
</pre>
<h3 id="Parameter">Parameter</h3>
<dl>
<dt><code>markup</code></dt>
<dd>Ein String, der in das Dokument geschrieben wird.</dd>
</dl>
<h3 id="Beispiel">Beispiel</h3>
<pre class="brush: html"><html>
<head>
<title>write example</title>
<script>
function newContent() {
alert("load new content");
document.open();
document.write("<h1>Raus mit dem Alten - rein mit dem Neuen!</h1>");
document.close();
}
</script>
</head>
<body onload="newContent();">
<p>originaler Dokumenten-Inhalt</p>
</body>
</html>
</pre>
<h2 id="Hinweise">Hinweise</h2>
<p>Wird die Ausgabe auf ein Dokument angewendet, das zuvor nicht mittels <a href="/en-US/docs/Web/API/document.open"><code>document.open()</code></a> geöffnet wurde, löst dies ein implizites <code>document.open</code> aus. Sobald Sie den Schreibvorgang beendet haben, empfiehlt es sich <a href="/en-US/docs/Web/API/document.close"><code>document.close()</code></a> aufzurufen, um dem Browser mitzuteilen, dass das Dokument vollständig geladen werden kann. Der geschriebene Text wird in das Strukturmodell des Dokuments eingelesen. Im vorherigen Beispiel wird das <code>h1</code>-Element automatisch in einen Knoten im Dokument umgewandelt.</p>
<p>Wird der <code>document.write()</code> Aufruf in ein im HTML eingeschlossenes <code><script></code> Tag eingebunden, wird <code>document.open()</code> nicht aufgerufen. Zum Beispiel:</p>
<pre class="brush: html"><script>
document.write("<h1>Main title</h1>")
</script>
</pre>
<div class="note"><strong>Hinweis:</strong> <code>document.write</code> und <code>document.writeln</code> <a href="/en-US/docs/Archive/Web/Writing_JavaScript_for_HTML">funktionieren nicht in XHTML Documenten</a> (Sie erhalten einen "Operation is not supported" [<code>NS_ERROR_DOM_NOT_SUPPORTED_ERR</code>] Fehler in der Fehlerkonsole). Dies tritt auf, sobald Sie eine lokale Datei mit der Erweiterung .xhtml laden oder eine Datei öffnen, die mit dem <code>application/xhtml+xml</code>-<a href="/en-US/docs/Glossary/MIME_type">MIME-Typ</a> vom Server gesendet wurde. Weitere Informationen erhalten Sie in der <a class="external" href="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite">W3C XHTML FAQ</a>.</div>
<div class="note"><strong>Hinweis:</strong> <code>document.write</code> in <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer">verzögert geladenen</a> oder <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async">asynchronen</a> Scripten wird ignoriert und Sie erhalten eine Nachricht ähnlich dieser in der Fehlerkonsole: "A call to <code>document.write()</code> from an asynchronously-loaded external script was ignored".</div>
<div class="note"><strong>Hinweis </strong>(Nur Microsoft Edge): ein wiederholter Aufruf von<code>document.write</code> in einem <code><iframe></code> erzeugt den Fehler "SCRIPT70: Permission denied".</div>
<div class="note"><strong>Hinweis </strong>(Chrome Version 55+): per <code>document.write()</code> injizierte <code><script></code>-Elemente werden bei einer 2G Verbindung nach einem HTTP Cache Miss nicht ausgeführt.</div>
<h2 id="Spezifikationen">Spezifikationen</h2>
<ul>
<li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75233634">DOM Level 2 HTML: <code>write()</code> Methode</a></li>
<li><a class="external" href="http://www.w3.org/TR/2011/WD-html5-author-20110705/apis-in-html-documents.html#dynamic-markup-insertion">Dynamische Markup-Einfügung in HTML</a></li>
</ul>
<h2 id="Siehe_auch">Siehe auch</h2>
<ul>
<li>{{ domxref("element.innerHTML") }}</li>
<li>{{ domxref("document.createElement()") }}</li>
</ul>
|