Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) jQuery Будет ли работать модули если подключить jQuery от google

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


     17.06.2012    jQuery    3354

вопрос
Интересует вопрос если удалить стандартный 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
8

94 | 42

wcw2007 - 17 июня 2012 19:46 - Юзер

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

wcw2007
8

94 | 42

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
1126

1637 | 1204

Sander - 17 июня 2012 21:08 - Эксперт

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

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

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

2. engine/modules/functions.php

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

ICQ: 404-037-556
Skype: Sander8804

wcw2007
8

94 | 42

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
192

1659 | 1292

nowheremany - 18 июня 2012 09:33 - Эксперт

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

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

Nick
6

95 | 70

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
6

95 | 70

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
192

1659 | 1292

nowheremany - 19 июня 2012 16:42 - Эксперт

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

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

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

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

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

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

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

Sander
1126

1637 | 1204

Sander - 21 июня 2012 00:34 - Эксперт

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

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

ICQ: 404-037-556
Skype: Sander8804

FreakMurderer
20 | 21

FreakMurderer - 24 июля 2012 06:00 - Юзер

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

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

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

 04.07.2011 Mexalim  jQuery
 06.05.2013 severnake  jQuery
 19.09.2013 DaeWoo  jQuery