Libero


 Aprire una finestra "pop-up"

Una finestra pop-up non è altro che una nuova finestra del browser, indirizzata a visualizzare un certo documento HTML, delle dimensioni volute ed opzionalmente priva di barre di navigazione, di stato, casella degli URL...

Javascript contiene una istruzione riferita all'oggetto "window" (cioè l'attuale finestra del browser attiva) che consente di aprirne una seconda:

window.open('url da visualizzare', 'nome finestra', 'opzioni');
  • Url da visualizzare è ovvio...
  • nome finestra è un nome assegnato che consente di riciclare la stessa finestra su chiamate successive o per poter inviare comandi javascript anche a questa (ricordate? Tutti gli oggetti devono avere un nome!)
  • opzioni invece contiene una lista di specifiche da tenere tutte su una stessa riga:
Specifica Valore Descrizione Default
height nnn Altezza finestrella in pixel  
width nnn Larghezza finestrella in pixel  
resizable yes/no Possibilità di ridimensionare la finestrella (s/n) no
toolbar yes/no Pulsanti del browser visibili (s/n) no
location yes/no Casella degli URL presente (s/n) no
status yes/no Barra di status in basso presente (s/n) no
scrollbar yes/no Barre di scorrimento presenti (s/n) no
menubar yes/no Barra dei menu presente (s/n) no

Esempi
Notare che su questo sito esiste un file "MioFile.htm" per le prove.

window.open('MioFile.htm','MiaPop','resizable=yes,width=400,height=300');

  Finestrella 300x400 ridimensionabile:

window.open('MioFile.htm','MiaPop','location=yes,width=300,height=300');

  Finestrella 300x300 con barra URL:

Come usare questo script

Il come usarlo dipende dall'effetti voluto. Per far si che la finestrella addizionale si apra contemporaneamente al caricamento di una certa pagina è sufficiente che in tale pagina venga aggiunto a <BODY> la specifica "onLoad" con il suddetto script:

<body bgcolor="#FFFFFF" text="#000000" onLoad="window.open('MioFile.htm', 'MiaPop', 'location=yes,width=300,height=300');">

E possibile ottenere lo stesso risultato inserendo le informazioni in una capsula <SCRIPT> che verrà eseguita comunque durante il caricamento. Come sempre in questi casi inserire il codice immediatamente prima del tag </HEAD> (ossia entro l'intestazione)

<script language="JavaScript" type="text/JavaScript">
<!-- Apri finestra Pop-up
window.open('MioFile.htm','MiaPop','location=yes,width=300,height=300');
//-->
</script>

Se invece si desidera che la finestrella si apra cliccando qualche cosa potremo contare sull'evento "onClick" di Javascript. Nel caso fosse un link fatto con testo

<a href="#" onClick="window.open('MioFile.htm', 'MiaPop', 'location=yes,width=300,height=300');">Apri finestrella</a>

O nel caso del "Click" su di una immagine...

<a href="#" onClick="window.open('MioFile.htm', 'MiaPop', 'location=yes,width=300,height=300');"><img src="images/blank.gif" width="100" height="50" border="0"></a>
Questo sito è stato realizzato dai digileaders della community