//Loader content var detectorSupportedBrowsersCompatible = true, loaderPath; //IE11 compatibility check if(document.currentScript) { loaderPath = document.currentScript.src; } else { var currentScript = document.querySelector('[src$="detector-dom.min.js"]'); loaderPath = currentScript.src; } var lastSeparatorIndex = loaderPath.lastIndexOf('/'); var configPath = loaderPath.substring(0, lastSeparatorIndex + 1); // Check for detector supported browser feature if (typeof String.prototype.replaceAll !== "function") { detectorSupportedBrowsersCompatible = false; } function loadGBScript(id, src, type, callback) { var script = document.createElement('script'); script.id = id; script.src = src; if(type) { script.type = type; } if(callback) { script.onload = callback; } document.head.appendChild(script); } loadGBScript('gbConfig', configPath + 'config.js', undefined, function() { //Config has loaded, now load and run detector //Load new lazy loaded detector only if modern browser if(detectorSupportedBrowsersCompatible) { loadGBScript('_cls_detector', _cls_config.detectorPath + 'detector-bootstrap.min.js', "module"); } else { loadGBScript('_cls_detector_es5', _cls_config.detectorPath + 'detector-bootstrap_es5.min.js', "text/javascript"); } });