Как избавиться от jQuery.noconflict в разных CMS?

По умолчанию, в некоторых системах управления, таких как например Joomla и WordPress у библиотеки jQuery включен noConflict() режим, который при подключении пользовательских скриптов доставляет немало хлопот, пока вы не поймёте в чём причина. Итак, я расскажу какими способами можно отключить этот режим.

В WordPress подключается jQuery.js который встроен в ядро и который периодчески обновляется, вы конечно можете убрать в нём последнюю строку, но после обновления WP, файл обновится и ваши правки канут в лету, а сайт перестанет нормально работать. На самом деле, всё более чем просто.
Необходимо добавить в ваш шаблон одну строку, в файл header.php, сразу после вызова <?php wp_head(); ?>:

<script>var $ = jQuery.noConflict();</script>

Все остальные скрипты должны вызываться после этой строки.

 


 

В Joomla 3.x чтобы отключить этот режим необходимо в index.php шаблона добавить тоже, как это ни странно, одну строку:

unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-noconflict.js']);

Добавлять её необходимо перед закрывающим тегом ?> перед объявлением доктайпа:

unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-noconflict.js']);
?><!DOCTYPE html>
<html>

В следующей статье я расскажу как проделать тоже самое с помощью плагинов.
И не забудьте написать в комментариях как это делаете Вы — это будет полезно общественности!

0 Comments

Leave A Reply