Document.write()

Esta tradução está incompleta. Ajude a traduzir este artigo em inglês

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);

Parameters

markup
Uma string contendo o texto a ser gravado no documento.

Example

<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 Status Comment
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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
writeChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0

Legend

Full support  
Full support

See also