Что я пытаюсь сделать, это посмотреть, открыта ли вкладка на моем веб-сайте в Chrome, и если это так сосредоточено на ней И пересылайте их на новый URL-адрес, который я передаю через.Уведомления службы PushWorer Chrome - переслать на новую страницу
Для справки, когда вы видите «event.notification.data» будет ссылка, такие как «https://www.example.com/mobile/profile.php?id=Webmaster»
я могу сосредоточиться на вкладке, но я не могу сделать, что вкладка перенаправлять на URL I которые хранятся в «event.notification.data»
Вот мой код
self.addEventListener('notificationclick', function(event) {
event.notification.close();
event.waitUntil(
clients.matchAll({
type: "window"
})
.then(function(clientList) {
// loop through all the tabs
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
//check if a tab starts with the websites name
if (client.url.indexOf("https://www.example.com/mobile") == 0 && 'focus' in client){
//a tab matched! Check if the data (a link) is there
//------
//THIS IS WHERE I NEED HELP
//------
if(event.notification.data != ''){
//yes! event.notification.data is a link, focus on the tab and forward them there
client.focus();
client.navigate(event.notification.data);
} else {
//no! event.notification.data was blank, focus on the tab and forward them to the general site
client.focus();
client.navigate('https://www.example.com/mobile');
}
}
}
if (clients.openWindow) {
if(event.notification.data != ''){
clients.openWindow(event.notification.data);
} else {
clients.openWindow('https://www.heftynet.com/mobile');
}
}
})
);
});
Я читал много таких, но я думаю, я не хотел в это верить. Спасибо за помощь. – dbye
Вы также можете зайти в инспектор и убедиться сами. Я проверил это в Canary, получив объект client и увидев, что на его свойстве '__proto__' у него был метод' focus() ', но метод' navigate() '. –