- I frame -
 
TUTORIAL
 Pro e contro di un sito gestito tramite frameset

Frame

  <% 'ADV_ORGANIZER 1.0 | formato, categoria, base, altezza, unico, disposizione, voto, dove, numero,tipo,refresh,output response.write(organize_adv(0,categoria,120,600,,,7,,1,0,1,)) %>

DEFINIZIONE
Una pagina che contiene dei frame (in figura) è composta da una pagina principale a sua volta suddivisa in più parti (dette appunto frame) contenenti ciascuno una pagina web qualsiasi. Ecco un esempio di codice:

<frameset rows="10%,*" border="0">
<frame name="nomeZero" src="directory/file_superiore.htm" marginwidth="10" marginheight="10" scrolling="auto" frameborder="0">
<frameset cols="10%,*" border="0">
<frame name="nomeUno" src="directory/file_sinistra.htm" marginwidth="10" marginheight="10" scrolling="auto" frameborder="0">
<frame name="nomeDue" src="directory/file_destra.htm" marginwidth="10" marginheight="10" scrolling="auto" frameborder="0">
</frameset>
</frameset>

I VANTAGGI
I vantaggi sono tanti: la navigazione ad esempio, risulta più comoda e veloce, invece di ricaricare la pagina ad ogni cambio di sezione, a cambiare può essere anche solo un frame con il contenuto della stessa, mentre gli altri spazi possono continuare a mostrare banner, indici, ecc. senza essere assolutamente ricaricati.

I PROBLEMI
I contro purtroppo sono molti e forse più dei pro:

  1. Al variare delle risoluzioni dei vari computer che visualizzano la pagina con i frame capita spesso che qualche parte di una delle pagine non venga visualizzata correttamente;

  2. I motori di ricerca sono "allergici" a questo genere di sistema, difatti assai spesso le pagine vengono indicizzate in maniera limitata o addirittura errata (es. pagine singole o solo l'involucro dei frame o nessuna delle due e così via).

SOLUZIONI ALTERNATIVE
Se si ha il privilegio di poter utilizzare linguaggi di scripting lato server (server-side) allora non resta che utilizzare gli "include" (per l'ASP) che uniscono più pagine direttamente dal server (ma in queste circostanze la pagina deve essere ricaricata comunque); in alternativa si può usare un "document.write" di JavaScript da un file JS che per esempio potrebbe stampare in cima alla pagina la lista delle sezioni del sito (in questo caso il peso del file verrebbe significativamente ridotto a discapito però del codice, che sarà visibile al client). Per maggiori informazioni sulle inclusioni: cliccare qui.

 
<< INDIETRO