Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 633 Просмотров
*

Аня

  • Завсегдатай
  • *****
  • 659
  • 32
  • Копатыч нестабилен!
Когда делала шаблон с фиксированным верхним меню, столкнулась с проблемой очередности загрузки библиотек. Были у меня варианты скрипта для фиксации элемента, но все они не работали, пока не вписала скрипт, как счетчик, в самый низ шаблона. Я так поняла, что он почему-то из head грузился раньше jquery.min.js
Я знаю, что в Wordpress так и положено делать - все скрипты вписывать в футер. Это нормально для Joomla или здесь есть какой-то подвох? Почему в Joomla обычно скрипты вписываются внутрь <head></head>?
Fatal error - это фатально!!!!
*

flyingspook

  • Профи
  • ********
  • 3610
  • 236
Нету подвоха, скрипты вписываю вниз для ускорения загрузки страницы и стилей. Больше нет причин вписывать их вниз.
Почему в Joomla обычно скрипты вписываются внутрь <head></head>?
Это стандарт, который просто разработчики придерживаются.
В целом каждый сайт индивидуален и загрузка скриптов то же.
*

Аня

  • Завсегдатай
  • *****
  • 659
  • 32
  • Копатыч нестабилен!
Fatal error - это фатально!!!!
*

Филипп Сорокин

  • Практически профи
  • *******
  • 1781
  • 135
Уже давно придумали атрибуты async и defer, благодаря которым скрипты не блокируют рендеринг и загружаются параллельно: хоть вы их в head вставите, хоть в конец body — без разницы.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

Arkadiy

  • Группа развития
  • *****
  • 5342
  • 440
  • Крепитесь, други.
Нельзя скрипты асинхронно подгружать, допустим если не загрузить jQuery, но загрузить его плагин (фансибокс например), то плагин работать не будет.
*

Филипп Сорокин

  • Практически профи
  • *******
  • 1781
  • 135

Нельзя скрипты асинхронно подгружать, допустим если не загрузить jQuery, но загрузить его плагин (фансибокс например), то плагин работать не будет.

Асинхронно нельзя грузить jQuery. А скрипты defer выполняются уже после загрузки страницы и всех синхронных скриптов, прямо перед событием DOMContentLoaded. Вот использовать async в таких случаях действительно опасно. У асинхронной загрузки скриптов в секции head есть огромное преимущество: скрипты загружаются параллельно со всей страницей. А вот если поместить их в конец body, то они только начнут грузиться в конце документа, когда с defer они могли бы уже загрузиться к этому времени и начать выполняться.
« Последнее редактирование: 20.10.2015, 21:03:13 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

Аня

  • Завсегдатай
  • *****
  • 659
  • 32
  • Копатыч нестабилен!
Да, тема приняла несколько тяжеловесный формат. Но это правда интересно. Все-таки футер для скрипта - более надежное место.
Fatal error - это фатально!!!!
*

Филипп Сорокин

  • Практически профи
  • *******
  • 1781
  • 135

Да, тема приняла несколько тяжеловесный формат. Но это правда интересно. Все-таки футер для скрипта - более надежное место.

Так думали лет 10 назад во времена HTML4, сегодня же помещать в футер скрипты не оправдано ни с т.з. целесообразности, ни производительности.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

flyingspook

  • Профи
  • ********
  • 3610
  • 236
Так думали лет 10 назад во времена HTML4, сегодня же помещать в футер скрипты не оправдано ни с т.з. целесообразности, ни производительности.
а если мобильный канал интернета и надо стили изначально подгрузить без потери связи
*

passer

  • Живу я здесь
  • ******
  • 874
  • 70
Так понимаю PageSpeed Insights требует и все. Заказчики, всякие СЕО-шники тоже начинают требовать не особо вдаваясь, а нахрена. Вот и пошла мода.
*

Филипп Сорокин

  • Практически профи
  • *******
  • 1781
  • 135
а если мобильный канал интернета и надо стили изначально подгрузить без потери связи

На мой взгляд, если пользователь сидит в подвале, и у него сайт открывается 5 минут, то тут без разницы, где будут расположены скрипты: в head или в конце body. На скоростях 4G или 3G даже на самых дешёвых тарифах соединение будет достаточно стабильным, чтобы не оборвать загрузку стилей и скриптов. Я как пользователь планшета использую дешёвенький тариф Мегафона и не знаю никаких проблем.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

fsv

  • Практически профи
  • *******
  • 2506
  • 367
если пользователь сидит в подвале...
На скоростях 4G или 3G даже на самых дешёвых тарифах соединение будет достаточно стабильным
из Москвы когда-нибудь выезжали? В Оглухино.
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

Филипп Сорокин

  • Практически профи
  • *******
  • 1781
  • 135
из Москвы когда-нибудь выезжали? В Оглухино.

Допустим. Какое это имеет отношение к вопросу defer vs "скрипты в конце body"? Установите причинно-следственную связь. Ну, если мне не верите, вот Вам чтиво из Stack Overflow, где большинство участников признало подход с помещением скриптов в футер устаревшим.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

flyingspook

  • Профи
  • ********
  • 3610
  • 236
из Москвы когда-нибудь выезжали? В Оглухино.
так в раше кроме мск и нету деревень
мск это и есть раша, за кольцом это уже ближнее зарубежье
 :laugh:
*

passer

  • Живу я здесь
  • ******
  • 874
  • 70
*

Филипп Сорокин

  • Практически профи
  • *******
  • 1781
  • 135
Ага-ага, оценил ваш юмор :), но это уже оффтоп пошёл. А я не вижу никакой логической связи в том, как помещение скриптов в конец body может быть лучше асинхронной загрузки, учитывая, что бОльшая часть времени загрузки скрипта уходит на установление соединения. Это наоборот быстрее, когда соединение при медленном интернете устанавливается асинхронно.
« Последнее редактирование: 21.10.2015, 01:15:35 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг