--- title: Document.write() slug: Web/API/Document/write tags: - API - DOM - Method - Reference translation_of: Web/API/Document/write ---
O método Document.write()
grava uma sequência de caracteres em um documento aberto por {{domxref("document.open()")}}.
document.write
grava no fluxo de documentos, chamando document.write
em um documento fechado (carregado) invoca automaticamente document.open
, que limpará o documento.document.write(markup);
<html> <head> <title>Escreva exemplo</title> <script> function newContent() { document.open(); document.write("<h1>Sair com o velho - entrar com o novo!</h1>"); document.close(); } </script> </head> <body onload="newContent();"> <p>Algum conteúdo do documento original.</p> </body> </html>
{{EmbedLiveSample("Syntax")}}
Escrevendo em um documento que já foi carregado sem chamar {{domxref("document.open()")}} automaticamente vai chamar document.open
. Ao términno da escrita, é recomendável chamar {{domxref("document.close()")}} para dizer ao navegador para encerrar o carregamento da página. O texto que você escreve é analisado no modelo de estrutura do documento. No exemplo acima, o elemento h1
se torna um nó (node) no documento.
Se chamar document.write()
incorporada em uma tag HTML <script>
embutida, então document.open()
não será chamada. Por exemplo:
<script> document.write("<h1>Título principal</h1>") </script>
document.write
e {{domxref("document.writeln")}} não funcionam em documentos XHTML (você receberá o erro "Operation is not supported" [NS_ERROR_DOM_NOT_SUPPORTED_ERR
] no console de erros). Isso acontece ao abrir um arquivo local com a extensão .xhtml ou em qualquer documento exibido com um MIME type application/xhtml+xml
{{Glossary("MIME type")}}. Mais informações disponíveis em W3C XHTML FAQ.document.write
em deferred ou asynchronous scripts será ignorado, e você receberá uma mensagem como "A call to document.write()
from an asynchronously-loaded external script was ignored" no console de erros.document.write
mais de uma vez em {{HTMLElement("iframe")}} causa o erro "SCRIPT70: Permission denied".<script>
injetados via document.write()
caso haja falta de cache HTTP para usuários em uma conexão 2G. Há uma lista de condições que precisam ser atendidas para que isso seja verdade.Especificações | Status | Comentario |
---|---|---|
{{SpecName("HTML WHATWG", "#dom-document-write", "document.write(...)")}} | {{Spec2("HTML WHATWG")}} | |
{{SpecName("DOM2 HTML", "html.html#ID-75233634", "document.write(...)")}} | {{Spec2("DOM2 HTML")}} |