当用户使用右键点击(而非左键点击)跳转域时,是否有办法传递GA Cookie进行跨域跟踪?
答案 0 :(得分:0)
似乎依赖于autoLink
,它会在左键单击时自动修饰链接,并不直接提供替代事件。
由于我正在做假设,我没有提供完整的解决方案。
每autoLink in GA's analytics.js devguide:
// Loads the Linker plugin
ga('require', 'linker');
// Instructs the Linker plugin to automatically add linker parameters
// to all links and forms pointing to the domain "destination.com".
ga('linker:autoLink', ['destination.com'], false, true);
此操作也会在oncontextmenu
上运行,因此如果访问者右键单击并选择“在新标签页中打开”,该链接仍会进行修饰,并会附加数据。
在其他事件需要装饰的情况下,需要使用以下内容 manually adding linker parameters 扩展autoLinking:
ga('linker:decorate', destinationLink);
这样的函数调用基于上面'linker:autoLink`数组中列出的域来修饰链接。它可以适用于所有跨域链接。
假设需要禁用上下文菜单: From Andy E's answer
destinationLink.oncontextmenu = function ()
{
ga('linker:decorate', destinationLink);
console.log(destinationLink.href);
document.location = destinationLink.href;
return false;
}
这将在右键单击时修饰链接并将浏览器定向到装饰的URL。
如果已禁用上下文菜单,请缩写Andy E的代码:
destinationLink.addEventListener('mousedown', function (e) {
console.log('mousedown', e);
if (3 == e.which) { // is it a right click
ga('linker:decorate', destinationLink)
document.location = destinationLink.href;
}
})
请注意,在访问者点击之前必须尽快进行装饰,因为参数在2分钟后过期。
Analytics Ninja,根据您的具体要求调整您的代码,如果您遇到其他问题,请遵循Philip Walton的建议