2016-07-01 2 views
0

У меня возникли проблемы с файлами defer и async js. Мой сайт загружает библиотеки JQuery и JQuery-UI, и они являются большими файлами даже .min-файлов. Когда я перемещаю эти библиотеки в нижней части веб-сайта или просто откладываю - асинхронируя их, мой сайт перестает отображать большинство элементов, для примерУлучшение скорости веб-сайта отсрочки JS

  • выбор2 плагин не работает на мобильных телефонах
  • Jquery диапазон слайдера не перетаскивая
  • Некоторые другие пользовательские элементы, такие как бесконечной нагрузки не работают, а

так Я пытаюсь улучшить скорость своего сайта, но те 2 библиотеки делают блокаторы, и с ними я получил только 53 рейтинга на странице PageSpeed ​​Insights.

Так что еще один способ заставить сайт работать быстрее - это слияние (объединить) JS-файлов, но после того, как сайт комбайна также перестает рендеринг, так что, я думаю, только некоторые из них могут быть объединены. Может ли кто-нибудь помочь мне решить эту проблему? Ниже я дам список всех JS, который используется на моем сайте

jquery-2.1.1.min.js 
greensock.js 
layerslider.transitions.js (actually trying to find some lightweight alternative) 
layerslider.kreaturamedia.jquery.js 
jquery-ui.min.js 
jquery.ui.touch-punch.min.js 
select2.min.js 
jquery.tooltipster.min.js 
bootstrap.min.js 
placeholders.js 
jquery.magnific-popup.min.js 
owl.carousel.min.js 
html5shiv.js 

Что я уже сделал

  • Browser Caching - На
  • GZip на лету - На

    1. Итак, главный вопрос заключается в том, как переместить jquery на нижнюю часть без потери функциональности
    2. Какие библиотеки я могу объединить, чтобы уменьшить HTTP запросы

ответ

1

В дополнении к тому, что @ Dr.Web сказал, что вы также можете объединить их в один файл и убедитесь, что код плагиной добавляется в нижней части JQuery

1

Пожалуйста, обратите внимание, что используется асинхронное ДАВАЙТЕ браузер знаю, что сценарий может быть загружен асинхронно и не обязательно в порядке. Это открывает проблемы при попытке загрузить скрипт async, который имеет несколько зависимостей. В этом случае вы должны загрузить jQuery в нижнем колонтитуле без атрибута async и загрузить jQueryUI с использованием атрибута async.

Ссылка: Source