Fluxo de escritura do documento

É o processo no qual o navegador escreve a página. Para escrever na página em Javascript o fluxo do documento deve estar aberto.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 07/4/05
Valorize este artigo:
Sobre o objeto document também é interessante falar um pouco sobre o fluxo de escritura do documento ou página web.

Quando o navegador lê uma página web vai interpretando e escrevendo em sua janela. O processo no qual o navegador está escrevendo a página lhe chamamos fluxo de escritura do documento. O fluxo começa quando a página começa a ser escrita e dura até que esta termine de ser escrita. Uma vez terminada a escritura da página, o fluxo de escritura do documento se fecha automaticamente. Com isto termina a recarga da página.

Uma vez fechado o fluxo, não se pode mais escrever na página web, nem texto nem imagens nem outros elementos.

Em javascript, temos que respeitar o fluxo de escritura do documento forçosamente. É por isso que só podemos executar sentenças document.write() (método write() do objeto document) quando está aberto o fluxo de escritura do documento, ou o que é igual, enquanto a página está sendo recarregada.

Lembramos as duas formas de executar um script em Javascript:
  • Execução dos scripts enquanto a página está sendo recarregada. Aqui poderemos executar document.write() e fizemos habitualmente nos exemplos anteriores.
  • Execução dos scripts quando a página foi recarregada, como resposta a um evento do usuário. Aqui, não podemos fazê-lo porque a página terminou de recarregar, de fato, não o fizemos nunca até agora.
Há o ponto em que não se pode escrever na página quando já está fechado o fluxo. Na verdade sim que pode, mas necessitamos abrir o fluxo outra vez para escrever na página, tanto é assim que embora nós não abramos explicitamente Javascript se encarregará disso. O que tem que ficar claro é que se fazemos um document.write(), o fluxo tem que estar aberto e se não estiver se abrirá. O problema de abrir o fluxo de escritura do documento, uma vez já está escrita a página, é que todo o conteúdo é apagado.

Para que fique claro vamos fazer um script para escrever na página uma vez esta tenha sido recarregada. Simplesmente necessitamos um botão e ao clicá-lo executar o método write() do objeto document.

<form>
<INPUT type=button value=escribir onclick="window.document.write('olá')">
</form>


Se observarmos, no manipulador de eventos onclick, colocamos a hierarquia de objetos desde o princípio, ou seja, começando pelo objeto window. Isto é porque existem alguns navegadores que não subentendem o objeto window nas mesmas sentenças sentencias escritas nos manipuladores de eventos.

Podemos ver o exemplo em funcionamento.

O resultado da execução pode variar de um navegador a outro, mas de qualquer forma se apagará a página que se está executando.

Métodos open() e close() de document

Os métodos open() e close() do objeto document servem para controlar o fluxo do documento desde Javascript. Permite-nos abrir e fechar o documento explicitamente.

O exemplo de escritura na página anterior deveria haver sido escrito com sua correspondente abertura e fechamento do documento e teria ficado algo parecido a isto.

<script>
function escreve(){
    document.open()
    window.document.write('Olá')
    document.close()
}
</script>
<form>
<INPUT type=button value=escrever onclick="escreve()">
</form>


Vemos que agora não escrevemos as sentenças dentro do manipulador, porque, quando há mais de uma sentença, fica mais claro colocar uma chamada a uma função e na função colocamos as sentenças que quisermos.

As sentenças do exemplo anterior, que cobrem a abertura, escritura e fechamento do documento. Podem ser vistas aqui.





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato