L’HTML dinamico, più comunemente noto come script DOM o DHTML, è un insieme di strumenti che possono essere utilizzati per creare elementi interattivi su un sito web. In genere, l’HTML dinamico combina l’HTML standard, che è il linguaggio di markup del Web, con un linguaggio di scripting. Ciò consente al progettista di siti Web di includere elementi variabili in una pagina Web che possono essere modificati dall’utente dopo che la pagina è stata caricata. Un esempio di HTML dinamico è un menu che scende quando l’utente passa con il mouse su di esso. Anche i giochi DHTML stanno diventando sempre più popolari.
I siti web creati da HTML statico non possono essere modificati o modificati dall’utente una volta caricati. Per i siti Web di base questo non è un problema, ma la mancanza di interattività è un problema per molti siti Web e applicazioni. L’HTML dinamico combina il normale HTML con JavaScript, un semplice linguaggio di scripting, per fornire una libertà molto maggiore al web designer attraverso elementi interattivi.
L’HTML standard non ha “variabili” che possono essere modificate, ma l’HTML dinamico sì. Una volta caricato un sito Web con DHTML, il linguaggio di scripting può essere utilizzato per modificare determinati elementi della pagina. Non può, tuttavia, creare pagine con contenuto generato dinamicamente. Per questo, il web designer deve utilizzare linguaggi di scripting lato server come PHP e Perl.
In origine, l’HTML dinamico era noto come DHTML. A causa dei problemi iniziali nel far funzionare la tecnologia su tutti i browser Internet, questa etichetta è passata di moda. Invece, la tecnologia viene ora solitamente indicata come script DOM che sta per script Document Object Model. Ciò fornisce una serie di convenzioni che funzionano su tutti i browser e semplifica notevolmente lo sviluppo di pagine Web animate in modo dinamico.
Esistono numerosi esempi comuni di HTML dinamico in azione. A parte i menu a discesa, i moduli che possono restituire informazioni senza bisogno di essere inviati a un server e aggiornare automaticamente i contenuti sono altri due esempi. Questi sarebbero molto difficili, o impossibili, da ottenere utilizzando HTML standard e un linguaggio di scripting lato server. Nascondere il contenuto da un utente fino a quando non ha avuto luogo un’azione specifica è un altro uso comune della tecnologia.
Lo sviluppo di giochi HTML dinamici sta diventando meno difficile ora che i problemi cross-browser iniziano a diventare meno rari. I giochi di scripting DOM sono ancora relativamente rari, ma la tecnologia funziona bene per i piccoli giochi basati su browser. Un vantaggio dei giochi DHTML è che possono anche essere eseguiti sui sistemi operativi più diffusi come widget.