Отключить загрузку скрипта в голове

Как отключить загрузку

  • mootools-core.js
  • core.js

В <head> без использования стороннего компонента /плагина?

8 голосов | спросил web-tiki 23 AMpWed, 23 Apr 2014 00:49:36 +040049Wednesday 2014, 00:49:36

5 ответов


17

Im, используя Joomla 3.2, в верхней части моего tempate я положил:

$doc = JFactory::getDocument();

$dontInclude = array(
'/media/jui/js/jquery.js',
'/media/jui/js/jquery.min.js',
'/media/jui/js/jquery-noconflict.js',
'/media/jui/js/jquery-migrate.js',
'/media/jui/js/jquery-migrate.min.js',
'/media/jui/js/bootstrap.js',
'/media/system/js/core-uncompressed.js',
'/media/system/js/tabs-state.js',
'/media/system/js/core.js',
'/media/system/js/mootools-core.js',
'/media/system/js/mootools-core-uncompressed.js',
);

foreach($doc->_scripts as $key => $script){
    if(in_array($key, $dontInclude)){
        unset($doc->_scripts[$key]);
    }
}

Это предотвращает включение этих сценариев, добавление или удаление скриптов по мере необходимости

ответил ContextSwitch 23 AMpWed, 23 Apr 2014 00:51:48 +040051Wednesday 2014, 00:51:48
4

Вы можете отменить его в шаблоне

unset(
  $this->_scripts['/media/jui/js/mootools-core.js'],
  $this->_scripts['/media/jui/js/core.js']);

Это приведет к удалению обоих файлов JS из заголовка.

ответил Harald Leithner 23 AMpWed, 23 Apr 2014 00:52:06 +040052Wednesday 2014, 00:52:06
3

В Joomla 3.x вы можете вызвать JHtml::_('jquery.framework') в свой шаблон для загрузки jQuery без Mootools. Это загружает jQuery в режиме без конфликтов по умолчанию, поэтому, если вам нужен нормальный режим, просто добавьте второй параметр false : JHtml::_('jquery.framework', false).

http://docs.joomla.org/J3.2:Javascript_Frameworks

ответил flutterderp 23 AMpWed, 23 Apr 2014 01:20:25 +040020Wednesday 2014, 01:20:25
1

Я использовал это:

foreach ($doc->_scripts as $script => $value)
{
    if (preg_match('/media\/jui/i', $script))
      unset($doc->_scripts[$script]);
}
ответил Aerendir 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 04 Sep 2015 20:42:41 +0300 2015, 20:42:41
0

Решение @ContextSwitch не работало для меня из-за того, что некоторые скрипты загружались после обработки шаблона, поэтому отключение файлов на этом этапе не повлияло на эти файлы.

Поэтому мне пришлось реализовать аналогичное решение, но с помощью простого плагина, связанного с событием onBeforeCompileHead. Как описано мной здесь .

ответил 9KSoft 17 +03002017-10-17T21:13:55+03:00312017bEurope/MoscowTue, 17 Oct 2017 21:13:55 +0300 2017, 21:13:55

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132