Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery-плагин не работает с новыми версиями jQuery (https://javascript.ru/forum/jquery/73247-jquery-plagin-ne-rabotaet-s-novymi-versiyami-jquery.html)

LLIypuk 01.04.2018 13:57

jQuery-плагин не работает с новыми версиями jQuery
 
Приветствую!
Решил на своем многостраничном сайте сделать анимированные переходы между страницами с помощью плагина http://git.blivesta.com/animsition/ .Однако как выяснилось он не работает с jQuery версии 3.1.2, а только с более ранними версиями. Другие же плагины уже установленные на сайт требуют именно 3-ю версию jQuery. Не думал, что для разным плагинов нужны определенные версии jQuery. Что делать в такой ситуации???

Malleys 01.04.2018 20:57

// Начало
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);
});


Часовой пояс GMT +3, время: 09:23.