Spaces:
Running
on
Zero
Running
on
Zero
const CACHE_NAME = 'pawmatch-v1'; | |
// 需要快取的檔案清單 | |
const urlsToCache = [ | |
'./', | |
'./manifest.json', | |
'./assets/icon-192.png', | |
'./assets/icon-512.png' | |
]; | |
// 安裝 Service Worker | |
self.addEventListener('install', event => { | |
event.waitUntil( | |
caches.open(CACHE_NAME) | |
.then(cache => { | |
console.log('快取開啟成功'); | |
return cache.addAll(urlsToCache); | |
}) | |
.catch(error => { | |
console.error('快取檔案失敗:', error); | |
}) | |
); | |
}); | |
// 處理檔案請求 | |
self.addEventListener('fetch', event => { | |
event.respondWith( | |
caches.match(event.request) | |
.then(response => { | |
// 如果在快取中找到檔案,就回傳快取的版本 | |
if (response) { | |
return response; | |
} | |
// 否則發送網路請求 | |
return fetch(event.request); | |
}) | |
.catch(error => { | |
console.error('讀取檔案失敗:', error); | |
return fetch(event.request); | |
}) | |
); | |
}); |