减少第三方代码的影响-Google CDN

时间:2019-12-12 16:21:15

标签: javascript jquery pagespeed google-pagespeed pagespeed-insights

此问题似乎严重影响了我的页面速度得分:

  

减少第三方代码的影响第三方代码阻止了   主线程持续[number]毫秒

这个数字每次我运行测试时都会更改,有时是1000,有时是1400,等等。

从Google CDN中,我只加载jquery插件并加载Web fond脚本以延迟加载字体,这是相关代码:

<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6/webfont.js"></script>
<script>
 WebFont.load({
    google: {
      families: ['Open Sans:400,600','Roboto:400,500,700']
    }
  });
</script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

这是来自页面速度分析的信息:

第三方|尺寸|主线程阻塞时间

Google CDN | 40 KB | 1,001毫秒

引导CDN | 70 KB | 0毫秒

我该怎么做才能提高速度?

我注意到,向我的站点添加或删除更多JS代码会影响此“主线程阻塞时间”,即使该代码并非来自Google CDN。

例如,如果删除一些JavaScript块,例如这些本地脚本:

<script src="/js/d3.v5.min.js"></script>
<script src="/js/billboard.min.js"></script>
<script defer src="/js/moment.min.js"></script>

Google CDN的主线程阻塞时间减少到500毫秒,我的分数增加了

1 个答案:

答案 0 :(得分:1)

您可以采取一些措施来改善您的网站:-

  1. async属性添加到JS(如果defer破坏了您的网站,因为没有将其设置为不允许异步加载而不遇到竞争条件,则async会破坏您的网站)。这样做的目的是删除阻塞的JS。
  2. 在第3部分域上使用<link rel="preconnect" href="itemURL" />,通过尽早完成所有DNS,TLS和TCP魔术来减少脚本源上的查找时间。
  3. 如果脚本特别繁重并且对于页面操作不是必不可少的,请考虑在几秒钟后延迟加载该脚本,以使主线程避开重要工作(只需插入脚本或在短{{ 1}})。
  4. 如果所有其他方法均失败-替换脚本,则某些脚本只是资源消耗,可能会有更轻量的选择(尝试使用http://microjs.com/作为灵感来源)