Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Будет ли работать модули если подключить jQuery от google

Будет ли работать модули если подключить jQuery от google


     17.06.2012    jquery    Все вопросы » jQuery    3737

вопрос
Интересует вопрос если удалить стандартный jQuery в header и подключить
jQuery от googla или с яндекс сервера. Будут ли работать на нем все стандартные модули

2-ой Вопрос сильно ли снизиться нагрузка т.к jQuery весит прилично. Спасибо

Ответил: ПафНутиЙ


Я бы сделал так (но можно и с гугла грузить и яши):
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>window.jQuery || document.write('<script src="/engine/classes/js/jquery.js"><\/script>')</script>

Это более правильно.
Модули не отвалятся.
Скорость загрузки сайта увеличится т.к. браузер скорее всего уже имеет закешированную библиотеку jquery и просто подцепит её не загружая.
Если же не имеет - всё равно загрузка будет быстрее т.к. библиотека будет грузиться отдельным потоком. При этом ещё данный способ разгрузит немного файловую систему хостинга.

Вообще я не понимаю почему целсофт давно так не сделал, обратная совместимость у jquery всегда нормальная..

12 комментариев

wcw2007
Юзер

wcw2007 - 17 июня 2012 19:46 -

А какую надпись в header удалить чтоб вставить Ваш пример

ПафНутиЙ
Админ

ПафНутиЙ - 17 июня 2012 19:51 -

надпись, содержащую /jquery.js
только нужно править не шаблон а php

Каков вопрос - таков и ответ. Просто помните об этом.

wcw2007
Юзер

wcw2007 - 17 июня 2012 20:01 -

а я удалил libs.js , вроде все работает

1. После вашего кода в main.tpl пояаилось <script type="text/javascript" src="/engine/classes/min/index.php?charset=windows-1251&g=general&3"></script> - ОН ВЕСИТ 46 КБ

2. Подскажите пожалуйста где править в php
СПАСИБО.

Sander
Эксперт

Sander - 17 июня 2012 21:08 -

а я удалил libs.js , вроде все работает

Ну хоть не ногу отрезал...
При чем тут js файл, который создан для работы некоторых частей шаблона???

1. Это сжатый файл.

2. engine/modules/functions.php

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

wcw2007
Юзер

wcw2007 - 17 июня 2012 21:58 -

И как его здесь вставить

$default_array = array (
'engine/classes/js/jquery.js',
'engine/classes/js/jqueryui.js',
'engine/classes/js/dle_js.js',
);

nowheremany
Эксперт

nowheremany - 18 июня 2012 09:33 -

Здесь не получится. В общем случае её от сюда убрать надо

Благодарность принимаю тут Связь

Nick
Юзер

Nick - 19 июня 2012 10:26 -

Оставлю и я свои "5 копеек".

Для того, чтобы использовать описанный здесь метод, необходимо отключить
"Включить Gzip сжатие JS файлов"

в админ панели скрипта.

Цитата: wcw2007
И как его здесь вставить
$default_array = array (
'engine/classes/js/jquery.js',
'engine/classes/js/jqueryui.js',
'engine/classes/js/dle_js.js',
);

В этом куске комментируем или удаляем две строчки:
'engine/classes/js/jquery.js',
'engine/classes/js/jqueryui.js',


В вашем шаблоне (например, main.tpl) вставляем
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>


Вообще, советуют подключать js перед закрытием тега </body>, тобишь в самом низу, но у меня в IE почему-то отказались, при таком раскладе, работать социальные виджеты.

Несомненно, файловую систему сервера мы немного разгрузим, но вот как изменится скорость загрузки страницы, это вопрос открытый.

Nick
Юзер

Nick - 19 июня 2012 12:05 -

Цитата: Nick
Несомненно, файловую систему сервера мы немного разгрузим, но вот как изменится скорость загрузки страницы, это вопрос открытый.


Плюсы загрузки с cdn:
1) Уменьшаем задержки (файл библиотеки грузится с ближайшего географически сервера).
2) Распараллеливаем загрузку (как правило, браузеры ограничивают число одновременных подключений к одному домену)
3) Несомненно, улучшаем кеширование (в принципе, можно и средствами веб сервера сделать нечто подобное, однако, есть вероятность, пользователь уже грузил данный скрипт с cdn и он "остался" в кеше браузера)
4) Экономим траффик

Касательно того, как подгружать библиотеку
Можно так
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>


Можно вот так
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>


и даже так

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>


В основном, это определяет версию jquery. В первом случае — 1.7.2, во втором — 1.7.x, в третьем — 1.x.x .
Но, от записи ещё зависит и кеширование:
/1.7.2/ – public, max-age=31536000 (один год)
/1.7/ – public, must-revalidate, proxy-revalidate, max-age=3600 (один час с перепроверкой)
/1/ – public, must-revalidate, proxy-revalidate, max-age=3600 (один час с перепроверкой)

Можно так же грузить библиотеки и с серверов яндекса (http://api.yandex.ru/jslibs/), давным давно (в 2010 году) проводился тест, оказалось, что сервера яндекса немного быстрей отдают библиотеки.

nowheremany
Эксперт

nowheremany - 19 июня 2012 16:42 -

Мде... Куда вас занесло.

Итак. Что такое кэш браузера и чем он ограничен?
Кэш браузера это файлы, скрипты, изображения, которые кэшит браузер. Он ограничен размером, выставленным в настройках браузера - обычно 50 МБ.

После переполнения кэш браузера чиститься как LIFO )) Т.е. удаляются старые r'ib/

Теперь подумайте, когда у браузера кончится 50Мб? Я предполагаю, что после посещения 2-5 сайтов он забъётся.

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

Благодарность принимаю тут Связь

ПафНутиЙ
Админ

ПафНутиЙ - 20 июня 2012 22:31 -

Цитата: Nick
Вообще, советуют подключать js перед закрытием тега </body>, тобишь в самом низу, но у меня в IE почему-то отказались, при таком раскладе, работать социальные виджеты.

Поптому что jquery вызывается позже, чем скрипт, который должен выполняться через jquery )
Выход прост - не пихать инлайновые блоки со скриптами, а класть всё в файл и подключать после вызова jquery
nowheremany,
У меня 20мб кеш )

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
Эксперт

Sander - 21 июня 2012 00:34 -

У меня кеш 15 Гб =)
А именно папка sesn...

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

FreakMurderer
Юзер

FreakMurderer - 24 июля 2012 06:00 -

***Комментарий удален***

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 04.07.2011 Mexalim  jQuery
 06.05.2013 severnake  jQuery
 19.09.2013 DaeWoo  jQuery
наверх