• 使用javascript获取服务器时间


    思路:采用异步请求的方式,发送请求,获取HTTP请求的response头,头部中包含时间,使用getResponseHeader('Date')即可。

    注意:以下任何一种方法都不精确,因为请求包的传输时间依赖于网络状况,在较差网络下会有误差。方法三允许人工调整误差时间。

    1.方法一

    通过发送GET请求同步获取时间

    var xmlHttp = new XMLHttpRequest();
    
    xmlHttp.open("GET", location.href, false); //同步
    xmlHttp.setRequestHeader("Range", "bytes=-1");
    xmlHttp.send(null);
    severtime=new Date(xmlHttp.getResponseHeader("Date"));

    2.方法二

    通过发送HEAD请求异步获取时间。

    var xhr = new XMLHttpRequest();
    /*if( !xhr ){
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }*/
    xhr.open("HEAD",location.href,true); //异步
    xhr.onreadystatechange=function(){
        if( xhr.readyState == 4 && xhr.status == 200 ){
             alert(xhr.getResponseHeader("Date"));
        }
    }
    xhr.send(null);

    这种方法依赖服务器配置,大多数服务器出于安全考虑会禁止这种HEAD请求,返回405错误。在控制台内可看到报错,但是不影响结果嘛。

    3.方法三 插件

    在github上查到一个写好的比较完整的插件,可以配置选择同步或者异步方式。该插件采用GET方式。

    https://github.com/zmofei/sysDate

  • 相关阅读:
    步步为营-15-文件夹的操作
    步步为营-14-文件操作
    步步为营-13-日期转化
    步步为营-12-Dictionary-翻译
    步步为营-11-List<T>泛型的简单练习
    步步为营-10-string的简单操作
    步步为营-09-简单工厂类-计算器
    B. Fixed Points
    C. Cd and pwd commands
    Queries on a String
  • 原文地址:https://www.cnblogs.com/zldream1106/p/get_server_time_with_javascript.html
Copyright © 2020-2023  润新知