NavigationPreloadManager: getState() 方法
注意:此功能在 Web Workers 中可用。
NavigationPreloadManager 接口的 getState() 方法返回一个 Promise,该 Promise 解析为一个对象,其属性指示预加载是否已启用,以及将在 Service-Worker-Navigation-Preload HTTP 标头中发送的值。
语法
js
getState()
参数
无。
返回值
一个 Promise,它会解析为一个包含以下属性的对象
enabled-
如果已启用预加载,则为
true,否则为false。 headerValue-
一个字符串,包含预加载
fetch()后将在Service-Worker-Navigation-PreloadHTTP 标头中发送的值。此值默认为true,除非使用NavigationPreloadManager.setHeaderValue()更改了该值。
异常
InvalidStateErrorDOMException-
与此
NavigationPreloadManager所属的注册关联的没有活动工作线程。
示例
下面的代码显示了一个在 service worker 就绪后发起的当前状态请求。
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}`),
);
规范
| 规范 |
|---|
| Service Workers # dom-navigationpreloadmanager-getstate |
浏览器兼容性
加载中…