CloseEvent: code 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

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

CloseEvent 介面的只讀屬性 code 返回一個 WebSocket 連線關閉程式碼,指示連線關閉的原因。

一個整數 WebSocket 連線關閉程式碼,範圍在 1000 - 4999 之間,指示連線關閉的原因。

狀態碼 含義 描述
0999 未使用。
1000 正常關閉 連線已成功完成其建立的目的。
1001 即將離開 端點即將離開,可能是因為伺服器故障,或者瀏覽器正在離開開啟連線的頁面。
1002 協議錯誤 端點因協議錯誤而終止連線。
1003 不支援的資料 端點正在終止連線,因為它收到了無法接受的資料型別。(例如,一個僅文字的端點收到了二進位制資料。)
1004 保留 保留。 含義可能在將來定義。
1005 未收到狀態 保留。 表明未提供狀態碼,即使期望提供。
1006 異常關閉 保留。 表明連線異常關閉(即,未傳送關閉幀),當期望提供狀態碼時。
1007 無效幀有效載荷資料 端點正在終止連線,因為它收到了包含不一致資料(例如,文字訊息中的非 UTF-8 資料)的訊息。
1008 策略違規 端點正在終止連線,因為它收到了違反其策略的訊息。這是一個通用狀態碼,在程式碼 1003 和 1009 不適用時使用。
1009 訊息過大 端點正在終止連線,因為它收到了過大的資料幀。
1010 強制擴充套件 客戶端正在終止連線,因為它期望伺服器協商一個或多個擴充套件,但伺服器未這樣做。
1011 內部錯誤 伺服器正在終止連線,因為它遇到了意外情況,阻止其滿足請求。
1012 服務重啟 伺服器正在終止連線,因為它正在重啟。
1013 稍後重試 伺服器因臨時原因終止連線,例如,伺服器過載並正在斷開部分客戶端。
1014 錯誤的閘道器 伺服器充當了閘道器或代理,但從上游伺服器收到了無效響應。這類似於 502 HTTP 狀態碼。
1015 TLS 握手 保留。 表明連線因 TLS 握手失敗而關閉(例如,伺服器證書無法驗證)。
10162999 用於 WebSocket 協議規範的未來修訂版本以及擴充套件規範的定義。
30003999 供庫、框架和應用程式使用。這些狀態碼 直接在 IANA 註冊。WebSocket 協議未定義這些程式碼的解釋。
40004999 供私人使用,因此無法註冊。此類程式碼可透過 WebSocket 應用程式之間的預先約定使用。WebSocket 協議未定義這些程式碼的解釋。

示例

以下示例將 code 的值列印到控制檯。

js
WebSocket.onclose = (event) => {
  console.log(event.code);
};

規範

規範
WebSocket
# ref-for-dom-closeevent-code②

瀏覽器相容性

另見