【发布时间】:2019-01-13 06:32:20
【问题描述】:
我们在我们的网站上使用Zopim。不幸的是,正因为如此,我们在PageSpeed Insights上受到了严厉的惩罚。
- 没有 Zopim:86/100
- 使用 Zopim:66/100
Zopim 似乎知道issue,并承诺进一步优化他们的小部件,但我们还没有看到太大的进展。
添加Zopim的代码如下:
<script type="text/javascript">
window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
$.src="https://v2.zopim.com/?2dAdkKRoqdi9hHHrfr302XabQaK8DN7f";z.t=+new Date;$.
type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
</script>
我一直在尝试不同的方式来延迟脚本的执行(延迟和异步),但未能成功提高我们的 PageSpeed Insights 分数(没有完全删除 Zopim)。
我来到了这个article,但我的幼稚尝试(将“defer.js”替换为“https://v2.zopim.com/?2dAdkKRoqdi9hHHrfr302XabQaK8DN7f”)没有达到预期的效果,Zopim 仍然被 PageSpeed 计入。
我的问题:
- 推迟非关键脚本以确保 PageSpeed Insights不将该脚本计入其分数的最佳方法是什么?
- 如何将其应用于 Zopim 脚本?
【问题讨论】:
-
最后我们将 Zopim 推迟了 4 秒,这足以让 Google PageSpeed Insights 在评分中完全忽略它。
-
我也在处理这个问题????想知道从
requestIdleCallback内部注入是否就足够了......
标签: javascript pagespeed zopim