JS是在客户端运行的脚本,而不是运行在服务器上,通常来说,通过JS获取时间的时候获取到的时间是访客本地电脑上的时间,为了让网页上的时间不因访客电脑差异而不同,我们有必要直接JS获取服务器时间。
下面是完整的js获取服务器时间代码,是使用javascript获取服务器时间的完整实例,js动态刷新服务器时间。
为了防止复制乱码,请下载附件,不要直接复制以下代码测试。- <!-- www.51-n.com -->
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>AJAX获取服务器时间</title>
- <script type="text/javascript">
- /*
- * @author 吴先成 qQ229256237 www.51-n.com
- * 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"><a href="http://www.51-n.com/">正在获取服务器时间……</a></div>
- </body>
- </html>
复制代码 注意事项:
最终显示效果 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?新建账号
×
|