在angularjs中使用服务工作者

时间:2017-06-20 07:01:27

标签: javascript angularjs google-chrome firefox service-worker

我们如何在angularjs app中的服务工作者中触发事件。

以下示例代码正在工作并在chrome / firefox中显示通知

self.addEventListener('push', function(event) {
console.log('[Service Worker] Push Received.');
// console.log(`[Service Worker] Push had this data: "${event.data.text()}"`);

console.log(event.data);
console.log(event.data.json());
console.log(typeof (event.data.json()));
console.log(event);

window.dispatchEvent( new Event('dataisthere') );

const title = 'YummZ';
const options = {
    body: 'Message Received \n ' + event.data.json().message,
    icon: 'images/icon.png',
    // badge: 'images/badge.png',
    data : event.data.json()
};

event.waitUntil(self.registration.showNotification(title, options));
});

我尝试发送一个窗口事件但是我收到错误窗口未定义

当服务工作者获得推送通知时,我需要通知我的角度应用程序以执行操作。

注意:新服务工作者

1 个答案:

答案 0 :(得分:1)

阅读this。尚未测试它,但我认为您正在寻找的解决方案的一般想法是存在的。标题是如何在服务工作者和客户端之间发送消息,所以如果你设法弥合这个差距,你几乎可以告诉你的服务工作者做你想做的任何事情。