UNPKG

delay-script

Version:

Delay Loading of Non Critical Scripts

1 lines 499 B
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)}))}