UserActivation

Baseline 2023
新推出

自 ⁨2023 年 11 月⁩ 起,此功能可在最新的设备和浏览器版本中运行。此功能可能不适用于较旧的设备或浏览器。

UserActivation 接口提供有关用户当前是否与页面交互,或自页面加载以来是否已完成交互的信息。

此 API 仅在 window 上下文中可用,不会暴露给 worker。

实例属性

UserActivation.hasBeenActive 只读

指示当前窗口是否具有粘滞用户激活。

UserActivation.isActive 只读

指示当前窗口是否具有瞬时用户激活。

描述

可以通过 navigator.userActivation 属性访问此类型的对象,并可用于查询窗口的用户激活状态信息。

用户激活表示用户当前正在与页面交互,或者自页面加载以来已完成一次交互。用户激活可以由按钮点击、指针触摸或用户与页面的其他交互触发。

有两种类型的窗口用户激活状态:

  • 瞬时激活(用户当前正在与页面交互)和
  • 粘滞激活(用户自页面加载以来至少交互过一次)。

有关更多信息以及需要粘滞或瞬时用户激活的 API 列表,请参阅 由用户激活限制的功能

示例

检查是否近期执行了用户手势

使用 navigator.userActivation 访问 UserActivation 对象,然后使用 UserActivation.isActive 检查用户是否正在与页面交互(瞬时激活)。

js
if (navigator.userActivation.isActive) {
  // proceed to request playing media, for example
}

检查是否执行过用户手势

使用 UserActivation.hasBeenActive 检查用户是否曾与页面交互(粘滞激活)。

js
if (navigator.userActivation.hasBeenActive) {
  // proceed with auto-playing an animation, for example
}

规范

规范
HTML
# the-useractivation-interface

浏览器兼容性

另见