delay-script
Version:
Delay Loading of Non Critical Scripts
1 lines • 499 B
JavaScript
function loadDelayScripts(t){const e=document.querySelectorAll('script[type="text/delay"]');function n(e,n,r){e.removeAttribute("type");const c=document.createElement("script");n?c.src=e.src:c.textContent=e.textContent;for(const t of e.attributes)c.setAttribute(t.name,t.value);return c.async=!1,e.replaceWith(c),r&&t&&(n?c.addEventListener("load",t):t()),c}let r;e.forEach(((t,c)=>{const o=t.hasAttribute("src"),s=c===e.length-1;o?r=n(t,o,s):r?r.addEventListener("load",(()=>n(t,o,s))):n(t,o,s)}))}