In questo articolo ci occuperemo dei buoni vecchi frames, una tecnica di realizzazione delle pagine web oggi un po' fuori moda che, tuttavia, continua ad essere molto usata e causa di parecchi mal di testa.
Scopo del nostro articolo sarà quindi quello di rispondere alle 10 domande più ricorrenti in tema di pagine coi frames.
Per chi ancora non conoscesse i frames invito alla lettura della relativa lezione della guida HTML in cui viene illustrato sinteticamente l'utilizzo del tag frameset.
Dato per scontato che il lettore conosca la sintassi dei frames partiamo dalla definizione di una semplicissima pagina di esempio composta da due frames verticali come da immagine qui sotto:

Vediamo ora il codice del nostro frameset
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Seguono 10 domande e relative risposte sull'uso dei frames.
1) Se il browser non supporta i frames è possibile prevedere una pagina alternativa?
Certo! E' sufficiente utilizzare il tag <noframes> in questo modo:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
2) Come faccio a creare un frameset valido in XHTML?
Il codice da usare è lievemente diverso da quello postato all'inizio di questo articolo:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
3) come faccio ad inserire un link in un frame che si apra in un altro frame?
Semplicissimo. Basta utilizzare l'attributo target del tag <a>.
Vediamo un esempio di link che, inserito nella pagina "menu.html" apre un documento all'interno dell'altro frame "corpo.html":
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
4) come faccio ad aprire un link a tutta pagina chiudendo il frameset?
Sempre utilizzando l'attributo target in questo modo:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
5) E' possibile mostrare i risultati di un form all'interno di un frame specificato?
Sì, sempre utilizzando l'attributo target nei modi visti sopra. Ad esempio supponiamo di voler inserire un modulo di ricerca all'interno di "menu.html" che mostri i risultati nell'altro frame:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
6) come faccio a chiudere una pagina composta da più frame?
Usa questo link:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
7) Come faccio a gestire history.back() e history.forward() in relazione ad uno solo dei frame del mio frameset?
Basta specificare su quale frame eseguire la navigazione cronologica:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
8) Come faccio a ricreare il frameset se qualcuno accede direttamente ad uno dei frame?
Per fare questo occorre far ricorso a Javascript. Inseriamo nei singoli frame una funzione come questa tra <head> e </head>:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
9) E' possibile aggiornare due o più frames con un solo click?
Sì, grazie a javascript è possibile.
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
10) Come faccio a ricaricare automaticamente l'interno frameset?
E' sufficiente inserire questo semplice codice Javascript all'interno dell'intestazione (<head>...</head>) della pagina che crea il framset:
HTML:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Fonte
Mrwebmaster