O método Document.write()
grava uma sequência de caracteres em um documento aberto por document.open()
.
Nota: à medida que
document.write
grava no fluxo de documentos, chamando document.write
em um documento fechado (carregado) invoca automaticamente document.open
, que limpará o documento.Sintaxe
document.write(markup);
Parametros
- markup
- Uma string contendo o texto a ser gravado no documento.
Exemplo
<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>
Notas
Escrevendo em um documento que já foi carregado sem chamar document.open()
automaticamente vai chamar document.open
. Ao términno da escrita, é recomendável chamar 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>
Nota:
document.write
e 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
MIME type. Mais informações disponíveis em W3C XHTML FAQ.Nota:
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.Nota: Somente no Edge, chamando
document.write
mais de uma vez em <iframe>
causa o erro "SCRIPT70: Permission denied".Nota: A partir de 55, Chrome não executará elementos
<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
Especificações | Status | Comentario |
---|---|---|
HTML Living Standard The definition of 'document.write(...)' in that specification. |
Padrão em tempo real | |
Document Object Model (DOM) Level 2 HTML Specification The definition of 'document.write(...)' in that specification. |
Obsoleto |
Compatibilidade de Browser
BCD tables only load in the browser
A tabela de compatibilidade nesta página é gerada a partir de dados estruturados. Se você deseja contribuir com os dados, consulte https://github.com/mdn/browser-compat-data envie-nos uma pull request.