Рабочий блок 3: возможно ли изменить HTML ответа перед его возвратом? - PullRequest
0 голосов
/ 25 февраля 2019

Пользователи могут выбрать использование темной темы, которая добавит класс «темной темы» к элементу BODY.

Проблема в том, что страницы будут кэшироваться с присутствующим этим классом, и если пользователь отключитТемная тема, кэшированные страницы по-прежнему возвращаются с классом темной темы.

Возможно ли удалить этот класс из кэшированных страниц непосредственно перед тем, как Workbox отправит кэшированную страницу обратно в браузер?

IЯ проверяю, применена ли правильная тема, когда DOM готов, если нет, то она уберет или добавит класс "dark-theme".Это изменение видно пользователю, поэтому я ищу другое решение.К сожалению, я не могу использовать Ajax для загрузки страницы и обновления только содержимого.

Я использую Workbox 3.6.1.Это соответствующий код на моем service-worker.js

workbox.routing.registerRoute(
        new RegExp('/article/'),
        async ({
            event
        }) => {
            try {
                return await workbox.strategies.networkFirst({
                    cacheName: 'articles'
                }).handle({
                    event
                });
            } catch (error) {
                return caches.match(OFFLINE_PAGE);
            }
        }
    );
...