【发布时间】:2011-07-18 17:37:35
【问题描述】:
我需要计算页面内 UpdatePanel 的渲染时间。 有人知道怎么做吗?
提前致谢。
【问题讨论】:
标签: javascript asp.net ajax updatepanel
我需要计算页面内 UpdatePanel 的渲染时间。 有人知道怎么做吗?
提前致谢。
【问题讨论】:
标签: javascript asp.net ajax updatepanel
您可以订阅 beginRequest 和 endRequest 回调并计算它们之间的经过时间。
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。
【讨论】:
alert(_dateDiff.); 不是有效的 javascript。
首先我要感谢@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);
}
希望这对其他开发者有用。 谢谢!
【讨论】: