PluginProbe
Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score / 3.6.3
Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score v3.6.3
trunk 1.0 1.0.1 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 2.0 2.0.1 2.0.2 2.0.3 2.0.4 2.1 2.1.1 2.1.2 2.2 2.2.1 All 69 releases
← All changes | includes/classes/FileOptimizer.php +4 -23 trunk3.6.3 View file →
@@ -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