Две версии jQuery на одной странице - PullRequest
12 голосов
/ 13 июля 2009

Можно ли иметь 2 разных версии jQuery в одном документе, чтобы они не сталкивались друг с другом?

Например, если я создаю букмарклет и хочу основать код на jQuery. Этот букмарклет вставляется на какую-то страницу, которая использует другую версию jQuery, тогда мой код перезапишет версию, использованную на странице.

Можно ли этого избежать? Или есть другие библиотеки, которые предоставляют эту функциональность Или, может быть, я должен переосмыслить все это.

Спасибо за ответы и указатели,

боб

Ответы [ 3 ]

12 голосов
/ 14 июля 2009

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

var $j = jQuery.noConflict();

А затем загрузите вторую версию jQuery. Первый загружаемый файл доступен с помощью $ j (...), а второй - с $ (...).

В качестве альтернативы кто-то сделал маленького помощника в попытке облегчить переключение между различными версиями.

2 голосов
/ 13 июля 2009

Вот способ обнаружить, если JQuery уже присутствует: jQuery в виджете

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

0 голосов
/ 13 июля 2009

Почему бы просто не иметь разные версии вашего javascript для разных версий jquery, поэтому посмотрите, какая версия есть на странице, и получите соответствующий код, который будет работать с этой версией jquery.

Это было бы безопаснее, поскольку все остальное может быть очень хрупким, поскольку кажется, что вы не можете контролировать версию jquery, которая будет на странице.

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