Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

 

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

 

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

 

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 джавы нужны?

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

Надіслати
Поділитися на інших сайтах


 - пользователь не будет грузить при каждом посещении эти 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/ там еще ссылки на темы есть

Надіслати
Поділитися на інших сайтах

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

  • +1 1
Надіслати
Поділитися на інших сайтах

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

 

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

 

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

Надіслати
Поділитися на інших сайтах


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

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


еще один хинт. Для того, чтобы технология с использованием 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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.