Clients: matchAll() 方法

注意:此功能仅在Service Workers中可用。

matchAll()Clients接口的方法,它返回一个用于服务工作者Client对象列表的Promise。包含options参数以返回其来源与关联服务工作者来源相同的全部服务工作者客户端。如果未包含 options,则该方法仅返回服务工作者控制的服务工作者客户端。

语法

js
matchAll()
matchAll(options)

参数

options 可选

一个 options 对象,允许您为匹配操作设置选项。可用的选项包括

includeUncontrolled

布尔值 - 如果设置为true,则匹配操作将返回与当前服务工作者共享相同来源的所有服务工作者客户端。否则,它仅返回当前服务工作者控制的服务工作者客户端。默认值为false

type

设置您希望匹配的客户端类型。可用值为"window""worker""sharedworker""all"。默认值为"window"

返回值

一个解析为Client对象数组的Promise。在 Chrome 46/Firefox 54 及更高版本中,此方法按最近聚焦的顺序返回客户端,符合规范。

示例

js
clients.matchAll(options).then((clientList) => {
  for (const client of clientList) {
    if (client.url === "index.html") {
      clients.openWindow(client);
      // or do something else involving the matching client
    }
  }
});

规范

规范
Service Workers
# clients-matchall

浏览器兼容性

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