【问题标题】:how to solve the Defer parsing of JavaScript?如何解决 JavaScript 的延迟解析?
【发布时间】:2017-05-10 06:59:39
【问题描述】:

如何解决以下错误:

在初始页面加载期间解析了 826.9KiB 的 JavaScript。延迟解析 JavaScript 以减少页面渲染的阻塞。

我的 Javascript 代码是:

{foreach $javascript.external as $js}

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

{/foreach}

【问题讨论】:

标签: javascript performance prestashop-1.7


【解决方案1】:

假设您在 head 标签中添加脚本,您可以通过在结束 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)
}());

【讨论】:

  • 嗨,我正在使用异步属性来解决这个问题。但是在 chrome 浏览器中解决了这个问题,但它在 mozilla firefox 中无法正常工作,请告诉我如何解决? @brk
猜你喜欢
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 2017-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多