NavigateEvent: info 屬性

可用性有限

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

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

infoNavigateEvent 介面的一個只讀屬性,它返回由發起導航操作(例如,Navigation.back()Navigation.navigate())傳遞的 info 資料值,如果沒有傳遞 info 資料,則返回 undefined

由發起導航操作傳遞的 info 值,如果沒有傳遞則為 undefined

示例

info 的一個可能用途是根據到達某個路由的方式來觸發不同的單頁導航渲染。例如,考慮一個照片庫應用程式,你可以透過各種路由到達相同的照片 URL 和狀態。你可能希望為每個路由使用不同的動畫來顯示照片。

js
navigation.addEventListener("navigate", (event) => {
  if (isPhotoNavigation(event)) {
    event.intercept({
      async handler() {
        switch (event.info?.via) {
          case "go-left": {
            await animateLeft();
            break;
          }
          case "go-right": {
            await animateRight();
            break;
          }
          case "gallery": {
            await animateZoomFromThumbnail(event.info.thumbnail);
            break;
          }
        }

        // TODO: actually load the photo.
      },
    });
  }
});

規範

規範
HTML
# dom-navigateevent-info-dev

瀏覽器相容性

另見