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

コンストラクタ

CloseEvent()
新しい CloseEvent を作成します。

プロパティ

また、このインタフェースは親 Event からプロパティを継承します。

CloseEvent.code 読取専用
サーバーが送信したクローズコードを含む 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 Recvd 予約済。予想されたにもかかわらずステータスコードが提供されなかったことを示します。
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  

アプリケーションで使用することができます。

CloseEvent.reason 読取専用
サーバが接続を終了した理由を示す DOMString を返します。これは特定のサーバーとサブプロトコルに固有です。
CloseEvent.wasClean 読取専用
接続がきれいに閉じられたかどうかを示す Boolean を返します。

メソッド

また、このインターフェースは親 Event からメソッドを継承します。

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

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 8
補足
完全対応 8
補足
補足 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.
補足 Prior to Firefox 8, the WebSocket close event was sent to the listener as a simple event.
IE 完全対応 10Opera 完全対応 ありSafari ? WebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 8Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android ?
CloseEvent() constructorChrome ? Edge ? Firefox 完全対応 8IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android 完全対応 8Opera Android ? Safari iOS ? Samsung Internet Android ?
initCloseEvent
実験的非標準
Chrome 未対応 なしEdge 完全対応 ありFirefox 未対応 8 — 41IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしEdge Mobile 完全対応 ありFirefox Android 未対応 8 — 41Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: prince-0203, silverskyvicto
最終更新者: prince-0203,