1

Я пытаюсь перенаправить на определенный URL-адрес в прогрессивном веб-приложении при нажатии уведомления, но он не перенаправляется.Перенаправление в прогрессивном веб-приложении

Дело 1: Если веб-приложение не добавлено на главный экран, то при уведомлении нажмите окно браузера, откроется и перенаправляется на нужный URL-адрес.

Случай 2: Если веб-приложение добавлено на главный экран, то целевой страницей является домашняя страница, а не желаемый URL-адрес.

self.addEventListener('notificationclick', function(event) { 
     event.notification.close(); 
     event.waitUntil(
       clients.matchAll({ 
         type: "window" 
       }).then(function(clientList) { 
         console.log(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) { 
           if (event.notification.tag == 'syncTest') { 
             console.log(event); 
             var url = '/#/view-car?start_time=' + getFinalData[0].start_time + '&end_time=' + getFinalData[0].end_time + '&pickup_venue=' + getFinalData[0].pickup_venue; 
             return clients.openWindow(url); 
           } else { 
             var url = '/#/list-venues?start_time=' + getFinalData[0].start_time + '&end_time=' + getFinalData[0].end_time + '&car=' + getFinalData[0].car + '&fuel=' + getFinalData[0].fuel; 
             console.log(url); 
             return clients.openWindow(url); 
           } 
         } 
       }) 
     ); 
}); 

Спасибо за тонну заранее.

+0

Предлагаю попробовать с полным URL-адресом, например 'http: // localhost/#/view-car ... '' –

ответ

3

Вы можете использовать что-то вроде:

if (client.url == 'yourUrl' && 'focus' in client) 
    return client.focus(); 
else{ 
    client.navigate('yourUrl').then(function(c){ 
      return c.focus(); 
    });  
} 

Это работал для меня. Могут быть и другие способы.

+0

Awesomeee Dudeee !!! Работает как шарм. Thanxx a tonn: D. –

+1

Что, если окно уже открыто? – anshulix

 Смежные вопросы

  • Нет связанных вопросов^_^