Chiudere una finestra con javascript windowclose()

window.close()

Il metodo close appartenente alla classe window ci da la possibilità di chiudere programmaticamente una finestra (o ‘finestra figlia’ ).

Non ha parametri in input né un valore di ritorno.

Avendo un riferimento ad un oggetto window possiamo facilmente chiudere la finestra invocadolo:

1 var win = window.open("http://www.javascriptitalia.it");
2 
3 // ...altro codice...
4 
5 win.close() ;

Conservando il riferimento in una variabile siamo riusciti successivamente, dopo aver effettuato tutte le eventuali altre operazioni, a chiudere la finestra che avevamo creato.

Avremmo potuto invocare il metodo direttamente sull’oggetto window (questo oggetto viene fornito dal broswer in presenza di un tag body o frameset ):

1 window.close();
2 
3 self.close();
4 
5 self.opener.close();

Nei primi due casi verrà chiusa la finestra corrente. Nel terzo invece, sfruttando la proprietà opener, chiuderemo la finestra ‘padre’ cioè la finestra che ha creato la finestra corrente.

Per controllare tramite javascript se una finestra è già stata chiusa possiamo sfruttare la proprietà booleana closed.

1 if( !win.closed ) {
2 
3 win.close();
4 
5 }

È da tener presente che chiudendo una finestra scateneremo l’evento unload del documento. Non sarà possibile però bloccare la propagazione dell’evento tramite un handler dell’evento, la finestra verrà chiusa in ogni caso!

Informazioni

Puoi utilizzare una versione personalizzata di Textile nei post, nelle pagine del wiki e negli articoli.

Inoltre sono state aggiunte delle personalizzazioni per facilitare la scrittura, ulteriori informazioni sono raggiungibili qui.