日付と時刻のサーバーを取得したら、サーバーの日付と時刻で1 秒ずつ時間を更新します。
問題:
表示後、ブラウザでの表示が遅くなります。1004 ms
インクリメントにかかると思います1 second
。では問題ないように見えますが、Chrome
では遅くなりIE8
ます。
私のアプローチ:
var serverdate = null;
var elapsedSecond = null;
var startTime = "<%= getServerStartTime()%>";
window.onload=function(){
setServerDateAndTime();
};
function setServerDateAndTime() {
var currenttime= 'July 06, 2013 13:10:20';
serverdate = new Date(currenttime);
elapsedSecond = callAjax(startTime); //It Gets actual Elapsed Second
serverdate.setSeconds(serverdate.getSeconds() + parseInt(elapsedSecond, 10));
setInterval(displaytime, 1000);
}
function displaytime(){
serverdate.setSeconds(serverdate.getSeconds()+1);
var timestring = serverdate.getHours()+":"+serverdate.getMinutes()+":"+serverdate.getSeconds();
var date = serverdate.getFullYear() + ""+(serverdate.getMonth() + 1) +""+ serverdate.getDate();
document.getElementById("serverDateTime").innerHTML = date +" " + timestring;
}
function callAjax(value1) {
var result="";
var dataObj = {serverStartTime : value1};
$.ajax({
type : "POST",
url : '${pageContext.request.contextPath}/utility/frameredirect/elapsedTime.action',
dataType : 'text',
data : dataObj,
cache : false, // guarantees jsp is always called
async: false,
success: function(data) {
result = data;
}
});
return result;
}
どうすればこの問題を解決できますか? どんなアイデアでも大歓迎です。