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
|
---
title: Document.write()
slug: Web/API/Document/write
translation_of: Web/API/Document/write
---
<div>{{ ApiRef("DOM") }}</div>
<p>Пишет строку в поток документа, открытый с помощью <a href="/en-US/docs/Web/API/document.open">document.open()</a>.</p>
<div class="note">Замечание: поскольку <code>document.write</code> пишет строку в <strong>поток</strong> документа, вызов <code>document.write</code> для закрытого (но загруженного) документа автоматически вызовет <code>document.open</code>, <a href="https://developer.mozilla.org/en-US/docs/Web/API/document.open#Notes">который очистит документ</a>.</div>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="brush: js">document.write(<em>разметка</em>);
</pre>
<h3 id="Параметры">Параметры</h3>
<dl>
<dt><em>разметка</em></dt>
<dd>Строка, содержащая текст для записи в документ.</dd>
</dl>
<h3 id="Пример">Пример</h3>
<pre class="brush: html"><html>
<head>
<title>write example</title>
<script>
function newContent() {
alert("загрузка нового контента");
document.open();
document.write("<h1>Долой старое, да здравствует новое!</h1>");
document.close();
}
</script>
</head>
<body onload="newContent();">
<p>Какой-то оригинальный контент.</p>
</body>
</html>
</pre>
<h2 id="Замечания">Замечания</h2>
<p>Запись в документ, загруженный без вызова <code><a href="/en-US/docs/Web/API/document.open">document.open()</a>,</code> автоматически вызовет <code>document.open</code>. По окончании записи рекомендуется вызвать <code><a href="/en-US/docs/Web/API/document.close">document.close()</a>,</code> чтобы браузер завершил загрузку страницы. Записываемый текст разбирается в структурную модель документа. В примере выше элемент <code>h1</code> становится узлом документа.</p>
<p>Если вызов <code>document.write()</code> производится во встроенном HTML теге <code><script></code> , вызов <code>document.open() не будет выполнен</code>. Например:</p>
<pre class="brush: html"><code><script>
document.write("<h1>Основной заголовок</h1>")
</script></code>
</pre>
<div class="note"><strong>Замечание:</strong> <code>document.write</code> и <code>document.writeln</code> <a href="/en-US/docs/Archive/Web/Writing_JavaScript_for_HTML">не работают в XHTML документах</a> (выводится сообщение "Операция не поддерживается" [<code>NS_ERROR_DOM_NOT_SUPPORTED_ERR</code>] в консоли ошибок). Это случается при открытии локального файла с расширением .xhtml или для любых документов, обрабатываемых с <a href="/en-US/docs/Glossary/MIME_type">типом MIME</a> - <code>application/xhtml+xml</code> . Больше информации доступно по адресу <a class="external" href="http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite">W3C XHTML FAQ</a>.</div>
<div class="note"><strong>Замечание:</strong> <code>document.write</code> в <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer">отложенных</a> или <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async">асинхронных</a> сценариях игнорируется и выводится сообщение типа "Проигнорирован вызов <code>document.write()</code> из асинхронно загруженного внешнего сценария" в консоли ошибок.</div>
<div class="note"><strong>Замечание:</strong> В Edge вызов <code>document.write в </code>iframe более одного раза прриводит к ошибке SCRIPT70: Доступ запрещен.</div>
<div class="note"><strong>Замечание:</strong> Начиная с версии 55, Chrome не исполняет элементы <code><script></code> вставленные посредством <code>document.write()</code> в случае отсутствия кэша HTTP для пользователей 2G подключения.</div>
<h2 id="Спецификации"><font color="#ffffff" face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="background-color: #333333; font-size: 24px;">Спецификации</span></font></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> Method</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">Dynamic markup insertion in HTML</a></li>
</ul>
<h2 id="См._также">См. также</h2>
<ul>
<li>{{ domxref("element.innerHTML") }}</li>
<li>{{ domxref("document.createElement()") }}</li>
</ul>
|