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
CloseEvent()- Crea un nuovo
CloseEvent.
Proprietà
CloseEvent.codeRead only- Restituisce un
unsigned shortche contiene il codice di chiusura inviato dal server. Questi sono i valori ammessi.Status code Name Description 0–999Riservati e non usati. 1000CLOSE_NORMALChiusura normale; la connessione si è conclusa normalmente, qualsiasi fosse il suo scopo. 1001CLOSE_GOING_AWAYL'endpoint se ne è andato, o per un errore del server oppure perché la pagina che ha aperto la connessione non è più attiva. 1002CLOSE_PROTOCOL_ERRORL'endpoint ha terminato la connessione per un errore di protocollo. 1003CLOSE_UNSUPPORTEDLa 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). 1004Riservato. In futuro potrebbe esserne rivelato l'uso. 1005CLOSE_NO_STATUSRiservato. Indica che non è stato ricevuto nessuno stato di chiusura sebbene fosse atteso. 1006CLOSE_ABNORMALRiservato. 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. 1007L'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). 1008L'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. 1009CLOSE_TOO_LARGEL'endpoint ha terminato la connessione perché ha ricevuto un frame di dati troppo grande. 1010Il client ha terminato la connessione perché era attesa una negoziazione di una o più "estensioni" del protocollo che però non è avvenuta. 1011Il server ha terminato la connessione perché ha incontrato una condizione inattesa che gli ha impedito di completare la richiesta. 1012–1014Riservati per usi futuri dallo standard WebSocket. 1015Riservato. Indica che la connessione è stata chiusa a causa di un fallimento dell'handshake TLS (per esempio, il certificato del server non può essere verificato). 1016–1999Riservati per usi futuri dallo standard WebSocket. 2000–2999Riservati per estensioni WebSocket. 3000–3999Disponibili per librerie e framework. Meglio non usarli nelle applicazioni. 4000–4999Disponibili per essere utilizzati dalle applicazioni. CloseEvent.reasonRead only- Restituisce un
DOMStringche indica la ragione per cui il server ha chiuso la connessione. Questo dipende dal particolare server e sotto-protocollo. CloseEvent.wasCleanRead only- Restituisce un
Booleanche indica se la connessione è stata chiusa senza problemi o meno.
Compatibilità con i browser
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | ? | 8.0 (8.0) [1][2] | ? | ? | ? |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | ? | 8.0 (8.0) | ? | ? | ? |
[1] Prima di Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5), Gecko inviava l'evento WebSocket close come semplice evento. Il supporto al CloseEvent è stato implementato in Gecko 8.0.
[2] Prima di Gecko 12.0 (Firefox 12.0 / Thunderbird 12.0 / SeaMonkey 2.9), 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