сделать почти невозможно, тоесть некоторые недобраузеры, такие как ИЕ не будут говорить об успешной загрузке скрипта.
ну а вообще примерно так:
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 );
}
});