我有一个使用谷歌分析的网站,并且使用了多个域。我被要求通过这样做来添加跨域跟踪:
1) 添加异步跟踪器
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21602333-1']);
_gaq.push(['_setDomainName', 'domain.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_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);
})();
2) 将以下代码添加到指向其他域之一的所有链接。
<a href="http://www.domain-aanvraag.nl[rest van de link]" onclick="_gaq.push(['_link', 'http://www.domain.com']); return false;">Go!</a>)
_link 选项根据 google 执行以下操作:
此方法与 _setDomainName() 和 _setAllowLinker() 方法结合使用以启用跨域用户跟踪。_link() 方法通过 URL 参数 (HTTP GET) 将 GATC cookie 从这个站点传递到另一个站点。它还会更改 document.location 并将用户重定向到新的 URL。
行。这一切都适用于正常的传出链接。
这就是问题所在。我有一个表单,用户可以在其中选择两个单选按钮之一,然后在选择一个后点击提交按钮。如果选择了第一个单选按钮,则会打开一个花式框弹出窗口,其中包含一个指向另一个域上的页面的 iframe。如果打开第二个单选按钮,则当前窗口将重定向到该域上的另一个页面。
我只想_gaq_push(['_link', ...])
在用户选择第一个选项并单击按钮时做这些事情。
所以我有两个问题:
- 我应该在哪里放置onclick。
- 如何使用 fancybox 使用此代码?它似乎总是设置主屏幕的document.location,而不是我的fancybox中的iframe,导致我的屏幕完全刷新。
到目前为止,这是我的代码的精简工作示例:https ://www.domain.com/test/analytics.html