Перейти к содержанию
Esox

205 kb джава монстр - как уменьшить?

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

Добрый вечер.

 

Вопрос слегка необычный, но все же отважусь спросить.

 

при загрузке страницы в браузер ползет вот это чудовище:

 

catalog/view/javascript/jquery/ui/jquery-ui-1.8.16.custom.min.js

 

весит оно 205 kb. Отвечает как я понял это вывод меню категорий.

 

Вопрос: Там действительно эти 205 kb джавы нужны?

Поделиться сообщением


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

Добрый вечер.

 

Вопрос слегка необычный, но все же отважусь спросить.

 

при загрузке страницы в браузер ползет вот это чудовище:

 

catalog/view/javascript/jquery/ui/jquery-ui-1.8.16.custom.min.js

 

весит оно 205 kb. Отвечает как я понял за меню.

 

Вопрос: Там действительно эти 205 kb джавы нужны?

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

Поделиться сообщением


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

при этом я посмотрел, у всех эта дрянь тащится (((

Поделиться сообщением


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

1. Здесь нет никакой джавы.

2. Такие вещи обычно прекрасно кешируются броузерами и повторно не качаются на каждой странице

Поделиться сообщением


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

 - пользователь не будет грузить при каждом посещении эти 205Кб так как есть кеш браузера. 

- на сайте jquery ui есть конструктор, можно собрать свой файл, включить туда только все необходимое. Так как по умолчанию опенкарт наверное в этот файл пихает полную комплектацию, а там и прогресс бар и дата пикер  и слайдер, аккордеон и разные драгабле, селектабле и куча эффектов итд. А в каталоге возможно используются только табы и выбор даты для опций в карточке товара. А все остальное не используется. Но нужно смотреть по коду, возможно еще что-то используется. 
Но не стоит также забывать что то что не использует движок могут использовать модули, например один мой модуль использует автокомплит. 

Поделиться сообщением


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

Так как по умолчанию опенкарт наверное в этот файл пихает полную комплектацию

Вряд ли полную. Или полную? Зачем тогда отдельно лежит папка с jquery сценариями: catalog\view\javascript\jquery\ui\minified\ ?

По САБЖ: Олдскульный вопрос. Последние 5-8 лет уже не актуально. Но если хотите ускорить загрузку сайта или снизить кол-во трафика за счет файла jquery-ui-1.8.16.custom.min.js  - воспользуйтесь репозиторием Google. Вот только я не уверен, что там есть Jquery Ul и мне кажется, что слово custom в названии файла указывает на уникальность OpenCart'овской сборки.

Поделиться сообщением


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

Query UI позволяет собирать произвольную конфигурацию виджетов, компонентов, эффектов и прочего

http://jqueryui.com/download/

 

сам думал над этим, в некоторых темах видел, что подключат только часть jQuery UI, но нет времени разбираться какие именно используются в движке. точно знаю, что filter pro использует jQuery UI Slider

Поделиться сообщением


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

Так как по умолчанию опенкарт наверное в этот файл пихает полную комплектацию

Вряд ли полную. Или полную? Зачем тогда отдельно лежит папка с jquery сценариями: catalog\view\javascript\jquery\ui\minified\ ?

 

Вот что входит в этот файл:

 

 
/*
 * jQuery UI 1.8.16
 * jQuery UI Widget 1.8.16
 * jQuery UI Mouse 1.8.16
 * jQuery UI Position 1.8.16
 * jQuery UI Draggable 1.8.16
 * jQuery UI Droppable 1.8.16
 * jQuery UI Resizable 1.8.16
 * jQuery UI Selectable 1.8.16
 * jQuery UI Sortable 1.8.16
 * jQuery UI Accordion 1.8.16
 * jQuery UI Autocomplete 1.8.16
 * jQuery UI Button 1.8.16
 * jQuery UI Dialog 1.8.16
 * jQuery UI Slider 1.8.16
 * jQuery UI Tabs 1.8.16
 * jQuery UI Datepicker 1.8.16
 * jQuery UI Progressbar 1.8.16
 * jQuery UI Effects 1.8.16
 * jQuery UI Effects Blind 1.8.16
 * jQuery UI Effects Bounce 1.8.16
 * jQuery UI Effects Clip 1.8.16
 * jQuery UI Effects Drop 1.8.16
 * jQuery UI Effects Explode 1.8.16
 * jQuery UI Effects Fade 1.8.16
 * jQuery UI Effects Fold 1.8.16
 * jQuery UI Effects Highlight 1.8.16
 * jQuery UI Effects Pulsate 1.8.16
 * jQuery UI Effects Scale 1.8.16
 * jQuery UI Effects Shake 1.8.16
 * jQuery UI Effects Slide 1.8.16
 * jQuery UI Effects Transfer 1.8.16
 */
 

Из этого всего по-моему используется только Tabs и Datepicker. 

То есть можно собрать свой кастомный файл, включить туда Tabs и Datepicker и зависимости + смотреть по своим модулям, некоторые используют автокомплит, некоторые слайдер. 

  • +1 1

Поделиться сообщением


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

По поводу кеширования, у меня он скручивается gzip-ом, но это съедает силы VPS-а.

 

Вопрос как раз не олдскульный. И как раз очень актуальный, если задуматься над ускорением.

Поделиться сообщением


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

Подключите этот файл с внешнего источника:

Google CDN http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js 

Microsoft CDN http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/jquery-ui.min.js

 

ссылка на блог http://blog.jqueryui.com/2011/08/jquery-ui-1-8-16/ там еще ссылки на темы есть

Поделиться сообщением


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

А в чем плюс внешнего источника? Его тогда gzip-пом не пожать будет.

Поделиться сообщением


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

плюс в экономии ресурсов сервера, трафика и скорость, google cdn файлы будет отдавать быстрее чем какой-то шаред хостинг или слабенький впс. 

  • +1 1

Поделиться сообщением


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

всё верно. ещё видел скрипт, который грузит с локального если cdn недоступен. думаю можно быстро нагуглить

  • +1 1

Поделиться сообщением


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

Спасибо sv2109 и фринансер, скажите еще, вот это:

 

catalog/view/javascript/jquery/jquery-1.7.1.min.js

 

Есть ли ему альтернатива? Тут не нашел, и нужен ли он? За что он отвечает?

Поделиться сообщением


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

нужен. это пожалуй самый важный js файл, без которого не будет работать остальные

Поделиться сообщением


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

ещё видел скрипт, который грузит с локального если cdn недоступен

freelancer, если реп. гугла ляжет треть инета ляжет :)

Поделиться сообщением


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

cdn может быть недоступен по ряду других причин

Поделиться сообщением


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

freelancer, а jquery-1.7.1.min.js можно с cdn дергать или его там нет? Уж больно скорость высока у этого cdn )))

Поделиться сообщением


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

jquery-ХХХ - сама jQuery библиотека.

jquery-ui-ХХХ - дополнительная библиотека (эффекты, виджеты, слайдеры и прочее).

Поделиться сообщением


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

По поводу кеширования, у меня он скручивается gzip-ом, но это съедает силы VPS-а.

Этим вы только чуть ускорите передачу между своим сервером и броузером клиента (если он вообще скажет, что поддерживает gzip. В принципе, может и не сказать). Ну ещё чуть трафик уменьшите (если есть месячные лимиты). Плюс сервер немного нагрузите (про это уже в курсе).

К кешированию броузером клиента это никакого отношения не имеет.

При первом запросе он его скачает и сохранит в кеше. При последующих сервер ему скажет 304 (not modified) - и нормальный воспитанный броузер не станет повторно запрашивать JS (CSS и т.п.) файл, если оно уже у него в кеше лежит.

Чем хорошо для вас отдавать этот jquery.js с гугловских (яндексовских и т.п.) CDN-ов? Тем, что часть запросов от броузера клиента уйдёт не на ваш сервер, а на гугловские. Которые, во-первых, обычно быстрее (т.к. их больше и расположены они ближе к клиенту), а во-вторых, не будут тормозить другие запросы со страницы к вашему серверу.

То есть это позволит понизить нагрузку на сервер (раз) и ускорить для посетителей загрузку страниц (это два).

А в десятых -- этот вопрос уже не раз обсуждался. И в интернетиках, и на этом форуме.

Поделиться сообщением


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

А в одиннадцатых -- кто нить ответит по jquery-1.7.1.min.js? :-)

Поделиться сообщением


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

еще один хинт. Для того, чтобы технология с использованием CDN работала на любых протоколах, не нужно указывать тип протокола, обычно http://

 

 

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>

 
  • +1 1

Поделиться сообщением


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

А в одиннадцатых -- кто нить ответит по jquery-1.7.1.min.js? :-)

На какой вопрос? На все Вами заданные уже три человека ответили.

Или "чукча не читатель, чукча - писатель!"?

Esox:

catalog/view/javascript/jquery/jquery-1.7.1.min.js

Есть ли ему альтернатива? Тут не нашел, и нужен ли он? За что он отвечает?

freelancer: нужен. без него остальное работать не будет.

afwollis: jquery-ХХХ - сама jQuery библиотека.

cmd: ссылка на то, что такое минификация

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.