我需要编写一个可以在世界上所有可能的网站上使用的脚本。首先,我需要一个当前版本的 jQuery。如果没有 jQuery 或旧版本正在运行,脚本将首先添加 jQuery。第二步是添加 jQuery UI。
问题是:如果当前版本的 jQuery 正在运行,那么一切正常。否则我总是得到错误:
未捕获的类型错误:无法读取未定义的属性“ui”
任何人都可以帮助我吗?我的 JS 代码:
var $tx;
//Check if a current version of jQuery is runnig.
if (window.jQuery) {
$tx = jQuery;
if( jQuery().jquery.replace(".", "") < 17.1 ) {
addjQuery();
} else {
addNoConflict();
}
} else {
addjQuery();
}
// Get jQuery Version
function addjQuery() {
loadScript("https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", function(){
$tx = jQuery.noConflict(true);
addNoConflict();
});
}
// Add Script which requiers jQuery and jQuery UI
function addNoConflict() {
loadScript("https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js", function(){
var script = document.createElement("script")
script.type = "text/javascript";
script.src = "https://www.tariffuxx.de/services/js/txTarifrechnerScript.js";
document.getElementsByTagName("head")[0].appendChild(script);
});
}
// Load required Scripts
function loadScript(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function(){
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
先感谢您!