Динамически загружаемая jQuery и jQuery-функции в одном файле 
		
		
		
		Здравствуйте! Помогите советом, пожалуйста. 
	Мне необходимо подключить к странице один внешний js-файл, который будет: - проверять наличие jQuery на странице и если jQuery нет, то динамически подгружать либу - пока jQuery не загрузится, не исполнять никакой код из этого файла - после потверждения загрузки jQuery, исполнить нужные jQuery-функции. Вот что у меня вышло: load = function() { //добавляем в хэд массив ссылок на внешние скрипты load.getScript(); //исполняем нужный код после загрузки jQuery load.tryReady(0); } load.getScript = function() { var filename = ["jquery.min.js", "jquery-ui.min.js"] for (i=0;i<filename.length;i++) { var fileref = document.createElement('script') fileref.setAttribute("type","text/javascript") fileref.setAttribute("src", filename[i]) if (typeof fileref !="undefined") {document.getElementsByTagName("head")[0].appendChild(fileref)} } } load.tryReady = function(time_elapsed) { //проверяем загрузку библиотеки if (typeof $ == "undefined") { if (time_elapsed <= 5000) { setTimeout("load.tryReady(" + (time_elapsed + 200) + ")", 200); } else { alert("jQuery незагружена") } } else //библиотека уже загружена { // тут наши функции на jQuery } } load(); Функция рабочая, но из-за setTimeout() могут возникать проблемы, особенно когда вставляешь в эту функцию код нескольких плагинов. То работает, то не работает. Кто-нибудь можеть подсказать, как можно обойтись без setTimeout() для проверки, загрузилась ли jQuery или нет.  | 
	
		
 вот вообщем-то решение, если интересно: http://wonko.com/post/painless_javas..._with_lazyload. Вставить к себе в код этот плагин и спокойно загружать все что нужно динамически и исполнять callback-функции, если нужно 
	 | 
	
		
 А если вот так: 
	
window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.min.js"><\/script>');
if (window.jQuery){
    console.log('загружена');
} else {
    console.log('не загружена');
};
 | 
	
		
 document.write же не останавливает выполнение текущего скрипта. 
	 | 
	
		
 особо не вникал, но html5boilerplate.com использует в своем шаблоне именно подобную версию. 
	 | 
	
		
 Там код, использующий jQuery идет ниже, в других тегах <script>. А для решения проблемы автора топика это ничего не даст. 
	 | 
	
		
 Ну тогда подойдет http://requirejs.org 
	Это на страницу <script data-main="scripts/main" src="scripts/require-jquery.js"></script> Это в main.js 
require(["jquery"], function($) {
    $(function() {
        alert('Загружено')
    });
});
Документация тут: http://requirejs.org/docs/jquery.html  | 
| Часовой пояс GMT +3, время: 03:58. |