EH - Esposizione interattiva di xHTML etc. Indici: Pagine Panoramica Termini Problemi Esempi
Frames nelle pagine HTML
Comandi
per i frames
Uso didattico dei frames
Esempi di frames
Una potenzialità rilevante, ma anche controversa, delle recenti versioni di HTML, è data dalla possibilità di suddividere una schermata fornita dal browser in un certo numero di finestre rettangolari, ciascuna determinata da un file HTML e dotata di una propria autonomia rispetto alla presentazione del contenuto. Queste finestre vengono chiamate specificamente ``frames''.
Le posizioni e le dimensioni dei frames sono fisse, mentre il loro contenuto può scorrere come accade per la maggior parte delle finestre gestite dagli odierni sistemi GUI, Graphical User Interface (finestre del sistema Windows, delle interfacce grafiche per i sistemi Unix, dei text editors, dei fogli elettronici, dei sistemi per la gestione delle basi di dati, ...).
Si possono costruire pagine Web con frames di varie dimensioni e disposizioni, partendo da semplici suddivisioni per righe e per colonne, come mostrato negli esempi del paragrafo che segue.
Si riesce quindi a gestire le schermate Web come delle tabelle, in cui ogni elemento viene determinato da un file HTML.
Per organizzare pagine con frames si devono usare vari appositi comandi
HTML.
Innanzitutto vi sono i comandi che riguardano la ripartizione di una
pagina in frames. Questa si ottiene con successive suddivisioni degli spazi
rettangolari disponibili in righe e/o colonne. Le dimensioni delle parti nelle
quali si ripartisce uno spazio rettangolare sono determinate, nel modo
più semplice, da estensioni assolute o, meglio, da indicazioni
percentuali. Il primo spazio rettangolare da suddividere è l'intera
pagina e si può iniziare tale processo con una ripartizione in righe o
in colonne. Ogni riga [colonna] successivamente ottenuta si può
suddividere liberamente in più colonne ed ogni colonna in più
righe.
Con questo processo si giunge ad una suddivisione della pagina che si rappresenta utilmente con un albero nel quale si possono avere padri con numeri diversi di figli e cammini di diversa lunghezza. Osserviamo che la schematizzazione mediante un albero di una classica tabella presenta una radice con un certo numero di figli (le righe) ciascuno dei quali dotato di un ugual numero di figli (le celle delle diverse colonne).
Ad ogni frame, oltre ad un file HTML, devono essere associate alcune specifiche inerenti alle sue caratteristiche di browsing, cioè di trattamento da parte del browser (titolo, tipo di scroll, ...).
Il controllo dei contenuti attuali di un frame scorrevole si può
ottenere fondamentalmente in due modi.
-- agendo con il cursore entro il
frame su eventuali suoi links interni o sulle eventuali barre di scorrimento
orizzontale o verticale;
-- facendo agire un link, collocato in un frame
diverso, che punta al frame a cui ci interessa passare.
Ci limiteremo ad elencare e spiegare i tags indispensabili per la costruzione dei frames.
<frameset rows = "h1%,h2%, ... ,hm%">
Permette di suddividere la pagina (o lo spazio rettangolare corrente) in un numero m di righe, ognuna di altezza hi, dove ciascuno degli hi è un intero fra 1 e 99 e la somma di tali numeri è uguale a 100 (o press'a poco). Si osservi che l'ultima condizione approssimata rispecchia la permissività di HTML; ad es. nel caso di tre righe di uguale dimensione si può assegnare ad h1, ad h2 e ad h3 il valore 33 (v. esempio).
<frameset cols = "l1%,l2%, ... ,ln%">
Permette di suddividere la pagina (o il frame corrente) in n di colonne, ognuna di larghezza lj, dove ciascuno degli lj denota un intero compreso fra 1 e 99 (v. esempio).
Ciascuno dei due start tags precedenti deve essere seguito dall'end tag </frameset>.
In un nido delimitato dai suddetti tags solitamente troviamo <frame src = "file.html"> che specifica il file del contenuto del frame in questione.
È importante ribadire che il processo di collocazione dei frames nelle pagine HTML, segue una successione dall'alto verso il basso per le righe e da sinistra verso destra per le colonne. Quando si è fatta qualche esperienza risulta abbastanza semplice ed intuitivo.
Sostanzialmente, grazie all'uso di questi comandi è possibile crearsi pagine di tutto rispetto, organizzate con frames.
Per quel che riguarda, poi, la loro organizzazione e composizione, rimandiamo ad un approfondimento dei comandi specifici di HTML.
Le possibilità offerte dai frames sono assai utili per la messa a punto di pagine di interesse didattico. Si pensa in particolare a pagine nelle quali sono organizzati repertori di frequente consultazione e pagine da utilizzare per presentazioni ``hands on'', ovvero pagine di supporto alle stesse lezioni come alternative molto più versatili della lavagna luminosa, da presentare servendosi di un PC collegato ad un adeguato proiettore.
Questi tipi di pagine possono essere utilizzate in vari modi: collocandole su Internet, inserendole in opere multimediali da distribuire su CD-ROM (eventualmente in opere di carattere enciclopedico), distribuendole ad ambienti scolastici, anche su semplici floppy disks.
Un tipico modo di organizzare frames riguardanti la presentazione di un elenco di records da sottoporre a frequenti consultazioni prevede, oltre ad un eventuale frame intestazione, un frame principale di dimensioni tendenzialmente estese ed altri frames di supporto destinati a costruzioni atte ad agevolare la consultazione dei dati nel frame principale mediante il browser. In questi frames di supporto alla consultazione si possono avere menu, indici alfabetici che permettano ricerche rapide di uno o più attributi dei records, tavole didascaliche che permettano a chi le consulta di raggiungere rapidamente il significato di dati convenzionali (sigle, abbreviazioni, ), pagine di help dotate di un loro indice. Quando si scorre, per esempio, una lista di dati storici, tutti gli altri frames non vengono spostati. Inoltre è possibile affiancare a tale elenco un altro file HTML contenente la spiegazioni di supporto ai nomi stessi dei personaggi storici.
Diamo ora alcuni semplici, ed auspicabilmente significativi, esempi di richieste di pagine con frames.
Dividere la pagina in due colonne, la prima di larghezza tripla dell'altra.
Sarà necessario creare 3 files che chiameremo rispettivamente ehefrmmain0.htm (il principale), ehefrm01.htm (il frame di sinistra) ed ehefrm02.htm (quello di destra).
ehefrmmain0.htm avrà una forma del seguente tipo:
<p> Titolo del programma principale <p>
A sua volta ehefrm01.htm
<--- Qui comincia il corpo del frame Questo è il frame di sinistra! ...... <--- Altre istruzioni HTML <--- Fine del corpo delle istruzioni