NavigationPreloadManager: setHeaderValue() 方法
注意:此功能在 Web Workers 中可用。
NavigationPreloadManager 接口的 setHeaderValue() 方法用于设置在服务工作线程导航预加载期间由 fetch() 操作产生的请求中发送的 Service-Worker-Navigation-Preload 标头的值。它返回一个空的 Promise,该 Promise 解析为 undefined。
在预加载请求中包含 Service-Worker-Navigation-Preload 标头,可以使服务器能够为预加载的 fetch 请求配置与普通 fetch 请求不同的返回资源。默认指令设置为 true:此方法允许配置多个不同的响应以进行预加载请求的可能性。
注意: 如果设置此标头可能导致不同的响应,服务器必须设置 Vary: Service-Worker-Navigation-Preload 以确保不同响应被缓存。
语法
js
setHeaderValue(value)
参数
value-
任意字符串值,目标服务器使用该值来确定要返回的请求资源。
返回值
异常
InvalidStateErrorDOMException-
与此
NavigationPreloadManager所属的注册关联的没有活动工作线程。
示例
下面的代码演示了如何设置该值。
js
navigator.serviceWorker.ready
.then((registration) =>
registration.navigationPreload.setHeaderValue(newValue),
)
.then(() => console.log("Done!"))
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);
规范
| 规范 |
|---|
| Service Workers # dom-navigationpreloadmanager-setheadervalue |
浏览器兼容性
加载中…