soiz1 commited on
Commit
9daf3ee
·
1 Parent(s): 1da815e

Update service-worker.js

Browse files
Files changed (1) hide show
  1. service-worker.js +15 -17
service-worker.js CHANGED
@@ -1,25 +1,23 @@
1
  const CACHE_NAME = 'my-cache-v1';
2
  let cachedFiles = [
3
- '/',
4
- '/index.html',
5
- '/v.mp4',
6
- '/p.mp3',
7
- '/s.mp3',
8
- '/a.mp3',
9
- '/t.mp3',
10
- '/k.mp3',
11
- '/t/v.mp4',
12
- '/t/p.mp3',
13
- '/t/s.mp3',
14
- '/t/a.mp3',
15
- '/t/t.mp3',
16
- '/t/k.mp3'
17
  ];
18
 
19
  // メッセージ受信処理
20
  self.addEventListener('message', (event) => {
21
  if (event.data && event.data.type === 'CACHE_FILES') {
22
- cachedFiles = event.data.files;
 
 
 
 
 
 
 
 
 
 
 
23
 
24
  // 新しいキャッシュリストでキャッシュを更新
25
  event.waitUntil(
@@ -50,7 +48,7 @@ self.addEventListener('activate', event => {
50
  caches.keys().then(keys =>
51
  Promise.all(
52
  keys.map(key => {
53
- if (key !== CACHE_NAME) {
54
  return caches.delete(key);
55
  }
56
  })
@@ -62,10 +60,10 @@ self.addEventListener('activate', event => {
62
 
63
  // フェッチ:ネット優先、失敗時にキャッシュ
64
  self.addEventListener('fetch', event => {
65
- // キャッシュリストにないファイルはキャッシュしない
66
  const url = new URL(event.request.url);
67
  const path = url.pathname;
68
 
 
69
  if (!cachedFiles.includes(path)) {
70
  return fetch(event.request);
71
  }
 
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') {
9
+ cachedFiles = ['/index.html', ...event.data.files]; // index.htmlは常に含める
10
+
11
+ // チェックボックスの状態を保存
12
+ if (event.data.checkboxStates) {
13
+ event.waitUntil(
14
+ caches.open('settings-cache').then(cache => {
15
+ return cache.put(
16
+ new Request('checkbox-states'),
17
+ new Response(JSON.stringify(event.data.checkboxStates))
18
+ })
19
+ );
20
+ }
21
 
22
  // 新しいキャッシュリストでキャッシュを更新
23
  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
  })
 
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
  }