は私がプッシュ通知のクリックイベントを処理するサービスワーカーを持っている:サービスワーカーのonClickイベント - スコープのあるウィンドウでURLを開くにはどうすればいいですか?
self.addEventListener('notificationclick', function (e) {
e.notification.close();
e.waitUntil(
clients.openWindow(e.notification.data.url)
);
});
通知はそれがデータからURLを取り、新しいウィンドウに表示しています。
コードは機能しますが、私は別の動作が必要です。ユーザーがリンクをクリックすると、サービスワーカスコープ内に開いているウィンドウがあるかどうかを確認する必要があります。はいの場合は、ウィンドウにフォーカスして、指定されたURLに移動する必要があります。
私はこれをチェックしましたanswerしかし、それは私が欲しいものではありません。
どうすればいいですか?
P.S.私はこのコードを書いたが、それでも動作しません。ただし、最初の2つのメッセージはログに表示されます。
matchAllが返すクライアントをconsole.logにしてみてください。 forループの直前。クライアントの長さが0の場合、forループは決して実行されません。右は – pate
です。もう一度やり直してください。クライアントは空ですので、matchUllに "includeUncontrolled:true"を追加しました。今すぐ "ServiceEleerイベントwaitUntil()が 'ReferenceError:givenUrlが定義されていません'と拒否された約束を渡しました。" –