WebSocket: close イベント

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

close イベントは、 WebSocket の接続が閉じられたときに発生します。

構文

イベント名を 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.");
};

仕様書

Specification
WebSockets Standard
# dom-websocket-onclose

ブラウザーの互換性

BCD tables only load in the browser

関連情報