NavigateEvent: свойство signal
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно ознакомьтесь с таблицей совместимости браузеров.
Чтение-только свойство signal интерфейса NavigateEvent возвращает объект AbortSignal, который будет прерван, если навигация отменена (например, пользователем, нажав кнопку "Стоп" в браузере или начав другую навигацию, тем самым отменяя текущую).
Значение
Объект AbortSignal.
Примеры
Основная идея заключается в том, что свойство signal может быть передано связанной операции fetch(), чтобы в случае отмены навигации операция fetch() могла быть безопасно прервана, предотвращая потерю трафика на загрузках, которые больше не нужны.
navigation.addEventListener("navigate", (event) => {
event.intercept({
async handler() {
// ...
await fetch(`/img/some-image.jpg`, { signal: event.signal });
// ...
},
});
});
Примечание: Более подробный пример см. в Примере: кнопки «следующая»/«предыдущая».
Спецификации
| Спецификация |
|---|
| HTML # dom-navigateevent-signal-dev |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
signal |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
См. также
- Современное маршрутизирование на стороне клиента: API навигации
- Пояснения к API навигации
- Живая демонстрация API навигации Domenic Denicola
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/signal