EchoEcho.Com
CORSI COMPLETI

HOME CORSI JAVASCRIPT AVANZATI     
EchoEcho.Com
STRUMENTI & RISORSE
 HOME 
 
 CORSI 
 
 RISORSE 
 
 STRUMENTI 
 
 DOCUMENTAZIONE 
 
 MAPPA 
  
  CERCA QUESTO SITO

Suggerisci questo Sito a un Amico
SUGGERISCI QUESTO SITO

PROGRAMMA FRAMESET

INTRODUZIONE


LA TECNICA


IL CODICE



ESEMPIO

Programma Frameset :
IL CODICE

Come abbiamo detto nella pagina precedente, devi inserire una breve sequenza nella sezione <head> delle tue sottopagine e della tua pagina frameset.





IL CODICE PER LE SOTTOPAGINE
La sequenza da copiare e incollare sulle sottopagine é questa:

<HEAD>

<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">

<!--
var correct_frame = 0 + (parent.nav ? 1 : 0);
if (self == top || !correct_frame)
top.location.href = 'framespage.htm?subpage.htm';
//-->

</SCRIPT>
</HEAD>


Personalizza questa riga per adattarla alle tue pagine:
top.location.href = 'framespage.htm?subpage.htm';


framespage.htm è il nome della tua pagina dei frame.
subpage.htm è la pagina dove incollerai il codice.



Se la sottopagina si chiamasse mypage.htm e la pagina dei frames si chiamasse index.htm, il link sarebbe:
top.location.href = 'index.html?mypage.htm';





COME FUNZIONA

Questa riga rileva se la pagina è caricata o meno in un frameset:
if (self == top || !correct_frame)


Se la pagina non è caricata in un frameset, verrà eseguito il comando su questa riga:
top.location.href = 'framespage.htm?subpage.htm';


Questo fa aprire la pagina frameset come se tu avessi inserito http://www.yourdomain.com/framespage.htm?subpage
nella casella url del tuo browser.


Il trucco dell'intera sequenza è che la sequenza nella framespage può accedere a ciò che viene inserito subito dopo il simbolo ? attraverso l'oggetto window.location.search, incorporato in javascript.

Questo è il modo in cui vengono passate le informazioni per indicare alla pagina del frameset quale sottopagina caricare.




IL CODICE PER LA PAGINA FRAMESET

Questa è la sequenza da copiare e incollare sulla pagina dei frame:
<HTML>
<HEAD>
<TITLE>MyFramesPage</TITLE>
</HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
var correct_frame = true;
document.write('<FRAMESET COLS="50%,50%">');
document.write('<FRAME SRC="navpage.htm" NAME="nav">');
document.write('<FRAME SRC="',(location.search ?
location.search.substring(1):"defaultsub.htm"),'"" NAME="display">');
document.write('<\/FRAMESET>');
//-->
</SCRIPT>

</HTML>


Personalizza i valori del frameset per adattarli alla tua pagina.

Ricordati di includere tutte le dichiarazioni relative al frameset in enunciati del tipo document.write - nella stessa maniera in cui il frame "nav" viene definito nell'esempio qui sopra.


Il frame window che caricherà le sottopagine dovrà essere così:
document.write('<FRAME SRC="',(location.search ? location.search.substring(1):"defaultsub.htm"),'"" NAME="display">');


Valori della riga qui sopra che possono essere cambiati secondo le proprie esigenze:
  • defaultsub.htm è la pagina di default che viene aperta se il frameset viene aperto normalmente (Cioè: Se il frameset non viene caricato dalla sequenza in una sottopagina).


  • display è il nome del frame. Puoi scegliere qualsiasi nome per il frame.





COME FUNZIONA

Questa funzione è in grado di stabilire se un valore è stato passato alla pagina frameset che segue un simbolo ? nell'url:
location.search ? location.search.substring(1) : "defaultsub.htm")


Se un valore viene inserito dopo il simbolo ? nell'url, la funzione rimanda allora il valore. Altrimenti rimanda defaultsub.htm - il nome della pagina di default da caricare.


Per sempllificare, sostituiamo l'output di questa funzione con il nome FunctionGeneratedPage.htm (per questo esempio, non ha importanza se è una pagina default o una sottopagina).

Possiamo quindi sostituire la dichiarazione originale del frame:
<FRAME SRC="',location.search ? location.search.substring(1) : "defaultsub.htm"),'"" NAME="display">

con questa semplice dichiarazione, che mostra come la riga apparirà nel browser dopo che la funzione è stata decifrata:
<FRAME SRC="',FunctionGeneratedPage.htm,'"" NAME="display">


In questo modo, ciò che succede si vede in maniera più ovvia ed immediata.

La sequenza raccoglie il valore passato da una sottopagina, oppure il nome della sottopagina di default.
E infine aggiunge al frame l'attributo relativo al nome "display".



<< PRECEDENTE
CONTINUA >>

JAVASCRIPT MENU

JAVASCRIPT FONDAMENTALI


BOTTONI ANIMATI


RIVELAZIONE DEL BROWSER


COOKIES


POPUP WINDOWS


MENU' A DISCESA


CONVALIDA DEL FORM


PROGRAMMA FRAMESET


LINK MULTIPLA




EchoEcho.Com
CORSI COMPLETI
 HOME 
 
 CORSI 
 
 RISORSE 
 
 STRUMENTI 
 
 DOCUMENTAZIONE 
 
 MAPPA 
EchoEcho.Com
STRUMENTI & RISORSE

(c) Copyright 1998-1999 NetKontoret - All Rights Reserved