Показать сообщение отдельно
  #6 (permalink)  
Старый 01.12.2011, 23:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

сделать почти невозможно, тоесть некоторые недобраузеры, такие как ИЕ не будут говорить об успешной загрузке скрипта.

ну а вообще примерно так:

function loadScripts( src, callback ) {
	var script = document.createElement("SCRIPT"),
		head = document.getElementsByTagName( "head" )[ 0 ],
		error = false;

	script.type = "text/javascript";

    script.onload = script.onreadystatechange = function( e ){

	    if ( ( !this.readyState || this.readyState == "loaded" || this.readyState == "complete" ) ) {
			if ( !error ) {
				removeListeners();
		        callback( true );
			} else {
		        callback( false );
			}
	    }
    };

	script.onerror = function() {
		error = true;
		removeListeners();
        callback( false );
	}

	function errorHandle( msg, url, line ) {

		if ( url == src ) {
			error = true;
			removeListeners();
	        callback( false );
		}
		return false;
	}

	function removeListeners() {
       	script.onreadystatechange = script.onload = script.onerror = null;

		if ( window.removeEventListener ) {
			window.removeEventListener('error', errorHandle, false );
		} else {
			window.detachEvent("onerror", errorHandle );
		}
	}

	if ( window.addEventListener ) {
		window.addEventListener('error', errorHandle, false );
	} else {
		window.attachEvent("onerror", errorHandle );
	}

	script.src = src;
    head.appendChild( script );
}


loadScripts('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', function( status ){
    if ( status ) {
        alert("Ура! Скрипт готов к работе и мы можешь юзать его функции. Объект jQuery: " + jQuery );
    }
});

Последний раз редактировалось devote, 02.12.2011 в 00:01.
Ответить с цитированием