gpt4 book ai didi

javascript - 确保在进入下一页之前发送谷歌分析事件

转载 作者:行者123 更新时间:2023-12-01 02:22:16 24 4
gpt4 key购买 nike

在非 SinglePageApp 中,当您单击指向另一个页面的 anchor 链接时,JavaScript 将取消并加载新页面。

当我尝试对附加到这些 anchor 标记的 Google Analytics 进行异步调用时,这是一个问题。

例如,如果我有一个继续链接,并且我希望在单击它时触发 ga 事件,如果我天真地添加该事件,它将排队异步加载,但有时不会被调用,因为浏览器将取消 JavaScript并在处理 ga“继续单击”事件之前转到下一页。

我注意到 GA 有一个名为“hitCallback”的属性,我尝试使用它,但似乎我仍然没有处理继续事件。我这样做是为了尝试遵循 GA 的指导方针:https://developers.google.com/analytics/devguides/collection/analyticsjs/sending-hits#handling_timeouts

$('a.js-ga-track-event').click(function(e) { // jquery attaching to a element
e.preventDefault();
var href = this.href;
var linkClicked = false;

var clickLink = function() {
if (href && !linkClicked) {
linkClicked = true;
window.location.href = href;
}
};

// As a backup, will submit the form if GA does not succeed within 0.5 seconds
setTimeout(clickLink, 500);

var name = 'continue clicked';
var label = '';
ga('send', {
'hitType': 'event',
'eventCategory': 'EXAMPLE CATEGORY',
'eventAction': 'continue clicked',
'eventLabel': label,
'hitCallback': clickLink
});
});

该链接绝对没有捕获所有事件点击。我做错了什么吗?

最佳答案

hitCallBack 确实是您想要使用的。整体代码逻辑看起来不错,但是,我看到:

  • GA 函数名称为大写(GA 而不是应有的 ga)
  • send 调用的语法与 doc example 不同

相反,你为什么不试试这个:

ga('send', 'event', 'EXAMPLE CATEGORY', 'continue clicked', label, {
hitCallback: clickLink
});

关于javascript - 确保在进入下一页之前发送谷歌分析事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49118963/

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