百度网站域名注册,怎么做网站站内优化,wordpress关闭手机版,360推广和百度推广哪个好用js做时间校正#xff0c;获取本机时间#xff0c;是存在bug的。 使用js也可获取到服务器时间#xff0c;原理是使用 ajax请求#xff0c;返回的头部信息就含有服务器端的时间信息#xff0c;获取到就可以了。以下#xff1a; 1、依赖jQuery 代码#xff1a; function … 用js做时间校正获取本机时间是存在bug的。 使用js也可获取到服务器时间原理是使用 ajax请求返回的头部信息就含有服务器端的时间信息获取到就可以了。以下 1、依赖jQuery 代码 function getServerDate(){return new Date($.ajax({async: false}).getResponseHeader(Date));
} 以上函数返回的就是一个Date对象注意在使用ajax时必须同步要不然无法返回时间日期。 无需填写请求链接 如果服务器时间和本地时间有时差需要做校正。 2、原生 代码 function getServerDate(){var xhr null;if(window.XMLHttpRequest){xhr new window.XMLHttpRequest();}else{ // iexhr new ActiveObject(Microsoft)}xhr.open(GET,/,false)//false不可变xhr.send(null);var date xhr.getResponseHeader(Date);return new Date(date);
}返回的是一个Date对象xhr.open()必须使用同步; 无需填写请求链接;opensend和getResponseHeader 必须按序编写。 如需使用异步请求可监听onreadystatechange状态来做不同的操作。 function getServerDate(){var xhr null;if(window.XMLHttpRequest){xhr new window.XMLHttpRequest();}else{ // iexhr new ActiveObject(Microsoft)}xhr.open(GET,/,true);xhr.send(null);xhr.onreadystatechangefunction(){var time,date;if(xhr.readyState 2){time xhr.getResponseHeader(Date);date new Date(time);console.log(date);}}
}使用异步不是很方便返回时间。 这里的readyState有四种状态方便做不同处理 0: 请求未初始化1: 服务器连接已建立2: 请求已接收3: 请求处理中4: 请求已完成且响应已就绪失败状态status的值 200: OK 404: 未找到页面 转自http://www.cnblogs.com/hellobook/p/6112182.html 另外如果服务器时间较对可以用http://bjtime.cn/nt.asp 转载于:https://www.cnblogs.com/7qin/p/10188020.html