Extends jQuery with our custom multi-resource asynchronous script receiver.
It ensures that the onLoaded callback will only be executed when all scripts have been loaded. It also maintains a cache of already loaded URL's to prevent multiple downloads. It also supports loading script that have their own loading mechanism, like Google Maps, by offering a way to take their callback and inject it into ourselves.
Resources are passed in the following style:
[
"simple_javascript_file.js",
{
url: 'js_file_with_own_loader',
callbackSetter: function(callback) {
// The callback parameter is the callback that 'js_file_with_own_loader' _needs_
// to call when it completes. So you could do it like this for example:
module.addListener( 'onLoad', callback ) ;
// Or you can check the example below for how it works with Google Maps e.g.
}
}
]
This is a sample resource definition for loading Google Maps with our own custom script that extends the Google Map object:
<code>
[ "my_google_maps_extension.js",
{ url: "http://maps.google.com/maps?file=api&v=2&key=" + GMAP_KEY + "&async=2&callback=_gmapsOwnOnLoadCallback",
callbackSetter: function(callback) { self._gmapsOwnOnLoadCallback = callback }
} ]