Chrome でプッシュ通知に Service Worker を使用すると、ユーザーにプッシュ通知が表示されます。通常、通知をクリックすると、ブラウザーが開き、サイトのオリジンのルートが表示されます。
次のイベントのコールバック内:
self.addEventListener('notificationclick', function(event) {})
ウィンドウの場所の URL を「/」から「/redirectpage」に変更してみました:
event.waitUntil(clients.matchAll({
type: "window"}).then(function(clientList) {
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url == '/' && 'focus' in client){
return client.focus();
}
}
if (clients.openWindow){
//return clients.openWindow('/');
return clients.openWindow('/redirectpage');//changed above code to this
}
}));
したがって、期待される結果は、たとえば localhost でhttp://localhost:8080/redirectpageになるはずです。ただし、通知をクリックすると、サイトのオリジンのルートであるhttp://localhost:8080にリダイレクトされます。
これが間違った方法であると仮定すると、プッシュ通知のクリック時にブラウザーがこのターゲット URL を開くように、ターゲット URL をどこで指定する必要がありますか?