2013-02-01 22 views
1

在我們使用ExtJs創建的RIA應用程序中,我們需要捕獲用戶操作所消耗的時間。如何在Javascript中捕獲用戶操作中消耗的時間?

例如,用戶點擊打開窗口的按鈕「打開」,然後需要捕獲打開窗口所消耗的時間。

我們已經嘗試過使用Selenium IDE,但它只記錄動作並執行它們,並且不記錄命令中消耗的時間。

我們也嘗試使用瀏覽器的「Profiler」功能(在動作結束前開始分析並在動作結束後停止分析),但那是手動的。

因此,有人可以指導 - 如何捕捉用戶操作在JavaScript中以自動方式所花費的時間?

感謝您提前提供任何幫助。

+0

你的答案就在這裏:http://stackoverflow.com/questions/1210701/compute-elapsed-time-in-javascript – 2013-02-01 13:35:13

回答

0

這是一個全球性事件的草圖跟蹤功能:

(function() { 

var pairs = {}; 

eventLogger = function(e) { 
    var ts = new Date().getTime(); 

    if (pairs[e]) { 
     var taken = ts - pairs[e], 
     img = new Image(); 
     img.onload = function() { }; 
     img.src = '/path/to/logger?evt=' + encodeURIComponent(e) + '&t=' + encodeURIComponent(taken); 

     delete pairs[e]; 
    } else { 
     pairs[e] = ts; 
    } 
} 

}()); 

它匹配對事件名稱的;第一個啓動計時器,第二個啓動服務器請求記錄該事件花費的時間。

然後,你會記錄事件這樣的:

eventLogger('loadContacts'); 
// start code that loads contacts 
// ... 
// later 
eventLogger('loadContacts'); // done loading 

沒有開始區分和停止的事件,因此,如果你可能有重疊的開始和結束時間,您可能需要做出一些調整。

相關問題