2015-02-06 290 views
0

好吧,這是一個奇怪的現象。我已經將Google標記管理器腳本添加到了我的頁面底部,並且已經發布了容器,但是我已經刪除了所有標記(以防萬一其中一個標記爲罪魁禍首)。我的代碼片段看起來是這樣的:Google跟蹤代碼管理器掛起XHR就緒狀態已更改

<!-- Google Tag Manager --> 
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5T8FJJ" 
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
    <script>(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= 
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 
    })(window,document,'script','dataLayer','GTM-5T8FJJ');</script> 
    <!-- End Google Tag Manager --> 

這似乎是發生的是什麼東西在標籤助理碼懸掛並導致頁面不響應幾秒鐘。

你可以在這個截圖中看到它看起來像onreadystatechange正在接近3200ms。

enter image description here

enter image description here

對於多一點背景,我做服務器端與節點/反應/渲染的WebPack。下面是我在渲染服務器上我的頁面模板:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charSet="utf-8" /> 
    <meta httpEquiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 
    <title><%= title %></title> 
    <meta name="description" content="" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1" /> 
    <meta name="csrf" content=<%= csrf %> /> 
    <link rel="stylesheet" href="<%= styleUrl %>" /> 
    </head> 
    <body> 

    <script type="text/javascript"> 
     window.data = <%= data %>; 
    </script> 

    <div id="react-target"> 
    <%= html %> 
    </div> 

    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script> 
    <script type="text/javascript" src="<%= commonsUrl %>"></script> 
    <script type="text/javascript" src="<%= scriptUrl %>"></script> 

    <!-- Google Tag Manager --> 
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5T8FJJ" 
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
    <script>(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= 
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 
    })(window,document,'script','dataLayer','GTM-5T8FJJ');</script> 
    <!-- End Google Tag Manager --> 

    </body> 
</html> 

這是我在使用谷歌標籤管理器的第一次嘗試,所以我不知道是否有什麼毛病我的配置與否。感謝幫助。

UPDATE

我有共同的WebPack束稱爲common.js。根據網絡標籤,似乎google標籤管理器腳本強制它第二次下載。真奇怪。

enter image description here

+0

當您刪除標籤幫助擴展時會發生什麼?它仍然掛起? – Blexy 2015-02-06 00:46:50

+0

不,它不。如果我刪除了webpack腳本,它也不會掛起。所以當兩者一起使用時會發生奇怪的事情。我正選擇性地刪除每個庫,以查看是否可以追蹤它。 – Micah 2015-02-06 01:59:25

+0

@Blexy我剛剛發佈了一個更新。它似乎標籤管理器強制我的common.js包的另一個下載。 – Micah 2015-02-06 02:10:57

回答

1

我終於能夠找出問題。我有一個部分這是加載谷歌的AdWords轉化跟蹤代碼:

<!-- Google Code for Registration Conversion Page --> 
<script type="text/javascript"> 
    /* <![CDATA[ */ 
    var google_conversion_id = xxx; 
    var google_conversion_language = "en"; 
    var google_conversion_format = "3"; 
    var google_conversion_color = "xxx"; 
    var google_conversion_label = "xxx"; 
    var google_remarketing_only = false; 
    /* ]]> */ 
</script> 
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script> 
<noscript> 
    <div style="display:inline;"> 
    <img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/xxx/?label=rX1nCMeesFkQ29ac1wM&amp;guid=ON&amp;script=0"/> 
    </div> 
</noscript> 

這是被編譯並通過的WebPack這是造成某種一些奇怪的競爭條件或爭加載。仍然不確定爲什麼這會是一個問題,但它解決了它。

相關問題