NavigateEvent: signal 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

NavigateEvent 介面的只讀屬性 signal 返回一個 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

瀏覽器相容性

另見