LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
22.05.2013, 09:57:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Зачем нужны mootools.js и caption.js на фронте?  (Прочитано 33325 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PaLyCH
Живу я здесь
******

Репутация: +143/-17
Offline Offline

Пол: Мужской
Сообщений: 1070


Архитектор сайтов


« : 15.04.2009, 22:53:03 »

<script type="text/javascript" src="/media/system/js/mootools.js"></script>
<script type="text/javascript" src="/media/system/js/caption.js"></script>

Вот эти два скрипта гразутся постоянно. Зачем они нужны?
« Последнее редактирование: 26.10.2009, 22:47:22 от PaLyCH » Записан
Pups
Осваиваюсь на форуме
***

Репутация: +24/-0
Offline Offline

Пол: Мужской
Сообщений: 191


Всего знать, не возможно....


« Ответ #1 : 15.04.2009, 23:00:09 »

В некоторых клубных шаблонах активно используются библиотеки этих скриптов, чтобы не подгружать по несколько раз вызов прописывают сразу.
Записан
ChaosDay
Завсегдатай
*****

Репутация: +104/-1
Offline Offline

Сообщений: 451



« Ответ #2 : 15.04.2009, 23:10:49 »

Используются для админки, а зачем пихать во фронт тоже не совсем понимаю(правда бывает нужны для некоторых расширений).
ЗЫ: А в коммерческих шаблонах обычно присутствует своя опция подключения/отключения этих js.
Записан
Physicist
Support Team
*****

Репутация: +182/-0
Offline Offline

Пол: Мужской
Сообщений: 1025


Рябов Денис


« Ответ #3 : 15.04.2009, 23:34:58 »

<script type="text/javascript" src="/media/system/js/mootools.js"></script>
<script type="text/javascript" src="/media/system/js/caption.js"></script>

Вот эти два скрипта гразутся постоянно. Зачем они нужны?

В классе ContentController (компонент com_content) в методе display первой командой загружается caption.js, который вытягивает mootools.js. Где это используется — честно говоря не знаю, сходу не нашел.
Записан
Physicist
Support Team
*****

Репутация: +182/-0
Offline Offline

Пол: Мужской
Сообщений: 1025


Рябов Денис


« Ответ #4 : 15.04.2009, 23:51:40 »

smart, а где в com_content при просмотре материалов используется caption.js? Вопрос-то вот в чем...
Записан
smart
Администратор
*******

Репутация: +1206/-14
Offline Offline

Пол: Мужской
Сообщений: 7579


снова дома...


« Ответ #5 : 15.04.2009, 23:58:00 »

Для неавторизованного пользователя - вроде бы нигде не используется... Можно в принципе конечно им в баг-треккер написать об этом... Денис, может накатаешь им репорт? В принципе для гостей действительно это нафиг не нужно.
Записан
Physicist
Support Team
*****

Репутация: +182/-0
Offline Offline

Пол: Мужской
Сообщений: 1025


Рябов Денис


« Ответ #6 : 17.04.2009, 00:09:18 »

Вот корректный вариант отключения данных скриптов для гостей (вставлять в самое начала файла index.php вашего шаблона):

Код
<?php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
 $headerstuff = $this->getHeadData();
 $scripts = $headerstuff['scripts'];
 $headerstuff['scripts'] = array();
 foreach($scripts as $url=>$type) {
   if (strpos($url, 'js/mootools.js') === false && strpos($url, 'js/caption.js') === false) {
     $headerstuff['scripts'][$url] = $type;
   }
 }
 $this->setHeadData($headerstuff);
}
?>
<jdoc:include type="head" />
 
« Последнее редактирование: 20.11.2009, 23:19:09 от smart » Записан
smart
Администратор
*******

Репутация: +1206/-14
Offline Offline

Пол: Мужской
Сообщений: 7579


снова дома...


« Ответ #7 : 17.04.2009, 02:03:52 »

Тогда вопрос следующего характера: можно ли собрать свою библиотеку на сайте mootools и добавить только необходимые процедуры, все остальное выкинуть, далее, скомпилировать такой файл и ужать компрессором?
потенциально - да, а практически, мне кажется достаточно отключить ее подгрузку для гостей... это снизит время загрузки для случайных посетителей, а для постоянных - эти файлы все равно закэшируются браузером при первой загрузке и потом мешать не будут
Записан
smart
Администратор
*******

Репутация: +1206/-14
Offline Offline

Пол: Мужской
Сообщений: 7579


снова дома...


« Ответ #8 : 20.10.2009, 02:33:16 »

По идее можно вот так попробовать еще:

Код
<?php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
 $headerstuff = $this->getHeadData();
 $key1 = JURI::base(true). '/media/system/js/mootools.js';
 $key2 = JURI::base(true). '/media/system/js/caption.js';
 unset($headerstuff['scripts'][$key1], $headerstuff['scripts'][$key2]);
 $this->setHeadData($headerstuff);
}
?>

По-моему, то на то и выйдет...
« Последнее редактирование: 20.11.2009, 23:20:24 от smart » Записан
Physicist
Support Team
*****

Репутация: +182/-0
Offline Offline

Пол: Мужской
Сообщений: 1025


Рябов Денис


« Ответ #9 : 20.10.2009, 10:18:31 »

Можно наверное еще короче, если напрямую к _scripts обращаться (решение в одну строку), но работать будет до тех пор, пока в Joomla не перейдут на ООП и не сделают это поле protected или private.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet