javascript - 未记录非用户启动操作触发的导航历史记录

标签 javascript google-analytics

我的问题本质上与 this question 相同,但现在 6 年过去了,那里的答案似乎不适用于当今的浏览器。

我已经实现了 Google Analytics 增强型电子商务跟踪,其代码非常类似于 this snippet 。该代码片段将一个新的 URL 分配给 hitCallback 函数内的 document.location(异步调用)。

问题是,用户进入新页面后,他们的浏览器历史记录不包括上一页,相反,如果他们单击“后退”,他们将返回两页。

我在 Chrome 和 IE9 中看到此问题。我在 Firefox 中没有看到它。

我已经尝试过workaround of using setTimeout in the callback function但这在 Chrome 中没有区别。

这是有问题的代码:

     $(document).on('click', 'a.product', function() {
          ga('ec:addProduct', {
            'id': $(this).data('ean'),
            // a few more values, omitted for brevity
          });
         ga('ec:setAction', 'click', {list: 'Search results'});
         var href = $(this).attr('href');

         // Send click with an event, then send user to product page.
         ga('send', 'event', 'UX', 'click', 'Results', {
              hitCallback: function() {
                document.location = href; // this line is the problem
              }
         });
         return false;
     });

编辑: 我的页面有很多大图像,我刚刚发现只有当用户在所有图像加载完成之前单击产品时才会出现此问题。

最佳答案

我发现只有当用户在所有图像加载完成之前单击产品时才会出现此问题。所以我让图像延迟加载,这应该会大大减少客户遇到这个问题的机会。

关于javascript - 未记录非用户启动操作触发的导航历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32480422/

相关文章:

javascript - ExtJS,FormPanel show() 函数问题

javascript - jQuery 表单验证 - 检查电子邮件是否相同

javascript - 如何根据表单提交跟踪 Google Analytics(分析)中的转化?

iphone - 监控 iPhone 应用程序上的 Google Analytics 请求

javascript - 使用事件 onkeyup() javascript 更改元素值

javascript - 如何从 JavaScript 输出 JSON 输出,以便将其识别为 JSON?

javascript - 触发.io — 谷歌分析

google-analytics - 谷歌分析 API : get total events per day/week

php - codeigniter 中的分析 api oauth2callback 重定向

javascript - WebStorm 向我发出关于缺少分号的警告,尽管 TSLint 说永远不要使用它们