NavigateEvent:signal 属性
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
NavigateEvent 接口的 signal 只读属性返回一个 AbortSignal,如果导航被取消(例如,用户按下浏览器的“停止”按钮,或者另一个导航启动并因此取消正在进行的导航),该信号将被中止。
值
AbortSignal 对象。
示例
这里的总体思路是,可以将 signal 属性传递给相关的 fetch() 操作,这样,如果取消导航,则可以安全地中止 fetch() 操作,避免在不再需要的 fetch 请求上浪费带宽。
js
navigation.addEventListener("navigate", (event) => {
event.intercept({
async handler() {
// ...
await fetch(`/img/some-image.jpg`, { signal: event.signal });
// ...
},
});
});
备注: 请参阅示例:下一个/上一个按钮获取更详细的示例。
规范
| Specification |
|---|
| HTML> # dom-navigateevent-signal-dev> |
浏览器兼容性
Loading…
参见
- 现代客户端路由:导航 API
- 导航 API 说明
- Domenic Denicola 的导航 API 在线演示