Порядок подключения скриптов

  • 3 Ответов
  • 612 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Vadim7423

  • Осваиваюсь на форуме
  • ***
  • 36
  • 1
Добрый день. Возникла  следующая проблема:
Установил компонент JoomGallery, создал фото галерею.  Во фронтальной части если открыть любую страницу кроме данной галереи порядок подключаемых скриптов следующий:

скрипты подключаются корректно - сначала библиотеки потом скрипты и плагины
если открыть фотогалерею то скрипты подключаются вот так:

библиотеки подключаются в конце и соответственно ни один скрипт не работает разве что slimbox. Кто сталкивался с такой проблемой отзовитесь.

*

brigadier

  • Осваиваюсь на форуме
  • ***
  • 74
  • 0
Re: Порядок подключения скриптов
« Ответ #1 : 06.03.2015, 13:22:12 »
попробуйте загружать файлы асинхронно. есть разные плагины для этого jch , eorisis и т.д.

*

Vadim7423

  • Осваиваюсь на форуме
  • ***
  • 36
  • 1
Re: Порядок подключения скриптов
« Ответ #2 : 07.03.2015, 11:37:18 »
я имел ввиду подключение скриптов в теге <head> скрины, которые я выше выкладвал, к сожалению не доступны, так что вот:
Код: html4strict
 <script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/core.js" type="text/javascript"></script>
  <script src="http://www.ufaley/media/joomgallery/js/slimbox/js/slimbox.js" type="text/javascript"></script>
  <script src="http://www.ufaley/templates/ufaley/js/carousel2.js" type="text/javascript"></script>
  <script src="http://www.ufaley/templates/ufaley/js/jquery-ui.min.js" type="text/javascript"></script>
  <script src="http://www.ufaley/templates/ufaley/js/jquery.scrollto.js" type="text/javascript"></script>
  <script src="http://www.ufaley/templates/ufaley/js/workscripts.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery.min.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-noconflict.js" type="text/javascript"></script>
  <script src="/media/jui/js/jquery-migrate.min.js" type="text/javascript"></script>
  <script src="/media/jui/js/bootstrap.min.js" type="text/javascript"></script>
  <script src="/media/ajax_scroll/assets/jquery-ias.js" type="text/javascript"></script>
как видно, jquery-min.js и jquery-noconfkict.js и прочие библиотеки подключаются после таких скриптов как к примеру workscript.js и соответственно скрипты не работают. Работает только slimbox.js, он видимо использует mootools. Такая проблема только при входе в галерею, на остальных страницах порядок подключения скриптов нормальный и все работает. И вырезать скрипты функцией unset(), тоже не получается при входе в галерею все вырезанные скрипты снова появляются...

*

saharin88

  • Давно я тут
  • ****
  • 246
  • 18
  • joom.work
Re: Порядок подключения скриптов
« Ответ #3 : 20.08.2015, 16:38:07 »
тоже вот хочу отладить этот момент!
просто сделать загрузку jquery в самом начале

написал плагин системный и добавил в событие onBeforeCompileHead вот такой код

Код
        $document = JFactory::getDocument();

        $scripts = $document->_scripts;
        $new = array();

        $a_jquery = array('/media/jui/js/jquery-migrate.min.js', '/media/jui/js/jquery-noconflict.js', '/media/jui/js/jquery.min.js');

        foreach ($a_jquery as $k=>$v) {
            if(isset($scripts[$k])) {
                $new[$k] = $scripts[$v];
                unset($scripts[$k]);
            }
        }

        if(count($new) > 0) {
            foreach ($new as $k=>$v) {
                $scripts[$k] = $v;
            }
        }

        $scripts = array_reverse($scripts);

        $document->_scripts = $scripts;


но блин скрипты подключаемые в модулях серавно идут первыми :(

выходит решение только такое: в onAfterRender из буфера регуляркой вытянуть head, ну там потом перебирать все скрипты :(
блин!
« Последнее редактирование: 20.08.2015, 16:41:35 от saharin88 »