У меня есть критический CSS-процесс, который предотвращает флеш-unstyled-контент (FOUC) для содержимого страницы, превышающего фолд.
Я застрял на 'отложить неиспользованный CSS'Это момент, который подчеркивают идеи Google PageSpeed (маяк) и / или Аудит эффективности Chrome.
Я просмотрел другие статьи, но они не работают.
Подводя итог, я попыталсяпока что.
- loadCSS ()
- Скрипт, использующий requestAnimationFrame
Ссылка: Оптимизация доставки CSS: Как отложить загрузку CSS?
Если я задержу загрузку скрипта с помощью setTimeout
на фиксированное время, равное 3 секундам, проблема «отложить неиспользуемый CSS» исчезнет.3 секунды - это то, что нужно для теста Google PageSpeed Insights (для мобильных устройств), поскольку они являются более медленными устройствами, но 3 секунды - это много для настольных компьютеров, которые обычно имеют большую вычислительную мощность (обратите внимание, не всегда верно, следовательно, исключая логику на основе агента пользователя).
Таким образом, вопрос сводится к тому, как мне отложить загрузку CSS на наименьшее количество времени, независимо от типа устройства или характеристик.
Не стесняйтесь выдвигать любые грубые идеи, я попробую ихи сообщите, если ваша идея сработает, мы обновим код и отметим, что в вашем ответе есть выбранный.
Следующим в моем списке, чтобы попробовать, является requestAnimationFrame
+ небольшая фиксированная задержка.