Clients: matchAll() メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2018年4月以降、すべてのブラウザーで利用可能です。
メモ: この機能はサービスワーカー内でのみ利用可能です。
matchAll() は Clients インターフェイスのメソッドで、サービスワーカークライアント(Client)オブジェクトのリストの Promise を返します。 関連するサービスワーカーのオリジンと同じオリジンを持つすべてのサービスワーカークライアントを返すには、options 引数を含めます。 オプションが含まれていなかった場合、このメソッドは、サービスワーカーによって制御されるサービスワーカークライアントのみを返します。
構文
js
matchAll()
matchAll(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);
// または、一致するクライアントに関係する何かを行う
}
}
});
仕様書
| 仕様書 |
|---|
| Service Workers Nightly> # clients-matchall> |