Не работает jQuery на странице с результатами поиска

Главные вкладки

Аватар пользователя webars webars 7 июля 2011 в 9:11

Приветствую!

На страницах с результатами поиска и добавления материала не работают мои jQuery функции.

URL страниц следующие:
mysite/search/node/ - результаты поиска
mysite/node/add - добавления материала

Похоже на то, что когда запускаются некоторые модули, они отключают кастомные jQuery функции. Материалы на сайт добавляю только я, потому с этим легко смириться, но на результаты поиска сможет посмотреть любой посетитель сайта. Sad

Думал, может на этих страницах путь к файлу со скриптами изменился. Но нет, простые JS функции работают, я проверял с помощью alert().

Как исправить этот досадный баг? Заранее спасибо.

P.S. На моем сайте работают 2 версии jquery. Возможно, это важно. На обычных контентных страницах всё отлично работает. Подключаю их следующим образом:

<!-- версия, подключенная мной -->
<script type="text/javascript" src="<?=path_to_theme()?>/js/jquery.1.6.1.js"></script>
<script type="text/javascript">var $j = jQuery.noConflict();</script>
<!-- версия, вшитая в ядро друпал -->
<?php print $scripts ?>

Комментарии

Аватар пользователя boneg boneg 7 июля 2011 в 9:18

1. Что именно такого вы используете, чего нет в старом jQuery?
2. Функции, которые не работают в студию.

alert работает, потому что это не jQuery, а чисто JavaScript-метод.

Аватар пользователя webars webars 7 июля 2011 в 9:37

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

2. Нет смысла выкладывать неработающие функции, потому что они все не работают. Smile

3. Я знаю. Таким образом я проверял, работает ли вообще JS из моего внешнего файла.

Аватар пользователя boneg boneg 7 июля 2011 в 10:20

Установите модуль jQuery Update, он обновит jQuery до 1.3.2. В новой версии нет ничего такого, чего нельзя было сделать в старой. Только кое-что стало удобней (по большей части касаемо AJAX и еще несколько моментов, которые вряд ли вам пригодятся, если вы не очень опытный в jQuery-framework), для AJAX в друпал встроен AHAH-фреймворк, который отлично работает.

Если у вас найдется какое-нибудь место, которое будет работать в 1.6.1, но не будет работать в 1.3.2 - пишите, я расскажу что да как изменить, там ничего сложного нет.