Показать сообщение отдельно
  #2 (permalink)  
Старый 01.04.2018, 20:57
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

// Начало
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);
});
Ответить с цитированием