上週我一直在使用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