Service worker nedir — ve nasıl sıkışır
Service worker, bir web sitesinin çevrimdışı çalışmak, bildirim göstermek ve tekrar ziyaretlerde daha hızlı açılmak için tarayıcıya kurduğu betiktir — kurulabilir web uygulamalarının arkasındaki teknoloji budur. Normal bir sayfa betiğinden farklı olarak herhangi bir sekmeden bağımsız çalışır, yeniden başlatmalardan sağ çıkar ve sitenin ağ isteklerini yakalayarak bunlara kendi CacheStorage'ından yanıt verir. Bu yakalama işin özüdür — ve aynı zamanda arıza noktasıdır: site kötü bir güncelleme yaydığında, eski worker bayat paketi sonsuza kadar dağıtabilir.
Klasik belirtiler ilk bakışta tanınır: site geçen ayın düzenine çivilenmiş kalmış, sonsuz bir “yeni sürüm var — yeniden yükle” döngüsü, diğer her şey açılırken çevrimdışı olduğunda ısrar eden bir web uygulaması ya da disk alanının web uygulaması verisiyle sessizce erimesi — yoğun PWA kullanımında Service Worker klasörü yüzlerce megabayta ve ötesine büyür. Kaldırmak güvenlidir: siteye bir sonraki girişinizde worker yeniden kaydolur, tertemiz başlar.
- chrome://serviceworker-internals — her worker'ın yanında Unregister düğmesi bulunan tam kayıt defteri
- DevTools (F12) → Application → Service workers → Unregister — site bir sekmede açıkken
- DevTools → Application → Storage → Clear site data — worker artı önbellek, çerezler, IndexedDB ve local storage tek tıkla
- chrome://settings/content/all — siteyi arayın, verilerini site ayarlarından silin
- Ctrl+Shift+Del ile “Çerezler ve diğer site verileri” artı “Görseller ve önbellekteki diğer dosyalar”, Her zaman olarak — toplu kaldırma
Worker'ı ve deposunu adım adım kaldırma
Adres çubuğuna chrome://serviceworker-internals yazın. Sayfa bu profildeki tüm kayıtları listeler: origin, worker sürümü, çalışma durumu. İlgili siteyi bulun — sayfa içi arama (Ctrl+F) işe yarar — ve satırındaki Unregister'a tıklayın; çalışan worker'ı önce Stop ile durdurabilirsiniz ama Unregister zaten her durumda iş görür. Sitenin sekmelerini kapatın, siteyi yeniden açın ve Ctrl+F5 ile sert yeniden yükleme yapın: worker yokken sayfa doğrudan ağdan gelir.
Diskteki artıkları da temizlemek için siteyi açın, F12'ye basın, Application sekmesine geçin ve Storage altındaki Clear site data'ya tıklayın — bu, worker'ın önbelleğini, sitenin çerezlerini, IndexedDB ve local storage'ı tek hamlede kaldırır. Tüm profil için elle yol: Chrome'u tamamen kapatın (menü → Çıkış, çünkü arka plan uygulamaları onu canlı tutabilir) ve %LOCALAPPDATA%\Google\Chrome\User Data\Default\Service Worker içeriğini silin. Chrome klasörü boş yeniden oluşturur, siteler de gerektiğinde worker'larını yeniden kaydeder.
Kaldırma ne zaman doğru — ve tekrarını nasıl önlersiniz
Tek bir site, normal yeniden yüklemeyle düzelmeyecek biçimde ters gittiğinde önce worker'ı kaldırın, soruları sonra sorun. Toplu sıfırlamalar için — ödünç bir PC, aile üyesine devredilen bir tarayıcı — Her zaman aralığıyla temizleme penceresi artı site ayarları üzerinde bir tur, worker'ları ve depoları topluca kaldırır. Ve unutmayın: kurulan her PWA kendi worker'ını ve kendi deposunu getirir; ne kadar çok web uygulaması kurarsanız bu tür veriler o kadar birikir.
Service worker'ları global kapatan bir ayar yoktur ve gerekmez de — bunlar modern web'in olağan bir parçasıdır. İşe yarayan şey periyodik hijyen: gerçekten kullandığınız web uygulamalarında ara sıra Clear storage ve artık açmadığınız PWA'ları kaldırmak. Kleaner PRO'nun tarayıcı temizliği, service worker depolarını olağan önbelleklerle birlikte kapsar; böylece klasör elle geçişler arasında sessizce gigabaytlara doğru yeniden büyümez.
Sorular ve yanıtlar
Chrome service worker'ları diskte nerede tutar?
%LOCALAPPDATA%\Google\Chrome\User Data\<profil>\Service Worker altında — CacheStorage, ScriptCache ve Database alt klasörlerinde. Chrome kapalıyken içeriği silmek güvenlidir.
DevTools'taki Clear site data neyi siler?
Sitenin service worker kaydını artı cache storage, çerezler, IndexedDB ve local storage'ını — o origin için fiilen fabrika ayarlarına dönüş.
Site güncellendikten sonra neden eski sürümü gösteriyor?
Service worker'ı hâlâ önceden önbelleğe alınmış kopyayı sunuyor. chrome://serviceworker-internals üzerinden worker kaydını kaldırın ve sayfayı yeniden yükleyin.
Satın almadan önce lisans kapsamını öğrenin.
Tek seferlik 30 dakikalık deneme temel araçları kapsar. PRO özellikleri ücretli lisans etkinleştirilene kadar kilitlidir.
Bunları da okuyun
Bize yazın: [email protected]