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

浏览器兼容性

另见