Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决JavaScript的延迟解析?_Javascript_Performance_Prestashop 1.7 - Fatal编程技术网

如何解决JavaScript的延迟解析?

如何解决JavaScript的延迟解析?,javascript,performance,prestashop-1.7,Javascript,Performance,Prestashop 1.7,如何解决以下错误: 在初始页面加载期间,将解析826.9KiB的JavaScript。延迟解析JavaScript以减少页面呈现的阻塞 我的Javascript代码是: {foreach $javascript.external as $js} <script type="text/javascript" src="{$js.uri}" {$js.attribute} ></script> {/foreach} {foreach$javascript.ex

如何解决以下错误:

在初始页面加载期间,将解析826.9KiB的JavaScript。延迟解析JavaScript以减少页面呈现的阻塞

我的Javascript代码是:

{foreach $javascript.external as $js}

    <script  type="text/javascript" src="{$js.uri}" {$js.attribute} ></script>

{/foreach}
{foreach$javascript.external as$js}
{/foreach}

假设您在head标记中添加脚本,您可以通过在closing body标记附近而不是在header中添加脚本来延迟页面呈现的阻塞

或者,创建IIFE并在页面呈现后加载脚本

(function() {
  function loadJS() {
    var s = document.createElement('script'),
      getScriptTag = document.getElementsByTagName('script')[0];
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'script location';
    getScriptTag.parentNode.insertBefore(s, x);
  }

  (window.attachEvent) ? window.attachEvent('onload', loadJS): window.addEventListener('load', loadJS, false)
}());

假设要在head标记中添加脚本,可以通过在closing body标记附近而不是在header中添加脚本来延迟页面呈现的阻塞

或者,创建IIFE并在页面呈现后加载脚本

(function() {
  function loadJS() {
    var s = document.createElement('script'),
      getScriptTag = document.getElementsByTagName('script')[0];
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'script location';
    getScriptTag.parentNode.insertBefore(s, x);
  }

  (window.attachEvent) ? window.attachEvent('onload', loadJS): window.addEventListener('load', loadJS, false)
}());

您好,我正在使用async属性来解决此问题。但在chrome浏览器中解决此问题,但在mozilla firefox中无法正常工作。请告诉我如何解决@brkhi我正在使用async属性来解决此问题。但在chrome浏览器中解决此问题,但在mozilla firefox中无法正常工作。请告诉我如何解决@brk的可能副本可能与的可能副本相同