soiz1 commited on
Commit
8639b99
·
1 Parent(s): 9844dd5

Update service-worker.js

Browse files
Files changed (1) hide show
  1. service-worker.js +9 -4
service-worker.js CHANGED
@@ -15,7 +15,6 @@ self.addEventListener('install', (event) => {
15
  );
16
  });
17
 
18
- // メッセージ受信処理
19
  self.addEventListener('message', (event) => {
20
  if (event.data && event.data.type === 'CACHE_FILES') {
21
  cachedFiles = ['/index.html', ...event.data.files]; // index.htmlは常に含める
@@ -40,9 +39,14 @@ self.addEventListener('message', (event) => {
40
  console.log('すべてのファイルがキャッシュされました');
41
  // 既存のキャッシュから不要なファイルを削除
42
  return cache.keys().then(keys => {
43
- const cachedUrls = keys.map(request => request.url.replace(self.location.origin, ''));
44
- cachedUrls.forEach((url, index) => {
45
- if (!cachedFiles.includes(url)) {
 
 
 
 
 
46
  cache.delete(keys[index]);
47
  }
48
  });
@@ -56,6 +60,7 @@ self.addEventListener('message', (event) => {
56
  }
57
  });
58
 
 
59
  // フェッチイベントの処理
60
  self.addEventListener('fetch', (event) => {
61
  event.respondWith(
 
15
  );
16
  });
17
 
 
18
  self.addEventListener('message', (event) => {
19
  if (event.data && event.data.type === 'CACHE_FILES') {
20
  cachedFiles = ['/index.html', ...event.data.files]; // index.htmlは常に含める
 
39
  console.log('すべてのファイルがキャッシュされました');
40
  // 既存のキャッシュから不要なファイルを削除
41
  return cache.keys().then(keys => {
42
+ // キャッシュ内のURLからoriginを除去し、クエリも除いてパスのみ取得
43
+ const cachedPaths = keys.map(request => {
44
+ const urlObj = new URL(request.url);
45
+ return urlObj.pathname;
46
+ });
47
+
48
+ cachedPaths.forEach((path, index) => {
49
+ if (!cachedFiles.includes(path)) {
50
  cache.delete(keys[index]);
51
  }
52
  });
 
60
  }
61
  });
62
 
63
+
64
  // フェッチイベントの処理
65
  self.addEventListener('fetch', (event) => {
66
  event.respondWith(