--- title: CloseEvent slug: Web/API/CloseEvent translation_of: Web/API/CloseEvent ---

{{APIRef("Websockets API")}}

Un evento di tipo CloseEvent viene inviato al client tramite WebSockets in fase di chiusura della connessione. Questo viene ricevuto dal listener registrato sull'attributo onclose dell'oggetto di tipo WebSocket.

Costruttore

{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}
Crea un nuovo CloseEvent.

Proprietà

{{domxref("CloseEvent.code")}} {{readOnlyInline}}
Restituisce un unsigned short che contiene il codice di chiusura inviato dal server. Questi sono i valori ammessi.
Status code Name Description
0999   Riservati e non usati.
1000 CLOSE_NORMAL Chiusura normale; la connessione si è conclusa normalmente, qualsiasi fosse il suo scopo.
1001 CLOSE_GOING_AWAY L'endpoint se ne è andato, o per un errore del server oppure perché la pagina che ha aperto la connessione non è più attiva.
1002 CLOSE_PROTOCOL_ERROR L'endpoint ha terminato la connessione per un errore di protocollo.
1003 CLOSE_UNSUPPORTED La connessione è stata terminata perché l'endpoint ha ricevuto dei dati che non può accettare (per esempio, dati binari a fronte di un endpoint che consuma solo testo).
1004   Riservato. In futuro potrebbe esserne rivelato l'uso.
1005 CLOSE_NO_STATUS Riservato. Indica che non è stato ricevuto nessuno stato di chiusura sebbene fosse atteso.
1006 CLOSE_ABNORMAL Riservato. Usato per indicare che la connessione è stata chiusa in modo anomalo (cioè, cioè senza l'invio del frame di chiusura) dove invece era atteso un codice di chiusura.
1007   L'endpoint ha terminato la connessione perché ha ricevuto un messaggio con dati inconsistenti (per esempio, dati non-UTF-8 all'interno di un messaggio testuale).
1008   L'endpoint ha terminato la connessione perché ha ricevuto un messaggio che viola la sua politica. E' un codice generico, quando 1003 e 1009 non sono adatti.
1009 CLOSE_TOO_LARGE L'endpoint ha terminato la connessione perché ha ricevuto un frame di dati troppo grande.
1010   Il client ha terminato la connessione perché era attesa una negoziazione di una o più "estensioni" del protocollo che però non è avvenuta.
1011   Il server ha terminato la connessione perché ha incontrato una condizione inattesa che gli ha impedito di completare la richiesta.
10121014   Riservati per usi futuri dallo standard WebSocket.
1015   Riservato. Indica che la connessione è stata chiusa a causa di un fallimento dell'handshake TLS (per esempio, il certificato del server non può essere verificato).
10161999   Riservati per usi futuri dallo standard WebSocket.
20002999   Riservati per estensioni WebSocket.
30003999   Disponibili per librerie e framework. Meglio non usarli nelle applicazioni.
40004999   Disponibili per essere utilizzati dalle applicazioni.
{{domxref("CloseEvent.reason")}} {{readOnlyInline}}
Restituisce un {{ domxref("DOMString") }} che indica la ragione per cui il server ha chiuso la connessione. Questo dipende dal particolare server e sotto-protocollo.
{{domxref("CloseEvent.wasClean")}} {{readOnlyInline}}
Restituisce un {{jsxref("Boolean")}} che indica se la connessione è stata chiusa senza problemi o meno.

 

Compatibilità con i browser

 

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{ CompatUnknown() }} {{ CompatGeckoDesktop("8.0") }} [1][2] {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{ CompatUnknown() }} {{ CompatGeckoMobile("8.0") }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}

[1] Prima di Gecko 8.0 {{ geckoRelease("8.0") }}, Gecko inviava l'evento WebSocket {{event("close")}} come semplice evento. Il supporto al CloseEvent è stato implementato in Gecko 8.0.

[2] Prima di Gecko 12.0 {{ geckoRelease("12.0") }}, Gecko restituiva il codice di chiusura CLOSE_NORMAL anche quando il canale veniva chiuso a causa di un errore inatteso, o anche a causa di un errore non coperto dalla specifica. Adesso viene restituito CLOSE_GOING_AWAY.

Vedi anche