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 |
浏览器兼容性
加载中…