Network Information API
注意:此功能在 Web Workers 中可用。
Network Information API 提供有關係統連線的資訊,包括通用連線型別(例如,“wifi”、“cellular”等)。這可用於根據使用者的連線選擇高畫質或低清內容。
該介面包含一個名為 NetworkInformation 的物件,該物件是 Navigator.connection 屬性或 WorkerNavigator.connection 屬性返回的例項。
介面
NetworkInformation-
提供有關裝置用於與網路通訊的連線的資訊,併為指令碼提供了一種在連線型別更改時獲得通知的機制。
NetworkInformation介面無法例項化。而是透過Navigator介面或WorkerNavigator介面進行訪問。
其他介面的擴充套件
-
返回一個
NetworkInformation物件,其中包含有關裝置網路連線的資訊。 -
提供一個
NetworkInformation物件,其中包含有關裝置網路連線的資訊。
示例
檢測連線更改
此示例用於監視使用者連線的變化。
js
let type = navigator.connection.effectiveType;
function updateConnectionStatus() {
console.log(
`Connection type changed from ${type} to ${navigator.connection.effectiveType}`,
);
type = navigator.connection.effectiveType;
}
navigator.connection.addEventListener("change", updateConnectionStatus);
預載入大型資源
connection 物件可用於決定是否預載入需要大量頻寬或記憶體的資源。此示例將在頁面載入後不久被呼叫,以檢查不適合預載入影片的連線型別。如果找到蜂窩連線,則將 preloadVideo 標誌設定為 false。為簡單起見,此示例僅測試一種連線型別。實際用例可能需要使用 switch 語句或其他方法來檢查 NetworkInformation.type 的所有可能值。無論 type 值如何,都可以透過 NetworkInformation.effectiveType 屬性估算連線速度。
js
let preloadVideo = true;
const connection = navigator.connection;
if (connection) {
if (connection.effectiveType === "slow-2g") {
preloadVideo = false;
}
}
規範
| 規範 |
|---|
| Network Information API |
瀏覽器相容性
載入中…