dp("a.download-2").click(function(){
var e=dp(this).attr("id");
var t=dp(this).attr("name");
var n=dp(this).attr("rel");
var r=navigator.platform;
var i=r.substring(0,3);
if(i=="Win"){
jQuery("#fb_pixel").addClass("fb_conversion");
_gaq.push(["_trackEvent",n,"download",t]);
window.location.href="http://"+e+".rackcdn.com/abc123.exe";
}else if(i=="Mac"){
jQuery("#fb_pixel").addClass("fb_conversion");
_gaq.push(["_trackEvent",n,"download",t]);
window.location.href="http://"+e+".rackcdn.com/abc123.dmg";
}else{
alert("The software only supports Windows and Mac operating system.");return false}});
此代码中的跟踪将不起作用。
但是,如果我在GA跟踪事件代码下方添加一个警报代码。跟踪工作正常。像下面的代码,
dp("a.download-2").click(function(){
var e=dp(this).attr("id");
var t=dp(this).attr("name");
var n=dp(this).attr("rel");
var r=navigator.platform;
var i=r.substring(0,3);
if(i=="Win"){
jQuery("#fb_pixel").addClass("fb_conversion");
_gaq.push(["_trackEvent",n,"download",t]);
alert(n+" "+t);
window.location.href="http://"+e+".rackcdn.com/abc123.exe";
}else if(i=="Mac"){
jQuery("#fb_pixel").addClass("fb_conversion");
_gaq.push(["_trackEvent",n,"download",t]);
alert(n+" "+t);
window.location.href="http://"+e+".rackcdn.com/abc123.dmg";
}else{
alert("The software only supports Windows and Mac operating system.");return false}});
我不知道为什么这个警报会影响。是的,它不应该。
提前致谢。
最佳答案
window.location.href="http://"+e+".rackcdn.com/abc123.exe";
行强制浏览器在您的GA代码有机会工作之前重定向。
因此,您可以在编写GA代码后尝试在代码内使用setTimeout
。这样,您可以确保在重定向页面之前运行GA代码。alert
之所以起作用,是因为它会暂停执行,直到您单击“确定”为止,这在世界范围内足够使任何JavaScript都能运行。
关于jquery - 无法在jquery中触发GA事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23508057/