Как стать автором
Обновить

Комментарии 3

После этого браузер, запустивший установку сервис-воркера, переходит в фоновый режим:

???

О, опять вылез на эту статью через google!


А что, меня одного смущает, что "браузер переходит в фоновый режим"? С какого перепуга ему уходить в фон? Запустил процесс установки и пошагал дальше в своём обычном темпе. Поставьте вывод на консоль перед и после запуска регистрации service worker'а и убедитесь сами:


window.addEventListener('load', () => {
    // регистрируем сервис-воркер
    console.log("Before registration");
    navigator.serviceWorker
        .register('/service-worker.js')
        .then(registration => {
            // регистрация прошла успешно
            console.log(`Сервис-воркер успешно зарегистрирован, scope: ${registration.scope}`) // scope - подмножество контента, которое находится под контролем сервис-воркера
        })
        .catch(error => {
            // регистрация провалилась
            console.log(`В процессе регистрация возникла ошибка: ${error}`)
        });
    console.log("After  registration");
});

вот вывод на консоль:


index.html:8 Сервис-воркер поддерживается
index.html:13 Before registration
index.html:24 After  registration
service-worker.js:8 Сервис-воркер установлен
index.html:18 Сервис-воркер успешно зарегистрирован, scope: https://some.host.com/
service-worker.js:13 Сообщение от сервис-воркера: файлы кешируются

Посмотрел оригинал:


Once done, the browser that starts the service worker installation steps into the background.

Не знаю, что хотел сказать оригинальный автор этим, но браузер ни в какой background не переходит. Основной поток отпочковал отдельный поток для service worker'а, в браузере получилось два потока. Я поставил точки останова в скрипте вызова регистрации service worker'а (в index.html) и в самом service worker'е:


self.addEventListener("install", e => {
    console.log("Сервис-воркер установлен")
    debugger;
    e.waitUntil(
...

и оба потока независимо оттормозились:


Что у нас в фон ушло-то?

Once done, the browser that starts the service worker installation steps into the background.

Походу, дошло, что хотел сказать автор оригинала: "… steps it into the background". Процесс инсталляции service worker'а уходит в фон. Не браузер уходит в фон, а service worker. В этом уже есть какой-то смысл.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории