PopStateEvent: hasUAVisualTransition 屬性

可用性有限

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

hasUAVisualTransitionPopStateEvent 介面的一個只讀屬性,如果使用者代理在分派此事件之前為這次導航執行了視覺過渡,則返回 true,否則返回 false

當執行站點導航時,使用者代理可能會提供內建的視覺過渡。如果站點作者也添加了視覺過渡,則使用者代理和作者的過渡可能會衝突並讓訪問者感到困惑。該屬性允許您檢測是否提供了使用者代理過渡,以便您可以跳過作者的過渡,從而獲得更好的使用者體驗。

一個布林值。

示例

js
window.addEventListener("popstate", async (event) => {
  // Fetch the new content
  const newContent = await fetchNewContent(location.href);

  // The UA does not support View Transitions, or the UA
  // already provided a Visual Transition by itself (e.g. swipe back).
  // In either case, update the DOM directly
  if (!document.startViewTransition || event.hasUAVisualTransition) {
    doSinglePageAppNav(newContent);
    return;
  }

  // Update the content using a View Transition
  document.startViewTransition(() => {
    doSinglePageAppNav(newContent);
  });
});

規範

規範
HTML
# dom-popstateevent-hasuavisualtransition

瀏覽器相容性

另見