Document.write()
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
Specification |
---|
HTML Standard # dom-document-write-dev |
Compatibilidade com navegadores
BCD tables only load in the browser