WorkerNavigator: onLine 屬性

Baseline 已廣泛支援

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

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

返回瀏覽器的線上狀態。該屬性返回一個布林值,true 表示線上,false 表示離線。當瀏覽器連線到網路的可用性發生變化時,該屬性會發送更新。當用戶點選連結或指令碼請求遠端頁面時,會發生更新。

例如,當用戶在失去網際網路連線後不久點選連結時,該屬性應返回 false

瀏覽器對該屬性的實現方式不同。

在 Chrome 和 Safari 中,如果瀏覽器無法連線到本地區域網路 (LAN) 或路由器,則表示離線;所有其他情況都返回 true。因此,雖然您可以假設當瀏覽器返回 false 值時表示離線,但您不能假設 true 值一定意味著瀏覽器可以訪問網際網路。您可能會得到誤報,例如計算機執行虛擬化軟體,該軟體具有始終“連線”的虛擬乙太網介面卡。因此,如果您確實想確定瀏覽器的線上狀態,則應開發額外的檢查方法。要了解更多資訊,請參閱 2011 年的文章 在離線狀態下工作

在 Firefox 中,將瀏覽器切換到離線模式會發送一個 false 值。

online 是一個布林值,truefalse

示例

基本用法

要在 worker 中檢查您是否線上,請查詢 navigator.onLine,如下例所示

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

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

監聽網路狀態的變化

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

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

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

規範

規範
HTML
# dom-navigator-online-dev

瀏覽器相容性