The Document.write()
method writes a string of text to a document stream opened by document.open()
.
Note: Because
document.write()
writes to the document stream, calling document.write()
on a closed (loaded) document automatically calls document.open()
, which will clear the document.Syntax
document.write(markup);
Parameters
- markup
- A string containing the text to be written to the document.
Example
<html> <head> <title>Write example</title> <script> function newContent() { document.open(); document.write("<h1>Out with the old, in with the new!</h1>"); document.close(); } </script> </head> <body onload="newContent();"> <p>Some original document content.</p> </body> </html>
Notes
The text you write is parsed into the document's structure model. In the example above, the h1
element becomes a node in the document.
Writing to a document that has already loaded without calling document.open()
will automatically call document.open()
. After writing, call document.close()
to tell the browser to finish loading the page.
If the document.write()
call is embedded within an inline HTML <script>
tag, then it will not call document.open()
. For example:
<script> document.write("<h1>Main title</h1>") </script>
Note:
document.write()
and document.writeln
do not work in XHTML documents (you'll get an "Operation is not supported" [NS_ERROR_DOM_NOT_SUPPORTED_ERR
] error in the error console). This happens when opening a local file with the .xhtml file extension or for any document served with an application/xhtml+xml
MIME type. More information is available in the W3C XHTML FAQ.Note: Using
document.write()
in deferred or asynchronous scripts will be ignored and you'll get a message like "A call to document.write()
from an asynchronously-loaded external script was ignored" in the error console.Note: In Edge only, calling
document.write()
more than once in an <iframe>
causes the error "SCRIPT70: Permission denied".Note: Starting with version 55, Chrome will not execute
<script>
elements injected via document.write()
when specific conditions are met. For more information, refer to Intervening against document.write().Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'document.write(...)' in that specification. |
Living Standard | |
Document Object Model (DOM) Level 2 HTML Specification The definition of 'document.write(...)' in that specification. |
Obsolete |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
write | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 4 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 |
Legend
- Full support
- Full support