微信页面倒计时代码(解决safari不兼容date的问题)

话不多说,请看下面代码

PC:

1.html页面:

<div class="aTime">
   <em id="t_d"></em>
   <em id="t_h"></em>
   <em id="t_m"></em>
   <em id="t_s"></em>
</div>

2.js:

<script type="text/javascript">
 function GetRTime(){
  var end = "<?php echo $info['end_date']; ?>"+" 23:59:59";
  var EndTime= new Date(end);
  var NowTime = new Date();
  var t =EndTime.getTime() - NowTime.getTime();
  var d=0;
  var h=0;
  var m=0;
  var s=0;
  if(t>=0){
   d=Math.floor(t/1000/60/60/24);
   h=Math.floor(t/1000/60/60%24);
   m=Math.floor(t/1000/60%60);
   s=Math.floor(t/1000%60);
  }
  document.getElementById("t_d").innerHTML = d;
  document.getElementById("t_h").innerHTML = h;
  document.getElementById("t_m").innerHTML = m;
  document.getElementById("t_s").innerHTML = s;
 }
 setInterval(GetRTime,1000);
</script>

以上代码在safari中出错,原因是:

在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。

但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date"。

后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,

而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来了。

想要IOS5中的Safari能正确解析new Date()那么必须这么写

new Date('2013/10/21');   或者  var d = new Date(date);d = d.getFullYear() > 0 ? d : new Date(Date.parse(date.replace(/-/g, "/")));

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • JavaScript的new date等日期函数在safari中遇到的坑

    最近在做移动Web的时候,在PC上用Chrome调试都成功了,但是在iPhone上真机一测就出现了奇怪的问题.经过一系列调试发现是日期相关的地方出现了问题.起初怀疑是生产环境的问题,但用Mac版的safari调试本地也出现了同样的问题.查阅一些资料后发现,safari中对于JavaScript的new Date函数的支持有一个比较奇怪的问题. 通常,由于习惯了SQL中的datetime格式,日期是打成yyyy-mm-dd的格式,然而,safari竟然不支持这样的格式,所以当你输入如下语句时,会返

  • JS中Safari浏览器中的Date

    在js中处理Date时,发现Safari和其他浏览器的支持方式不一致 1.例如:2017-01-01 12:00:00 在其他浏览器中,使用这个格式的字符串进行new Date操作没有问题,但是在Safari中会提示Invalid Date; Safari中不支持'-'格式的日期字符串,将其替换成'/' 变成2017/01/01 12:00:00即可正常使用 2.例如:2017/01/01T11:00:00 此格式的日期字符串在Safari中也是不得到支持的,需要将字符串中的'T'   替换成空

  • JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决

    var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常: 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date". 想着估计是字符串格式的问题,改成'2016/11/11 11:11:11'再测试,结果正常,以为这样应该没问题了,

  • 微信页面倒计时代码(解决safari不兼容date的问题)

    话不多说,请看下面代码 PC: 1.html页面: <div class="aTime"> <em id="t_d"></em> <em id="t_h"></em> <em id="t_m"></em> <em id="t_s"></em> </div> 2.js: <script

  • BootStrap轻松实现微信页面开发代码分享

    1.  行长度: <div class="col-md-12"> </div> 2.modal <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <

  • 微信小程序收货地址API兼容低版本解决方法

    微信官方在三月底搞了不少事情.开放个人注册权限,蓝牙,与公众号打通,未来还会开发AR,图片识别,文字识别等等能力. 起初大家只是将微信小程序当做玩具看待,相信如今会有很多人把他当成一门技术去研究了.微信小程序的想象空间已经很大. 说说新增API之一的收货地址.虽然看看兼容低版本. 先上图. API很简单,就一行代码 wx.chooseAddress(OBJECT) 调起的是原生页面,体验很不错.对电商类的小程序比较有利. 不过API是从微信客户端 6.5.6 版本开始支持.这让我想起来做andr

  • Java代码实现微信页面滚动防露底(核心代码)

    在网上找到了一个可以防页面滚动滑到顶端或底部的时候, 漏出微信丑丑的灰色底,下面小编把核心代码分享给大家供大家参考! 我的核心代码: prevent:function () { var startX = 0, startY = 0; //touchstart事件 function touchSatrtFunc(evt) { try { //evt.preventDefault(); //阻止触摸时浏览器的缩放.滚动条滚动等 var touch = evt.touches[0]; //获取第一个触

  • 解决ios微信页面回退不刷新的问题

    在回退后需要刷新的页面加以下js $(function () { var isPageHide = false; window.addEventListener('pageshow', function () { if (isPageHide) { window.location.reload(); } }); window.addEventListener('pagehide', function () { isPageHide = true; }); }) 以上这篇解决ios微信页面回退不刷

  • Android仿微信页面底部导航效果代码实现

    大家在参考本地代码的时候要根据需要适当的修改,里面有冗余代码小编没有删除.好了,废话不多说了,一切让代码说话吧! 关键代码如下所示: .java里面的主要代码 public class MainActivity extends BaseActivity implements TabChangeListener { private Fragment[] fragments; private FragZaiXianYuYue fragZaiXianYuYue; private FragDaoLuJi

  • 微信小程序框架的页面布局代码

    1.首先下载小程序开发工具 2.小程序中的wxml就相当于html , wxss就相当于css 3.布局和html布局几乎一样 4.宽度使用百分比 5.input框里的文字上下居中是用padding撑出来的 6.最下面的文字靠右,view相当于一个块元素,设定宽度后,text-align右对齐 简单的测试界面如图 index.wxml代码 <!--index.wxml--> <view class="container"> <text class=&quo

  • JavaScript判断微信浏览器实例代码

    先给大家说下我的项目需求:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了 apk.那么该如何判断用户是否是用微信浏览器呢? 我们知道 js 可以通过 window.navigator.us

  • vue.js中使用微信扫一扫解决invalid signature问题(完美解决)

    1.点击按钮,实现微信扫一扫功能: <template> <a class="btn" @click="scan">扫一扫</a> </template> 2.使用config接口注入配置信息,wx.config调用方法如下: (其中appId,timestamp,nonceStr,signature必须从后台获取,传参当前网页的URL,不包含#及其后面部分,location.href.split('#')[0]获取)

  • 使用AutoJs实现微信抢红包的代码

    需要准备的工具有:AutoJs,VSCode,一部手机 1. 首先使用AutoJs的布局设置查找红包的Id 可以看出来红包的id为"aag" 关于这个红包的id请以自己看到的为准 因为我在上午写的时候这里的id还是"an3",到下午的时候就变成"aag"了 然后在VSCode里编写代码 var redEnvelopes = id("aag").find(); 返回一个id为aag的redEnvelopes集合 此处注意find

随机推荐