I tag frame e frameset in Html
I frames nel linguaggio Html permettono la visualizzazione multipla all'interno di una stessa pagina web.
Come funziona un frame
I frame suddividono lo schermo del browser in due o più parti. In ogni area viene visualizzato il contenuto di un documento Html.
Pertanto, grazie a questo tag, due o più pagine web sono visibili contemporaneamente sullo schermo del browser.
Ogni singolo frame della pagina web ha proprie barre di scorrimento e caratteristiche indipendenti quali il colore dello sfondo, l'indirizzo del sito da cui è tratta la pagina web, lo stile ecc.
Come fare un frame in Html
Faccio un esempio pratico per spiegare meglio il concetto di frame.
<HTML>
<HEAD>
<TITLE>Un semplice documento frame</TITLE>
</HEAD>
<FRAMESET cols="20%, 80%">
<FRAME src="paginaweb1.html">
<FRAME src="paginaweb2.html">
<NOFRAMES> Il tuo browser non visualizza i frames</NOFRAMES>
</FRAMESET>
</HTML>
Il tag FRAMESET divide inizialmente la pagina web in due colonne. La prima colonna ha una larghezza pari al 20% dello schermo, l'altra colonna occupa il restante 80%.
<FRAMESET cols="20%, 80%">
Ho così definito il layout della pagina web. A questo punto devo indicare cosa visualizzare dentro le due aree tramite i tag FRAME.
<FRAME src="paginaweb1.html">
<FRAME src="paginaweb2.html">
Il primo tag FRAME mostra il contenuto del documento "paginaweb1.html" nella prima area, definita nell'esempio pari al 20% dello schermo.
Il secondo tag FRAME visualizza il documento "paginaweb2.html" nella seconda area dello schermo ( 80% dello schermo ).
Nota. Al posto delle percentuali posso anche indicare la lunghezza esatta della sezione in pixel ( es. 100px ).
Le ultime righe dell'esempio meritano una spiegazione a parte.
E per creare un frame a righe?
Per dividere lo schermo in una parte superiore e inferiore, basta sostituire il parametro COLS con il parametro ROWS ( righe ).
Ecco un esempio pratico
<HTML>
<HEAD>
<TITLE>Un semplice documento frame</TITLE>
</HEAD>
<FRAMESET rows="20%, 80%">
<FRAME src="paginaweb1.html">
<FRAME src="paginaweb2.html">
<NOFRAMES> Il tuo browser non visualizza i frames</NOFRAMES>
</FRAMESET>
</HTML>
In questo caso lo schermo è suddiviso in due sezioni orizzontali.
Le percentuali indicano l'altezza della sezione superiore e inferiore.
Nota. In questo caso ho usato soltanto due sezioni. E' comunque possibile inserirne anche più di due.
A cosa serve il tag Noframes
I tag <NOFRAMES> e </NOFRAMES> contengono le righe di codice html da visualizzare qualora il browser dell'utente non sia abilitato a visualizzare le pagine con i frame.
Questo problema poteva verificarsi con i primi browser nella prima metà degli anni '90 costruiti per interpretare soltanto le versioni più basiche del linguaggio html.
Oggi, tutti i browser moderni sono in grado di leggere le pagine con e senza i frames, l'utilizzo dell'area NOFRAMES è divenuta obsoleta e poco utile.
Le raccomandazioni W3C suggeriscono comunque di inserirla.
<NOFRAMES> Il tuo browser non visualizza i frames</NOFRAMES>
La chiusura del frame
Il tag FRAMESET è un tag doppio del linguaggio Html ossia è composto da un tag di apertura e di chiusura. E' quindi necessario chiudere il frame alla fine del codice.
</FRAMESET>
A questo punto è sufficiente salvare queste poche righe di codice come una normale pagina html.
Quando visualizzata sul browser la pagina frame, questa richiama automaticamente i contenuti delle altre due pagine e li visualizza contemporaneamente sullo schermo.