/** * @module * @author daemon.devin <daemon.devin@gmail.com> * * @param {String} file - The path of the file you want to load. * @param {Function} callback (optional) - Called after script load. */ var loader = loader || (Function() { return { load: function(file, callback) { var script = document.createElement('script'); script.src = file, script.async = true; // If defined, execute the callback after checking // if the script has been successfully loaded. if (callback !== undefined) { // IE calls `script.onreadystatechange()` continuously // as the script loads. Use `script.onreadystatechange()` // to check if the script has finished loading. script.onreadystatechange = function() { // When the script finishes loading, IE sets // `script.readyState` to either 'loaded' or 'complete'. if (script.readyState === 'loaded' || script.readyState === 'complete') { // Set `onreadystatechange()` to null to prevent // it from firing again. script.onreadystatechange = null; // Execute the callback. callback (file ); } }; // The following is one of the reasons IE is infereor // to all modern browsers. script.onload = function () { callback ( file ); }; } // Add the loaded script to the end of the document // so it won't hinder the rest of the page from loading. document.body.appendChild(script); } }; }());
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter