Отложенная загрузка скриптов
Подключение происходит по целевому действию пользователя или через 5 секунд полсе загрузки страницы
function delayedLoading(fn,n,t=5000) { const ctr=new AbortController();const signal=ctr.signal,once=true;let c=false,tId; function loadFallback(e){tId = setTimeout(()=>connectScript(e),t)} function connectScript(e){if(c)return;c=true;clearTimeout(tId);ctr.abort();fn();if(n)console.debug(`Скрипт %c${n}`,"color:#26bfa5;","запустился по эвенту:",e)} window.addEventListener('load',loadFallback,{signal,once}); ["mouseenter","click"].forEach(function(e){document.addEventListener(e,connectScript,{signal,once})}); ["scroll","touchstart"].forEach(function(e){window.addEventListener(e,connectScript,{passive:true,signal,once})});}