Skip to content

Instantly share code, notes, and snippets.

@draganHR
Last active August 29, 2015 13:56
Show Gist options
  • Save draganHR/8846684 to your computer and use it in GitHub Desktop.
Save draganHR/8846684 to your computer and use it in GitHub Desktop.
(function($) {
var $scripts = [];
$.getScriptOnce = function(url, success){
if(url instanceof Array && url.length==1)
{
url = url[0];
}
else if(url instanceof Array)
{
var first = url.shift();
$.getScriptOnce(first, function(){
$.getScriptOnce(url, success);
});
return;
}
url = url + $.getScriptOnce.url_sufix;
if(typeof $scripts[url] == 'undefined')
{
$scripts[url] = {status: 0, callback: []};
if($.isFunction(success))
{
$scripts[url].callback.push(success);
}
$.getScript(url, function(xhr, status){
$scripts[url].status = 1;
$.each($scripts[url].callback, function(i, callback){
callback(xhr, status);
});
$scripts[url].callback = [];
});
}
else if($scripts[url].status==0 && $.isFunction(success))
{
$scripts[url].callback.push(success);
}
else if($.isFunction(success))
{
success();
}
};
$.getScriptOnce.url_sufix = "";
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment