我维护一个JavaScript库来测量网页加载时间(http://github.com/lognormal/boomerang)并将它们发送到我的服务器中的信标。它发回的有些时间是相对的(end-start
),而其他时间是绝对的(new Date().getTime()
)
在大多数情况下,我看到的绝对时间戳是有意义的,并且在请求时间的几秒钟内。然后我偶尔会看到一些非常荒谬的时间戳,我不知道该怎么做。这是一个示例:
112731879 (Safari 4 on Mac OS X 10.4.11 (PPC))
574766408 (Android 2.3.1)
6855660455 (iOS 4.2.1 on iPad)
5000 (Safari 3.1)
356902853 (Mobile Safari 4.0.4 on iOS 3.2 (iPad))
133643085 (Mobile Safari 5.0.2 on iPhoneOS 4.2.1 (iPod))
2775235876 (Mobile Safari 4.0.5 on iPhoneOS 4.1 (iPod))
虽然看起来这些主要是移动设备,但其中有一些不是。请注意,所有这些时间戳都应该是毫秒,因此最近的任何内容都应该有13位数。
我在网上搜索过,但我要么没有一个好的搜索查询,要么没有任何内容可以解决这个问题。我已经测试了我自己的iOS设备并获得了13位数的时间戳,所以我不知道这些可能是什么。任何关于在哪里寻找或寻找什么的想法/建议都将受到赞赏。
据我所知,其中一些请求可能只是假的,但用户浏览模式的其余部分表明他们是网站的合法用户。
答案 0 :(得分:0)
这可能与Date()基于的不可靠的系统时钟有关吗?新的performance.now()API应该有助于解决这些问题(虽然我不知道这个问题在现实世界中应该有多常见,或者为什么移动设备会受到如此大的影响。)
http://gent.ilcore.com/2012/06/better-timer-for-javascript.html