我的许多事件(可能是20%)都没有记录在Google Analytics中。这些都是通过在发布表单的图像按钮上进行onclick调用的所有事件。我相信代码运行速度不够快,无法在浏览器移动到下一页之前将事件提交给Google。避免Google Analytics异步跟踪中的竞争条件
我想要做的是检查_gaq队列的状态,并确保在完成我的Javascript之前没有未决事件。
_gaq对我来说似乎有点神秘,但它确实有一个暴露的属性 - 你。我已经在Chrome一直在测试用一个简单的命令:
console.log(_gaq.u);
不幸的是,这总是返回0,即使_gaq.push命令后立即运行。当然,Chrome似乎总是在事件发生之前将事件发送给Google,所以我不确定我是否可以在Chrome中进行调试,因为我无法复制该问题。
有谁知道是否有办法从_gaq获取队列中未决项目的计数? _gaq.u是否合适?我想要做一些比在所有事件上投入100或200毫秒等待更优雅的事情。
我使用同步代码试图避免这种情况我正在使用异步代码进行页面跟踪,但按钮点击发生的所有事件均使用同步版本进行编码。 我在Chrome中测试了它,它工作正常(尽管使用_getTracker时不断弃用警告)。部署它并运行几天导致行为绝对没有变化 - 20-25%的事件没有被捕获。 任何想法为什么同步代码不能解决这个问题?我还没有做过分析,看看是否存在特定于浏览器的问题。 – bkgraham
另外,yahelc,你有没有测试过你的'onmousedown'和'onkeydown'事件,尤其是iPad? – bkgraham
@bkgraham是的。查看Apple的文档;它工作正常http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html – Yahel