2011-07-18 70 views

回答

2

您可以訂閱beginRequestendRequest回調並計算它們之間的經過時間。

function pageLoad() { 
    var manager = Sys.WebForms.PageRequestManager.getInstance(); 
    if (manager != null) { 
     manager.add_beginRequest(Request_Begin); 
     manager.add_endRequest(Request_End); 
    } 
} 

function Request_Begin(sender, args) 
{ 
    // TODO: start your timer here (new Date()) 
} 

function Request_End(sender, args) { 
    // TODO: get the current date and measure the difference 
    // with theone obtained in the beginRequest 
} 

following thread將幫助您實現我在代碼中留下的TODO。

+0

是的,謝謝,但我仍然面臨着那個問題。 問題是JS日期計算,正如你所說,我打開另一個線程,並嘗試使用毫秒的格式來計算它,但沒有成功。 – felipekm

+0

如果可能,你能幫我在這個小提琴上嗎? http://jsfiddle.net/felipekm/gaZVH/ – felipekm

+0

@FelipeKM,你讀過以下線程:http://stackoverflow.com/questions/41948/how-do-i-get-the-difference-between-two -dates式的JavaScript? –

0

首先,我要感謝@Darin所有的支持,這真是太棒了! 隨着@darin建議,我可以讓我的一些數學目標包括下面這樣:

function get_time_difference(earlierDate, laterDate) { 
    var nTotalDiff = laterDate.getTime() - earlierDate.getTime(); 
    var oDiff = new Object(); 

    oDiff.minutes = Math.floor(nTotalDiff/1000/60); 
    nTotalDiff -= oDiff.minutes * 1000 * 60; 

    oDiff.seconds = Math.floor(nTotalDiff/1000); 
    oDiff.milliseconds = Math.floor(nTotalDiff * 1000); 

    return oDiff; 
} 

var timeInit; 
var timeFinal; 

function pageLoad() { 
    var manager = Sys.WebForms.PageRequestManager.getInstance(); 
    if (manager != null) { 
     manager.add_beginRequest(Request_Begin); 
     manager.add_endRequest(Request_End); 
    } 
} 

function Request_Begin(sender, args) { 
    timeInit = new Date(); 
} 

function Request_End(sender, args) {   
    timeFinal = new Date(); 
    var diff = get_time_difference(timeInit, timeFinal); 
    alert('Minutes: ' + diff.minutes + '\nSeconds: ' + diff.seconds + '.' + diff.milliseconds);   
} 

希望這是對別人有用的開發者。 謝謝!