可能重复:
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()
?