当用户使用右键单击(而不是左键单击)跳域时,是否有方法传递GA cookie以进行跨域跟踪?
似乎依赖于autoLink
,它在左键单击时自动装饰链接,并且不直接提供替代事件。
由于我在做假设,所以我没有提供完整的解决方案。
根据GA分析中的autoLink。js开发指南:
// 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
上操作,因此如果访问者右键单击并选择"在新选项卡中打开",则链接仍将被装饰,并将附加数据。
如果需要对其他事件进行修饰,则需要通过使用手动添加链接器参数来扩展autoLinking
ga('linker:decorate', destinationLink);
这样的函数调用根据上面"linker:autoLink"数组中列出的域装饰链接。它可以适用于所有跨域链接。
假设上下文菜单需要禁用:来自Andy E的回答
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的建议