*/}).toString().match(regex); /*-->*/ var headerAssets = matches[1]; function getElementAttrs(el, new_el) { Array.prototype.slice.call(el.attributes).forEach(function(item) { new_el.setAttribute(item.name, item.value); }); } function appendElementToHead(element) { var tagname = element.tagName; var e = document.createElement(tagname); e.innerHTML = element.innerHTML; getElementAttrs(element, e); if(e.nodeName == 'LINK') { // temporarily, set media to something non-matching to ensure it'll // fetch without blocking render e.media = 'only x'; } document.head.appendChild(e); setTimeout( function(){ // set media back to `all` so that the stylesheet applies once it loads e.media = 'all'; },0); } function downloadCSSAtOnLoad() { for (var i = 0; i < cssArray.length; i++) { // Create element as a new node and append to body asset = cssArray[i]; div = document.createElement('div'); div.innerHTML = asset; element = div.firstChild; appendElementToHead(element); } } var cssArray = []; var headerAssetsArray = headerAssets.split("\n"); var asset = ''; var div = ''; var element = ''; var index = 0; for (var i = 0; i < headerAssetsArray.length; i++) { asset = headerAssetsArray[i]; asset = asset.trim(); if(asset === '') { continue; } // Create element and place asset inside div = document.createElement('div'); div.innerHTML = asset; // Check if a stylesheet and load at OnLoad element = div.getElementsByTagName('link')[0]; if(element && element !== 'undefined') { cssArray[index++] = asset; continue; } // Create element as a new node and append to body element = div.firstChild; appendElementToHead(element); } if (window.addEventListener) { window.addEventListener("load", downloadCSSAtOnLoad, false); } else if (window.attachEvent) { window.attachEvent("onload", downloadCSSAtOnLoad); } else { window.onload = downloadCSSAtOnLoad; }
*/}).toString().match(regex); /*-->*/ var footerAssets = matches[1]; function css(element, property) { return window.getComputedStyle(element, null).getPropertyValue(property); } function loadExternalFooterResourcesOnLoad() { // Load Font Awesome // First check if fontawesome already loaded through Cloudflare var span = document.createElement('span'); span.className = 'fa'; span.style.display = 'none'; document.body.insertBefore(span, document.body.firstChild); if ((css(span, 'font-family')) !== 'FontAwesome') { // not loaded - use CDN to load fontawesome var fontawesome = document.createElement("script"); fontawesome.async = 1; //fontawesome.defer = 1; fontawesome.type = "text/javascript"; fontawesome.src = "https://use.fontawesome.com/fbcca38446.js"; document.head.appendChild(fontawesome); } document.body.removeChild(span); } function getElementAttrs(el, new_el) { Array.prototype.slice.call(el.attributes).forEach(function(item) { new_el.setAttribute(item.name, item.value); }); } function appendElementToBody(element) { var tagname = element.tagName; var e = document.createElement(tagname); e.innerHTML = element.innerHTML; //function already defined in elements/custom_header_required.php getElementAttrs(element, e); document.body.appendChild(e); } function downloadJSAtOnload() { if (!window.jQuery) { var jquery = document.createElement('script'); jquery.src = jquerySrc; document.body.appendChild(jquery); } var ticker_application = function() { setTimeout(function() { if(window.jQuery){ for (var i = 0; i < scriptArray.length; i++) { // Create element as a new node and append to body asset = scriptArray[i]; div = document.createElement('div'); div.innerHTML = asset; element = div.firstChild; //element.defer = 1; element.async = 1; appendElementToBody(element); } } else { ticker_application(); } }, 200); }; ticker_application(); } var jquerySrc = '/updates/concrete5-8.5.7/concrete/js/jquery.js'; var scriptArray = []; var footerAssetsArray = footerAssets.split("\n"); var asset = ''; var div = ''; var element = ''; var index = 0; for (var i = 0; i < footerAssetsArray.length; i++) { asset = footerAssetsArray[i]; asset = asset.trim(); if(asset === '') { continue; } // Create element and place asset inside div = document.createElement('div'); div.innerHTML = asset; // Check if a script and load at OnLoad element = div.getElementsByTagName('script')[0]; if(element && element !== 'undefined') { scriptArray[index++] = asset; continue; } // If not a script then create element as a new node and append the element to body element = div.firstChild; appendElementToBody(element); } if (window.addEventListener) { window.addEventListener("load", downloadJSAtOnload, false); window.addEventListener("load", loadExternalFooterResourcesOnLoad, false); } else if (window.attachEvent) { window.attachEvent("onload", downloadJSAtOnload); window.attachEvent("onload", loadExternalFooterResourcesOnLoad); } else { window.onload = downloadJSAtOnload; window.onload = loadExternalFooterResourcesOnLoad; }