【发布时间】:2015-11-21 11:56:30
【问题描述】:
我经营一个电子商务网站,我们有各种第三方 JavaScript,它们向链接和表单添加点击处理程序,然后插入延迟以确保跟踪通过。通过消耗 CPU 并运行 for 或 while 循环来插入延迟,直到某个日期过去 350 毫秒(Marketo / Munchkin)或 Visual Website Optimizer 的 500 毫秒。加起来几乎是 1 秒!
有时,延迟可能很好,因此跟踪可能更可靠。但是,当您单击我们网站上的大多数链接时,我们不希望发生这种情况,因为它会为用户增加最多 1 秒的延迟。有了这么大的延迟,我们已经完成了所有其他性能优化!
很遗憾,我们需要这些脚本的很多功能(例如 Visual Website Optimizer 和 Marketo),所以我们无法删除它们。
鉴于我没有对它们的引用,是否可以删除他们添加的处理程序或阻止它们触发?
【问题讨论】:
-
要删除事件,您可以使用unbind。
-
您是否发现在某些情况下为什么/在哪些地方您的等待时间会加倍?正如你所说,它不应该超过 500 毫秒。
-
我深入挖掘发现有 500 ms (VWO) + 350 ms (Marketo)。基本上,任何对链接(标签)的点击都会被跟踪。对于 Visual Website Optimizer,即使他们没有跟踪任何内容,这种情况也会天真地发生,但如果没有 A/B 测试处于活动状态,这种情况可能会消失(但无论如何,拥有它有什么意义)。对于 Marketo 来说,这似乎一直都是。 VWO 还通过表单提交开始了无限旋转。当我看到我的加载微调器滞后于我们的 AJAX 登录时,我注意到了这一点,并通过至少推迟分析调用解决了 CPU 旋转造成的一些卡顿,但仍然 - 非常可悲。
标签: javascript jquery analytics web-analytics marketo