я бегу Google PageSpeed Insights на моем сайте - www.gpsheatmap.com, и он предложил изменить загрузку моих таблиц стилей (https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery#example) из -CSS Оптимизация и PageSpeed Insights
<link href="/static/css/landing-page.css" rel="stylesheet">
To -
<script>
var cb = function() {
var l = document.createElement('link');
l.rel = 'stylesheet';
l.href = '/static/css/landing-page.css';
var h = document.getElementsByTagName('head')[0];
h.parentNode.insertBefore(l, h);
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(cb);
else window.addEventListener('load', cb);
</script>
Я попробовал это для своих таблиц стилей, и это заметно изменило загрузку, поэтому вы увидите представление pre-css, а затем через секунду вы увидите, что применяемая таблица стилей. Это было в firefox
Должен ли я игнорировать этот подход или это можно устранить?
смотреть на [это] (http://stackoverflow.com/a/35691921/3828573) – Shayan
CSS и JS файлы будут храниться в кэше после 1-й нагрузки, так что я не думаю, что запуск сценария, чтобы загрузить это делает любая разница. если все это будет быстрее, если вы сохраните файл css в локальном хранилище - https://www.smashingmagazine.com/2014/09/improving-smashing-magazine-performance-case-study/ – Tasos
Я думаю, что это реальное дерьмо, рекомендованное google. Загружать CSS, когда DOM готов с помощью функции javascript, действительно раздражает. И это создает проблему, о которой говорит farrellmr: вы увидите применение стилей позже. Почему google рекомендует этот вид крэпса? Это не первое, что рекомендует Google, когда это дерьмо (используйте префиксы '-webkit-' для всех функциональных возможностей, которые вам нужны, например) –