2015-08-13 58 views
1

實際上,我工作的一個數據分析的項目,我發現該網站的HTML代碼中的這些行:如何管理的getCookie功能和谷歌分析

function getCookie(cname) { 
     var name = cname + "="; 
     var ca = document.cookie.split(';'); 
     for(var i=0; i<ca.length; i++) { 
      var c = ca[i]; 
      while (c.charAt(0)==' ') c = c.substring(1); 
      if (c.indexOf(name) == 0) return c.substring(name.length,c.length); 
     } 
     return ""; 
    } 

    if (getCookie('cookiebar') == 'true') 
    { 
     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
     })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

     ga('create', 'UA-XXXXXXXX-X', 'auto'); 
     ga('send', 'pageview'); 
    } 

我不熟悉JavaScript,所以我將真正感謝您對「if(getCookie('cookiebar')=='true')」之後的代碼目的的善意解釋。以下是我的理解:

首先,我們創建一個函數,它將研究與「cname」參數對應的cookie的名稱。

在代碼的第二部分,我們將嘗試查找'cookiebar'是否存在。

如果'cookiebar'不存在,這是因爲用戶不接受cookie並且分析腳本未啓動。如果有,則啓動Google Analytics腳本。

但是,有人可以告訴我腳本是否啓動,即使用戶忽略該消息(即不接受也不拒絕)?

+0

這聽起來像你有單獨的代碼,提示訪客接受,我假設他們設置一個cookie。那麼,如果他們忽視這個信息會發生什麼?您需要發佈該代碼才能確定 –

+0

如果getCookie('cookiebar')'爲false,則不會創建Google Analytics實例。一些其他代碼片段(即詢問用戶是否可以存儲cookie)決定了cookiebar cookie。 –

回答

0

如果用戶忽略消息,腳本將不會運行。