Есть стандартная задача - оптимизировать загрузку 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. Теперь ругается на тот же минифицированный файл, но только на десктопе. На мобиле всё отлично.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Здравствуйте! Неожиданно проявилась такая проблема - на мобильном Леново старой модели шрифт на сайте отображается не корректно
Читал в статье что при создании формы никогда не надо label заменяйте на placeholder, это важное дополнение, но никак не заменаПочему так? Вёдь при...
Добрый день коллегиВозник вопрос, есть массив ID юзеров По ним необходимо получить массив соответсвующих первому массиву значений в таблице...