23 lines
670 B
JavaScript
23 lines
670 B
JavaScript
|
/**
|
||
|
* This function will work cross-browser for loading scripts asynchronously
|
||
|
*/
|
||
|
function loadAsync(src, callback) {
|
||
|
var scriptTag,
|
||
|
ready = false;
|
||
|
|
||
|
scriptTag = document.createElement('script');
|
||
|
scriptTag.type = 'text/javascript';
|
||
|
scriptTag.src = src;
|
||
|
scriptTag.onreadystatechange = function() {
|
||
|
// console.log( this.readyState ); //uncomment this line to see which ready states are called.
|
||
|
if (!ready
|
||
|
&& (!this.readyState || this.readyState == 'complete')
|
||
|
) {
|
||
|
ready = true;
|
||
|
typeof callback === 'function' && callback();
|
||
|
}
|
||
|
};
|
||
|
scriptTag.onload = scriptTag.onreadystatechange
|
||
|
|
||
|
document.getElementsByTagName("head")[0].appendChild(scriptTag)
|
||
|
}
|