if (!window.load) window.load = function (moduleName) { return new Promise(function(resolve, reject) { fetch(moduleName).then(function (response) { if (response.status !== 200) return reject(new Error("Status code is not 200. ")); response.text().then(function (moduleContents) { try { var moduleObject = { "exports": {} }; var BoundFunction = Function.prototype.bind.apply(Function, [moduleObject]); var moduleFunction = new BoundFunction("global", "window", "module", "exports", "return eval(" + JSON.stringify( moduleContents + "\n//# sourceURL=" + (new URL(moduleName, document.baseURI).href) + "\n" ) + ");" ).bind(moduleObject.exports); var result = moduleFunction.apply(window, [window, window, moduleObject, moduleObject.exports]); resolve(moduleObject.exports); } catch (e) { reject(e); } }).catch(function (err) { reject(err); }); }).catch(function (err) { reject(err); }); }); };