Il metodo close() in Javascript

Il metodo close() in Javascript mi permette di chiudere un oggetto.

oggetto.close()

Ad esempio, posso usarlo sull'oggetto window per chiudere la finestra aperta tramite window.open() o sulle finestre/tab che lo script ha il permesso di chiudere.

L'uso di close() è regolato da alcune politiche di sicurezza nei browser moderni. Ad esempio, generalmente il tentativo di chiudere una finestra che non è stata aperta dallo script corrente non ha effetto. Questo previene scenari in cui uno script potrebbe cercare di chiudere finestre importanti per l'utente.

Ecco come funziona close() in pratica.

In questo documento HTML utilizzo il codice javascript per aprire una finestra.

<html>
<body>
<script>
var myWindow = window.open("", "myWindow", "width=200,height=100");
myWindow.close();
</script>
</body>
</html>

All'etichetta è associata l'etichetta myWindow.

Quindi per chiuderla mi basta eseguire il comando myWindow.close().

Nota. L'etichetta "myWindow" è una variabile che fa riferimento alla nuova finestra aperta, e il metodo close() viene chiamato su questa variabile. In caso contrario non funzionerebbe.

Come verificare se una finestra è aperta o chiusa?

Per saperlo posso utilizzare la proprietà closed dell'oggetto window.

Sapere se una finestra è già aperta sul browser dell'utente, è una buona prassi per evitare che lo script ne apra un'altra identica.

<html>
<body>
<script>
var myWindow = window.open("", "myWindow", "width=200,height=100");
if (myWindow.closed) {
  document.write("La finestra è stata chiusa.");
} else {
  document.write("La finestra è ancora aperta.");
}
</script>
</body>
</html>

In questo caso il comando myWindow.closed restituisce un valore booleano "true" o "false".

A seconda della risposta, lo script visualizza un messaggio in cui comunica se la finestra è aperta o chiusa nel browser.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Javascript

Le strutture di controllo

Gestione degli errori ed eccezioni

Le strutture cicliche

FAQ