Как обновить jQuery до последней версии, которую я могу загрузить?

Я использую Drupal 7, который использует jQuery 1.4 по умолчанию? Как я могу обновить его до последней версии (в настоящее время 1.7)?

33 голоса | спросил Karmacoma 19 PMpThu, 19 Apr 2012 18:21:44 +040021Thursday 2012, 18:21:44

4 ответа


44

Один из способов - установить версию dev jQuery Update , которая дает вам возможность используйте jQuery 1.7 (посетив страницу настроек http://mysite.com/admin/config/development/jquery_update).

Остерегайтесь, однако, в настоящее время известно, что он разбивает JavaScript в другом месте на сайте (например, выпадающее окно виджетов на странице «Управление полями» больше не будет работать). Если вы готовы исправить это и любые другие небольшие неприятности, это, вероятно, лучший выбор. Следует также отметить, что использование dev-версии модуля не лишено рисков, так как вероятность того, что у него есть ошибки, намного выше, чем при использовании конкретной версии.

Если вы хотите сделать это вручную, у вас будет много базового кода JavaScript для перезаписи, чтобы ваш сайт работал должным образом; jQuery изменил очень много между версиями 1.4 /1.5 и 1.7, поэтому многие из основных JavaScript-кода Drupal просто не будут работать с ним.

Если вы хотите просто добавить версию jQuery 1.7, то вы, вероятно, можете реализовать hook_js_alter () , отключите основной файл jQuery и добавьте свое собственное в его место:

функция MYMODULE_js_alter (& $ js) {
  $ path = drupal_get_path ('module', 'MYMODULE'). '/path/to/jquery.1.7.js';

  //Скопируем текущие настройки файла jQuery и изменим
  $ js [$ path] = $ js ['misc /jquery.js'];

  //Обновление необходимых настроек
  $ js [$ path] ['version'] = 1.7;
  $ js [$ path] ['data'] = $ path;

  //Наконец, удалим исходный jQuery
  переменная не установлена ​​($ JS [ 'Misc /jquery.js']);
}

Как только вы это сделаете, откройте Developer Tools /Firebug, и вы увидите все изменения, которые вам понадобятся, чтобы заставить остальную часть сайта JS работать:)

UPDATE

Последняя версия обновления jQuery ( 7.x-2.3 в момент написания) теперь позволит вам обновить jQuery до v1.8. Очень круто.

модуль jQuery Multi - еще один вариант, благодаря тому, что goron указывает на это в комментариях. Как он также отмечает, этот модуль имеет стабильную версию и не будет разрушать любой существующий javascript.

ответил Clive 19 PMpThu, 19 Apr 2012 18:27:51 +040027Thursday 2012, 18:27:51
4

Вы также должны рассмотреть возможность использования jquery multi module, который позволяет использовать более одной версии jquery. Отличный модуль, я использую его для Druapl 7 и 6 по всем моим проектам.

ответил rreiss 1 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 01 Sep 2013 23:29:47 +0400 2013, 23:29:47
2

Вдохновленный hook_js_alter , следующие работы. Вы можете разместить его в шаблоне theme.php. Для этого необходимо использовать другую тему администратора, чтобы избежать конфликта с ядром Drupal, и предполагает, что jquery-1.8.3.min.js находится в папке с именем «js» в теме (приспосабливайтесь).

function [theme_machine_name] _js_alter (& $ javascript) {

  $ javascript ['misc /jquery.js'] ['data'] = drupal_get_path ('theme', '[theme_machine_name]').
    '/js/jquery-1.8.3.min.js';

  $ javascript ['misc /jquery.js'] ['version'] = '1.8.3';

}

ответил Shaun Dychko 10 FebruaryEurope/MoscowbSun, 10 Feb 2013 23:29:01 +0400000000pmSun, 10 Feb 2013 23:29:01 +040013 2013, 23:29:01
0

Я не уверен, что ваша цель здесь, но когда мне понадобилась конкретная версия для разработки пользовательских модулей, я смог сделать это, используя jQuery.noConflict .

Это дополнительная работа по сравнению с модулем jquery_update (который OP, похоже, не возражает), но это означает, что вам не нужно беспокоиться о том, собираетесь ли вы испортить всю установку drupal .

ответил doub1ejack 31 +04002013-10-31T21:17:37+04:00312013bEurope/MoscowThu, 31 Oct 2013 21:17:37 +0400 2013, 21:17:37

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

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

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