2013-03-26 85 views
1

我想花費網頁的加載相似的時間以編程方式確定了一些擴展(例如速度示蹤)如何做到這一點。例如,我想知道何時觸發某些關鍵事件,例如網絡連接,DOM Load事件和SSL網絡計時。如何測量移動設備上的網頁加載時間?

因爲擴展不支持Android版Google Chrome是有辦法做到這一點的代碼?

+4

這是如何離題? – 2013-04-08 07:39:12

回答

7

有一個名爲 「Navigation Timing API」 的東西,您可在Android版Chrome(和桌面版Chrome,Internet Explorer和Firefox)。

鉤Android設備到計算機,並通過遵循this document描述指令使「遠程調試模式」。

打開Chrome在您的計算機和訪問本地主機:9222訪問Android版Chrome的DevTools。

在控制檯中,類型如下。

> performance.timing 

你就會發現這個樣子的(如果崩潰摺疊)

connectEnd: 1364275296017 
connectStart: 1364275296017 
domComplete: 1364275296699 
domContentLoadedEventEnd: 1364275296517 
domContentLoadedEventStart: 1364275296458 
domInteractive: 1364275296458 
domLoading: 1364275296304 
domainLookupEnd: 1364275296017 
domainLookupStart: 1364275296017 
fetchStart: 1364275296017 
loadEventEnd: 1364275296705 
loadEventStart: 1364275296700 
navigationStart: 1364275295553 
redirectEnd: 1364275296017 
redirectStart: 1364275295553 
requestStart: 1364275296025 
responseEnd: 1364275296273 
responseStart: 1364275296264 
secureConnectionStart: 0 
unloadEventEnd: 1364275296275 
unloadEventStart: 1364275296275 

您可以找到有關的HTML5Rocks的文章‘Measuring Page Load Speed with Navigation Timing’導航計時API的更多細節。

1

如果您加載它在自己的WebView你可以使用這樣的事情:

mWebView.setWebViewClient(new WebViewClient() { 

    public void onPageFinished(WebView view, String url) { 
     long doneTime = System.getCurrentTimeInMillis(); 
     int timeToLoad = doneTime - startTime; 
    } 
}); 

long startTime = System.getCurrentTimeInMillis(); 
mWebView.loadUrl(yourUrl); 

如果您正在尋找特別是在Chrome或Firefox應用來衡量,我不認爲有任何真正的解決方案這一點除了嘗試用秒錶或其他東西手工測量。希望我錯了。

+0

我喜歡你提供的方式。 – JackWM 2013-03-26 04:20:34