JavaScript ServiceWorker.scriptURL — адреса скрипта робітника


Властивість scriptURL повертає адресу файлу сервісного робітника.

автор: NagarD

Загальний опис

Вона важливіша, ніж здається, бо від розташування файлу залежить область дії робітника.

Робітник із /sw.js контролює весь сайт. Робітник із /js/sw.js — лише /js/ і нижче, і жодні налаштування цього не змінять без спеціального заголовка від сервера.

Саме тому файл робітника майже завжди кладуть у корінь. «Робітник чомусь не перехоплює запити» — це в дев'яти випадках із десяти саме ця помилка.

автор: NagarD

Нотатка

Область дії робітника не може бути ширшою за теку, у якій лежить його файл. Це найчастіша причина «робітник зареєструвався, але нічого не робить».

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
scriptURL 45+ 44+ 11.1+ 32+ 17+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
scriptURL 45+ yes yes 11.3+

Приклади

+ запропонувати свій приклад у пісочниці

Розташування файлу вирішує, що робітник контролює.

// top-level await працює лише в модулях — тут той самий код в async-функції
(async () => {
    const registration = await navigator.serviceWorker.ready;

    console.log(registration.active.scriptURL); // 'https://css.in.ua/sw.js'
    console.log(registration.scope);            // 'https://css.in.ua/'

    // а якби файл лежав у /js/sw.js:
    //   scope був би 'https://css.in.ua/js/'
    //   і головна сторінка лишилась би без кешу
})();
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід