NavigationPreloadManager: getState() 方法
注意: 此功能在Web Workers中可用。
getState()
方法是 NavigationPreloadManager
接口的一部分,它返回一个 Promise
,该 Promise 解析为一个对象,其中包含指示是否启用了预加载以及将在 Service-Worker-Navigation-Preload
HTTP 标头中发送的值的属性。
语法
js
getState()
参数
无。
返回值
一个 Promise
,它解析为一个具有以下属性的对象
enabled
-
如果启用了预加载,则为
true
,否则为false
。 headerValue
-
一个字符串,包含在预加载
fetch()
之后的Service-Worker-Navigation-Preload
HTTP 标头中发送的值。除非使用NavigationPreloadManager.setHeaderValue()
更改了值,否则默认为true
。
异常
InvalidStateError
DOMException
-
与该
NavigationPreloadManager
所属注册相关的活动工作者不存在。
示例
以下代码演示了在服务工作者准备好后对当前状态的请求。
js
navigator.serviceWorker.ready
.then((registration) => registration.navigationPreload.getState())
.then((state) => {
console.log(state.enabled); // boolean
console.log(state.headerValue); // string
})
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);
规范
规范 |
---|
服务工作者 # dom-navigationpreloadmanager-getstate |
浏览器兼容性
BCD 表仅在浏览器中加载