C0n*_*0nk 2 pagespeed pagespeed-insights
因此,在我的所有网页上,我都有此代码,Yandex metrika 使用该代码进行分析。根据谷歌的说法,这个脚本正在减慢我的页面速度,需要改变它的加载方式,以免渲染阻塞、TTI 时间输入阻塞、FID 第一个输入延迟阻塞、第一个内容绘制阻塞。
<script data-cfasync="false" type="text/javascript">
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
</script>
Run Code Online (Sandbox Code Playgroud)
Google 的页面速度报告如下 https://developers.google.com/speed/pagespeed/insights/
我可以修改 Yandex metrika javascript 来解决此问题吗?
恐怕你没有太多选择,因为它是第三方脚本。
提高分数和感知加载时间的一个选择是将函数调用包装在setTimeout足够长的集合中,以延迟加载脚本,直到加载基本内容。
<script data-cfasync="false" type="text/javascript">
setTimeout(function(){
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
}, 5000); //set this as high as you can without ruining your stats.
</script>
Run Code Online (Sandbox Code Playgroud)
这绝对是一种解决方法,我建议使用另一个不那么臃肿的库(如果你能找到一个)。
| 归档时间: |
|
| 查看次数: |
7032 次 |
| 最近记录: |