我在使用 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 用于我的新函数/处理程序(将添加到 function 中initWithNewJquery($)
)。
由于某些原因,我认为我写的代码是错误的,也因为我得到了这个错误:
TypeError: a.livequery is not a function
那么,这里应该如何正确使用noConflict()
呢?