gpt4 book ai didi

JavaScript 在谷歌分析后执行

转载 作者:数据小太阳 更新时间:2023-10-29 05:04:37 25 4
gpt4 key购买 nike

我正在使用 Google Analytics 并在分析请求完成后进行重定向。

我正在使用这段代码:

var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-12345678-1']);

_gaq.push(['_trackPageview']);

_gaq.push(function () {
window.location.replace("myRedirectToUri");
});

这没有正确执行。

重定向在 Firefox 上正确完成(作为分析回调),但在其他浏览器(IE、Chrome、Safari)上却没有,所以我丢失了分析数据。

目前我已将超时设置为 1 秒,但这不是真正的解决方案。

对如何正确实现这个有什么帮助吗?

最佳答案

目前这个问题还没有很好的解决办法。您能做的最好的事情就是添加超时以延迟重定向。目前没有回调到 _trackPageview。当它返回时意味着它开始跟踪,但在 __utm.gif 请求完成之前不能保证它已经成功注册了页面浏览量。

1 秒超时可能太多了。我通常将超时保持在 200-400 毫秒左右。

var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);

_gaq.push(['_trackPageview']);

_gaq.push(function () {
setTimeout(function(){
window.location.href = newUrl;
}, 200);
});

编辑:

从我最初发布这个答案到现在已经有 2 年了,从那时起,Google Analytics 已经取得了长足的进步。

现在有一个正确的方法来做到这一点:

var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);

_gaq.push(['_set','hitCallback',function(){
window.location.href = newUrl;
}]);

_gaq.push(['_trackPageview']);

如果您已使用 analytics.js 迁移到 Universal Analytics,则等效项为:

ga('create', 'UA-XXXXXXX-X')

ga('send', 'pageview', {
'hitCallback': function() {
window.location.href = newUrl;
}
});

编辑 2

这是执行此操作的更正确方法,以确保即使 Google Analytics(分析)代码被扩展程序或广告拦截器阻止或篡改,您的代码也能执行。

var t = undefined;

var myCode = function(){
window.clearTimeout(t);
t = undefined;
window.location.href = newUrl;

};

t = setTimeout(myCode, 3000);

ga('create', 'UA-XXXXXXX-X')

ga('send', 'pageview', {
'hitCallback': myCode
});

关于JavaScript 在谷歌分析后执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com