【发布时间】:2018-08-22 01:27:15
【问题描述】:
我正在尝试在安装 Service Worker 和已激活 Service Worker 之间建立通信通道。 我已尝试执行以下操作:
关于正在安装的 Service Worker:
if ((self.registration.active == null) ||
(self.registration.active.state != "activated")) {
return;
}
var messageChannel = new MessageChannel();
messageChannel.port1.onmessage = function(event){
if (event.data.error) {
console.log("got error from active");
}
else {
console.log("got answer from active");
}
};
self.registration.active.postMessage({message: 'hey', port: messageChannel.port2}, [messageChannel.port2]);
在活跃的 Service Worker 上:
self.addEventListener('message', function(event) {
console.log('received message');
});
这行不通,我什么也得不到... 想法?
【问题讨论】:
标签: service-worker