Update index.html
Browse files- index.html +11 -9
index.html
CHANGED
@@ -1021,7 +1021,6 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
1021 |
statusElem.textContent = errorMsg;
|
1022 |
}
|
1023 |
|
1024 |
-
// オフラインならボタンを非表示
|
1025 |
if (!navigator.onLine) {
|
1026 |
updateStatus('オフラインのため操作できません。');
|
1027 |
return;
|
@@ -1035,13 +1034,13 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
1035 |
}
|
1036 |
|
1037 |
try {
|
1038 |
-
|
|
|
1039 |
|
1040 |
if (reg) {
|
1041 |
updateStatus('Service Workerは既に登録されています。更新を確認中...');
|
1042 |
const updatePromise = reg.update();
|
1043 |
|
1044 |
-
// 即座にupdate処理を開始
|
1045 |
reg.onupdatefound = () => {
|
1046 |
const newSW = reg.installing;
|
1047 |
if (newSW) {
|
@@ -1060,13 +1059,11 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
1060 |
};
|
1061 |
|
1062 |
await updatePromise;
|
1063 |
-
} else {
|
1064 |
-
updateStatus('Service Workerは未登録です。');
|
1065 |
-
registerBtn.textContent = '登録とキャッシュ';
|
1066 |
-
registerBtn.disabled = false;
|
1067 |
}
|
1068 |
-
} catch
|
1069 |
-
|
|
|
|
|
1070 |
}
|
1071 |
|
1072 |
registerBtn.addEventListener('click', async () => {
|
@@ -1077,8 +1074,12 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
1077 |
for (const reg of regs) {
|
1078 |
await reg.unregister();
|
1079 |
}
|
|
|
1080 |
updateStatus('新しいService Workerを登録中...');
|
1081 |
await navigator.serviceWorker.register('/sw.js');
|
|
|
|
|
|
|
1082 |
updateStatus('登録完了。ページをリロードしてキャッシュを有効化します。');
|
1083 |
registerBtn.textContent = 'ページをリロード';
|
1084 |
registerBtn.disabled = false;
|
@@ -1089,6 +1090,7 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
1089 |
});
|
1090 |
});
|
1091 |
</script>
|
|
|
1092 |
|
1093 |
</div>
|
1094 |
<div class="container">
|
|
|
1021 |
statusElem.textContent = errorMsg;
|
1022 |
}
|
1023 |
|
|
|
1024 |
if (!navigator.onLine) {
|
1025 |
updateStatus('オフラインのため操作できません。');
|
1026 |
return;
|
|
|
1034 |
}
|
1035 |
|
1036 |
try {
|
1037 |
+
// より確実に登録済みかどうかを判定
|
1038 |
+
const reg = await navigator.serviceWorker.ready;
|
1039 |
|
1040 |
if (reg) {
|
1041 |
updateStatus('Service Workerは既に登録されています。更新を確認中...');
|
1042 |
const updatePromise = reg.update();
|
1043 |
|
|
|
1044 |
reg.onupdatefound = () => {
|
1045 |
const newSW = reg.installing;
|
1046 |
if (newSW) {
|
|
|
1059 |
};
|
1060 |
|
1061 |
await updatePromise;
|
|
|
|
|
|
|
|
|
1062 |
}
|
1063 |
+
} catch {
|
1064 |
+
updateStatus('Service Workerは未登録です。');
|
1065 |
+
registerBtn.textContent = '登録とキャッシュ';
|
1066 |
+
registerBtn.disabled = false;
|
1067 |
}
|
1068 |
|
1069 |
registerBtn.addEventListener('click', async () => {
|
|
|
1074 |
for (const reg of regs) {
|
1075 |
await reg.unregister();
|
1076 |
}
|
1077 |
+
|
1078 |
updateStatus('新しいService Workerを登録中...');
|
1079 |
await navigator.serviceWorker.register('/sw.js');
|
1080 |
+
|
1081 |
+
// ready状態まで待機してからリロードボタン表示
|
1082 |
+
await navigator.serviceWorker.ready;
|
1083 |
updateStatus('登録完了。ページをリロードしてキャッシュを有効化します。');
|
1084 |
registerBtn.textContent = 'ページをリロード';
|
1085 |
registerBtn.disabled = false;
|
|
|
1090 |
});
|
1091 |
});
|
1092 |
</script>
|
1093 |
+
|
1094 |
|
1095 |
</div>
|
1096 |
<div class="container">
|