Navigator: onLine 屬性

Baseline 已廣泛支援

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

Navigator 介面的 onLine 屬性返回裝置是否已連線到網路,true 表示線上,false 表示離線。該屬性的值會在瀏覽器檢查其網路連線後發生變化,通常是在使用者點選連結或指令碼請求遠端頁面時。例如,當用戶在失去網際網路連線後不久點選連結時,該屬性應返回 false。當其值發生變化時,會在 window 上觸發 onlineoffline 事件。

瀏覽器和作業系統利用不同的啟發式方法來確定裝置是否線上。通常,連線到區域網 (LAN) 被視為線上,即使該區域網可能沒有網際網路訪問。例如,計算機可能正在執行一個具有虛擬乙太網介面卡的虛擬化軟體,這些介面卡始終處於“連線”狀態。在 Windows 上,線上狀態取決於能否連線到 Microsoft 的某個伺服器,即使計算機可以訪問網際網路,該伺服器也可能被防火牆或 VPN 阻止。因此,此屬性本質上是不可靠的,您不應根據線上狀態停用功能,而只能在使用者似乎離線時提供提示。

布林值。

示例

基本用法

要檢查您是否線上,請查詢 window.navigator.onLine,如下例所示:

js
if (navigator.onLine) {
  console.log("online");
} else {
  console.log("offline");
}

如果瀏覽器不支援 navigator.onLine,則上述示例將始終顯示為 false/undefined

監聽網路狀態的變化

要檢視網路狀態的變化,請使用 addEventListener 來監聽 window.onlinewindow.offline 事件,如下例所示:

js
window.addEventListener("offline", (e) => {
  console.log("offline");
});

window.addEventListener("online", (e) => {
  console.log("online");
});

規範

規範
HTML
# dom-navigator-online-dev

瀏覽器相容性