如何解决PWA中的ServiceWorkerRegistration.showNotification,将应用程序置于前台
我正在PWA中显示通知。它可以正常工作并显示通知。但是,如果您单击通知(如果可能),我似乎无法找出如何将应用程序置于前台?
用例:
用户在Facebook上时会显示一条通知。然后,当用户单击通知时,我希望我的应用程序进入前台。
当我无法在本地运行时,这可能吗?
这是我的测试代码:
navigator.serviceWorker.register('service-worker.js');
Notification.requestPermission(function(result) {
if (result === 'granted') {
navigator.serviceWorker.ready.then(function(registration) {
registration.showNotification('Notification with ServiceWorker');
});
}
});
解决方法
所以我的问题是我缺乏知识!我没有想到应将onclick处理程序放置在服务工作者中。
我在这里找到了很好的帮助:
https://developers.google.com/web/fundamentals/push-notifications
https://web-push-book.gauntface.com/demos/notification-examples/
,您可以在PWA中打开一个URL。即使您的PWA中已经打开一个标签,它也会在浏览器的新标签中打开它。
handleResponse( event ) {
console.log( '[Service Worker] Notification click Received. ${event}' );
if ( event.action && validURL( event.action ) ) {
clients.openWindow( event.action );
}
event.notification.close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。