// Начало
var jQuery;
var jQueryProvider = (function() {
var jQueryGlobalRegister = {};
var jQueryProvider = {
get: function(version) {
if(version in jQueryGlobalRegister)
return Promise.resolve(jQueryGlobalRegister[version]);
return new Promise(function(resolve, reject) {
var script = document.createElement("script");
script.onload = function() {
resolve(jQueryGlobalRegister[version] = jQuery);
};
script.onerror = reject;
script.src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/" + version + "/jquery.min.js";
document.body.appendChild(script);
});
}
};
return jQueryProvider;
})();
// Конец
// Пример
jQueryProvider.get("3.3.1").then(function($) {
// здесь идёт код, который требует jQuery 3.3.1
// тест - проверка версии
console.log("3.3.1", $.fn.jquery);
});
jQueryProvider.get("3.0.0").then(function($) {
// здесь идёт код, который требует jQuery 3.0.0
// тест - проверка версии
console.log("3.0.0", $.fn.jquery);
});
jQueryProvider.get("2.1.4").then(function($) {
// здесь идёт код, который требует jQuery 2.1.4
// тест - проверка версии
console.log("2.1.4", $.fn.jquery);
});
jQueryProvider.get("1.12.4").then(function($) {
// здесь идёт код, который требует jQuery 1.12.4 и т. д.
// тест - проверка версии
console.log("1.12.4", $.fn.jquery);
});