首页 > 解决方案 > 当与 facebook 的连接速度变慢时,网站加载速度很慢

问题描述

我们有一个公共网站。它包含 Facebook Pixel 脚本。然而,在我们地区,有时访问 Facebook 的速度会急剧下降,而互联网的其他部分则运行良好。当它发生时,主页加载非常缓慢。这是位于页面头部的脚本:

<script>
    !function(f,b,e,v,n,t,s)
    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};
    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
    n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];
    s.parentNode.insertBefore(t,s)}(window, document,'script',
    'https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '123456');
    fbq('track', 'PageView');
</script>

据我所知,这个脚本应该异步加载,但似乎不是,因为页面无法完全呈现,直到 facebook 像素完成其工作。我什至pagespeed EnableFilters defer_javascript在我的 nginx 的 pagespeed 模块中设置了,但它没有帮助。

我能做些什么?我究竟做错了什么?

标签: javascriptasynchronousfacebook-pixel

解决方案


您可以尝试将脚本标签本身添加到 deferscript

<script defer>

您可以尝试async,但我确定它不适用于内联脚本。如果你正在拉入 facebook javascript 文件,那么你也可以异步它。

<script async>

这样,您将不需要 pagespeed 来执行延迟


推荐阅读