0

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

4

0 回答 0