Javascript 确保在转到下一页之前发送google analytics事件

Javascript 确保在转到下一页之前发送google analytics事件,javascript,google-analytics,Javascript,Google Analytics,在非SinglePageApp中,当您单击指向另一个页面的锚链接时,javascript将取消并加载新页面 这是一个问题,当我试图异步调用谷歌分析附加到这些锚标签 e、 例如,如果我有一个continue链接,并且我希望在单击时触发ga事件,如果我天真地添加该事件,它将排队异步加载,但有时不会被调用,因为浏览器将取消javascript并在处理ga“continue clicked”事件之前转到下一页 我注意到GA有一个名为“hitCallback”的属性,我尝试使用它,但似乎我仍然无法处理co

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

这是一个问题,当我试图异步调用谷歌分析附加到这些锚标签

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

我注意到GA有一个名为“hitCallback”的属性,我尝试使用它,但似乎我仍然无法处理continue事件。我这样做是为了遵循GA的指导方针:


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

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

  • GA函数名为大写(
    GA
    而不是
    GA
  • send
    调用的语法与
相反,你为什么不试试这个:

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

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

  • GA函数名为大写(
    GA
    而不是
    GA
  • send
    调用的语法与
相反,你为什么不试试这个:

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

将传输字段设置为“信标”。很简单。

将传输字段设置为“信标”。很简单。

另外一个措施是将“transport”字段设置为“beacon”,因为这样即使在页面卸载时也会发送数据(现在浏览器支持应该很好,当Navigator.sendBeacon()不受支持时ga会返回其默认方法)。另外一个措施是将“transport”字段设置为“beacon”,既然这样,即使在页面卸载时也会发送数据(现在浏览器支持应该很好了,当Navigator.sendBeacon()不受支持时,ga会返回默认方法)。嘿@Max谢谢您的关注。我没有添加它,但实际上我将它作为大写输入到实际代码中。将在示例中修复它。在文档中,看起来他们有两种方法<代码>ga('send',{hitType:'event',eventCategory:'Video',eventAction:'play',eventLabel:'cats.mp4'})就会出现。不过,也许我会试着用另一种方式来做,看看是否会有所不同嘿@Max谢谢你的关注。我没有添加它,但实际上我将它作为大写输入到实际代码中。将在示例中修复它。在文档中,看起来他们有两种方法<代码>ga('send',{hitType:'event',eventCategory:'Video',eventAction:'play',eventLabel:'cats.mp4'})就会出现。但是,也许我会尝试用另一种方式来做,看看它是否会有所不同。我必须支持IE 11,但它不支持beacon:(@ThinkBonobo在卸载之前使用断点,等待google服务器返回200。很遗憾,我必须支持IE 11,但它不支持beacon:(@ThinkBonobo在卸载之前使用断点,等待google服务器返回200