Загрузка скрипта jQuery .NoConflict - PullRequest
0 голосов
/ 02 марта 2010

Я пытаюсь использовать jQuery в среде с сильными конфликтами. .noConflict () не работает, и я пытаюсь сделать что-то вроде

<script type="text/javascript">
document.write(    document.write(unescape("%3Cscript src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));
jQuery.noConflict();
var $ = jQuery;
</script>

Есть идеи как это исправить?

Ответы [ 2 ]

2 голосов
/ 02 марта 2010

Вы уверены, что это не имеет ничего общего с тем, что у вас есть:

document.write(    document.write(unescape(...longstringhere...)); // Missing final close paren?

Это может привести к ошибке, и тогда noConflict не будет работать.

Кроме того, вам нужно использовать Prototype и jQuery одновременно? Цель jQuery.noConflict() - НЕ устанавливать переменную jQuery равной $, потому что Prototype использует ее (я уверен, что есть и другие причины, но в этом случае это основная причина). Обычно jQuery и Prototype не очень хорошие друзья.

Наконец, вы абсолютно уверены (при условии, что у вас нет синтаксической ошибки в вашем реальном коде), что jQuery загружается?


Провел небольшое исследование. Проверьте эту ссылку и посмотрите, поможет ли она:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

По сути, вам, возможно, придется сначала вызвать jQuery, и вам придется вызывать Prototype ПЕРЕД тем, как вы используете noConflict()

1 голос
/ 02 марта 2010

Не используйте $ - это источник конфликтов. Замените jQuery там, где вы обычно его используете, например:

jQuery('#my-id')
jQuery('.my-class')

и т. Д.

...