emanuele tried a variant:
loadJquery("2.0.3", function ($) {
// Here it goes my code that works only with version 2.0.3
});
function loadJquery(ver, callback)
{
var url = 'http://ajax.googleapis.com/ajax/libs/jquery/' + ver + '/jquery.min.js',
script = document.createElement("script");
script.type = "text/javascript";
script.src = url;
if (typeof(jQuery) == "undefined")
{
appendjQuery(script, callback);
}
else
{
compareJQueryVersion(jQuery.fn.jquery, ver, function (result) {
switch(result) {
case false:
case 1:
callback(jQuery);
break;
case 2:
appendjQuery(script, callback);
}
});
}
};
function appendjQuery(script, callback)
{
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;
callback(jQuery.noConflict());
script.onload = script.onreadystatechange = null;
head.removeChild(script);
};
};
head.appendChild(script);
}
function compareJQueryVersion(v1, v2, callback)
{
var v1parts = v1.split('.');
var v2parts = v2.split('.');
for (var i = 0; i < v1parts.length; ++i)
{
if (v2parts.length == i)
{
//v1 + " is larger"
callback(1);
return;
}
if (v1parts[i] == v2parts[i])
{
continue;
}
else if (v1parts[i] > v2parts[i])
{
//v1 + " is larger";
callback(1);
return;
}
else
{
//v2 + " is larger";
callback(2);
return;
}
}
if (v1parts.length != v2parts.length)
{
//v2 + " is larger";
callback(2);
return;
}
callback(false);
return;
}