如何解决如何处理来自除 service-worker 之外的其他 js 的推送通知?
是否可以处理来自除 service worker 之外的任何 js 的推送通知?如果是,如何?
我的情况:
我最近在我的项目中实现了网络推送通知(我遵循了这个 tuto from google)。
我的项目中有: index.html 、 index.js 和 service-worker
在我的 index.js 中,有时我将加载器显示为微调器。我想等到我从我的服务器收到推送通知,该通知会向我发送一个 ID。收到通知后,我想删除我的加载程序并在我的 index.js 中显示一个弹出窗口/对话框
怎么做?如何通知我的 index.js 我收到推送通知?除了 service-worker 之外,我们还可以在 index.js 中捕获推送通知吗?我们可以处理来自 index.js 的推送通知吗?
我的尝试: 我的服务人员:
self.addEventListener('push',function(event) {
console.log('[Service Worker] Push Received.');
console.log(`[Service Worker] Push had this data: "${event.data.text()}"`);
if (event.data.text().toLowerCase().indexOf("id") >= 0) {
displayDialog(event.data.text()); // HERE I tried to call a function from index.js,but not working
}
const title = 'My project';
const options = {
body: `${event.data.text()}`,icon: './images/logo/logo192.png',badge: './images/logo/logo192.png'
};
event.waitUntil(self.registration.showNotification(title,options));
});
self.addEventListener('notificationclick',function(event) {
console.log('[Service Worker] Notification click Received.');
event.notification.close();
event.waitUntil(
clients.openWindow('https://developers.google.com/web/')
);
});
我的 index.js(没有我所有的代码,但在 index.js 中我也订阅或取消订阅推送通知):
function displayDialog(id) {
$(."loader").hide(); // I remove the loader
// Here I display my dialog and do other things
}
$(."loader").show(); // Now I have to wait that I receive a push notification from my server
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。