Popup che si apre nella pag. principale

Arretrati lista "Una demo Dhtml a settimana"
di Risorse.net

CONOSCENZE CONSIGLIATE PER QUESTO ARTICOLO: Html, Javascript

COMPATIBILITÀ: Ms Ie, Netscape, Opera
FILES ESTERNI: banner.gif, popup.htm, sponsor.htm
Visualizza la demo

Scarica la demo

Una delle problematiche che vanno per la maggiore, è quella della perfetta gestione delle popup.
Se aprire una finestra popup è molto semplice, saperla gestire nel migliore dei modi può richiedere qualche conoscenza un po' più approfondita.
Oggi vedremo una di questa conoscenze messa in pratica. Nell'esempio infatti, il nostro obiettivo sarà quello di aprire la pagina richiamata dalla popup, all'interno della finestra madre ed automaticamente chiudere la popup.

Vediamo come, analizzando il file demo.htm (per intenderci quello che contiene il normale codice per aprire una finestra popup)

<script language="JavaScript">
newwindow=window.open("popup.htm","","width=478,height=60")
newwindow.creator=self
</script>


Questo è il classico codice che tutti riconosceranno per la popup, con la sola aggiunta di aver stabilito un nome per tale finestra e aver indicato alla stessa di aprirsi automaticamente, senza nessun link o richiamo.

Ecco come bisogna invece agire nella sintassi della popup:

<SCRIPT LANGUAGE=Javascript>
function loadurl(url){
window.creator.location=url
window.close()
}
</SCRIPT>


La funzione loadurl (con all'interno il parametro url) indica al browser di aprire il link passato tramite il parametro url nella finestra madre e successivamente, chiudere la popup.

A testimonianza di ciò che abbiamo appena detto, ecco il codice da inserire nel link interno alla popup:

<A HREF="sponsor.htm" onclick="loadurl(this.href);return false"><IMG SRC="banner.gif" WIDTH=468 HEIGHT=60 BORDER=0>

Come si può vedere, all'evento onclick è stata associata la funzione loadurl e come parametro, il valore this.href, ovvero il contenuto dell'attributo href del tag a cui è accluso l'evento (this in questo caso fa riferimento ad <a>).

Il file sponsor.htm contiene una pagina di esempio senza alcuna sintassi di particolare importanza.

E' tutto. A martedì prossimo!

Per qualsiasi dubbio, puoi scrivere sul Forum di Risorse.net, all'indirizzo www.risorse.net/community/forum

L A   C O M U N I T A `   D I   R I S O R S E . N E T
Per accedere alle sezioni protette di Risorse.net (Forum, Newsgroup, sezione password dell'archivio Dhtml ecc.) devi essere iscritto alla Comunità. L'iscrizione è gratuita e viene garantita la tutela della privacy (675/96). Visita www.risorse.net/community.

© Risorse.net (www.risorse.net)
pagina in versione stampabile:
http://www.risorse.net /dhtml/teoria/2002/gennaio/107.asp?print=ok