【发布时间】:2011-03-15 01:20:35
【问题描述】:
为了优化我的网站,我为图像、css 和 javascript 等内容设置了一个静态子域。如何阻止谷歌分析跟踪 cookie 被发送到我的静态子域,但仍然发送到 example.com 和 www.example.com?
已经浏览了一些文档,但没有运气
【问题讨论】:
标签: javascript optimization cookies google-analytics subdomain
为了优化我的网站,我为图像、css 和 javascript 等内容设置了一个静态子域。如何阻止谷歌分析跟踪 cookie 被发送到我的静态子域,但仍然发送到 example.com 和 www.example.com?
已经浏览了一些文档,但没有运气
【问题讨论】:
标签: javascript optimization cookies google-analytics subdomain
您不能将 cookie 发送到 www.example.com 和 example.com 而不是 othersubdomain.example.com。
理论上,您可以将 cookie 发送到 example.com,但不能发送到 subdomain.example.com,但它在 IE 中不起作用。
这就是为什么当您计划使用具有自己的安全上下文的子域时,不应使用无 www example.com 地址。无论如何,最好只将www.example.com 和example.com 之一作为“正确”URL。所以为example.com设置一个重定向到www.example.com,除非你故意在它们上设置domain=.example.com,否则cookie不会被共享。
【讨论】:
如果您在使用 Google Analytics(分析)为每个域(包括您的子域)创建 cookie 时遇到问题。这是我在其他地方发布的关于该主题的解决方案。
天哪,我想我找到了解决 Google 提供的损坏代码的临时解决方案。
如果你进入 GA 并获取非异步代码并选择:
One domain with multiple subdomains
Examples: apps.konoro.org
store.konoro.org
video.konoro.org
您会看到它为您提供了带有.konoro.org 的代码示例。将其更改为 www.konoro.org,所有 cookie 都将具有:.www.konoro.org(前面有一个点)。
现在,如果您回到异步代码,除了异步之外只有一个区别。您需要将['_setDomainName', 'www.konoro.org'] 作为第二个选项,而不是在['_trackPageview'] 之后。
由于某种原因,这是第二个选项,它工作正常。
我的最终代码是:
var _gaq = _gaq || [];
_gaq.push(
['_setAccount', 'UA-XXXXXXX-1'],
['_setDomainName', 'www.konoro.org'],
['_trackPageview']
);
(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})();
【讨论】: