Как я могу отключить JQuery для подключений с низкой пропускной способностью - PullRequest
1 голос
/ 22 января 2011

У меня есть простой веб-сайт , который мало использует jquery, но это не обязательно, поэтому я хотел бы пропустить загрузку jquery, если подключение пользователей медленное.

В идеале яобнаружил бы медленное соединение, но я полагаю, что обнаружение мобильного телефона может быть разумным прокси для этого.

Если это возможно, я бы тогда удалил части страницы, которые используют jquery, и добавил бы их динамически, если jquery загружен.

Варианты, которые я рассмотрел:

  • Проверьте скорость соединения, загрузив маленькое изображение
  • Загрузите jquery, но через тайм-аут или около того (я искалотмена загрузки, но ничего не найдено)
  • Скиньте jquery все вместе и просто напишите нужный мне javascript (хотя, возможно, я ошибусь для некоторых браузеров)
  • Оберните загрузку jquery в некоторый javascript, которыйпроверяет useragent для andriod или iphone
  • Попробуйте использовать css медиа-селекторы для управления загрузкой jquery

но я не уверен, что продолжать.

Кроме того, я не могу использовать уловки на стороне сервера, поскольку это статическая страница (чтобы избежать проблемы холодного запуска appengine).

Ответы [ 2 ]

6 голосов
/ 22 января 2011

Я склонен сказать: забудь об этом.

Любой серьезный тест скорости должен будет передавать больше данных, чем весит библиотека jQuery.

Вы можете предоставить пользователям выбор (например, "открыть низкийпропускной способности веб-сайта ") и сохраните этот выбор в файле cookie.Затем вы можете проверить значение cookie и динамически встраивать или не встраивать jQuery на стороне сервера или использовать JavaScript, как показано в ответе @ banjomonster на этот вопрос .

Кроме этого, япросто идти вперед и включить его.Если вы включите его из CDN Google, скорее всего, он уже есть в браузере пользователя и не требует повторной загрузки.

0 голосов
/ 22 июня 2011

Я согласен с моими предшественниками.Скорее всего, jQuery будет находиться в кэше пользователей, в кэше интернет-провайдеров или очень быстро обслуживаться из CDN, например, из Google.

A> реальный <тест скорости не может быть выполнен в вашем сценарии.(также «нормальный» тест скорости, уменьшение / уменьшение 1МБ очень случайны по своему результату) </p>

Просто взглянув на анализ скорости, вы можете запустить таймер в разделе заголовка страницы и измерить время егопотребовалось, чтобы попасть в событие onLoad / внизу страницы (где вы будете загружать jquery и другие файлы javascript и выполнять их).Временной интервал скажет вам кое-что о скорости.Но это число будет введено в заблуждение пользовательской системой и другими запущенными приложениями (замедляющими скорость выполнения), а также тем, что ваш сервер может быть перегружен и не отвечает как snappy.

Пока я читаю, вы думаете о «отбрасывании»JQuery все вместе и просто написать Javascript, который вам нужен ".Я хотел бы отметить, что Google Closure Compiler просматривает весь ваш код и функционирует, как вы используете, и удаляет все функции, которые вам никогда не нужны, значительно уменьшая ваш код !!Кроме того, я хотел бы рассмотреть возможность использования Zepto вместо jQuery - он имеет тот же набор функций, что и jquery, с гораздо меньшим размером (но поддерживает только современный браузер).И это написано Томасом Фуксом (Script.acolo.us Fame), который является бредом, как Джон Резиг (jQuery):)

...