如何解决延迟解析JavaScript?

时间:2017-05-10 06:59:39

标签: 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}

1 个答案:

答案 0 :(得分:0)

假设您要在head标记中添加脚本,可以通过在关闭body标记附近而不是在标题中添加脚本来推迟阻止页面呈现。

或者创建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)
}());