const litespeed_ui_events = ['mouseover', 'click', 'keydown', 'wheel', 'touchmove', 'touchstart']; 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'); e2.addEventListener('load', resolve); e2.addEventListener('error', resolve); 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'; let is_inline = false; // Inline script if (!e2.src && e.textContent) { e2.src = litespeed_inline2src(e.textContent); // e2.textContent = e.textContent; is_inline = true; } // Deploy to dom e.after(e2); e.remove(); // document.head.appendChild(e2); // e2 = e.cloneNode(true) // e2.setAttribute( 'type', 'text/javascript' ); // e2.setAttribute( 'data-delayed', '1' ); // Kick off resolve for inline if (is_inline) resolve(); } /** * 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; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
babel.min.js | File | 772.69 KB | 0644 |
|
component.cdn.js | File | 6.34 KB | 0644 |
|
component.crawler.js | File | 2.93 KB | 0644 |
|
css_async.js | File | 1.45 KB | 0644 |
|
css_async.min.js | File | 1.32 KB | 0644 |
|
guest.docref.js | File | 247 B | 0644 |
|
guest.docref.min.js | File | 215 B | 0644 |
|
guest.js | File | 740 B | 0644 |
|
guest.min.js | File | 373 B | 0644 |
|
instant_click.min.js | File | 2.89 KB | 0644 |
|
instant_click.ori.js | File | 16.31 KB | 0644 |
|
iziModal.min.js | File | 25.65 KB | 0644 |
|
js_delay.js | File | 2.67 KB | 0644 |
|
js_delay.min.js | File | 1.65 KB | 0644 |
|
lazyload.init.js | File | 823 B | 0644 |
|
lazyload.lib.js | File | 24.89 KB | 0644 |
|
lazyload.min.js | File | 8.12 KB | 0644 |
|
litespeed-cache-admin.js | File | 16.44 KB | 0644 |
|
react.min.js | File | 128.93 KB | 0644 |
|
webfontloader.js | File | 12.21 KB | 0644 |
|
webfontloader.min.js | File | 11.81 KB | 0644 |
|