| 
 
| 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>
 最终显示效果
 | 
 
×本帖子中包含更多资源您需要 登录 才可以下载或查看,没有账号?新建账号  |