NavigationPreloadManager: setHeaderValue() 方法
注意: 此功能在 Web Workers 中可用。
NavigationPreloadManager
接口的 setHeaderValue()
方法设置 Service-Worker-Navigation-Preload
标头的值,该标头将在 fetch()
操作期间在服务工作者导航预加载期间发出的请求中发送。它返回一个空 Promise
,该承诺将使用 undefined
解析。
预加载请求中 Service-Worker-Navigation-Preload
标头的存在允许服务器为预加载获取请求配置与正常获取请求不同的返回资源。默认指令设置为 true
:此方法允许为预加载请求配置多个不同的响应。
注意: 如果设置此标头可能会导致不同的响应,则服务器必须设置 Vary: Service-Worker-Navigation-Preload
以确保不同的响应被缓存。
语法
js
setHeaderValue(value)
参数
value
-
任意字符串值,目标服务器使用它来确定应为请求的资源返回什么。
返回值
异常
InvalidStateError
DOMException
-
没有与此
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 |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。