Перейти к содержанию
Форум поддержки пользователей VamShop

Загрузка стилей опаздывает


Рекомендуемые сообщения

Сразу скажу - инет ни при чем, из десятка проверенных в данный момент сайтов только мой ведет себя со стилями так.
Загрузка опаздывает секунды за 3-4, выглядит не очень презентабельно.
Шаблон стандартный, не видоизменялся еще никак.

DSC_0930-11111.thumb.jpg.3d8f26ea8f3a761

Изменено пользователем wcp
Ссылка на сообщение
Поделиться на другие сайты

Как говорится, это не баг, это фича.

Это сделано специально, что б не тормозилась загрузка сайта, в том числе на мобилках.

3-4 секунды это конечно слишком много, должно быть практически моментально, может у Вас есть какие-то внешние скрипты на странице.

Ссылка на сообщение
Поделиться на другие сайты

У меня по ссылке http://flora-delivery.ru/ открывается всё быстро.

Только логотип не отображается.

Дело в том, что по умолчанию добавлен скрипт, что стили не сразу грузятся, не в первом-втором запросе, а чуть позже, на быстром интернете это незаметно, а на медленном компе/интернете вот может быть такое, о чём Вы пишите, т.е. сначала Вы видите просто html домекунт без стилей и потом как доходит очередь для загрузки стилей - всё раскрашивается стилями.

Я бы оставил как есть, т.е. главная цель - не тормозить загрузку сайта, если загрузить сразу стиль, то будет тормоз в загрузке именно из-за обработки css.

Это всё рекомендации гугла для быстрых сайтов, т.е. выполнены все рекомендации, я вот тут писал - http://blog.vamshop.ru/2015/06/20/100-баллов-из-100-возможных-в-тесте-googe-pagespeed-insights/

Вот отложенная загрузка стилей - это один из шагов для достижения 100 процентов.

Убрать то отложенную загрузки не сложно, достаточно в /app/Vendor/Bender/Bender.class.php поменять:

                //return '<link href="' . $this->get_src( $output ) . '" rel="stylesheet" type="text/css"/>';
                return '<script id="loadcss">function loadCSS(e,n,o,t){"use strict";var d=window.document.createElement("link"),i=n||window.document.getElementsByTagName("script")[0],r=window.document.styleSheets;return d.rel="stylesheet",d.href=e,d.media="only x",t&&(d.onload=t),i.parentNode.insertBefore(d,i),d.onloadcssdefined=function(e){for(var n,o=0;o<r.length;o++)r[o].href&&r[o].href===d.href&&(n=!0);n?e():setTimeout(function(){d.onloadcssdefined(e)})},d.onloadcssdefined(function(){d.media=o||"all"}),d}loadCSS("' . $this->get_src( $output ) . '", document.getElementById("loadcss"));</script><noscript><link href="' . $this->get_src($output) . '" rel="stylesheet"></noscript>';    

на:

                return '<link href="' . $this->get_src( $output ) . '" rel="stylesheet" type="text/css"/>';
                //return '<script id="loadcss">function loadCSS(e,n,o,t){"use strict";var d=window.document.createElement("link"),i=n||window.document.getElementsByTagName("script")[0],r=window.document.styleSheets;return d.rel="stylesheet",d.href=e,d.media="only x",t&&(d.onload=t),i.parentNode.insertBefore(d,i),d.onloadcssdefined=function(e){for(var n,o=0;o<r.length;o++)r[o].href&&r[o].href===d.href&&(n=!0);n?e():setTimeout(function(){d.onloadcssdefined(e)})},d.onloadcssdefined(function(){d.media=o||"all"}),d}loadCSS("' . $this->get_src( $output ) . '", document.getElementById("loadcss"));</script><noscript><link href="' . $this->get_src($output) . '" rel="stylesheet"></noscript>';    

т.е. закоментировать текущую строку и раскомментировать следующую.

 

Но как я говорил выше, это не баг - а фича, я бы не убирал.

 

Изменено пользователем VaM
Ссылка на сообщение
Поделиться на другие сайты

Нууу.... в принципе, почти убедили ) Нужно только заставить себя поверить, что ничего страшного в том, что магазин сначала без стилей является взору

Ссылка на сообщение
Поделиться на другие сайты

На этот случай я Вам написал как вернуть стандартную загрузку стилей.

Делайте как считаете нужным.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...