Архив - только для чтения |
Сообщество uCoz Архивариус Архив jquery.noConflict() (Или почему перестали работать подключаемые плагины.) |
jquery.noConflict() |
Здравствуйте! У меня конфликт mootools и системного скрипта: при добавлении комментариев браузер выкидывает на страницу http://мойсайт/index/ с текстом:
Code <ajax> − <cmd t="newEntryB" p="innerHTML+"> <div id="comEnt25"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="cBlock2"><tr><td style="padding:3px;"><div style="float:right;font-size:11px;font-family:Arial,sans-serif;"><span style="color:gray;"><b></b></span> <img src="http://s28.ucoz.net/img/icon/thumbu_.png" align="absmiddle" width="13" border="0" title="Хороший пост"> <img src="http://s28.ucoz.net/img/icon/thumbd_.png" width="13" align="absmiddle" border="0" title="Плохой пост"> <img style="cursor:pointer;" align="absmiddle" title="Открыть" onclick="if(document.getElementById('mnc25').style.display=='none'){document.getElementById('mnc25').style.display='';this.src='http://s28.ucoz.net/img/fr/EmnAR_.gif';this.title='Закрыть';}else{document.getElementById('mnc25').style.display='none';this.src='http://s28.ucoz.net/img/fr/EmnAR.gif';this.title='Открыть';}" border="0" src="http://s28.ucoz.net/img/fr/EmnAR.gif" width="6" height="16" /><span id="mnc25" style="display:none;"><a href="javascript://" onclick="openLayerB('Ie',0,'http://мойсайт/index/37-25','Редактирование комментария',600,350,1);return false;"><img border="0" align="absmiddle" src="http://s28.ucoz.net/img/fr/EmnE.gif" onmouseover="this.src='http://s28.ucoz.net/img/fr/EmnE_.gif'" onmouseout="this.src='http://s28.ucoz.net/img/fr/EmnE.gif'" width="16" height="16" title="Изменить" /></a><a href="javascript://" onclick="del_item(25);return false;"><img border="0" id="di25" align="absmiddle" src="http://s28.ucoz.net/img/fr/EmnD.gif" onmouseover="if (this.src!='http://s28.ucoz.net/img/fr/EmnAjax.gif')this.src='http://s28.ucoz.net/img/fr/EmnD_.gif'" onmouseout="if (this.src!='http://s28.ucoz.net/img/fr/EmnAjax.gif')this.src='http://s28.ucoz.net/img/fr/EmnD.gif'" width="16" height="16" title="Удалить" /></a><img align="absmiddle" border="0" src="http://s28.ucoz.net/img/fr/Emn.gif" width="1" height="16" /></span></div><div class="cTop" style="text-align:left;"><a href="#ent" onclick="if (document.getElementById('comEnt')){$('body').scrollTo( { top:$('#comEnt').offset().top-22, left:0}, 500 );return false;}" name="ent"><b>1</b></a> <a href="javascript://" onclick="window.open('http://мойсайт/index/8-1','up1','scrollbars=1,top=0,left=0,resizable=1,width=680,height=350');return false;"><b>guru</b></a> <span style="font-size:7pt;unicode-bidi:embed;">(06.05.2009 16:28)</span> </div> <div class="cMessage" style="text-align:left;clear:both;padding:2px 0;">csvfsvsfv</div> </td></tr></table><br /> </div> </cmd> − <cmd t="eMessage" p="innerHTML"> <span class="myWinSuccess">Комментарий успешно добавлен</span> </cmd> − <cmd p="js"> document.addform.message.value='';try{document.addform.code.value='';document.getElementById('secuImg').src='http://мойсайт/secure/?k=;s=news;tm='+Math.floor(Math.random()*1e8);}catch(e){} if (document.getElementById('addcBut')){document.getElementById('addcBut').disabled=false;}else{try{document.addform.submit.disabled=false;}catch(e){}} </cmd> </ajax> вместо того, чтоб добавить коммент без перезагрузки страницы. Подскажите пожалуйста, как можно решить эту проблему?.. Заранее благодарен. Сообщение отредактировал Guru_G - Среда, 06 Май 2009, 16:34:58
|
Конфликтуют сами библиотеки mootools и скрипт юкоза: если ставлю mootools в
Code <head> ............................ <script type="text/javascript" src="js/mootools-1.2.1-core.js"></script> <script type="text/javascript" src="js/mootools-1.2-more.js"></script> </head> Сообщение отредактировал Guru_G - Среда, 06 Май 2009, 22:25:06
|
серъезный вопрос! Как отключить jquery? Мне она не нужна! и еще 300 килобайт трафика забирает.
|
уффф.... та же беда по поводу mootools - не работает библиотека. Вообще скрипты все странно работают и действительно, скажите пожалуйста как убрать библиотеку jquery - для некоторых сайтов ужимал буквально каждый кб, а тут меня очень обрадовали...
Ловите ссылку - мб я чего-то и недопонимаю страница с неработающим mootool, но вроде все делаю, как надо. Добавлено (28-Май-2009, 21:50:37) С mootool более менее разобрался, решив проблему переноса привязки кода из head'а в body, правда все равно какие-то проблемы в отображении... Сообщение отредактировал mlz - Суббота, 23 Май 2009, 02:06:11
|
Аааа у меня вообще ничего не работает на MooTool . . .
Сейчас снова пойду что-нибудь мутить. |
Обьясните пожалуйста, почему сразу после редактирования страницы jQuery (в данном случае плагин Pretty Photo) работает нормально, но стоит перейти на другую страницу с таким же кодом и она не работает. Впоследствии возвращаемся на отредактированную страницу и вуаля..не работает но если нажать [редактировать HTML] и сохранить ничего не меняя - то снова все работает ... до первого перехода. Как по человечески прикрутить jQuery ? Уже перепробовал кучу вариантов, начиная с разумных...уже подхожу к самым бредовым, но проблемма остается как для файрфокс так и для оперы.
Все проблема решена. оказалось в инициализации нужно прописывать глобальный адрес к скриптам. Сообщение отредактировал КрымскийВариант - Четверг, 18 Июн 2009, 16:52:39
|
Проблема в том, что плагины под более новые версии jquery (выше 1.2.6) тоже не работают, а это очень плохо. За мой вопрос 2-х месячной давности мне влупили "негатив", тем не менее ответа на вопрос так и не дали (а послать каждый может...). Разобрался сам + люди подсказали выход. И совместимость MooTools и U.js теперь не проблема.
|
uadmin, убрать jQuery, который U.js вы не сможете, да и вся система завязана на этом. Тем более, вполне удобно, учитывая, что если человек ходит по разным сайтам юкоза (рано или поздно он туда попадает), то скрипты сохраняются в кэше, но это другая история.
Итак, по сабжу. Всё бы хорошо было бы на этой планете, кроме того, что после того, как jQuery.noConflict() передаёт $ другой библиотеке вся система UcoZ ухается сразу же, т.к. продолжает работать с jQuery. Собственно, вопрос к разработчикам: я так понял, что все методы добавляются в конец при генерации страницы. Я предлагаю заранее определить переменную, которая будет использоваться в U.js, например $u. Т.е. переопределить $ и тогда кто-то сможет использовтаь jQuery сам подключая её, а кто-то, как я, будет паразитировать на U.js при этом просто записывая $u(idName). Если что не так в моей идее, пинайте и образумьте идиота. Всё, что вы знаете обо мне — ложь и клевета. Вся правда в твиттере и на сайте.
|
Вопрос. Опыта настроек скриптов у меня мало.
Скрипт тут работает: http://showorloff.ru/slideshow/slideshow/ А тут НЕ работает: http://showorloff.ru/index/0-4 Скрипт взят отсюда: http://www.phatfusion.net/slideshow/ Какова возможная причина - почему скрипт не работает? Сообщение отредактировал СашаРу - Воскресенье, 02 Авг 2009, 15:42:21
|
СашаРу, тему Вы выбрали правильно: не работает это именно потому, что библиотека mootools активно использует переменную $ , которую переопределяет библиотека jQuery, автоматически подключаемая на всех страницах.
Как решать проблему, как раз и написано в первом посте темы: где-нибудь перед первым вызовом Вашего скрипта вставить (снутри скрипта) строчку jQuery.noConflict(); Потеряшка - поиск потерянных и помощь бездомным животным в Питере
Сообщение отредактировал YuriT - Воскресенье, 02 Авг 2009, 16:15:03
|
YuriT, благодарю за поддержку. Так и сделал. Теперь все в порядке.
Quote (YuriT) Как решать проблему, как раз и написано в первом посте темы: где-нибудь перед первым вызовом Вашего скрипта вставить (снутри скрипта) строчку jQuery.noConflict(); Особенное благо-дарю за большую букву Q - я маленькую копировал из кода первого сообщения. И за слово "снутри". Оно сразу дало понимание тонкости момента |
hostlost, второй вариант вроде как правильный.
А что именно "не работает"? Может, у Вас и проблема была вызвана не переопределением символа $ в jQuery, а чем-то другим? Потеряшка - поиск потерянных и помощь бездомным животным в Питере
|
| |||