--- title: CloseEvent slug: Web/API/CloseEvent tags: - API - Web - WebSocket - WebSockets - インターフェース - リファレンス translation_of: Web/API/CloseEvent ---
{{APIRef("Websockets API")}}

CloseEvent は、 {{Glossary("WebSockets")}} を使用して接続が閉じられたときにクライアントに送信されます。これは WebSocket オブジェクトの onclose 属性で指定されたリスナーに配信されます。

コンストラクター

{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}
新しい CloseEvent を作成します。

プロパティ

このインタフェースは親である {{domxref("Event")}} からプロパティを継承します。

{{domxref("CloseEvent.code")}} {{readOnlyInline}}
サーバーが送信したクローズコードを含む unsigned short を返します。以下の値は許可されたステータスコードです。以下の定義は、 IANA のウェブサイト [Ref] から供給されています。 1xxx コードは WebSocket 内部のみであり、転送されたデータと同じ意味ではありません (アプリケーション層プロトコルが無効な場合など)。 Firefox で指定できるコードは 1000 と 3000〜4999 [Source, Bug] のみです。
ステータスコード 名前 説明
0999 予約済みで使用されていません。
1000 Normal Closure 通常のクロージャ。接続が作成された目的に関係なく、接続は正常に完了しました。
1001 Going Away エンドポイントは、サーバーに障害が発生したか、またはブラウザーが接続を作成したページから離れようとしているために接続を終了しています。
1002 Protocol Error エンドポイントがプロトコルエラーのために接続を終了しています。
1003 Unsupported Data エンドポイントが受け入れられないタイプのデータを受信したため (たとえば、テキストのみのエンドポイントがバイナリデータを受信したとき)、接続が終了しています。
1004 予約済。 意味は将来定義されるかもしれません。
1005 No Status Received 予約済。予想されたにもかかわらずステータスコードが提供されなかったことを示します。
1006 Abnormal Closure 予約済。ステータスコードが必要なときに、接続が異常終了した (つまり、クローズフレームが送信されていない) ことを示すために使用されます。
1007 Invalid frame payload data 矛盾したデータ (例えば、テキストメッセージ内の非 UTF-8 データ) を含むメッセージを受信したため、エンドポイントは接続を終了しています。
1008 Policy Violation エンドポイントはポリシーに違反するメッセージを受信したため、接続を終了しています。これは一般的なステータスコードであり、コード 1003 と 1009 が適切でない場合に使用されます。
1009 Message too big 大きすぎるデータフレームを受信したため、エンドポイントは接続を終了しています。
1010 Missing Extension クライアントは、サーバーが1つ以上の拡張をネゴシエートすることを期待していましたがサーバーはそれを行わなかったため、サーバーは接続を終了しています。
1011 Internal Error サーバーは、予期しない条件が発生し要求の実行を妨げたため、接続を終了しています。
1012 Service Restart サーバーが再起動しているため、接続を終了しています。[Ref]
1013 Try Again Later サーバは、一時的な条件のために接続を終了しています。それはオーバーロードされ、クライアントの一部をキャストしています。[Ref]
1014 Bad Gateway サーバーがゲートウェイまたはプロキシとして機能し、アップストリームサーバーから無効なレスポンスを受信しました。これは 502 HTTP ステータスコードに似ています。
1015 TLS Handshake 予約済。TLS ハンドシェイクの実行に失敗 (サーバー証明書を確認できないなど) したために接続が閉じられたことを示します。
10161999 将来の WebSocket 標準での使用のために予約されています。
20002999 WebSocket 拡張機能で使用するために予約されています。
30003999 ライブラリとフレームワークで使用できます。 アプリケーションによって使用されない可能性があります。先着順で IANA に登録できます。
40004999 アプリケーションで使用することができます。
{{domxref("CloseEvent.reason")}} {{readOnlyInline}}
サーバーが接続を終了した理由を示す {{domxref("DOMString")}} を返します。これは特定のサーバーとサブプロトコルに固有です。
{{domxref("CloseEvent.wasClean")}} {{readOnlyInline}}
接続がきれいに閉じられたかどうかを示す {{jsxref("Boolean")}} を返します。

メソッド

このインターフェースは親である {{domxref("Event")}} からメソッドを継承しています。

{{domxref("CloseEvent.initCloseEvent()")}} {{Non-standard_inline}} {{Obsolete_inline}}
作成された CloseEvent の値を初期化します。イベントがすでにディスパッチされている場合、このメソッドは何も行いません。このメソッドをもう使用しないでください。代わりに、{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}} コンストラクタを使用してください。

仕様書

仕様書 状態 備考
{{ SpecName('HTML WHATWG', 'web-sockets.html#the-closeevent-interface', 'CloseEvent') }} {{ Spec2('HTML WHATWG') }} 初回定義

ブラウザーの互換性

{{Compat("api.CloseEvent")}}

関連情報