www.sitopreferito.it

Corso di HTML
Introduzione
Convenzioni
Struttura di base
Scrivere in HTML
Formattazione
Paragrafatura
Immagini
Collegamenti
Liste
Colori e Sfondo
Tabelle
Multimedia
Forms
Imagemap
Frames
Appendice A
Appendice B
Appendice C

HOME

CHAT

WEBCAM

SERVIZI

SPECIALI

CURIOSITA'

BELLEZZE

FORUM

METEO

RUBRICHE

1000LINKS

ANNUNCI GRATUITI

Il portale
della Tua zona

 15. Frame

Generalità

I frame sono uno strumento molto importante per rendere i documenti HTML più leggibili e semplici da consultare. In sostanza essi servono a suddividere lo schermo in più aree e ciascuna di esse diventa una finestra indipendente ove visualizzare differenti documenti. Dato che questo comando è relativamente recente, non tutti i browser lo supportano pienamente, anche se quelli di nuova generazione li visualizzano correttamente (es. Internet Explorer 4).

Un esempio è rappresentato da questo corso che, suddiviso in due frame, riporta l'indice nella finestra di sinistra ed il contenuto in quella di destra. Come si può notare, un'operazione svolta in una finestra, come il clic su un argomento, ha effetto sulla finestra di destra dove appare il testo dell'argomento selezionato.

E' palese che con i frame, il browser carica contemoraneamente più di un documento, con le relative immagini ivi contenute, pertanto, se le pagine sono troppo pesanti in termini di memoria richiesta (es. ricche di immagini o file multimediali) il sistema viene appesantito e potrebbe diminuire in termini di prestazioni e velocità. Comunque, per talune applicazioni, il frame consente di viaggiare all'interno del sito o di documenti in maniera notevolmente veloce.

Per realizzare una pagina con frame, è necessario adottare una filosofia differente rispetto a quella precedentemente vista per i documenti HTML su unica finestra.

Implementazione delle finestre

Innanzitutto deve essere creato un documento HTML, che sarà il primo ad essere caricato, che definisce le varie finestre così come appariranno a video. Questo documento in genere è molto breve in quanto contiene solamente la definizione delle finestre che formeranno il frame da visualizzare e, di solito, non superano le due-tre.

Inoltre, a differenza dei normali documenti, i tag che definiscono i frame, sono inclusi prima della sezione <BODY>, alla stessa stregua della sezione <HEAD>.

Di seguito, è riportato un esempio di come è strutturata una pagina tipo quella che state visualizzando adesso, e cioè, ad eccezione della parte superiore, divisa verticalmente in due sezioni (frame)

<HTML>
 <HEAD>
   <TITLE>Titolo della Pagina</TITLE>
 </HEAD>
 <FRAMESET COLS="20%,80%">
 </FRAMESET>
 <NOFRAMES>
 <BODY>
  Corpo del documento che sarà
  visualizzato dai browser che non
  supportanto i frame
</BODY>
</NOFRAMES>
</HTML>

 


   

Nel comando <FRAMESET> è stato specificato il parametro COLS="x,y,z...." che indica la larghezza delle colonne delle finestre aperte. Ogni valore x,y,z... può essere:

  • specificato in pixel;
  • in percentuale (facendo seguire il valore dal segno %) preoccupandosi di raggiungere il totale del 100%, altrimenti il browser scalerà in maniera  percentuale le dimensioni fino al riempimento della finestra in cui i frame vengono visualizzati;
  • relativo secondo un fattore fisso rappresentato dal carattere * a cui possono  essere applicati dei moltiplicatori 2*, 3* ecc. Ad esempio:
    • <FRAMESET COLS="*,*">  dividerà lo spazio disponibile in parti uguali;
    • <FRAMESET COLS="10%,*">  farà la prima finestra del 10% e l'altra con lo spazio rimanente;
    • <FRAMESET COLS="10%,2*,*"> farà la prima finestra del 10% e lo spazio rimanente sarà i 2/3 disponibile per la seconda ed 1/3 per la terza;

Conviene evitare, di norma, di esprime il valore in pixel, in quanto potrebbe uscire fuori dalla finestra di visualizzazione, mentre quello in percentuale e relativo viene gestito automaticamente dal browser per essere sempre visibile.

Alla stessa stregua del parametro COLS="x,y,z..." funziona il parametro ROWS="x,y,z..." che però si riferisce alle righe e pertanto suddividerà lo schermo in finestre orizzontali.

Non c'è limite al numero di finestre che possono essere aperte, eccezion fatta che aprendone troppe possono diminuire troppo le dimensioni di ogni singola finestra da non essere sufficientemente idoee a visualizzare i dati contenuti.

Attributi

Gli attributi del comando <FRAMESET> sono:

  • COLS="x,y,z...."
    già visto in precedenza;
  • COLS="x,y,z...."
    già visto in precedenza;
  • FRAMEBORDER="YES|NO"
    indica se il frame deve avere o meno il bordo;
  • BORDER="x"
    indica lo spessore del bordo in pixel;
  • BORDERCOLOR="#RRGGBB"
    indica il colore del bordo;
  • FRAMESPACING="x"
    indica lo spazio che deve intercorrere tra i frames

I Frame possono essere annidati e quindi possono essere create suddivisioni non solo in verticale od orizzontale, ma anche in entrambi i modi contemporaneamente.

Riferendosi al sopracitato esempio, inseriamo un <FRAMESET> che suddivida la prima colonna in altre due colonne mediante un separatore orizzontale:

<HTML>
 <HEAD>
   <TITLE>Titolo della Pagina</TITLE>
 </HEAD>
 <FRAMESET COLS="20%,80%">
  <FRAMESET ROWS="30%,70%">
  </FRAMESET>
 </FRAMESET>
<NOFRAMES>
 <BODY>
  Corpo del documento che sarà
  visualizzato dai browser che non
  supportanto i frame
</BODY>
</NOFRAMES>
</HTML>

 

 

Gestione delle finestre

Abbiamo visto come vengono create le finestre, ma ora è necessario esaminare come esse vengono riempite, ovvero come indicare quali documenti HTML aprirvi e come collegare più finestre.

Per indicare il documento da aprire per ciascuna finestra viene utilizzato il tag <FRAME> che sarà inserito all'interno del comando <FRAMESET></FRAMESET> e ce ne dovranno essere tanti quante finestre sono state definite. Ogni comando <FRAME> sarà associato alla finestra corrispondente in base all'ordine in cui è stata dichiarata, cioè se abbiamo definitro tre finestre, il primo <FRAME> corrisponderà alla prima, il secondo alla seconda ecc..

Il più semplice comando frame è il seguente:

<FRAME SRC="indice.html">

che apre il file indice.html nella finestra corrispondente. Prendiamo nuovamente l'esempio precedente ed aggiungiamo questa riga per vedere l'effetto.

<HTML>
 <HEAD>
   <TITLE>Titolo della Pagina</TITLE>
 </HEAD>
 <FRAMESET COLS="20%,80%">
   <FRAME SRC="indice.html">
 </FRAMESET>
 <NOFRAMES>
 <BODY>
  Corpo del documento che sarà
  visualizzato dai browser che non
  supportanto i frame
</BODY>
</NOFRAMES>
</HTML>

 

 

Vedete che nella prima finestra è stato visualizzato il file indicato nell'attributo SRC.

Gli altri attributi sono:

  • NAME="nome_finestra"
    con questo attributo, molto importante, viene dato un nome alla finestra cui si riferisce che sarà utilizzato per aprire specifici file all'interno  di essa. Se ad esempio creiamo due finestre di cui una è l'indice e l'altra il testo associato ad ogni voce dell'indice, chiamando quest'ultima finestra "testo", potremmo fare dei link dalla finestra contenente l'indice  a quella che contiene il testo, specificando che il file deve essere aperto nella finestra di nome "testo", anzichè in quella corrente, come avviene in questo corso. Comunque, vedremo in dettaglio questo meccanismo più avanti.
  • MARGINWIDTH="x"
    MARGINHEIGTH ="x"
    indicano lo spazio in pixel da lasciare rispettivamente ai margini laterali  o superiore/inferiore.
  • SCROLLING="AUTO|YES|NO"
    impone al browser di attivare o meno le barre di scorrimento nel frame in argomento. Con il valore AUTO, sarà il browser che deciderà se attivarle o meno a seconda della grandezza del documento. Default "AUTO".
  • NORESIZE="YES|NO"
    indica se il frame può essere ridimensionato o meno. Default "YES".

Gestione dei collegamenti tra frames

Abbiamo visto come si creano i frames, adesso vediamo come si utilizzano.

In sostanza, dato che i frame sono delle finestre indipendenti l'una dall'altra, la gestione deve essere fatta a livello di creazione del documento in quanto è ramite i link che vengono aperti i documenti nel frame prescelto.

Come detto in precedenza, è di fondamentale importanza che i frame abbiano il nome, in quanto il comando di ancora <A></A> prevede l'attributo

TARGET="nome_frame"

che indica dove deve essere aperto il file indicato con l'attributo HREF=...

Normalmente, quando si attiva un link su una pagina senza frame, la pagina a cui punta viene aperta nella stessa finestra in cui ci troviamo, eliminando dal video la pagina precedente. Invece, con un documento su due frame, possiamo avere in una finestra un documento che punta ad una altro che però sarà aperto in un'altra finestra, quindi nell'altro frame.

Prendiamo come esempio la pagina del corso che state vedendo ora, c'è l'indice sulla destra e cio è stato realizzato mettendo un comando del genere:

<FRAME SRC="toc.html" NAME="toc">

sulla destra c'è il documento che risponde al seguente comando:

<FRAME SRC="nome.html" NAME="testo">

per cui, il nome della finestra a sinistra è "toc", mentre quella a destra è "testo".

Quando faccio un clic su un link della finestra "toc" che deve aprirmi un documento sulla finestra a destra che chiameremo "testo.html" devo creare il link nella seguente maniera:

<A HREF="testo.html TARGET="testo">Punta al file testo.html nella finestra a destra</A>

Quindi, cliccando su tale link, apro il file "testo.html" nella finestra indicata in TARGET "testo".

L'attributo TARGET, prevede come "nome_file" anche alcuni usi speciali specificando delle parole chiave:

  • "_blank"
    la pagina collegata sarà visualizzata in una nuova finestra a schermo  intero in una nuova sessione del browser.
  • "_self"
    la pagina sarà visualizzata nella finestra corrente, cioè quella in cui è presente il link. Impostazione di default.
  • "_parent"
    la pagina sarà visualizzata nel frame "parent" in cui FRAMESET in  cui è presente la finestra in cui si trova l'ancora.
  • "_top": la pagina sarà visualizzata a tutto schermo, eliminando quindi ogni composizione in frames.

     

 

 

PRIVACY POLICY | NOTE LEGALI

Home | Chat | Bellezze | Forum | Webcam | Meteo | Servizi | Rubriche | Speciali | 1000Links | Curiosità | Annunci Gratuiti

 

Per informazioni o suggerimenti sulla realizzazione del sito scrivere a webmaster@sitopreferito.it
Copyright (c)2002-2004 Tecno Idee srl
Per la pubblicità su questo sito:
info@sitopreferito.it

 

I loghi, le immagini e i marchi riportati nel sito e nelle vetrine sono di proprietà dei rispettivi proprietari
E' vietata la riproduzione totale o parziale del sito