I FRAME danno la possibilità di dividere lo schermo in più parti ognuna
indipendente per quanto riguarda il caricamento e il funzionamento. Per un esempio pratico di FRAME
basta guardare questo sito dove lo schermo è stato diviso in due parti, di cui quella a sinistra rimane fissa con l'elenco e i rispettivi collegamenti alle
pagine principali, mentre a destra si alternano le pagine scelte. Ma senza prolungarci oltre vediamo come si costruisce una
pagina con i FRAME:
<FRAMESET ROWS="80,*" BORDER=0 FRAMEBORDER="0">
<FRAME SRC="alto.html" NAME="alto" MARGINHEIGHT=0 MARGINWIDTH=0 NORESIZE SCROLLING="no">
<FRAME SRC="home.html" NAME="pagina" MARGINHEIGHT=0 MARGINWIDTH=0 NORESIZE SCROLLING="auto">
</FRAMESET>
Iniziamo a spiegare tutti i comandi. FRAMESET stà ad indicare che la parte di schermo utilizzato viene divisa
in più parti che definiamo con ROWS (nel caso venga diviso in bande orizzontali) e COLS (nel caso venga diviso in bande verticali).
Tra le virgolette mettiamo le dimensioni delle nostre divisioni: nel nostro caso lo schermo viene diviso in due bande orizzontali in
cui quella superiori si estende per 80 pixel mentre quella inferiore si estende per tutto il resto dello schermo (a ogni
numero corrisponderà sotto un TAG FRAME); tra le virgolette si potevano inserire altri numeri. Ad esempio scrivendo
"80,*,50" si ottenevano tre righe di cui quella superiore e quella inferiore rispettivamente larghe
80 e 50 pixel, quella centrale quanto il resto dello spazio.
A fianco di FRAMESET vediamo due attributi che sono
BORDER e FRAMEBORDER (rispettate esattamente le virgolette). BORDER definisce lo spessore in pixel del bordo delle nostre FRAME, mentre FRAMEBORDER
indica se deve esserci il bordo (1) o no (0). Esiste un altro attributo che però non funziona su tutti i Browser ed è BORDERCOLOR serve a
indicare il colore del bordo e va posto come gli altri attributi vicino a FRAMESET.
Sotto alla prima riga troviamo il TAG FRAME che serve ad indicare cosa dovrà contenere la FRAME presa in considerazione. SRC
indica la pagina che vogliamo venga caricata nella parte di schermo scelta, NAME serve a dare un nome alla FRAME e ci servirà per i collegamenti tra le pagine (link, vedi sotto), mentre
gli altri attributi servono a definire l'altezza e la larghezza dei margini della FRAME in pixel (MARGINHEIGHT, MARGINWIDTH), NORESIZE indica che la FRAME non può
essere ridimensionata dal visitatore (nel caso opposto sarebbe mancato l'attributo), SCROLLING invece indica la presenza (YES), l'assenza (NO) della
banda laterale di scorrimento, nel caso volessimo che il computer scegliesse automaticamente se serve o no la banda
basta inserire la parola AUTO come nell'esempio.
Alla fine della nostra definizione delle FRAME dobbiamo mettere il TAG finale di FRAMESET
cioè </FRAMESET>.
A questo punto il documento deve essere salvato come HTML ed essere avviato; caricherà automaticamente le pagine indicate con i marcatori FRAME.
L'unica cosa che manca è sapere come si fanno i collegamenti all'interno delle FRAME. Per caricare una pagina all'interno
della stessa FRAME basta scrivere la nostra solita frase:
<A HREF="home.html">
<HTML HOUSE>
</A>
Anche se si potrebbe essere più corretti scrivendo:
<A HREF="home.html" TARGET="pagina">
<HTML HOUSE>
</A>
In questa maniera abbiamo indicato al Browser che home.html deve essere caricata
nella FRAME chiamata "pagina" definita prima con NAME.
Se noi volessimo caricare pagine Web da una FRAME all'altra dovremmo inserire nell'attributo TARGET
il nome della FRAME destinataria della pagina. Nel nostro esempio sarebbe alto o pagina.
Nel lodare il fatto che esistano le FRAME devo ricordare però che determinati Browser, come per esempio quelli
per non vedenti non hanno la possibilità di gestirle e quindi escludete un potenziale visitatore dalle vostre pagine. Sarebbe
utile fare un doppio sito con la versione FRAME e quella non FRAME.