Архив - только для чтения
Сообщество uCoz » Архивариус » Архив » jquery.noConflict() (Или почему перестали работать подключаемые плагины.)
jquery.noConflict()
Guru_G
Сообщений: 4
Репутация: 14

Сообщение # 16 | 16:33:54
Здравствуйте! У меня конфликт 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
Piterski
Сообщений: 386
Репутация: 195

Сообщение # 17 | 18:34:11
Ссылку на конфликт в студию.

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

Guru_G
Сообщений: 4
Репутация: 14

Сообщение # 18 | 22:10:36
Конфликтуют сами библиотеки 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>
, то скрипт mootools работает некорректно, т.к. после него грузится библиотека юкоза; если же ставлю mootools после <body> - все ок, за исключением некоторых скриптов на аяксе (добавление комментов, их редактирование и т.п.).
Сообщение отредактировал Guru_G - Среда, 06 Май 2009, 22:25:06
uadmin
Сообщений: 4
Репутация: 6

Сообщение # 19 | 18:17:11
серъезный вопрос! Как отключить jquery? Мне она не нужна! и еще 300 килобайт трафика забирает.

uadmin.ru - софт портал для админов и юзеров
n80.uadmin.ru - Fan Club Nokia N80
mlz
Репутация: 6

Сообщение # 20 | 21:50:37
уффф.... та же беда по поводу mootools - не работает библиотека. Вообще скрипты все странно работают и действительно, скажите пожалуйста как убрать библиотеку jquery - для некоторых сайтов ужимал буквально каждый кб, а тут меня очень обрадовали...
Ловите ссылку - мб я чего-то и недопонимаю страница с неработающим mootool, но вроде все делаю, как надо.

Добавлено (28-Май-2009, 21:50:37)
---------------------------------------------
Ребята, пожалуйста, ну очень прошу - отключите jQuery библиотеку....точнее, дайте способность ее отключать, заранее написав пользователям, что без нее не будут работать виджеты и все такое, которые не нужны по сути - можно найти более качественные вещи (все-таки выступлю с критикой). У меня, человека, который не особо обращает внимание на чистоту кода - итак засоряно все, пытаюсь уменьшить все хотя бы на картинках, уменьшая их размер, а данная библиотека только увеличивает время загрузки и ничего более не дает. Такое ощущение, что сделано все, чтобы люди сразу пугались от вида рекламного баннера uCoz, который сейчас приобрел еще более отталкивающий вид и кликали по нему, потому что, пока вся эта мошна грузится на медленном инете, ничего другого и не видно пользователю.

С mootool более менее разобрался, решив проблему переноса привязки кода из head'а в body, правда все равно какие-то проблемы в отображении...


скачать adobe acrobat | чугунное литье - чугун литье | ижевск форум - ответы на экзамены |
Сообщение отредактировал mlz - Суббота, 23 Май 2009, 02:06:11
mlz
Репутация: 6

Сообщение # 21 | 18:28:05
Аааа у меня вообще ничего не работает на MooTool . . .
Сейчас снова пойду что-нибудь мутить.

скачать adobe acrobat | чугунное литье - чугун литье | ижевск форум - ответы на экзамены |
КрымскийВариант
Сообщений: 1
Репутация: 1

Сообщение # 22 | 15:40:38
Обьясните пожалуйста, почему сразу после редактирования страницы jQuery (в данном случае плагин Pretty Photo) работает нормально, но стоит перейти на другую страницу с таким же кодом и она не работает. Впоследствии возвращаемся на отредактированную страницу и вуаля..не работает dry но если нажать [редактировать HTML] и сохранить ничего не меняя - то снова все работает surprised ... до первого перехода. Как по человечески прикрутить jQuery ? Уже перепробовал кучу вариантов, начиная с разумных...уже подхожу к самым бредовым, но проблемма остается как для файрфокс так и для оперы. cry

Все проблема решена. оказалось в инициализации нужно прописывать глобальный адрес к скриптам.

Сообщение отредактировал КрымскийВариант - Четверг, 18 Июн 2009, 16:52:39
Guru_G
Сообщений: 4
Репутация: 14

Сообщение # 23 | 13:59:12
Проблема в том, что плагины под более новые версии jquery (выше 1.2.6) тоже не работают, а это очень плохо. За мой вопрос 2-х месячной давности мне влупили "негатив", тем не менее ответа на вопрос так и не дали (а послать каждый может...). Разобрался сам + люди подсказали выход. И совместимость MooTools и U.js теперь не проблема.
rusak
Сообщений: 101
Репутация: 121

Сообщение # 24 | 04:51:43
uadmin, убрать jQuery, который U.js вы не сможете, да и вся система завязана на этом. Тем более, вполне удобно, учитывая, что если человек ходит по разным сайтам юкоза (рано или поздно он туда попадает), то скрипты сохраняются в кэше, но это другая история.

Итак, по сабжу.

Всё бы хорошо было бы на этой планете, кроме того, что после того, как jQuery.noConflict() передаёт $ другой библиотеке вся система UcoZ ухается сразу же, т.к. продолжает работать с jQuery. Собственно, вопрос к разработчикам:

я так понял, что все методы добавляются в конец при генерации страницы. Я предлагаю заранее определить переменную, которая будет использоваться в U.js, например $u. Т.е. переопределить $ и тогда кто-то сможет использовтаь jQuery сам подключая её, а кто-то, как я, будет паразитировать на U.js при этом просто записывая $u(idName).

Если что не так в моей идее, пинайте и образумьте идиота.


Всё, что вы знаете обо мне — ложь и клевета. Вся правда в твиттере и на сайте.
СашаРу
Сообщений: 2
Репутация: 3
Уровень замечаний:

Сообщение # 25 | 14:13:44
Вопрос. Опыта настроек скриптов у меня мало.

Скрипт тут работает: http://showorloff.ru/slideshow/slideshow/

А тут НЕ работает:

http://showorloff.ru/index/0-4

Скрипт взят отсюда: http://www.phatfusion.net/slideshow/
Скрипт использует mootools.

Какова возможная причина - почему скрипт не работает?
Возможно это конфликт с другими скриптами?

Сообщение отредактировал СашаРу - Воскресенье, 02 Авг 2009, 15:42:21
YuriT
Сообщений: 231
Репутация: 701
Уровень замечаний:

Сообщение # 26 | 16:14:22
СашаРу, тему Вы выбрали правильно: не работает это именно потому, что библиотека mootools активно использует переменную $ , которую переопределяет библиотека jQuery, автоматически подключаемая на всех страницах.

Как решать проблему, как раз и написано в первом посте темы: где-нибудь перед первым вызовом Вашего скрипта вставить (снутри скрипта) строчку

jQuery.noConflict();


Потеряшка - поиск потерянных и помощь бездомным животным в Питере
Сообщение отредактировал YuriT - Воскресенье, 02 Авг 2009, 16:15:03
СашаРу
Сообщений: 2
Репутация: 3
Уровень замечаний:

Сообщение # 27 | 20:12:17
YuriT, благодарю за поддержку. Так и сделал. Теперь все в порядке.

Quote (YuriT)
Как решать проблему, как раз и написано в первом посте темы: где-нибудь перед первым вызовом Вашего скрипта вставить (снутри скрипта) строчку

jQuery.noConflict();

Особенное благо-дарю за большую букву Q - я маленькую копировал из кода первого сообщения. И за слово "снутри". Оно сразу дало понимание тонкости момента wink

hostlost
Сообщений: 7
Репутация: 1

Сообщение # 28 | 19:04:00
<body>

<script type="text/javascript">jquery.noConflict();</script>

и так

<script type="text/javascript">jQuery.noConflict();</script>

Не работает?

может что ни так прописываю

YuriT
Сообщений: 231
Репутация: 701
Уровень замечаний:

Сообщение # 29 | 19:20:24
hostlost, второй вариант вроде как правильный.

А что именно "не работает"? Может, у Вас и проблема была вызвана не переопределением символа $ в jQuery, а чем-то другим?
Или Вы не туда эту строчку вставили. Она должна находиться в секции body (или за ней) и вызываться до тех скриптов, которые используют символ $ из других js-библиотек (ссылки на которые имеются внутри секции head).


Потеряшка - поиск потерянных и помощь бездомным животным в Питере
hostlost
Сообщений: 7
Репутация: 1

Сообщение # 30 | 22:27:40
Не знаю перенес сами скрипты в <боди> там работают
Сообщество uCoz » Архивариус » Архив » jquery.noConflict() (Или почему перестали работать подключаемые плагины.)
Поиск: