WebSocket: close 事件

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebSocket 连接关闭时,会触发 close 事件。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("close", (event) => { })

onclose = (event) => { }

事件类型

一个 CloseEvent 对象。继承自 Event

Event CloseEvent

事件属性

除了下面列出的属性之外,父接口 Event 的属性也可使用。

code 只读

返回一个 unsigned short,包含服务器发送的关闭代码。

reason 只读

返回一个字符串,指示服务器关闭连接的原因。这特定于特定的服务器和子协议。

wasClean 只读

返回一个布尔值,指示连接是否已正常关闭。

示例

您可能想知道连接何时关闭,以便更新 UI 或保存有关已关闭连接的数据。假设您有一个名为 exampleSocket 的变量,它引用了一个打开的 WebSocket,此处理程序将处理套接字已关闭的情况。

js
exampleSocket.addEventListener("close", (event) => {
  console.log("The connection has been closed successfully.");
});

您可以使用事件处理程序属性执行相同的操作,如下所示:

js
exampleSocket.onclose = (event) => {
  console.log("The connection has been closed successfully.");
};

规范

规范
WebSocket
# dom-websocket-onclose

浏览器兼容性

另见