2013-03-26 82 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