CloseEvent

Um CloseEvent é enviado a clientes usando WebSockets quando a conexão é terminada. É enviado ao listner indicado pelo atributo onclose de objeto WebSocket.

Construtor

CloseEvent()
Cria um novo CloseEvent.

Propriedades

Esta interface também herda propriedades do Event de qual se deriva.

CloseEvent.code Read only
Devolve uma unsigned short que contem o código enviado pelo servidor. Os seguintes valores são os códigos de estado permitidos, as definições foram traduzidas a partir do site da IANA. Note que os códigos 1xxx são só usados internamente pelo WebSocket e não para uso com os dados transportados (como quando o protocolo da aplicação é invalido). Os únicos códigos que podem ser especificados no Firefox são o código 1000 e a série de 3000 a 4999 inclusivo [Fonte, Bug].
Código Nome Descrição
0999 Reservado e não utilizado.
1000 Normal Closure

Encerramento normal; a conexão completou a tarefa para qual foi criada.

1001 Going Away

O terminal está a desaparecer, seja devido a uma falha do servidor ou porque o navegador está a navegar para longe da página que abriu a ligação.

1002 Protocol Error O terminal está a terminar a conexão devido a um erro de protocolo.
1003 Unsupported Data A conexão está a ser terminada porque o terminal recebeu dados num formato que não aceita (por exemplo um terminal de texto receber dados binarios).
1004 Reservado. Uma definição pode ser atribuída no futuro.
1005 No Status Received Reservado.  Indica que nenhum código de estado foi oferecido, apesar de ser esperado um código.
1006 Abnormal Closure Reservado. Usado para indicar que a conexão fechou anormalmente (isto é, sem uma close frame ser enviada) quando um código era esperado.
1007 Invalid frame payload data O terminal está a terminar a conexão porque a mensagem continha dados inconsistentes (e.x. dados não codificados em UTF-8 numa mensagem de texto).
1008 Policy Violation O terminal está a terminar a conexão porque recebeu uma mensagem que viola a sua política. Isto é um código genérico, usado quando os códigos 1003 e 1009 não são apropriados à situação.
1009 Message too big O terminal está a terminar a conexão porque o data frame recebido é demasiado grande.
1010 Missing Extension O cliente está a terminar a conexão porque esperava que o servidor negociasse uma ou mais extensões, mas não o fez.
1011 Internal Error O servidor está a terminar a conexão porque encontrou uma condição inesperada que a impede de completar o pedido.
1012 Service Restart O servidor está a terminar a conexão porque está a reiniciar. [Ref]
1013 Try Again Later O servidor está a terminar a conexão devido a uma condição temporária, por exemplo está sobrecarregado e está a reduzir o número de clientes. [Ref]
1014 Bad Gateway O servidor está a agir como uma gateway ou proxy e recebeu uma resposta inválida dum servidor mais adiante na conexão. Isto é parecido com o código de estado HTTP 502.
1015 TLS Handshake Reservado. Indica que a conexão foi terminada devido a uma falha na execução de um aperto de mão TLS (por exemplo, o certificado do servidor não pode ser verificado).
10161999 Reservado para o futuro uso de padrões WebSocket.
20002999 Reservado para uso de extensões de WebSocket.
30003999 Disponivel para uso por bibliotecas e frameworks. Não é para ser utilizado por aplicações. Disponível para registo através da IANA de forma de primeiro a chegar primeiro servido.
40004999 Disponível para uso por aplicações.
CloseEvent.reason Read only
Devolve uma DOMString a indicar a razão por qual o servidor terminou a conexão. Isto é específico ao servidor e sub-protocolo.
CloseEvent.wasClean Read only
Devolve um Boolean que indica se a conexão não foi terminada de forma limpa.

Métodos

Esta interface também herda métodos de Event de qual se deriva.

CloseEvent.initCloseEvent()
Inicializa o valor de um CloseEvent. Se o evento já foi enviado, o método não faz nada. Este método é obsoleto, use antes o construtor CloseEvent().

Especificações

Especificação Estado Comentário
HTML Living Standard
The definition of 'CloseEvent' in that specification.
Living Standard Definição inicial.

Compatibilidade

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
CloseEventChrome Full support 13Edge Full support 12Firefox Full support 8
Notes
Full support 8
Notes
Notes Prior to Firefox 12, the close code CLOSE_NORMAL was used when the channel was closed due to an unexpected error or unspecified error condition.
Notes Prior to Firefox 8, the WebSocket close event was sent to the listener as a simple event.
IE Full support 10Opera Full support 12.1Safari Full support 6WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 8Opera Android Full support 12.1Safari iOS Full support 6Samsung Internet Android Full support 1.0
CloseEvent() constructorChrome ? Edge ? Firefox Full support 8IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android Full support 8Opera Android ? Safari iOS ? Samsung Internet Android ?
initCloseEvent
ExperimentalNon-standard
Chrome No support NoEdge No support 12 — 79Firefox No support 8 — 41IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 8 — 41Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
See implementation notes.
See implementation notes.

Ver também