[英]How can I monitor the rendering time in a browser?
我在一個內部企業系統上工作,該系統具有使用Tomcat的Web前端。
編輯:理想情況下,我需要監控訪問頁面的客戶端上的呈現。
導航時序API在現代瀏覽器(IE9 +)中可用,但Safari除外:
function onLoad() {
var now = new Date().getTime();
var page_load_time = now - performance.timing.navigationStart;
console.log("User-perceived page loading time: " + page_load_time);
}
如果瀏覽器啟用了JavaScript,您可以做的一件事就是編寫內聯腳本並在HTML中首先發送它。 該腳本將做兩件事:
<script language="JavaScript">
var renderStart = new Date().getTime();
window.onload=function() {
var elapsed = new Date().getTime()-renderStart;
// send the info to the server
alert('Rendered in ' + elapsed + 'ms');
}
</script>
... usual HTML starts here ...
您需要確保頁面稍后不會覆蓋代碼中的onload,而是添加到事件處理程序列表中。
就非侵入性技術而言, Hammerhead測量完整的加載時間(包括JavaScript執行),盡管僅在Firefox中。
當全局添加JavaScript代碼段來衡量每個頁面加載操作的開始和結束時,我看到了可用的結果。
看看Selenium - 他們提供了一個遙控器,可以自動啟動不同的瀏覽器(例如IE6),加載頁面,測試頁面上的特定內容。 最后生成報告,同時顯示渲染時間。
由於其他人發布使用其他瀏覽器的答案,我想我也會。 Chrome有一個非常詳細的分析系統,它可以分解頁面的渲染時間,並顯示每個步驟所花費的時間。
至於IE,你可能想考慮編寫一個插件。 市場上似乎沒有這樣的工具。 也許你可以賣掉它。
在Firefox上,您可以使用Firebug來監控加載時間。 使用YSlow插件,您甚至可以獲得如何提高性能的建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.