更新http协议完成后延迟重启,初次加载serviceWorker重启
This commit is contained in:
parent
b512fdd08b
commit
50ce47eaac
|
@ -62,7 +62,9 @@ boot().then(() => {
|
||||||
const thisWindow = remote.getCurrentWindow();
|
const thisWindow = remote.getCurrentWindow();
|
||||||
thisWindow.loadURL(url);
|
thisWindow.loadURL(url);
|
||||||
} else {
|
} else {
|
||||||
|
setTimeout(() => {
|
||||||
location.href = url;
|
location.href = url;
|
||||||
|
}, 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
10
game/game.js
10
game/game.js
|
@ -136,10 +136,19 @@ new Promise(resolve => {
|
||||||
}
|
}
|
||||||
if (location.protocol.startsWith('http') && 'serviceWorker' in navigator) {
|
if (location.protocol.startsWith('http') && 'serviceWorker' in navigator) {
|
||||||
let scope = window.location.protocol + '//' + window.location.host + '/';
|
let scope = window.location.protocol + '//' + window.location.host + '/';
|
||||||
|
navigator.serviceWorker.getRegistrations().then(registrations => {
|
||||||
|
let findServiceWorker = false;
|
||||||
|
for (let registration of registrations) {
|
||||||
|
if (registration && registration.active && registration.active.scriptURL == `${scope}service-worker.js`) {
|
||||||
|
findServiceWorker = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
navigator.serviceWorker.register(`${scope}service-worker.js`, {
|
navigator.serviceWorker.register(`${scope}service-worker.js`, {
|
||||||
updateViaCache: "all",
|
updateViaCache: "all",
|
||||||
scope,
|
scope,
|
||||||
}).then(registration => {
|
}).then(registration => {
|
||||||
|
// 初次加载worker,需要重新启动一次
|
||||||
|
if (!findServiceWorker) location.reload();
|
||||||
navigator.serviceWorker.addEventListener('message', e => {
|
navigator.serviceWorker.addEventListener('message', e => {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
|
@ -148,6 +157,7 @@ new Promise(resolve => {
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log('serviceWorker加载失败: ', e);
|
console.log('serviceWorker加载失败: ', e);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
const script = document.createElement('script')
|
const script = document.createElement('script')
|
||||||
script.type = "module";
|
script.type = "module";
|
||||||
|
|
Loading…
Reference in New Issue