【问题标题】:Load livechatinc code after webpage is fully loaded网页完全加载后加载 livechatinc 代码
【发布时间】:2019-09-01 00:40:34
【问题描述】:

我有一个 WordPress 网站,我使用 livechatinc 作为聊天应用程序。没有聊天代码,主页在 0.9 到 1.2 秒内加载,但放置聊天代码后,它会上升到 3.2 秒。 我想在网页完全加载后加载js聊天代码。

我尝试过使用几个插件,但似乎没有任何效果。 这是 livechatnic 提供的代码

<!-- Start of LiveChat (www.livechatinc.com) code -->
<script type="text/javascript">
    window.__lc = window.__lc || {};
    window.__lc.license = 3254125;
    (function() {
        var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
        lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
    } )();
</script>

<!-- End of LiveChat code -->

【问题讨论】:

    标签: javascript wordpress livechat


    【解决方案1】:

    我喜欢在页面加载后 3 秒加载 livechatinc.js。

    这可以用一点 JS 来完成。在结束 &lt;/body&gt; 标记之前添加它。确保将&lt;YOUR_LICENSE_NUMBER&gt; 替换为您的实际许可证号。

    window.__lc = window.__lc || {};
    window.__lc.license = <YOUR_LICENSE_NUMBER>;
    window.onload = function() {
        setTimeout(function(){ 
            // Live Chat
            !function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src=("https:"==document.location.protocol?"https://":"http://")+"cdn.livechatinc.com/tracking.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}();
        }, 3000);
    };
    

    如果您想早晚加载,可以调整 3000 毫秒。


    对于那些有兴趣使用 Google 跟踪代码管理器 来延迟加载的人,您可以在此处按照 Live Chat Inc 的说明进行操作:

    https://www.livechat.com/help/google-tag-manager/

    【讨论】:

      【解决方案2】:

      我找到了解决方案 我已经包含了 google 标签管理器,我在其中包含了所有其他 javascript 代码, 然后我执行以下操作。

          <script>
          (function(){
              setTimeout(function(){
                  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
      })(window,document,'script','dataLayer','GTM-5M93GPC');
              }, 5000);
          })()
      </script>
      

      【讨论】:

      • 你是怎么解决的?你可以解释吗 ?我也有类似的问题。
      【解决方案3】:

      据我所见,代码是从他们的服务器提供并异步加载的,所以它并没有真正减慢网站速度,我发现这个:https://www.livechatinc.com/kb/is-livechat-slowing-my-website/ - 看看,他们解释得很好。

      【讨论】:

      • 尽管通常:谷歌速度测试 - 错误,GTMetrix - 错误,LiveChatInc - 正确,我不确定他们在本文中使用了什么论据。好的 - '异步不会减慢页面速度加载时间。'是的,它来自他们的服务器,但浏览器仍然必须以某种方式处理它。他们的或不是他们的,这仍然需要一些时间。他们只在统计数据上说,好吧,那为什么 GA 标记我们的页面有问题。 GA 机器人知道它们是异步的。那么有问题吗?根据GA有。那么 LiveChat,您能否在不破坏所有数据收集的情况下将其设为可选以加载您的脚本。
      • @Nookeen 确实是正确的。解析在主线程上运行的脚本是渲染阻塞并且会延迟页面绘制。来源:developers.google.com/web/fundamentals/performance/…
      猜你喜欢
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      • 2023-01-02
      • 1970-01-01
      • 2022-09-24
      • 2021-10-24
      • 1970-01-01
      相关资源
      最近更新 更多