Drupal 7 и jQuery

Делаю я сейчас один мелкий сайтец на седьмом Друпале, - мне так легче его изучать. Ну и возникла у меня необходимость в написании простенького javascript-а. Создал я в папке темы script.js-файл, прописал его куда надо, кэш сбросил и начал писать. Писал я его понятное дело на jQuery, чистым jvascript-ом уже мало кто пользуется.

При проверке, мне начало в консоль выкидывать ошибку, что де переменная $ не определена:

Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function
>

Что и сказать, бред полный. Я уже много лет пользуюсь jQuery и такого не было ещё. Гугл привёл меня сюда, где рекомендуется весь свой скрипт оборачивать в конструкцию:

(function ($) {
  // All your code here
}(jQuery));

и тут всё стало понятно. Оказывается разработчики Друпала, ради мифической совместимости jQuery с другими фреймворками, не заразервировали $-переменную за jQuery. Странный шаг, - jQuery очень популярный фреймворк и логичнее было бы оставить эту переменную за ним (тем более, что именно jQuery по-умолчанию используется в Друпале), а все прочие фреймворки использовать по имени (Prototype, Dojo, ...).

Как бы то ни было, мне предложенный вариант не понравился, я записал в самом начале скрипта строку:

if (!$) $=jQuery;
...

и дальше работал как привык без проблем.

Новый комментарий

Содержимое этого поля не будет отображаться публично.
Image CAPTCHA
Привет всем роботам!

Работает на

Работает на Друпале, системе с открытым кодом Валидный XHTML Валидный CSS
Блогнот 2010. Войков Константин