2012-06-13 28 views
2

我維護一個測量網頁加載時間的JavaScript庫(http://github.com/lognormal/boomerang),並將它們發送到我的服務器的信標中。一些它發回的時間是相對的(end-start),而另一些絕對(new Date().getTime()如何從手機中解讀這些奇怪的JavaScript時間戳?

在大多數情況下的絕對時間戳我看是有意義的,並且是請求時間在幾秒鐘內。然後我偶爾會看到一些非常荒謬的時間戳,我不知道該怎麼做。下面是一個示例:

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

@JakaJančar有不同的瀏覽器有各種與時間戳相關的錯誤。您看到哪個錯誤取決於確切的症狀和確切的瀏覽器。例如,一些版本的chrome在請求開始和響應之間跳轉,然後跳回。 – bluesmoon

回答

0

這可能與Date()基於的不可靠系統時鐘有關嗎?新performance.now()API應該幫助解決這些問題(雖然我不知道這個問題應該如何共同在現實世界中,爲什麼手機會如此受到嚴重影響。)

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

+1

AFAIK performance.now()在iOS(或任何蘋果瀏覽器)上不受支持。這些時間戳也太偏離時鐘偏移。傾斜會有幾秒鐘的時間,這些時間戳是幾年。 – bluesmoon