在 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?