Skip to content

Instantly share code, notes, and snippets.

@tommedema
Created November 14, 2010 13:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tommedema/676162 to your computer and use it in GitHub Desktop.
Save tommedema/676162 to your computer and use it in GitHub Desktop.
Role('JooseX.Namespace.Depended.Transport.ScriptTag', {
requires : [ 'handleLoad' ],
override : {
load: function (url, onsuccess, onerror) {
//load URL, on success call onsuccess(strData, url);, on error call onerror(e);
var newscript = document.createElement('script'),
head = document.getElementsByTagName('head')[0] || document.documentElement;
newscript.type = 'text/javascript';
newscript.src = url;
newscript.onload = newscript.onreadystatechange = function() {
if(newscript.readyState) { // IE
if(newscript.readyState === 'complete' || newscript.readyState === 'loaded') {
newscript.onreadystatechange = null;
onsuccess(newscript.text, url) //SUCCESS
}
}
else { // non-IE
onsuccess(newscript.text, url) //SUCCESS
}
};
newscript.onerror = newscript.onreadystatechange = function () {
if(newscript.readyState) { // IE
if(newscript.readyState === 'error') {
onerror(url + " load failed."); //ERROR
}
}
else { // non-IE
onerror(url + " load failed."); //ERROR
}
};
head.insertBefore(newscript, head.firstChild);
},
materialize : function() {}
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment