Cosa sono i frame.
Con le tabelle si suddivide una pagina in zone che possono contenere immagini, testi ed altro.
Questi contenuti sono fissi, cioé non possono essere modificati.
I contenuti di una pagina divisa con i frame, invece, possono essere visualizzati come se fossero
in pagine diverse.
Una applicazione comune è la suddivisione di una pagina in due zone: una verticale, larga un 20%
della pagina e posizionata a sinistra; tipicamente essa contiene un'elenco. Cliccando su una voce
di quest'elenco, si visualizza, nella seconda zona, un contenuto correlato alla scelta effettuata.
In questo modo, cambiando scelta nella prima finestra l'elenco rimane, cambia il contenuto
della seconda finestra.
Bisogna tener presente che caricando una pagina a frame, si caricano anche le pagine richiamate;
pertanto essa richiede più tempo per essere caricata e,quindi, visualizzata.
CONSIGLIO: seguite con attenzione il contenuto di questa pagina, arrivati in fondo
rincominciate dall'inizio; questo perché il meccanismo dei frame non è immediato, per capirlo bene
è meglio conoscere già elementi, tag ed altro. Non vi scoraggiate.
Sintassi
La pagina da suddividere può contenere solo informazioni sulla divisione, per cui può essere priva
del blocco BODY.
Gli elementi da usare per la divisone in frames sono (come usarli sarà visto dopo):
FRAMESET (Attributi: COLS e ROWS). Definisce il blocco con le indicazioni delle
suddivisioni in righe od in colonne. La suddivisione sia in righe che in colonne è descritta in
'nidificazione dei frames'. Le dimensioni vanno specificate nelle
unità di misura supportate;
esprimendole in % la visualizzazione è indipendente dalla risoluzione dello schermo.
FRAME Definisce il contenuto di ciascun frame. Esso ha diversi attributi (descritti più
avanti), quello fondamentale è: SRC che specifica il documento da visualizzare nel frame.
Per creare una pagina (di nome FRAME A COLONNE) con una divisione in due colonne, una larga il 30% dello schermo e l'altra larga lo spazio
rimanente, che contengano rispettivamente i documenti "sinistra.htm" e "destra.htm" si deve
scrivere (come codice dell pagina FRAME A COLONNE):
<HTML>
<HEAD>
<TITLE>FRAME A COLONNE</TITLE>
</HEAD>
<FRAMESET COLS=30%,*%>
<FRAME SRC="sinistra.htm">
<FRAME SRC="destra.htm">
</FRAMESET>
</HTML>
La definizione dei frame va inserita, in ordine di successione, iniziando dalla colonna a sinistra
fino alla colonna di destra
Questo è il minimo codice necessario per la definizione di una pagina a frame; i due files
"sinistra.htm" e "destra.htm" devono essere disponibili nella stessa directory della pagina,
altrimenti bisogna inserire un loro indirizzo più completo.
Questo codice minimo è stato ampliato per realizzare la
pagina di
esempio "esfra.htm"
Nell'esempio:
- Il file "sinistra.htm" contiene il codice per tornare al punto di chiamata in
questa pagina ed il codice per visualizzare, nel frame di destra, delle pagine
collegate alle varie voci elencate a sinistra.
- Il file "destra.htm" contiene il codice per tornare al punto di chiamata in
questa pagina e mostra codice del file "esfra.htm" riportato di seguito:
<HTML>
<HEAD>
- - - -
<TITLE>esfra</TITLE>
</HEAD>
Non è presente il tag "body"
<FRAMESET cols=30%,*%>
<FRAME SRC="sinistra.htm" frameborder="10"
marginwidth=20 marginheight=20
TARGET="DES">
<FRAME SRC="destra.htm"
NAME="DES" frameborder="10">
</FRAMESET>
</HTML>
Gli attributi, ancora non visti, sono descritti subito sotto.
Frame ha diversi