Загрузка jquery с серверов Google или Yandex

Загрузка jquery с серверов Google или Yandex

Для создания анимации добавления товаров в корзину, вращающихся каруселей сопутствующих товаров и многих других вещей в PrestaShop используется библиотека JQuery. Проблема с ней заключается в том, что ее использование требует от ваших покупателей дополнительной загрузки 31 Кб (в минифицированном виде). Google Libraries API или хостинг JavaScript-библиотек от Яндекса (CDN) можно использовать для хранения JQuery, тем самым экономя пропускную способность вашего канала, что позволит ускорить ваш магазин!

Преимущества загрузки jquery с CDN

  1. Параллелизация загрузки. Браузеры, как правило, загржают одновременно только 3-4 файла с одного домена. Использование CDN позволяет увеличить количество слотов загрузки.
  2. Кэширование на стороне клиента. Возможно посетитель уже скачал jquery при посещении других сайтов и он находится в кэше браузера, что исключает повторную загрузку библиотеки.
  3. Минимальный размер из-за gzip сжатия. Даже если ваш сервер не поддерживает gzip-сжатие сервера Гугла или Яндекса отдадут jquery в сжатом виде.
  4. Снижение нагрузки на сервер. Загрузка jquery со сторонних серверов снижает нагрузку на ваш сайт. Особенно октуально, если вы платите за траффик.
  5. Сервера по всему миру. Сервера Гугла размещены по всему миру, загрузка jquery будет происходить с ближайшего к вашему клиенту сервера.

Откуда загружать?

Возможность загрузки jquery предоставляют несколько сервисов. Если клиенты вашего магазина расположены по всему миру, то предпочтительней будет использовать сервера Google. Для магазинов, ориентированных на Российских покупателей лучше использовать хранилища Яндекса, скорость загрузки с них будет выше.

Переопределение класса Prestashop

Создайте новый файл /override/classes/FrontController.php со следующим содержимым:

<?php
class FrontController extends FrontControllerCore {
     public function setMedia() {
         parent::setMedia();
 
         /*
         * Use Google Libraries API to host jQuery
         */
         global $js_files;
         $index = array_search(_PS_JS_DIR_ . 'jquery/jquery-1.4.4.min.js', $js_files);
         if ($index !== false){
             array_splice($js_files, $index, 1, array('//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'));
         } else {
             $js_files[] = '//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
         }
     }
}

Если хотите использовать хостинг JavaScript-библиотек от Яндекса замените в коде

//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

на

//yandex.st/jquery/1.7.1/jquery.min.js
zagruzka-jquery-s-serverov-google-ili-yandex.txt · Последние изменения: 2015/12/27 16:22 (внешнее изменение)