2011-07-18 32 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);   
} 

希望这是对别人有用的开发者。 谢谢!