Що таке service worker і як він застрягає
Service worker — це скрипт, який сайт установлює в браузер, щоб працювати офлайн, показувати повідомлення й завантажуватися швидше при повторних візитах; на ньому тримаються веб-застосунки, що встановлюються. На відміну від звичайного скрипту сторінки, він працює незалежно від вкладки, переживає перезапуск браузера та перехоплює мережеві запити сайту, відповідаючи на них зі власного CacheStorage. Це перехоплення — і суть затії, і її вада: коли сайт викладає невдале оновлення, старий воркер може вічно роздавати застарілу збірку.
Класичні симптоми видно зразу: сайт намертво показує дизайноминулого місяця, безкінечний цикл «доступна нова версія — оновіть сторінку», веб-застосунок запевняє, що він офлайн, поки решта відкривається, або місце на диску тихо йде під дані веб-застосунків — при активному використанні PWA тека Service Worker розростається до сотень мегабайт і більше. Видалення безпечне: під час наступного візиту сайт просто зареєструє воркера заново, з чистого аркуша.
- chrome://serviceworker-internals — повний реєстр воркерів із кнопкою Unregister біля кожного
- DevTools (F12) → Application → Service workers → Unregister — поки сайт відкритий у вкладці
- DevTools → Application → Storage → Clear site data — воркер плюс кеш, cookie, IndexedDB і local storage однією кнопкою
- chrome://settings/content/all — знайти сайт і видалити його дані через налаштування сайтів
- Ctrl+Shift+Del із «Файли cookie та інші дані сайтів» і «Зображення та інші файли в кеші» за «за весь час» — масове видалення
Видалення воркера і його сховища покроково
Наберіть в адресному рядку chrome://serviceworker-internals. Сторінка покаже всі реєстрації цього профілю: джерело, версію воркера, статус. Знайдіть потрібний сайт — допоможе пошук сторінки (Ctrl+F) — і натисніть Unregister у його рядку; працюючого воркера можна спершу зупинити кнопкою Stop, але Unregister спрацює і так. Закрийте вкладки сайту, відкрийте його знову і зробіть жорстке перезавантаження через Ctrl+F5: без воркера сторінка прийде просто з мережі.
Щоб прибрати й сліди на диску, відкрийте сайт, натисніть F12, перейдіть на вкладку Application і в розділі Storage натисніть Clear site data — це разом видалить кеш воркера, cookie сайту, IndexedDB і local storage. Ручний шлях для цілого профілю: повністю закрийте Chrome (меню → «Вихід», адже фонові застосунки можуть його тримати) і видаліть вміст %LOCALAPPDATA%\Google\Chrome\User Data\Default\Service Worker. Chrome перестворить порожню теку, а сайти зареєструють воркерів знову за потреби.
Коли видалення — правильний хід і як не допустити повторення
Знімайте воркера першим ділом, коли один конкретний сайт поводиться так, як звичайне перезавантаження не лікує. Для тотального прибирання — чужий комп'ютер, браузер, що передається членові родини, — діалог очищення «за весь час» плюс прохід налаштуваннями сайтів зносить воркерів і сховища скопом. І пам'ятайте: кожен установлений веб-застосунок приносить власного воркера і власне сховище — чим більше PWA установлено, тим більше таких даних накопичується.
Глобально вимкнути service workers не можна, та й не потрібно — це нормальна частина сучасного вебу. Допомагає періодична гігієна: часом Clear storage для веб-застосунків, якими ви справді користуєтесь, і видалення PWA, які ви більше не відкриваєте. Планове чищення Kleaner PRO захоплює сховища service workers разом зі звичайними кешами, і тека не відростає потроху до гігабайтів між ручними проходами.
Питання та відповіді
Де Chrome зберігає service workers на диску?
У %LOCALAPPDATA%\Google\Chrome\User Data\<профіль>\Service Worker — підтеки CacheStorage, ScriptCache і Database. Видаляти вміст при закритому Chrome безпечно.
Що видаляє кнопка Clear site data у DevTools?
Реєстрацію service worker сайту плюс його cache storage, cookie, IndexedDB і local storage — фактично фабричне скидання для цього джерела.
Чому сайт показує стару версію після оновлення?
Його service worker усе ще роздає раніше закешовану копію. Зніміть воркера через chrome://serviceworker-internals і перезавантажте сторінку.
Перевірте склад ліцензії до покупки.
Разовий 30-хвилинний тест охоплює базові функції. Інструменти з позначкою PRO залишаються заблокованими до активації платної ліцензії.
Читайте також
Написати нам: [email protected]