- Modificare dinamicamente una pagina HTML con DOM -
 
COSA SERVE PER QUESTO TUTORIAL
Chiedi sul FORUM | Glossario Un browser web - conoscenze basiche riguardo ad Internet
Che cos'è a cosa serve il DOM

DOM E W3C
Nascita e standardizzazione del Document Object Model

La più grande sfida per chi realizza script lato client risiede nella quantità di modelli di oggetti del documento che hanno richiamato l'attenzione dei programmatori durante la storia dei browser compatibili con gli script. Netscape ha cominciato con il primo modello di oggetti in Navigator 2. Quando arrivarono i browser della versione 4, il modello di oggetti originale, oltre ad avere acquisito delle funzioni compatibili con più browser, conteneva delle funzioni uniche per Navigator o Internet Explorer. I modelli di oggetti si stavano così allontanando gli uni dagli altri, causando notevoli problemi agli autori di pagine, i cui script dovevano essere eseguiti sul maggior numero possibile di browser.
Una speranza arrivò dall'elaborazione degli standard di World Wide Web Consortium (W3C), sotto forma di una specifica per il DOM.
Questo significa che il DOM definito dal W3C è indipendente dal tipo di browser, di versione e di sistema operativo. Tuttavia non significa che i vari browser lo rispettino... tutt'altro! Proprio da qui nascono tutti gli odiati problemi relativi al crossbrowser.

I LIVELLI DEL DOM
I vari stadi di crescita

Il compito del gruppo di lavoro DOM era troppo esteso perché fosse esaurito in una sola seduta, quindi il DOM è una specifica in continua evoluzione: per questo motivo esistono diversi livelli del DOM .
In particolare il DOM di Livello 2, oltre ad apportare numerosi miglioramenti al livello precedente, aggiunge nuove importanti sezioni al modello di eventi, modi per esaminare la gerarchia di un documento, proprietà di stile ed altro.

DEFINIZIONE DI DOM
Cos'è e a cosa serve il DOM

Ho letto decine di definizioni del DOM, ognuna diversa dall'altra e in ognuna si ricorreva sempre a qualche sorta di metafora: il DOM come albero, come bosco, come persona con una propria anatomia, come famiglia, addirittura come citofono! Questo perché dare una definizione compatta e descrittiva del DOM non è cosa semplice. Cercherò di non usare metafore:
Il DOM è un'API.
Un'API (Application Programming Interface) è un'interfaccia per la programmazione di applicazioni; in parole povere è un insieme di oggetti, metodi e proprietà, che i programmi possono richiamare per far fare al sistema operativo il proprio lavoro.
Il DOM è un'API che descrive la struttura di un documento HTML (e XML), con il quale i costruttori di pagine per il Web possono accedere e manipolare tutti gli elementi della pagina stessa; un modello che descrive come i diversi oggetti di una pagina sono collegati tra loro.
Non bisogna neanche credere che il DOM sia una parte di JavaScript: quest'ultimo è solo un modo per accedere al DOM, e non è neanche l'unico (vedi VBScript).

Per capire ancora più nel dettaglio cosa descrive il DOM, consideriamo una semplice pagina:

<HTML>
    <HEAD>
        <TITLE>il DOM</TITLE>
    </HEAD>
    <BODY>
        <A HREF="pagina.html">Ciao</A>
    </BODY>
</HTML>

Il DOM considera la pagina secondo le relazioni che legano e collegano i vari elementi del documento, evidenziandone le parentele e le caratteristiche. La pagina è costituita da nodi, in altre parole, ogni cosa presente nella pagina, ogni tag (come TITLE), ogni testo (come "Ciao"). I nodi (come A) possono avere attributi (come HREF) e proprietà. Inoltre un nodo (come BODY) può contenere altri nodi, in questo caso si parla di elemento della pagina. Una rappresentazione grafica può chiarire le idee. Come si vede, le possibilità offerte sono enormi, considerando che non solo è possibile accedere e manipolare ogni nodo, ma anche aggiungerne di nuovi al volo, ed eliminarne altri già presenti. Queste stesse possibilità sono offerte da tutti i browser che supportano il DOM W3C.
Nel prossimo articolo entreremo nei dettagli delle specifiche sul DOM.


<< INDIETRO by Joker-81