[原创]实现与服务器时间同步的跨平台JS脚本 支持IE , firefox , Opera ,Netscape 等主流浏览器

本文介绍了一种使用JavaScript实现与服务器时间同步的方法,该脚本兼容包括IE, Firefox, Opera, Netscape在内的多种主流浏览器。通过引用servertime.js文件并与ASP的test.asp页面交互,可以获取并更新客户端的时间。" 53573041,5712270,Hololens教程:深度解析Holograms 230 - 空间映射,"['增强现实', 'Hololens开发', 'Unity3D', '空间映射', 'AR技术']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘自[bbs.pl80.com]
本人JS很菜,下面的代码是很牵强的实现此功能

========================JS文件: servertime.js======================

function RunTime(o)
{
   function rt()
    {
     var d = DateAdd("s",1,new Date(o.innerText.replace(/-/g,"/")));
  var aaa = "";
  aaa = d.getFullYear() ;
  var m = d.getMonth()+1;
  aaa = aaa + "-"+m;
        var da = d.getDate();
  aaa = aaa + "-"+da;
        

  aaa = aaa + " ";
 

     var h = d.getHours();
  aaa= aaa + h;
 
 
  var mi = d.getMinutes();
 
        if(mi<10){
  aaa = aaa + ":" + "0"+mi;
  }else{
  aaa = aaa + ":" + mi;
  }
 
 
 
  var s = d.getSeconds();
        if(s<10){
  aaa = aaa+ ":" + "0"+s;
  }else{
 
  aaa= aaa + ":" + s;
  }
 
  o.innerText = aaa;
        setTimeout(rt,1000);
    }
 rt();
}
function isIE(){
   if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)
    return true;
   else
    return false;
}

if(!isIE()){
   HTMLElement.prototype.__defineGetter__(     "innerText",
    function(){
     var anyString = "";
     var childS = this.childNodes;
     for(var i=0; i<childS.length; i++) {
      if(childS.nodeType==1)
       anyString += childS.tagName=="BR" ? '/n' : childS.innerText;
      else if(childS.nodeType==3)
       anyString += childS.nodeValue;
     }
     return anyString;
    }
   );
   HTMLElement.prototype.__defineSetter__(     "innerText",
    function(sText){
     this.textContent=sText;
    }
   );
}

function DateAdd(interval,number,date){
 switch(interval.toLowerCase()){
  case "y": return new Date(date.setFullYear(date.getFullYear()+number));
  case "m": return new Date(date.setMonth(date.getMonth()+number));
  case "d": return new Date(date.setDate(date.getDate()+number));
  case "w": return new Date(date.setDate(date.getDate()+7*number));
  case "h": return new Date(date.setHours(date.getHours()+number));
  case "n": return new Date(date.setMinutes(date.getMinutes()+number));
  case "s": return new Date(date.setSeconds(date.getSeconds()+number));
  case "l": return new Date(date.setMilliseconds(date.getMilliseconds()+number));
 }
}


 

==========================ASP代码 test.asp===========================

<script language="JavaScript" src="servertime.js"></script><label id="serverTime" ><%=Now()%></label>
<script language="JavaScript">RunTime(document.getElementById("serverTime"));</script>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值