Update service-worker.js
Browse files- service-worker.js +0 -60
service-worker.js
CHANGED
@@ -1,8 +1,3 @@
|
|
1 |
-
const CACHE_NAME = 'my-cache-v1';
|
2 |
-
let cachedFiles = [
|
3 |
-
'/index.html' // index.htmlは常にキャッシュ
|
4 |
-
];
|
5 |
-
|
6 |
// メッセージ受信処理
|
7 |
self.addEventListener('message', (event) => {
|
8 |
if (event.data && event.data.type === 'CACHE_FILES') {
|
@@ -28,59 +23,4 @@ self.addEventListener('message', (event) => {
|
|
28 |
})
|
29 |
);
|
30 |
}
|
31 |
-
});
|
32 |
-
|
33 |
-
// インストール:キャッシュを保存
|
34 |
-
self.addEventListener('install', event => {
|
35 |
-
event.waitUntil(
|
36 |
-
caches.open(CACHE_NAME).then(cache => {
|
37 |
-
return cache.addAll(cachedFiles).catch(error => {
|
38 |
-
console.error('初期キャッシュエラー:', error);
|
39 |
-
});
|
40 |
-
})
|
41 |
-
);
|
42 |
-
self.skipWaiting(); // すぐに有効化
|
43 |
-
});
|
44 |
-
|
45 |
-
// アクティベート:古いキャッシュ削除
|
46 |
-
self.addEventListener('activate', event => {
|
47 |
-
event.waitUntil(
|
48 |
-
caches.keys().then(keys =>
|
49 |
-
Promise.all(
|
50 |
-
keys.map(key => {
|
51 |
-
if (key !== CACHE_NAME && key !== 'settings-cache') {
|
52 |
-
return caches.delete(key);
|
53 |
-
}
|
54 |
-
})
|
55 |
-
)
|
56 |
-
)
|
57 |
-
);
|
58 |
-
self.clients.claim(); // 即時制御
|
59 |
-
});
|
60 |
-
|
61 |
-
// フェッチ:ネット優先、失敗時にキャッシュ
|
62 |
-
self.addEventListener('fetch', event => {
|
63 |
-
const url = new URL(event.request.url);
|
64 |
-
const path = url.pathname;
|
65 |
-
|
66 |
-
// キャッシュリストにないファイルはキャッシュしない
|
67 |
-
if (!cachedFiles.includes(path)) {
|
68 |
-
return fetch(event.request);
|
69 |
-
}
|
70 |
-
|
71 |
-
event.respondWith(
|
72 |
-
fetch(event.request)
|
73 |
-
.then(response => {
|
74 |
-
// ネットから取得できたのでキャッシュ更新
|
75 |
-
const responseClone = response.clone();
|
76 |
-
caches.open(CACHE_NAME).then(cache => {
|
77 |
-
cache.put(event.request, responseClone);
|
78 |
-
});
|
79 |
-
return response;
|
80 |
-
})
|
81 |
-
.catch(() => {
|
82 |
-
// ネットがだめならキャッシュから
|
83 |
-
return caches.match(event.request);
|
84 |
-
})
|
85 |
-
);
|
86 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
// メッセージ受信処理
|
2 |
self.addEventListener('message', (event) => {
|
3 |
if (event.data && event.data.type === 'CACHE_FILES') {
|
|
|
23 |
})
|
24 |
);
|
25 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
});
|