2

我维护了一个 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 位数的时间戳,所以我不知道这些可能是什么。任何关于在哪里寻找或寻找什么的想法/建议将不胜感激。

我知道其中一些请求可能只是假的,但用户的其余浏览模式表明他们是网站的合法用户。

4

1 回答 1

0

这可能与 Date() 所基于的不可靠系统时钟有关吗?新的 performance.now() API 应该有助于解决此类问题(尽管我不知道这个问题在现实世界中应该有多普遍,或者为什么移动设备会受到如此巨大的影响。)

http://gent.ilcore.com/2012/06/better-timer-for-javascript.html

于 2012-06-13T21:23:53.610 回答