上周我一直在使用Service Worker,目前安装了用于脱机缓存文件和推送通知的优秀安装。显示服务工作人员状态的消息
还有最后一两件事,我希望能够以显示对服务人员的某些状态的UI消息,目前我对激活状态下面的代码:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.addEventListener('controllerchange',function(event) {
navigator.serviceWorker.controller.addEventListener('statechange', function() {
if (this.state === 'activated') {
document.getElementById('offlineNotification').classList.remove('hidden');
}
});
});
}
现在我想为安装状态创建一条消息,允许我显示类似于“脱机服务正在更新”的消息,如果有人正在处理此问题并知道如何操作,请告诉我。
我已经尝试过同样的代码,但与 “如果(this.state === '安装')”
和
“如果(this.state === '安装'”
既不似乎工作。
正如我在OP中所说的,我已经知道如何安装服务人员,并且我已经有一名服务人员安装,我不需要编写代码。我需要的是在UI中显示更新通知的一种方式(IE:不是控制台日志,实际网页),就像您在OP中所述的那样,您可以激活它。 – NGriffin
区分更新与首次安装正是我所需要的'navigator.serviceWorker.controller'检查。谢谢! – salbahra