A
CloseEvent
is sent to clients using
WebSockets
when the connection is closed. This is delivered to the listener indicated by the
WebSocket
对象的
onclose
属性。
CloseEvent()
CloseEvent
.
This interface also inherits properties from its parent,
事件
.
CloseEvent.code
只读
unsigned short
containing the close code sent by the server. The following values are permitted status codes. The following definitions are sourced from the IANA website [
Ref
]. Note that the 1xxx codes are only WebSocket-internal and not for the same meaning by the transported data (like when the application-layer protocol is invalid). The only permitted codes to be specified in Firefox are 1000 and 3000 to 4999 [
源
,
Bug
].
| Status code | 名称 | 描述 |
0
–
999
|
Reserved and not used. | |
1000
|
Normal Closure | Normal closure; the connection successfully completed whatever purpose for which it was created. |
1001
|
Going Away | The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection. |
1002
|
Protocol Error | The endpoint is terminating the connection due to a protocol error. |
1003
|
Unsupported Data | The connection is being terminated because the endpoint received data of a type it cannot accept (for example, a text-only endpoint received binary data). |
1004
|
预留。 A meaning might be defined in the future. | |
1005
|
No Status Received | 预留。 Indicates that no status code was provided even though one was expected. |
1006
|
Abnormal Closure | 预留。 Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected. |
1007
|
无效帧负载数据 | The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message). |
1008
|
Policy Violation | The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable. |
1009
|
消息太大 | The endpoint is terminating the connection because a data frame was received that is too large. |
1010
|
Missing Extension | The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't. |
1011
|
Internal Error | The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request. |
1012
|
Service Restart | The server is terminating the connection because it is restarting. [ Ref ] |
1013
|
Try Again Later | The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients. [ Ref ] |
1014
|
Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code. |
1015
|
TLS Handshake | 预留。 Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified). |
1016
–
1999
|
Reserved for future use by the WebSocket standard. | |
2000
–
2999
|
Reserved for use by WebSocket extensions. | |
3000
–
3999
|
Available for use by libraries and frameworks. May not be used by applications. Available for registration at the IANA via first-come, first-serve. | |
4000
–
4999
|
Available for use by applications. |
CloseEvent.reason
只读
DOMString
indicating the reason the server closed the connection. This is specific to the particular server and sub-protocol.
CloseEvent.wasClean
只读
布尔
that Indicates whether or not the connection was cleanly closed.
This interface also inherits methods from its parent,
事件
.
CloseEvent.initCloseEvent()
CloseEvent
created. If the event has already being dispatched, this method does nothing. Do not use this method anymore, use the
CloseEvent()
constructor instead.
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'CloseEvent' in that specification. |
实时标准 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
CloseEvent
|
Chrome 13 | Edge 12 |
Firefox
8
|
IE 10 | Opera 12.1 | Safari 6 | WebView Android ≤37 | Chrome Android 18 | Firefox Android 8 | Opera Android 12.1 | Safari iOS 6 | Samsung Internet Android 1.0 |
CloseEvent()
构造函数
|
Chrome ? | Edge ? | Firefox 8 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android 8 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
initCloseEvent
非标
|
Chrome No | Edge 12 — 79 | Firefox 8 — 41 | IE No | Opera No | Safari No | WebView Android No | Chrome Android No | Firefox Android 8 — 41 | Opera Android No | Safari iOS No | Samsung Internet Android No |
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
非标。预期跨浏览器支持较差。
见实现注意事项。
CloseEvent