美文网首页
IOS和安卓差异性表现

IOS和安卓差异性表现

作者: 佐伊zero | 来源:发表于2018-04-04 10:42 被阅读0次

    1.ios下不支持 2017-07-08日期格式,会出现NaN-NaN-NaN乱码,因此进行转换

        var today = '2018-03-22';  today = today.replace(/-/g,"/");

        这种格式的时间,在IOS上转化为时间戳,转化不成功

    2.安卓软件盘与安卓软键盘的差异性处理,安卓点击输入框时有时会出现软键盘遮挡输入框,需要处理下

    var HEIGHT = $('.page').height(); // 整个页面的高度,单屏页面

    $(window).resize(function() { // 软键盘弹出,触发 resize 方法

        $('.page').height(HEIGHT);

      }); 

    3.position属性带来的浮动问题:

    问题描述:

    在input被获取焦点时,屏幕上position属性值为absolute的元素,包含input,会被弹出的虚拟键盘顶起,导致显示样式异常

    设备:

    android设备存在此问题,而ios设备显示正常

    原因分析:

    css属性中对容器的样式中提到,子元素定位方式为absolute或者fixed,若父容器没有添加属性position:relative;则当前元素的定位坐标是相对于body元素的(大部分情况下也可描述为当前窗口可见范围)。问提的出现是android的虚拟键盘显示机制,占用了一部分的屏幕资源,是的分配给浏览器的屏幕资源高度缩小,position为absolute和fixed的元素在父容器没有定义position:relative的情况下,因为浏览器窗体可见范围的缩小,定位响应发生改变,所以出现“被顶起”的情况。

    解决方案:

    在分析中提到,父级容器与子元素的关系,所以在父级容器中定义容器高度,并设定position属性的值为relative即可解决此问题。

    4.html5调用安卓或者ios的拨号功能

    html5提供了自动调用拨号的标签,只要在a标签的href中添加tel:就可以了。

    如下:

    400-810-6999 转 1034

    拨打手机直接如下

    <a\> 点击拨打15677776767

    5.transition闪屏

    /设置内嵌的元素在3D 空间如何呈现:保留3D /

    -webkit-transform-style: preserve-3d;

    / 设置进行转换的元素的背面在面对用户时是否可见:隐藏 /

    -webkit-backface-visibility:hidden;

    6.圆角bug

    某些Android手机圆角失效

    background-clip: padding-box;

    7、设置缓存

    手机页面通常在第一次加载后会进行缓存,然后每次刷新会使用缓存而不是去重新向服务器发送请求。如果不希望使用缓存可以设置no-cache。

    8.判断是安卓还是IOS

    var ua = navigator.userAgent.toLowerCase();

    //var isIOS = /\((iPhone|iPad|iPod)/i.test(ua);

    var isIOS = /\(iPad/i.test(ua);

    var isIPhone = /\(iPhone/i.test(ua);

    var isAndroid = /android/.test(ua);

    let u = navigator.userAgent

     let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 // android终端

    8.判断是微信环境还是浏览器环境还是app环境

    var ua = window.navigator.userAgent.toLowerCase();

    //ƽ̨̽²â

    if (ua.match(/Bestpay/i) == 'bestpay') {

    ENV = "App";

    } else if (ua.match(/MicroMessenger/i) == 'micromessenger') {

    ENV = "Weixin";

    } else {

    ENV = "Browser";

    }

    9.-webkit-user-select: none; 设置这个属性在ios上 input框无法输入, 解决方案注释这条属性,或者-webkit-user-select: auto;

    相关文章

      网友评论

          本文标题:IOS和安卓差异性表现

          本文链接:https://www.haomeiwen.com/subject/claaqftx.html