| @@ -796,32 +796,13 @@ | ||
| 796 | 796 | $script_loader = PHP_EOL . '<script id="powered-cache-delayed-script-loader">' . PHP_EOL; |
| 797 | 797 | $script_loader .= 'console.log("[Powered Cache] - Script(s) will be loaded with delay or interaction");' . PHP_EOL; |
| 798 | 798 | $script_loader .= 'window.PCScriptLoaderTimeout=' . absint( $delay_timeout ) . ';' . PHP_EOL; |
| 799 | 799 | |
| 800 | - $script_loader .= 'Defer.all(\'script[type="pc-delayed-js"]\', window.PCScriptLoaderTimeout, true);' . PHP_EOL; | |
| 800 | + $script_loader .= 'Defer.all(\'script[type="pc-delayed-js"]\', 0, true);' . PHP_EOL; | |
| 801 | 801 | |
| 802 | - // Dispatch DOMContentLoaded event after delayed scripts are loaded | |
| 803 | - // This ensures scripts that listen for DOMContentLoaded still execute | |
| 804 | - $script_loader .= '(function(){' . PHP_EOL; | |
| 805 | - $script_loader .= ' var pcDelayedScripts=document.querySelectorAll(\'script[type="pc-delayed-js"]\');' . PHP_EOL; | |
| 806 | - $script_loader .= ' if(pcDelayedScripts.length===0)return;' . PHP_EOL; | |
| 807 | - $script_loader .= ' var pcScriptCount=pcDelayedScripts.length;' . PHP_EOL; | |
| 808 | - $script_loader .= ' var pcCheckInterval=setInterval(function(){' . PHP_EOL; | |
| 809 | - $script_loader .= ' var remaining=document.querySelectorAll(\'script[type="pc-delayed-js"]\').length;' . PHP_EOL; | |
| 810 | - $script_loader .= ' if(remaining===0){' . PHP_EOL; | |
| 811 | - $script_loader .= ' clearInterval(pcCheckInterval);' . PHP_EOL; | |
| 812 | - $script_loader .= ' setTimeout(function(){' . PHP_EOL; | |
| 813 | - $script_loader .= ' if(document.readyState==="complete"||document.readyState==="interactive"){' . PHP_EOL; | |
| 814 | - $script_loader .= ' var event=document.createEvent?document.createEvent("Event"):new Event("DOMContentLoaded");' . PHP_EOL; | |
| 815 | - $script_loader .= ' if(document.createEvent){event.initEvent("DOMContentLoaded",true,true);}' . PHP_EOL; | |
| 816 | - $script_loader .= ' document.dispatchEvent(event);' . PHP_EOL; | |
| 817 | - $script_loader .= ' console.log("[Powered Cache] - DOMContentLoaded event dispatched for "+pcScriptCount+" delayed script(s)");' . PHP_EOL; | |
| 818 | - $script_loader .= ' }' . PHP_EOL; | |
| 819 | - $script_loader .= ' },10);' . PHP_EOL; | |
| 820 | - $script_loader .= ' }' . PHP_EOL; | |
| 821 | - $script_loader .= ' },50);' . PHP_EOL; | |
| 822 | - $script_loader .= '})();' . PHP_EOL; | |
| 823 | - | |
| 802 | + if ( absint( $delay_timeout ) > 0 ) { | |
| 803 | + $script_loader .= 'Defer.all(\'script[type="pc-delayed-js"]\', window.PCScriptLoaderTimeout, false);' . PHP_EOL; | |
| 804 | + } | |
| 824 | 805 | $script_loader .= '</script>' . PHP_EOL; |
| 825 | 806 | |
| 826 | 807 | /** |
| 827 | 808 | * Delayed JS script loader content |