window.litespeed_ui_events = window.litespeed_ui_events || ['mouseover', 'click', 'keydown', 'wheel', 'touchmove', 'touchstart', 'pointerup', 'pointerdown']; var urlCreator = window.URL || window.webkitURL; // const litespeed_js_delay_timer = setTimeout( litespeed_load_delayed_js, 70 ); litespeed_ui_events.forEach(e => { window.addEventListener(e, litespeed_load_delayed_js_force, { passive: true }); // Use passive to save GPU in interaction }); function litespeed_load_delayed_js_force() { console.log('[LiteSpeed] Start Load JS Delayed'); // clearTimeout( litespeed_js_delay_timer ); litespeed_ui_events.forEach(e => { window.removeEventListener(e, litespeed_load_delayed_js_force, { passive: true }); }); document.querySelectorAll('iframe[data-litespeed-src]').forEach(e => { e.setAttribute('src', e.getAttribute('data-litespeed-src')); }); // Prevent early loading if (document.readyState == 'loading') { window.addEventListener('DOMContentLoaded', litespeed_load_delayed_js); } else { litespeed_load_delayed_js(); } } async function litespeed_load_delayed_js() { let js_list = []; // Prepare all JS document.querySelectorAll('script[type="litespeed/javascript"]').forEach(e => { js_list.push(e); }); // Load by sequence for (let script in js_list) { await new Promise(resolve => litespeed_load_one(js_list[script], resolve)); } // Simulate doc.loaded document.dispatchEvent(new Event('DOMContentLiteSpeedLoaded')); window.dispatchEvent(new Event('DOMContentLiteSpeedLoaded')); } /** * Load one JS synchronously */ function litespeed_load_one(e, resolve) { console.log('[LiteSpeed] Load ', e); var e2 = document.createElement('script'); // Memory Cleanup & Resolution logic var handler = function() { if (e2.src.startsWith('blob:')) { URL.revokeObjectURL(e2.src); // RECLAIM MEMORY } resolve(); }; e2.addEventListener('load', handler); e2.addEventListener('error', handler); var attrs = e.getAttributeNames(); attrs.forEach(aname => { if (aname == 'type') return; e2.setAttribute(aname == 'data-src' ? 'src' : aname, e.getAttribute(aname)); }); e2.type = 'text/javascript'; // Inline script if (!e2.src && e.textContent) { e2.src = litespeed_inline2src(e.textContent); // e2.textContent = e.textContent; } // Deploy to dom e.after(e2); e.remove(); } /** * Prepare inline script */ function litespeed_inline2src(data) { try { var src = urlCreator.createObjectURL( new Blob([data.replace(/^(?:)?$/gm, '$1')], { type: 'text/javascript', }), ); } catch (e) { var src = 'data:text/javascript;base64,' + btoa(data.replace(/^(?:)?$/gm, '$1')); } return src; } ! Без рубрики – Online Learning
0

Shopping cart

Close

No products in the cart.

! Без рубрики

Home! Без рубрики
YouTube is one of the most influential platforms in modern media, but its origin story is surprisingly simple: a small team...
YouTube is one of the most influential platforms in modern media, but its origin story is surprisingly simple: a small team...
Каким образом приступить формировать собственную коллекцию композиций Собственная музыкальная подборка дает возможность далеко не зависеть исключительно на алгоритмических советов а...
Каким способом приступить создавать личную подборку композиций Личная связанная с музыкой библиотека дает возможность вовсе не полагаться только на алгоритмических...
Каким способом приступить собирать собственную коллекцию музыки Собственная связанная с музыкой подборка позволяет далеко не полагаться лишь от алгоритмических рекомендаций...
Каким образом приступить собирать личную коллекцию аудиозаписей Личная музыкальная библиотека позволяет не зависеть исключительно на случайных советов и бесконечных списков....
Casino Online Transactions: Deposits, Payouts and Banking Alternatives Modern gambling services offer players multiple financial tools to oversee money efficiently....
Casino Online Transfers: Contributions, Withdrawals and Banking Alternatives Contemporary gambling sites present gamblers multiple economic instruments to manage money effectively....
How Portable Gameplay Is Redefining the Digital Casino Encounter Phones and tablets have redefined how gamblers approach betting platforms currently....
How Portable Play Is Reshaping the Online Casino Encounter Handsets and tablets have transformed how users approach betting platforms currently....