Использование JQuery в элементе управления AJAX и предотвращение конфликтов - PullRequest
0 голосов
/ 23 февраля 2011

Я использую JQuery в пользовательском элементе управления AJAX (часть собственного набора инструментов), и мне нужно убедиться, что JQuery присутствует на странице хостинга.На странице может быть несколько экземпляров элемента управления, и некоторым элементам управления может потребоваться использовать разные версии JQuery.

В настоящее время я использую следующий код для загрузки в JQuery, когда элемент управления инициализируется ...

Page.ClientScript.RegisterClientScriptInclude(Page.GetType(), "jquery-1.4.4.min.js", this.ResolveUrl("TextControlPlugin/lib/jquery-1.4.4.min.js"));

Это работает, потому что менеджер сценариев обрабатывает не помещая несколько копий одного и того же скрипта на страницу.

Проблемы ...

  • Я не могу использовать JQuery статическина вызывающей странице (у меня может не быть элемента управления на странице, но мне нужно использовать JQuery)
  • Похоже, что скрипт-менеджер обрабатывает только дублирующиеся URL-адреса, и мне потребуется развернуть его с потенциально двух разных URL-адресов (вызывающая страницакопировать, а элементы управления копировать)

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

Я посмотрел на JQuery.noConflict (), но, похоже, не могу заставить его работать правильно - я считаю, что у меня проблемы спорядок, в котором скрипты вводятся на страницу - я продолжаю получать JQuery с неопределенными ошибками.

Любая помощь будет высоко ценится

1 Ответ

2 голосов
/ 23 февраля 2011

Будет ли проблема просто взять зависимость от jQuery и поместить ее в базовую мастер-страницу? Таким образом, он всегда будет на странице.

Я бы порекомендовал использовать только одну версию jQuery, так как очень быстро запутается, какая переменная относится к какой версии jQuery. Передача true в $.noConflict(true) назначит то, что jQuery ссылается на _jQuery и _$.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...