Este es mi código en el trabajador de servicio para el evento de clic de notificación. Todos están funcionando bien. Pero este error de consola Uncaught (in promise) TypeError: Something went wrong while trying to open the window. aparece cuando hago clic en el botón de acción.
¿Por qué se muestra este error de la consola?
self.addEventListener('notificationclick', e => { const nf = e.notification; nf.close(); if (!e.action) { if(nf.data && nf.data.url) { const url = nf.data.url; urltoopen(url,e); } return; } if(e.action === 'close'){ return; } if(nf.data && nf.data.listurl) { const listurl = nf.data.listurl; Object.keys(listurl).forEach((k) => { if(k===e.action) { const actionurl=listurl[k]; urltoopen(actionurl,e); } }); } }); function urltoopen(url,e) { const urlToOpen = new URL(url, self.location.origin).href; const promiseChain = clients.matchAll({ type: 'window', includeUncontrolled: true }) .then((windowClients) => { let matchingClient = null; for (let i = 0; i < windowClients.length; i++) { const windowClient = windowClients[i]; if (windowClient.url === urlToOpen) { matchingClient = windowClient; break; } } if (matchingClient) { return matchingClient.focus(); } else { return clients.openWindow(urlToOpen); } }); e.waitUntil(promiseChain); }