UserActivation

基线 2023

新可用

2023 年 11 月起,此功能在最新的设备和浏览器版本中均可使用。此功能可能在较旧的设备或浏览器中无法使用。

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

此 API 仅在窗口上下文中可用,并且不会公开给工作线程。

实例属性

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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅