Есть стандартная задача - оптимизировать загрузку CSS.
Есть ужатый (/static/CACHE/css/1f37a94c2ab5.css)
и есть пару шрифтов, которые загружаются извне.
Со шрифтами я решил так:
<noscript id="deferred-styles">
<link type="text/css" rel="stylesheet" href="{% static 'css/pe-icon-7-stroke.css' %}">
<link type="text/css" rel="stylesheet" href="https://opensource.keycdn.com/fontawesome/4.7.0/font-awesome.min.css" integrity="sha384-dNpIIXE8U05kAbPhy3G1cz+yZmTzA6CY8Vg/u2L9xRnHjJiAK76m2BIEaSEV+/aU" crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Pacifico" >
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,500,700">
</noscript>
и такой скрипт:
<script>
var loadDeferredStyles = function() {
var addStylesNode = document.getElementById("deferred-styles");
var replacement = document.createElement("div");
replacement.innerHTML = addStylesNode.textContent;
document.body.appendChild(replacement)
addStylesNode.parentElement.removeChild(addStylesNode);
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });
else window.addEventListener('load', loadDeferredStyles);
</script>
Но проблему это не решило. PageSpeed Insights ругается на ужатый файл, т.к. он не обрабатывается этим скриптом.
Но если я засуну и ужатый CSS в <noscript></noscript>
, то ругаться будет на все CSS подключения, и при этом есть явная проблема с отрисовкой стилей - сперва загружается белая html
страница без стилей, а затем происходит отрисовка.
Подскажите, как это решить правильно?
Заранее спасибо.
Благодаря подсказке @Andrey Fedorov удалось решить проблему, правда частично, следующим образом:
<head></head>
1f37a94c2ab5.css
разместил перед , окружив <noscript></noscript>
P.S. Так же, на сайте по ссылке есть готовый скрипт, куда нужно вставить линк к *.css, чтобы всё работало как надо.
P.P.S. Теперь ругается на тот же минифицированный файл, но только на десктопе. На мобиле всё отлично.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте! Неожиданно проявилась такая проблема - на мобильном Леново старой модели шрифт на сайте отображается не корректно
Читал в статье что при создании формы никогда не надо label заменяйте на placeholder, это важное дополнение, но никак не заменаПочему так? Вёдь при...
Добрый день коллегиВозник вопрос, есть массив ID юзеров По ним необходимо получить массив соответсвующих первому массиву значений в таблице...