无依赖Ajax时钟
2010-10-26 20:30 BlueDream 阅读(1253) 评论(6) 编辑 收藏 举报<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> 无依赖Ajax时钟 </title>
<style type="text/css">
#view-time {width:400px;height:50px;font-size:40px;font-family:Arial;text-align:center;}
</style>
</head>
<body>
<div id="view-time"></div>
<div id="log"></div>
<script type="text/javascript">
if (typeof XMLHttpRequest == 'undefined') {
window.XMLHttpRequest = function() {
var _ = ['Microsoft.XMLHTTP', 'Msxml2.XMLHTTP'];
for (var i = 0, l = _.length; i < l; i++) {
try {
return new ActiveXObject(_[i]);
} catch(e) {}
}
};
}
var serverDate = function(fn) {
var B = new XMLHttpRequest();
B.onreadystatechange = function() { B.readyState == 4 && fn(new Date(B.getResponseHeader('Date')))};
B.open('HEAD', '/?_=' + (-new Date));
B.send(null);
};
Date.prototype.format = function() {
return this.getFullYear() + '-'
+ ('0' + (this.getMonth() + 1)).slice(-2) + '-'
+ ('0' + (this.getDate())).slice(-2) + ' '
+ ('0' + (this.getHours())).slice(-2) + ':'
+ ('0' + (this.getMinutes())).slice(-2) + ':'
+ ('0' + (this.getSeconds())).slice(-2);
};
serverDate(function(webTime) {
var view = document.getElementById('view-time'), diff = webTime - new Date();
view.innerHTML = webTime.format();
setInterval(function() {
view.innerHTML = (webTime.setTime(diff + new Date() * 1), webTime.format());
}, 500);
});
</script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> 无依赖Ajax时钟 </title>
<style type="text/css">
#view-time {width:400px;height:50px;font-size:40px;font-family:Arial;text-align:center;}
</style>
</head>
<body>
<div id="view-time"></div>
<div id="log"></div>
<script type="text/javascript">
if (typeof XMLHttpRequest == 'undefined') {
window.XMLHttpRequest = function() {
var _ = ['Microsoft.XMLHTTP', 'Msxml2.XMLHTTP'];
for (var i = 0, l = _.length; i < l; i++) {
try {
return new ActiveXObject(_[i]);
} catch(e) {}
}
};
}
var serverDate = function(fn) {
var B = new XMLHttpRequest();
B.onreadystatechange = function() { B.readyState == 4 && fn(new Date(B.getResponseHeader('Date')))};
B.open('HEAD', '/?_=' + (-new Date));
B.send(null);
};
Date.prototype.format = function() {
return this.getFullYear() + '-'
+ ('0' + (this.getMonth() + 1)).slice(-2) + '-'
+ ('0' + (this.getDate())).slice(-2) + ' '
+ ('0' + (this.getHours())).slice(-2) + ':'
+ ('0' + (this.getMinutes())).slice(-2) + ':'
+ ('0' + (this.getSeconds())).slice(-2);
};
serverDate(function(webTime) {
var view = document.getElementById('view-time'), diff = webTime - new Date();
view.innerHTML = webTime.format();
setInterval(function() {
view.innerHTML = (webTime.setTime(diff + new Date() * 1), webTime.format());
}, 500);
});
</script>
</body>
</html>