Update service-worker.js
This commit is contained in:
+9
-7
@@ -1,28 +1,30 @@
|
|||||||
self.addEventListener('install', (event) => {
|
self.addEventListener('install', (event) => {
|
||||||
|
self.skipWaiting(); // Eski service worker'ı beklemeden yeni worker'ı yükle
|
||||||
|
|
||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
fetch('/version.json')
|
fetch('/version.json')
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
.then((versionData) => {
|
.then((versionData) => {
|
||||||
// Versiyon verisini aldıktan sonra, cache'e ekle
|
// Versiyon verisini aldıktan sonra, cache'e ekle
|
||||||
const urlsToCache = Object.keys(versionData).map((file) => {
|
const urlsToCache = Object.keys(versionData).map((file) => {
|
||||||
return `${file}?v=${versionData[file]}`;
|
return `${file}?v=${versionData[file]}`; // Versiyon bilgisi ekleniyor
|
||||||
});
|
});
|
||||||
|
|
||||||
return caches.open('v1').then((cache) => {
|
return caches.open('v2').then((cache) => {
|
||||||
return cache.addAll(urlsToCache);
|
return cache.addAll(urlsToCache); // 'v2' ismi ile cache oluşturuluyor
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
self.addEventListener('activate', (event) => {
|
self.addEventListener('activate', (event) => {
|
||||||
const cacheWhitelist = ['v2']; // Yeni cache ismi
|
const cacheWhitelist = ['v2']; // Yeni cache ismi (örneğin v2)
|
||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
caches.keys().then((cacheNames) => {
|
caches.keys().then((cacheNames) => {
|
||||||
return Promise.all(
|
return Promise.all(
|
||||||
cacheNames.map((cacheName) => {
|
cacheNames.map((cacheName) => {
|
||||||
if (!cacheWhitelist.includes(cacheName)) {
|
if (!cacheWhitelist.includes(cacheName)) {
|
||||||
return caches.delete(cacheName);
|
return caches.delete(cacheName); // Eski cache'leri sil
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@@ -37,8 +39,8 @@ self.addEventListener('fetch', (event) => {
|
|||||||
cachedResponse ||
|
cachedResponse ||
|
||||||
fetch(event.request).then((response) => {
|
fetch(event.request).then((response) => {
|
||||||
const clonedResponse = response.clone();
|
const clonedResponse = response.clone();
|
||||||
caches.open('v1').then((cache) => {
|
caches.open('v2').then((cache) => {
|
||||||
cache.put(event.request, clonedResponse);
|
cache.put(event.request, clonedResponse); // cache'e ekle
|
||||||
});
|
});
|
||||||
return response;
|
return response;
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user