Использование новых версий jQuery в старых версиях Drupal

Опубликовано: 01.11.2017

При поддержке старых версий Drupal (в данной статье речь идёт о Drupal 6 и Drupal 7) часто возникает необходимость использования актуальной (современной) версии jQuery. И если в случае с самописными скриптами можно обойтись версией из ядра, то в случае использования готового jQuery плагина этот вариант может не подойти. К примеру, в Drupal 6 вы не сможете использовать такой популярный плагин, как Chosen , поскольку он просто не заработает на том jQuery, что есть в ядре. К слову о версиях: из "коробки" Drupal 7 предоставляет jQuery версии 1.4.4, а Drupal 6 - версии 1.2.6. Просто взять и обновить jQuery в ядре Drupal нельзя по двум причинам. Во-первых, это вездесущие проблемы с дальнейшим обновлением ядра. Во-вторых, скрипты Drupal и контрибных модулей не будут работать с новой версией. Безусловно можно использовать модуль jQuery Update . Он решает большинство проблем с jQuery в Drupal 7, но для Drupal 6 в настоящее время практически бесполезен -  Chosen не заработает даже с этим модулем. Можно, конечно, использовать старые (совсем старые) версии нужных плагинов или самому реализовать их функционал, но это никому не нужный труд. К счастью, есть и другие варианты решения вышеописанной проблемы. Об одном из таких решений далее и пойдёт речь.

Первым делом стоит отметить, что jQuery позволяет запускать на странице другие версии jQuery. Достигается это засчёт использования функции noConflict() . На её основе построена логика работы модуля jQuery Multi . Код "обработки" новой версии jQuery находится в файле js/switch.js относительно директории модуля.

( function ( $) { // Put together the name of the new jQuery variable. var version = $ ( ). jquery ; var versionName = version. replace ( /\./g , '' ) ; // Save the new version of jQuery globally and restore Drupal version. window [ 'jq' + versionName ] = jQuery. noConflict ( true ) ; } ) ( jQuery ) ;

Как видно из кода - новая версия jQuery будет доступна в переменной jq{%version}, старая версия будет по-прежнему доступна в переменной jQuery или её синониме $. Например, при использовании версии 3.1.1, переменная будет jq311. С этого момента уже можно работать с новой версией (скрипты, использующие старую версию не сломаются), однако, это не совсем удобно, так как по общеиспользуемому синониму $ будет доступна старая версия, что не подходит для использования сторонних плагинов. Также подобный подход отразится на поддержке и переносимости кода.

3D стерео фильмы для 5D
    Как купить билеты на поезд

    Я всегда в последнее время пользуюсь услугами настоящего интернет сайта. Он у меня внушает доверие. И здесь придбати квитки возможно в любое

    Товаров для дома
    Исходя из этих критериев, можно легко преподнести себя в том или ином деле. Хороший доход может быть на любой работе. Но хороших друзей на рабочем месте выбрать сложно. В такой ситуации больше побеждает

    Поступления в университет
    Перед всеми выпускниками школ и их родителями сейчас стоит задача – выбор предметов единого государственного экзамена (ЕГЭ). От того, какие ЕГЭ будут выбраны, зависит, поступит ребенок в ВУЗ или нет.

    Видеонаблюдение Novicam в Екатеринбурге
    По своей сути подключение видеорегистратора к локальной сети совершенно не отличается от подключения обычного компьютера к локальной сети.  Для того что бы система видеонаблюдения начала функционировать

    Кредит онлайн на картку
    Каждый из нас может оказаться в такой ситуации, когда срочно нужны деньги. И что же делать, если деньги понадобились прямо здесь и сейчас. В различных кредитных организациях оформление кредита может занять

    Комплект инсталляции Grohe 6в1
    Вместо обычного унитаза многие люди предпочитают, чтобы было сочетание инсталлированной конструкции унитаза с определенным видом отделки. Особенно такая инсталляция включают в себя раму, которая покрыта

    Авіаквитки купити
    В наше время все больше людей путешествуют с помощью самолета. Ведь авиаперевозки пассажирские стали намного доступнее. И приобрести билеты становится с каждым днём все легче и легче. К примеру, на данном

    Повербанк оптом
    В данной группе представлены переносные зарядные устройства Power Banks. Power Banks - Повер банк, Пауер банк, Павер банк, как только не переводят на русский язык. Единого мнения на счет перевода не будет.

    Cbd vape pen buy online
    Представители просвещенной части прогрессивного человечества сегодня являются активными приверженцами здорового образа жизни и предпочитают лечится только с помощью средств натурального происхождения.

    Зарплата ру
    Еженедельный журнал работа и зарплата вакансии в Москве выходит крупным тиражом в 100 тыс. экземпляров, имеет большую аудиторию читателей, среди которых люди с различным образованием, доходом и социальным

rss