Google Analytics发送活动有时会失败

时间:2014-08-24 12:19:01

标签: javascript google-analytics

我每次用户下载特定文件时都会尝试记录事件,但是对分析服务器的请求会不时被取消(尽管下载开始)。

以下是代码:

ga('send', 'event', {
    'eventCategory': 'Addon',
    'eventAction': 'Download',
    'hitCallback': function() {
        document.location = $scope.file.file_url;
    }
});

(如果信息很重要,该文件驻留在不同的主机上)

我认为浏览器取消了请求,但为什么会发生这种情况,我该怎么做才能阻止它呢?

2 个答案:

答案 0 :(得分:1)

用户在下载过程中是否会停留在同一页面上吗?如果用户被重定向到另一个页面(例如她下载的文件的PDF预览或感谢页面),则代码可能没有时间执行。使用JS setTimeout来延迟重定向。

除此之外,还需要更多信息和示例才能解决您的问题。

答案 1 :(得分:1)

我通过将下载属性添加到我的标签来解决了这个问题:

<a href="mydownloadurl" download>Download</a>

我注意到我在开始下载时收到了此消息:

  

资源被解释为文档但使用MIME类型application / octet-stream传输

在谷歌搜索后,我找到了解决方案,即添加下载属性。事实证明,ga请求不再被取消。浏览器必须被该错误搞糊涂并取消所有正在进行的请求(或其他内容)。 我现在做了一些测试,在大约20个ga的调用中,所有这些都成功了。