ios safari与其他系统的兼容性差异

1.new Date()

  1) 首先new Date() 返回的时间与其他安卓,pc返回的时间是有差异的 在ios上返回的时间是当天时间的8点整,而

   安卓pc返回的时间是当天的0点;解决方案就是判断所处系统,根据系统返回统一时间

  2)new Date()传入时间参数 如new Date('2017-09-11')都能返回出时间对象;当然返回的时间如第一条

    但是再详细点的时间如new Date('2017-11-23 09:00:00')这个方法在ios则会报错返回nolivid date;而在安卓 pc上返回没有问题

    解决方案:使用new Date('2017/11/23 09:00:00')格式能完美兼容pc 安卓 ios 各个系统。

  3)由于开发代码的差异,某些项目会莫名出现浏览器自带返回键返回的页面不重载,导致需要重载的页面显示有误,在安卓上和ios上有差异。

   解决方案:

    $(function () {
      var isPageHide = false;
      window.addEventListener('pageshow', function () {
        if (isPageHide) {
         window.location.reload();
        }
       });
      window.addEventListener('pagehide', function () {
      isPageHide = true;
      });
    });

    添加上面一段jquery代码即可解决。

 

   4)在ios上和android上 fixed定位和absolute定位在底端时,在手机上弹出软键盘显示效果会有差异:

    ios:定位的结构不会跟着软键盘弹出   android:则相反,会跟着软键盘弹出 这样就会造成可能会挡住输入框。造成用户体验不好。

    解决方案:

      <body>
      <input type="text" name="" id="" value="" placeholder="写点什么" />
      <div style="position: absolute;height: 100px;width: 100%; background: red;bottom: 0; left: 0;" id="layer"></div>
      </body>

      var h = (function(){
        return document.body.clientHeight;
      })()
      var layer = document.getElementById("layer");
      window.onresize = function(){
      if(document.body.clientHeight != h) {
      layer.style.display = 'none';
      }
      else {
        layer.style.display = 'block';
      }
      }

    思路主要是在软键盘弹出式,屏幕高度会有变化,从而可以达到自己想要的效果

转载于:https://www.cnblogs.com/hfzps/p/7884882.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值