您如何向服务人员发送消息以跳过等待?服务工作者是使用以下处理程序定义的
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
谢谢, 路易斯
答案 0 :(得分:0)
这是我在一个项目中如何做的一个例子。
navigator.serviceWorker
.register(swUrl)
.then(registration => {
this.registration = registration;
config.onRegistration();
registration.onupdatefound = () => {
const installingWorker = registration.installing;
if (installingWorker == null) {
return;
}
config.onUpdateFound();
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
registration.waiting.postMessage('skipWaiting');
config.onUpdateInstalled();
}
} else if (installingWorker.state === 'activated') {
config.onActivated();
}
};
};
})