плагины jquery, работающие с различными версиями jquery - PullRequest
0 голосов
/ 07 февраля 2012

Я получил плагины, использующие 3 разные версии jQuery на моем сайте «1.7.1», «1.5.2» и «1.3.2». Первые 2 на моей главной странице, и они работают нормально, но когда я захожу на сайт, который также использует третий, аддоны, основанные на 1.7.1 и 1.5.2, перестают работать.

Я попытался добавить jq132 = jQuery.noConflict (true); сценарий, а затем переключение каждого $ в третьем приложении на jq132, но это, похоже, не работает. Любые советы?

РЕДАКТИРОВАТЬ: мне удалось вырезать версии 1.5.2 и 1.3.2, спасибо за советы

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

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

(function( window, undefined ) {

// Use the correct document accordingly with window argument (sandbox)
var document = window.document,
    navigator = window.navigator,
    location = window.location;

var jQuery132 = (function() {

// Define a local copy of jQuery
var jQuery = function( selector, context ) {

и затем в вашем $ (документе) .ready ():

jQuery132(document).ready(function($132) {
   // code goes here
});

и ваш $ будет заменен на $132 для вашей версии 1.3.2 и т. Д.

Кстати, это очень плохая идея.

1 голос
/ 07 февраля 2012

То, что вы, вероятно, делаете неправильно, не вызывает $.noConflict сразу после включения версии jQuery.После каждого тега включения jQuery для этой версии jQuery должен быть тег <script> с $.noConflict.

См .: Можно ли использовать несколько версий jQuery на одной странице?

...