Update service-worker.js

This commit is contained in:
FURK4NGG
2025-03-04 14:49:51 +03:00
committed by GitHub
parent 5724bba04c
commit 1d8e251fea
+18 -56
View File
@@ -1,5 +1,5 @@
const CURRENT_VERSION = 'v75'; // Güncel versiyon
const CACHE_NAME = cache-v${CURRENT_VERSION}; // Cache ismi 'cache-vX' formatında
const CURRENT_VERSION = 'v76'; // Güncel versiyon numarasını belirleyin
const CACHE_NAME = `cache-${CURRENT_VERSION}`;
const urlsToCache = [
'/',
@@ -38,83 +38,45 @@ const urlsToCache = [
'/.htaccess.txt'
];
// Install event - Cache dosyalarını ekle
// Install event - Cache dosyalarıkle
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => {
console.log( Caching files for version: ${CURRENT_VERSION});
return cache.addAll(urlsToCache); // Tüm dosyaları cache'e ekle
console.log(`✅ Caching files for version: ${CURRENT_VERSION}`);
return cache.addAll(urlsToCache);
})
);
});
// Fetch event - İnternetten dosya al, yoksa cache'den al
// Fetch event - Cache'deki dosyaları kullan, yoksa ağdan al
self.addEventListener('fetch', event => {
event.respondWith(
fetch(event.request)
.then(response => {
// Eğer internetten başarılı bir şekilde dosya alındıysa
if (!response || response.status !== 200 || response.type !== 'basic') {
return response; // Geçerli değilse, direkt döndür
}
// Cache'e yeni dosyayı ekleyelim
caches.open(CACHE_NAME).then(cache => {
cache.match(event.request).then(cachedResponse => {
// Yeni versiyon, eski versiyondan büyükse eski cache'i silip yeni cache'i ekle
if (parseInt(CURRENT_VERSION.replace('v', ''), 10) > parseInt(CACHE_NAME.replace('cache-v', ''), 10)) {
console.log(🚨 New version found. Updating cache...);
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheName.startsWith('cache-v') && cacheName !== CACHE_NAME) {
console.log(🗑 Deleting old cache: ${cacheName});
return caches.delete(cacheName); // Eski cache'i sil
}
})
);
}).then(() => {
// Yeni versiyon cache'i ekle
cache.put(event.request, response.clone());
});
}
});
});
// Yeni versiyonlu cache'i döndür
return response;
})
.catch(() => {
// Eğer offline durumdaysak, cache'den döndür
return caches.match(event.request).then(cachedResponse => {
if (cachedResponse) {
console.log('🗂 Offline - Serving from cache');
return cachedResponse; // Cache'den döndür
}
// Cache'de de yoksa, 404 sayfasını döndür
return caches.match('/404.html');
});
caches.match(event.request).then(response => {
return response || fetch(event.request);
})
);
});
// Activate event - Eski cache'leri sil ve yeni cache'i aktif et
// Activate event - Eski cache'leri sil ve yeni cache'i ekle
self.addEventListener('activate', event => {
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheName.startsWith('cache-v') && cacheName !== CACHE_NAME) {
console.log(🗑 Deleting old cache: ${cacheName});
return caches.delete(cacheName); // Eski cache'i sil
const cacheVersion = parseInt(cacheName.replace('cache-v', ''), 10);
const incomingVersion = parseInt(CURRENT_VERSION.replace('v', ''), 10);
// Yeni versiyon daha büyükse eski cache'leri sil ve yeni cache'i ekle
if (cacheName.startsWith('cache-') && cacheVersion !== incomingVersion) {
console.log(`🗑️ Deleting old cache: ${cacheName}`);
return caches.delete(cacheName);
}
})
);
}).then(() => {
console.log( Cache updated to version: ${CURRENT_VERSION});
return self.clients.claim(); // Yeni cache versiyonunu hemen aktif et
console.log(`✅ Cache updated to version: ${CURRENT_VERSION}`);
return self.clients.claim(); // Yeni cache'i aktif et
})
);
});