js實時獲取伺服器時間
阿新 • • 發佈:2019-02-16
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX獲取伺服器時間</title>
<script type="text/javascript">
/*
* ajax 函式,處理 ajax 請求
* @param function callback 回撥函式
* @因為要和伺服器互動,所以必須在伺服器環境執行,不能在硬碟上直接開啟
*/
function ajax(callback){
if(typeof callback!='function') return;
var ajaxObject;
try{
ajaxObject=new XMLHttpRequest();
}catch(e){
try{
ajaxObject=new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
}
}
if(!ajaxObject) return;
if(ajaxObject.overrideMimeType){
ajaxObject.overrideMimeType('text/html');
}
//location.href可以換成其他url,但必須是同一個站點的連結,並且檔案存在
ajaxObject.open('get',location.href);
ajaxObject.send(null);
ajaxObject.onreadystatechange=function(){
if(ajaxObject.readyState==4){
if(ajaxObject.status==200){
callback(ajaxObject);
}
}
};
}
/*
* 獲取時間並動態重新整理
*/
function getTime(){
ajax(
function(ao){
//只需要AJAX一次,將伺服器時間獲取後以毫米為單位儲存到一個變數中
_timestamp=Date.parse(ao.getResponseHeader('Date'));
_timestamp=_timestamp.toString().match(/^\d$/)?_timestamp:new Date().getTime();
//設定定時器每過一秒動態重新整理一次時間
setInterval(
function(){
//這裡可以自定義時間顯示格式
document.getElementById('_timer').innerHTML=new Date(_timestamp).toLocaleString();
_timestamp+=1000;
},
1000
);
}
);
}
window.onload=getTime;
</script>
</head>
<body>
<div id="_timer">正在獲取伺服器時間……</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX獲取伺服器時間</title>
<script type="text/javascript">
/*
* ajax 函式,處理 ajax 請求
* @param function callback 回撥函式
* @因為要和伺服器互動,所以必須在伺服器環境執行,不能在硬碟上直接開啟
*/
function ajax(callback){
if(typeof callback!='function') return;
var ajaxObject;
try{
ajaxObject=new XMLHttpRequest();
}catch(e){
try{
ajaxObject=new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
}
}
if(!ajaxObject) return;
if(ajaxObject.overrideMimeType){
ajaxObject.overrideMimeType('text/html');
}
//location.href可以換成其他url,但必須是同一個站點的連結,並且檔案存在
ajaxObject.open('get',location.href);
ajaxObject.send(null);
ajaxObject.onreadystatechange=function(){
if(ajaxObject.readyState==4){
if(ajaxObject.status==200){
callback(ajaxObject);
}
}
};
}
/*
* 獲取時間並動態重新整理
*/
function getTime(){
ajax(
function(ao){
//只需要AJAX一次,將伺服器時間獲取後以毫米為單位儲存到一個變數中
_timestamp=Date.parse(ao.getResponseHeader('Date'));
_timestamp=_timestamp.toString().match(/^\d$/)?_timestamp:new Date().getTime();
//設定定時器每過一秒動態重新整理一次時間
setInterval(
function(){
//這裡可以自定義時間顯示格式
document.getElementById('_timer').innerHTML=new Date(_timestamp).toLocaleString();
_timestamp+=1000;
},
1000
);
}
);
}
window.onload=getTime;
</script>
</head>
<body>
<div id="_timer">正在獲取伺服器時間……</div>
</body>
</html>