Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/13/2015 in all areas

  1. Кстати, есть интересная книжечка, переведённая на русский язык. Вдруг чем-то поможет!
    2 points
  2. @Great Rash, знаешь, я бы с тобой согласился бы, если бы не имел личного опыта в течении последнего года пользования не стабильным интернетом. а исходя из этого могу утверждать, что если файлы грузятся не только с текущего, а и с других (например шрифты гугла), но страница может не отобразится вообще, даже если будет загружена на 90%. Так же размер CSS очень часто переваливает за 10КБ. Лог grunt типичного проекта (да, тут много мусора, но не настолько что бы влезть в 10КБ): File skin/frontend/default/fun/build/css/styles.min.css created: 316.63 kB → 217.43 kB → 43.14 kB (gzip)По теме: 1) <img /> грузится после onDocumentLoaded, асинхронно 2) все что в CSS -- будет грузится после загрузки самого CSS, асинхронно 3) любой скрипт в <body> будет блокировать загрузку, если он не async Если интересна тему асинхронной последовательной загрузки скриптов -- гуглить в сторону LABjs ( https://github.com/getify/LABjs ) Если в коде встречается "inline script", например, jQuery, то он выдаст ошибку, так как отработает до загрузки jQuery. Решается это созданием "очереди", например так: В <head> создаем переменную для очереди. <?php // INIT jQuery Queue ?><script type="text/javascript">var queue=[];</script>Потом в <body> вместо обычного .ready() можно описать так: <script type="text/javascript"> queue.push(function($){ // code here });</script>В Футере, в свою очередь, запускаем все что в очереди поочередно так: <script type="text/javascript"> domready(function(){ $LAB.script("<?php echo $this->getSkinUrl("build/js/jquery.min.js"); ?>").wait(function(){ <?php // Run jQuery scripts ?> try { jQuery(function(){ while (queue.length){queue.shift()(jQuery)} }) } catch (e) { console.log(e) } }) });</script>про ф-ю domready() можно почитать тут: https://github.com/ded/domready CSS, кстати, тоже можно грузить асинхронно при помощи loadCss. А в тех случаях когда CSS файл "жирный", то поможет criticalCss для пользователей, у которых нет стилей в кеше. Для шрифтов существует webFontLoader. Так же, в идеале, добится картинки, когда пользователь грузит с сервера самодостаточный HTML файл, в котором уже есть стили (criticalCss), сумарным весом не более 14КБ (первый запрос на сервер равен 10 пакетам по 1.4 КБ) в сжатом виде -- В таком случае получив только HTML пользователь уже взаимодействует со страницей, в то время как в фоне грузятся остальные ресурсы.
    1 point
  3. Они должны удалятся. ищите лучше Как костыль - jQuery вам в помощь на свои линки вешаете класс например not_remove И в header $(" link:not(.not_remove)").remove()
    1 point
  4. Пока не загрузится файл стилей юзер вообще не должен увидеть страницу. Но это маловероятно (если только при очень медленном интернете вроде GPRS на мобиле), т.к. файл стилей очень редко весит больше десятка килобайт. Если в стилях встречаются картинки, то грузиться они будут уже после того как отрендерится страница. А вообще я рекомендую вам пройти в инструменты разработчика (F12 практически в любом браузере), открыть там профилировщик и посмотреть когда и какие запросы к серверу отправляются. Любые медиа-файлы (картинки, флеш и т.п.) грузятся асинхронно.
    1 point
  5. скрипты лучше подключать асинхронно. Насколько я знаю блокироваться загрузка страницы если браузер встретит те тэги не будет.
    1 point
  6. все файлы находящиеся в body грузятся после отображения body все в head грузится до отображения
    1 point
  7. Обычно свободен вечером 18:00-22:00, в субб и воскр возможно свободное время днем. Договариваться лучше заранее за 6-12 часов до партии. Но так же возможны спонтанные игры, свободное время может найтись всегда .
    1 point
This leaderboard is set to Kiev/GMT+02:00
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy