如何保留两个版本的jquery

时间:2012-10-04 09:19:39

标签: jquery

  

可能重复:
  Can I use multiple versions of jQuery on the same page?

我在使用1.2.4的网站中添加了一些新的javascript代码。我现在添加的代码需要1.8.2版本。

所以,这是我的代码:

var thisPageUsingOtherJSLibrary = false;

if (typeof jQuery == 'undefined' || jQuery.fn.jquery !== '1.8.2') {
    if (typeof $ == 'function') {
        thisPageUsingOtherJSLibrary = true;
    }

    function getScript(url, success) {
        var script = document.createElement('script');
        script.src = url;

        var head = document.getElementsByTagName('head')[0];

        done = false;
        script.onload = script.onreadystatechange = function () {
            if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
                done = true;
                success();
                script.onload = script.onreadystatechange = null;
                head.removeChild(script);
            };
        };

        head.appendChild(script);
    };

    getScript('http://code.jquery.com/jquery-1.8.2.min.js', function () {
        if (typeof jQuery !== 'undefined') {
            if (!thisPageUsingOtherJSLibrary) {
                jQuery(document).ready(function ($) {
                    initWithNewJquery($);
                });
            } else {
                var jQuery_1_8_2 = $.noConflict(true);
                jQuery_1_8_2(document).ready(function ($) {
                    initWithNewJquery($);
                });
            }
        }
    });

} else {
    jQuery(document).ready(function ($) {
        initWithNewJquery($);
    });
}

function initWithNewJquery($){

}

我需要的是:在我添加代码的网站上使用旧的jquery。为我的新函数/处理程序使用新的jquery(将在函数initWithNewJquery($)中添加)。

由于某些原因,我认为我写的代码是错误的,也是因为我收到了这个错误:

TypeError: a.livequery is not a function

那么,我应该如何正确使用noConflict()

0 个答案:

没有答案