移动端兼容处理(代码片段)

MJ_MY MJ_MY     2022-10-23     207

关键词:

首先上一段判断android和ios的js代码

  function navigator()
        var u = navigator.userAgent;
        var isAndroid = u.indexOf(Android) > -1 || u.indexOf(Adr) > -1; //android终端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isAndroid)
            //安卓
        ;
        if(isiOS)
            //ios
        ;
    ;
navigator();

IOS常见问题:

1.搜索页的搜索按钮不显示,加form解决。

<form action="">
          <input type="search" name="" id="" value="" />
 </form>

2.去除input阴影和黑边,以及type=“search”的小叉叉。

css:
//去除阴影和黑底
input:-webkit-appearance:none;(全局input都会去除阴影和黑底,可以针对某个input就行了。)


//去除小叉叉
input[type="search"]::-webkit-search-cancel-button

     -webkit-appearance:none;

ios:监听键盘弹起和收起:

$(document).on("focusin",function()

            //键盘弹出
)


$(document).on("focusout",function()

            //键盘收起
)

ios:当头部输入框聚焦时,想要弹起底部固定定位的元素,放在键盘上方,比如footer,或者上传图片的按钮什么的,但是发现弹不起来,没关系我有解决方法。

function navigator()
        var u = navigator.userAgent;
        var isAndroid = u.indexOf(‘Android‘) > -1 || u.indexOf(‘Adr‘) > -1; //android终端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isAndroid)
            
        ;
        if(isiOS)
            $(document).on("focusin",function()
                                //键盘弹起时,让滚动条滚动到底部,
                $(window).scrollTop($("body").height());
                                 //设置定时器
                setTimeout(function()
                                        //获取文档高度
                    var clientHeight= document.body.clientHeight;
                                         //获取滚动高度--也就是键盘高度
                    var scrollTop = document.body.scrollTop;
                    //让你想要的底部元素的bottom:键盘高度。
                    $(".bottom").css("bottom",scrollTop+"px");
                    //最后再设置一个定时器让滚动条回到顶部。
                                          setTimeout(function()
                                               $(window).scrollTop(0);
                                          ,300);
                ,300);
            );
            $(document).on(‘focusout‘, function () 
                 //软键盘收起的事件处理
                                 //让底部元素回到底部。
                $(".bottom").css("bottom","0");
            );
        ;
    ;
navigator();                                                                                                                   

android:

1.键盘收起事件:

function navigator()
        var u = navigator.userAgent;
        var isAndroid = u.indexOf(‘Android‘) > -1 || u.indexOf(‘Adr‘) > -1; //android终端
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isAndroid)
              var wHeight = $(window).innerHeight();   //获取初始可视       窗口高度
                      $(window).resize(function()          //监测窗口大小的变化事件
                         var hh = $(window).innerHeight();     //当前可视窗口高度
                         var viewTop = $(window).scrollTop();   //可视窗口高度顶部距离网页顶部的距离
                         if(wHeight > hh)          
                                //可以作为虚拟键盘弹出事件
                     
                          else         
                               //可以作为虚拟键盘关闭事件
                                 
                          ;
                              wHeight = hh;
                        );
        ;
        if(isiOS)
        
            ;
;
navigator();                                         

 

移动端兼容小计(代码片段)

1、页面布局:由于手机型号多样导致页面高宽比非常多,在制作上会有出现不同手机在同一套css下面显示效果不尽如人意,所以需要进行兼容性处理。方式很多比如直接套用类似bootstrap类的框架,可以使用rem等相对单位。这里... 查看详情

移动端bug兼容(代码片段)

总结一下目前的移动端开发遇到的问题。1、IOS与安卓input默认样式去除。移动端总有一个默认的圆角或别的。input[type=button],input[type=text],input[type=password]-webkit-appearance:none;outline:none;border-radius:none;2、IOS后退无刷新使用onpageshow主动... 查看详情

移动端开发的注意事项(代码片段)

PC端与移动端的区别1.从兼容方面来说,PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核。2.在部分事件的处理上,移动端多出来的事... 查看详情

移动端兼容问题(代码片段)

1.华为手机自带浏览器  不支持  text-decoration:underline;解决方案:varua=navigator.userAgent.toLowerCase();if(ua.match(/huawei/==‘huawei‘))$(‘.info-linka‘).css(‘border-bottom‘,‘1pxsolid‘); &n 查看详情

pc端移动端兼容的大图轮播(代码片段)

body,htmlwidth:100%;*margin:0;padding:0;list-style:none;.hahalist-style-type:none;.navwidth:100%;height:300px;overflow:hidden;position:relative;.warpheight:300px;position:absolute;.warp.haha 查看详情

移动端300ms兼容问题(移动端经典问题)(代码片段)

移动端300ms延迟原因2007年初。苹果公司在发布首款iPhone前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对iPhone这种小屏幕浏览桌面端站点的问题。双击缩放(doubletaptozoom),这... 查看详情

如何兼容移动端(安卓和ios)情况2-移动端开发注意事项(代码片段)

一、meta标签使用1、meta的使用<metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>强制让文档的宽度与设 查看详情

移动端css样式兼容(代码片段)

1、1px边框问题问题:不同的浏览器对于border:1px像素显示的大小不一样解决方案:可以利用元素的伪类,来设置1px边框.parentposition:relative;height:100px;width:100px;background:yellow;.parent:aftercontent:'';position: 查看详情

移动端css样式兼容(代码片段)

1、1px边框问题问题:不同的浏览器对于border:1px像素显示的大小不一样解决方案:可以利用元素的伪类,来设置1px边框.parentposition:relative;height:100px;width:100px;background:yellow;.parent:aftercontent:'';positi 查看详情

移动端和pc端的区别有哪些?(代码片段)

提示:移动端和pc端的区别:1.PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更... 查看详情

如何兼容移动端(安卓和ios)情况1(代码片段)

一怎么判断是安卓还是ios//获取浏览器的userAgent,并转化为小写varua=navigator.userAgent.toLowerCase();//判断是否是苹果手机,是则是truevarisIos=(ua.indexOf('iphone')!=-1)||(ua.indexOf('ipad')!=-1);if( 查看详情

一个vue项目同时兼容pc和移动端(代码片段)

项目场景:vue开发的项目,既有移动端又有pc端,但是移动端和pc端展示的内容不一样,同一个组件样式也不一样,移动端展示内容比pc端少,那这个时候在一个项目种怎么做的?解决方式:路由写... 查看详情

移动端audio音频播放兼容方案

现在很多移动端要求audio播放必需由用户的事件触发,否则就劫持。实际应用中经常会出现JS网络请求通过返回的结果来决定播放什么音频,在移动端是不允许的。当移动需要通过网络请求回调来播放音频时,就得做点准备工作... 查看详情

移动端兼容宝典大全,专治各种不适(代码片段)

〝古人学问遗无力,少壮功夫老始成〞移动端兼容宝典大全,专治各种不适,你是否也曾为浏览器各种的不兼容而苦恼,尤其是IE这个牛皮癣,这篇文章可能会给你帮助哦,常码字不易,出精品更难ÿ... 查看详情

移动端h5截图与原生iosandroid的兼容交互(代码片段)

 项目场景:h5移动端项目需要生成截图与原生app进行图片分享的交互问题描述:使用html2canvas 生成h5截图在androidapp截图位置偏移且偏移量随机 android截图ios截图解决方案:在IOS使用html2canvas,Android使用domtoimage1.ht... 查看详情

移动端pc端网页特效(代码片段)

文章目录移动端网页特效触屏事件classList属性常用开发插件PC端网页特效偏移量系列offset可视区系列client滚动系列scroll动画原理移动端网页特效触屏事件移动端浏览器兼容性较好,不需要考虑以前JS的兼容性问题,可以放... 查看详情

移动端滑屏全应用requestanimationframe的兼容与使用(代码片段)

首先,传统做动画的方式有以下几种:1.css的transition过度动画2.css的animation动画3.使用setTimeout或setInterval模拟动画贞(js执行机制决定了并非严格意义上的动画贞)定时器模拟动画又分为:(1)速度版运动  (2)时间版运... 查看详情

canvas实现刮刮乐,带节流效果,兼容移动端(代码片段)

CSS布局的思路,是让图片绝对定位,并设置z-index=-1,使得它能被canvas挡住。然后canvas的颜色设为透明,从而让图片显示。JS部分。对节流函数进行了一些修改。thisArg指定fn的this。节流主要是用在mousemove和touchsta... 查看详情