Modelo de Objeto de Documento

Modelo de Objeto de Documento

Representação DOM de uma página HTML. Em formação
Depósito github.com/whatwg/dom
Modelo Interface de programação
API Web ( em )
Licença Creative Commons Atribuição 4.0 Internacional ( d )
Local na rede Internet www.w3.org/DOM , www.w3.org/standards/techs/dom e dom.spec.whatwg.org

O Document Object Model ( DOM ) é uma interface de programação padronizada pelo W3C , que permite que os scripts examinem e modifiquem o conteúdo do navegador da web . Pelo DOM, a composição de um documento HTML ou XML é representada como um conjunto de objetos - que podem representar uma janela, uma frase ou um estilo, por exemplo - ligados em uma estrutura de árvore . Usando o DOM, um script pode modificar o documento presente no navegador adicionando ou removendo nós da árvore.

Descrição

Document Object Model (DOM) significa " Document Object Model ".

Modelo Um modelo é usado para representar algo, como um mapa da cidade. O DOM representa o documento que está no navegador. Objeto Na programação , um objeto é um contêiner que possui propriedades e métodos - que são variáveis ​​e ações sobre o que ele representa. Os objetos DOM podem representar uma janela, um documento, uma frase, um estilo ... Documento O DOM está relacionado a um documento, como uma página da web exibida em um navegador. Uma página da web começa com uma marca !DOCTYPEseguida pela marca <html>na qual o restante do documento está localizado. O DOM representa o documento apresentado por uma estrutura em árvore, composta por nós (ramos e folhas).

História

Originalmente, o DOM (nível 0, legado ) era um conjunto de objetos disponibilizados pelo Netscape Navigator , cuja versão 4 foi lançada emJunho de 1997. O Internet Explorer 4 foi lançado em outubro do mesmo ano. Esses dois navegadores incluíam suporte para DHTML , que exigia extensões então oferecidas pelo rudimentar DOM na época. O documento agora pode ser manipulado por meio do DOM; entretanto, o mesmo documento não foi representado da mesma maneira pelos dois navegadores. Este problema desapareceu gradualmente com a adoção do DOM padronizado pelo W3C. O DOM (nível 4) agora está incorporado ao padrão HTML5 .

Implementação

A especificação do W3C fornece os objetos, métodos e propriedades que um navegador da web deve absolutamente disponibilizar.

As principais categorias de objetos de uma árvore DOM são documentos, elementos e atributos:

Cada navegador implementa o DOM em sua linguagem de programação. A especificação DOM está alinhada com a linguagem JavaScript , reconhecida por todos os navegadores da web. Qualquer parte de uma página da web pode ser editada programaticamente e o programa será executado em qualquer navegador compatível com DOM.

Tecnicamente, o DOM possibilita ler e modificar qualquer documento que use tags , com qualquer linguagem de programação que ofereça uma interface de programação DOM.

Evolução do DOM em navegadores da web

Antes de sua padronização pelo W3C , cada navegador da web tinha seu próprio Document Object Model . Se a linguagem básica destinada a lidar com documentos da web foi rapidamente padronizada em JavaScript , o mesmo não aconteceu com a série precisa de funções a serem usadas e a maneira de navegar no documento. Por exemplo, quando o Netscape Navigator recomendou navegar em um array indexado nomeado document.layers[], o Internet Explorer o chamou document.all[]e assim por diante. Na prática, isso exigia escrever (pelo menos) duas versões de cada parte do script, se você quisesse tornar seu site acessível ao maior número de pessoas possível.

A padronização dessas técnicas foi realizada em várias etapas, que a cada vez ampliam as possibilidades anteriores sem jamais questioná-las.

DOM 1

O primeiro é o DOM Nível 1 lançado em 1998 (com o nível 0 considerado a implementação base encontrada no Netscape Navigator 2.0 ), onde o W3C definiu uma forma precisa de representar um documento (especialmente um documento XML ) sob a forma de uma árvore. Cada elemento gerado a partir da marcação, como no caso do HTML, um parágrafo, título ou botão de formulário, forma um nó nele. Uma série de funções também é definida para mover-se nesta árvore, adicionando, modificando ou excluindo elementos. Além das funções genéricas aplicáveis ​​a qualquer documento estruturado, foram definidas funções específicas para os documentos HTML, permitindo, por exemplo, a gestão de formulários. A maior parte do DOM Nível 1 está disponível desde as primeiras versões do Internet Explorer 5 e do Netscape 6.

DOM 2

A segunda etapa é o DOM Nível 2 (lançado em 2000 ), agora composto de seis partes (além de Core e HTML , encontraremos Events , Style , View e Traversal and Range ). Nas evoluções do brick básico (Core), nota-se a possibilidade de identificar mais rapidamente um nó ou grupo de nós dentro do documento. Assim, para obter um elemento específico, não o procuraremos mais em uma matriz como nos DOMs proprietários anteriores, mas chamaremos a função getElementById () .

DOM 3

O terceiro nível, lançado na primavera de 2004, acrescentou:

DOM 4

O quarto nível foi lançado em dezembro de 2015. Sua última atualização foi em dezembro de 2020.

Aspectos tecnicos

DOM é usado para representar a estrutura de um documento e seus elementos na forma de uma árvore. Portanto, é preferível navegar e memorizar todo o documento antes de poder realizar o processamento desejado. Por esse motivo, os programas que usam DOM geralmente têm uma grande quantidade de memória sendo processada. Por outro lado, a partir de uma determinada árvore DOM, é possível gerar documentos na linguagem de marcação desejada, que por sua vez pode ser manipulada pela interface DOM.

O DOM é usado para modificar facilmente documentos XML ou acessar o conteúdo de páginas da web. Nos casos em que não é necessário manipular os documentos XML, mas apenas lê-los, o método SAX também pode ser escolhido, pois processa os elementos sucessivamente sem carregar o documento na memória. É necessário quando o tamanho do documento excede a capacidade da memória.

Eventos

Capturar um evento consiste em executar uma ação (por exemplo, um programa em JavaScript ) quando o evento monitorado ocorre no documento. Os eventos capturáveis ​​do DOM são:

Eventos de página e janela

Eventos de mouse

Eventos de teclado

Eventos de formulário

Notas e referências

  1. (en) Paul S. Wang, Dynamic Web Programming and HTML5 , CRC Press, 2012, ( ISBN  9781439871829 )
  2. (en) Jeremy Keith e Jeffrey Sambells, DOM Scripting: Web Design com JavaScript e Document Object Modelo , Apress - 2010, ( ISBN  9781430233893 )
  3. http://www.w3.org/TR/DOM-Level-3-Core/ .
  4. http://www.w3.org/TR/dom/ .
  5. "  Especificação de eventos de nível 3 do Document Object Model (DOM)  " , W3C ,6 de setembro de 2012.

links externos