NavigateEvent:signal 属性
signal
是 NavigateEvent
接口的只读属性,它返回一个 AbortSignal
,如果导航被取消(例如,用户按下浏览器的“停止”按钮,或者另一个导航开始并因此取消了正在进行的导航),它将变为中止状态。
值
一个 AbortSignal
对象。
示例
这里的一般想法是,signal
属性可以传递给一个关联的 fetch()
操作,因此如果导航被取消,fetch()
操作可以安全地中止,避免浪费带宽在不再需要的提取上。
js
navigation.addEventListener("navigate", (event) => {
event.intercept({
async handler() {
// ...
await fetch(`/img/some-image.jpg`, { signal: event.signal });
// ...
},
});
});
注意:有关更详细的示例,请参阅 示例:下一个/上一个按钮。
规范
规范 |
---|
HTML 标准 # dom-navigateevent-signal-dev |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载
另请参见
- 现代客户端路由:Navigation API
- Navigation API 解释器
- Domenic Denicola 的 Navigation API 实时演示