2011-10-20 33 views
3

我设置了子域static.map.ninux.org以加载域map.ninux.org的静态文件。目标是建立一个无Cookie的域名。Google Analytics(分析)消除了我制作无Cookie域的努力

我查了一下,发现map.ninux.org上的google analytics使用“.map.ninux.org”域创建cookie,由于某些原因,该域也对static.map.ninux.org有效。

我该如何解决这个问题?

PS:这段代码是否正确?

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-26436344-1']); 
_gaq.push(['_trackPageview']); 
_gaq.push(['_setDomainName', 'map.ninux.org']); 
(function() { 
    var ga = document.createElement('script'); 
    ga.type = 'text/javascript'; 
    ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(ga, s); 
})(); 

有了这个,我仍然得到与主机饼干 “.map.ninux.org”

回答

3

编辑:

你不能让static.map.ninux.org饼干免费当为map.ninux.org设置cookie时,因为static.map.ninux.org将继承map.ninux.org中的所有cookie(并且您没有任何改变此行为的机会)。

您可能希望将cookiefree域名更改为static-map.ninux.org。在这种情况下,_setDomainName是'auto'的默认设置将正常工作。

+0

我添加到答案的代码是否正确?我仍然通过host:“.map.ninux.org”获得cookie。 :-( – nemesisdesign

+0

添加到问题*对不起。 – nemesisdesign

+0

已更新我的回答。 – Seybsen

3

谷歌跟踪器参数的排序播放spoilsport。在_trackPageview之前放置setDomainName参数,它将起作用。

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXXX-X'], 
    ['_setDomainName', 'www.example.com'], 
    ['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 
1

促进Cookie的域的另一种方式是你的流量推送到www.map.ninux.org而非map.ninux.org - 这样,static.map.ninux.org将保持无Cookie。

然后,如在之前的响应,你可以使用下面的指令

['_setDomainName', 'www.map.ninux.org'] 

或为谷歌Analytics(分析)的另一种风味,看起来像这样:

<script> 
    (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-XXXX-XX', 'ninux.org'); 
    ga('send', 'pageview'); 
</script> 

您可以手动修改“ ga创建“部分:

ga('create', 'UA-XXXX-XX', 'www.map.ninux.org') 

这会导致Google Analytics在.www.map.ninux.org域中创建它们的Cookie,而不是在.ninux.org域中创建它们的Cookie。

相关问题