Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


Recommended Posts

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

 

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

 

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

 

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

 

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

 

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

Link to comment
Share on other sites


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

 

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

 

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

 

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

 

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

 

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

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

Link to comment
Share on other sites


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

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

Link to comment
Share on other sites


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

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

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

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

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

Link to comment
Share on other sites

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

http://jqueryui.com/download/

 

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

Link to comment
Share on other sites

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

Вряд ли полную. Или полную? Зачем тогда отдельно лежит папка с 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
Link to comment
Share on other sites

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

 

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

Link to comment
Share on other sites


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

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/ там еще ссылки на темы есть

Link to comment
Share on other sites

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

Link to comment
Share on other sites


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

  • +1 1
Link to comment
Share on other sites

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

 

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

 

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

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

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

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

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

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

Link to comment
Share on other sites


еще один хинт. Для того, чтобы технология с использованием 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
Link to comment
Share on other sites


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

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

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

Esox:

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

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

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

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

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

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.