launch_handler

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

launch_handler 成员定义了控制 Web 应用启动的值。目前它只能包含一个值:client_mode,用于指定应用启动时应该在哪种上下文中加载。例如,是在已有的包含该应用实例的 Web 应用客户端中,还是在一个新的 Web 应用客户端中。这为将来定义更多 launch_handler 值留下了空间。

launch_handler 对象可能包含以下值:

client_mode 实验性

一个字符串,或逗号分隔的字符串数组,用于指定应用启动时应该在哪种上下文中加载。如果提供的是字符串数组,则使用第一个有效值。可能的值有:

auto

用户代理决定在平台上加载应用的哪种上下文最合适。例如,在移动设备上,navigate-existing 可能更合适,因为单个应用实例很常见,而在桌面环境中,navigate-new 可能更合适。如果提供的所有值都无效,则使用此默认值。

focus-existing

如果应用已在 Web 应用客户端中加载,则将其置于焦点,但不导航到启动目标 URL。目标 URL 可通过 Window.launchQueue 获得,以便实现自定义启动导航处理。如果应用尚未在 Web 应用客户端中加载,则改为使用 navigate-new 行为。

如果应用已在 Web 应用客户端中加载,则将其置于焦点并导航到指定的启动目标 URL。目标 URL 可通过 Window.launchQueue 获得,以便实现额外的自定义启动导航处理。如果应用尚未在 Web 应用客户端中加载,则改为使用 navigate-new 行为。

应用在新 Web 应用客户端中加载。目标 URL 可通过 Window.launchQueue 获得,以便实现额外的自定义启动导航处理。

示例

json
{
  "launch_handler": {
    "client_mode": "focus-existing"
  }
}
json
{
  "launch_handler": {
    "client_mode": ["focus-existing", "auto"]
  }
}

规范

规范
Web 应用启动处理程序 API
# launch_handler-member

浏览器兼容性

另见