移动端H5开发遇到问题及解决办法总结
来源:互联网 发布:win7 445端口入侵教程 编辑:程序博客网 时间:2024/05/22 14:29
根据工作中遇到的各项移动端问题,总结的几个问题的解决办法:
1、禁止页面滚动
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false); //如果不想让页面滑动,可以加上这段代码
2、判断设备类型是android还是ios
<script type="text/javascript">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终端alert('是否是Android:'+isAndroid);alert('是否是iOS:'+isiOS);</script>
3、ios移动端头部底部fixed定位,输入框收回闪屏问题
只需要在中间部分外层div添加css样式
position:fixed;top:50px; bottom:50px;overflow:scroll;
就可以实现效果
4、禁止h5页面ios,双击向上滑动,拖拽到底部还能继续拖拽行为
html部分:----------------------------
<body><div class="wrapper"> <section>内容部分aaaa111</section> <section>内容部分aaaa222</section> <section>内容部分aaaa333</section></div></body>
css部分:--------------------------
.wrapper2{ position:absolute; top:0; bottom:0; left:0; right:0; overflow-y:auto; -webkit-overflow-scrolling : touch; }
js部分:----------------------------
/*阻止ios拖拽到底部还能继续拖拽*/var ScrollFix = function(elem) { // Variables to track inputs var startY, startTopScroll; elem = elem || document.querySelector(elem); // If there is no element, then do nothing if(!elem) return; // Handle the start of interactions elem.addEventListener('touchstart', function(event){ startY = event.touches[0].pageY; startTopScroll = elem.scrollTop; if(startTopScroll <= 0) elem.scrollTop = 1; if(startTopScroll + elem.offsetHeight >= elem.scrollHeight) elem.scrollTop = elem.scrollHeight - elem.offsetHeight - 1; }, false);};/*判断设备调用ScrollFix*/var sUserAgent=navigator.userAgent.toLowerCase();if(sUserAgent.match(/iphone os/i) == "iphone os"){ $('.wrapper').addClass('wrapper2'); ScrollFix($('.wrapper2')[0]); }/*阻止用户双击使屏幕上滑*/var agent = navigator.userAgent.toLowerCase(); //检测是否是iosvar iLastTouch = null; //缓存上一次tap的时间if (agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0){ document.body.addEventListener('touchend', function(event) { var iNow = new Date() .getTime(); iLastTouch = iLastTouch || iNow + 1 /** 第一次时将iLastTouch设为当前时间+1 */ ; var delta = iNow - iLastTouch; if (delta < 500 && delta > 0) { event.preventDefault(); return false; } iLastTouch = iNow; }, false);}
0 0
- 移动端H5开发遇到问题及解决办法总结
- 移动端 h5开发遇到的问题总结
- 移动端H5页面遇到的问题总结
- 移动端H5页面遇到的问题总结
- 移动端H5页面遇到的问题总结
- 移动端H5页面遇到的问题总结
- 移动端H5页面遇到的问题总结
- 移动端H5页面遇到的问题总结
- 常见的移动端H5页面开发遇到的坑和解决办法
- 常见的移动端H5页面开发遇到的坑和解决办法
- 常见的移动端H5页面开发遇到的坑和解决办法
- 移动端 h5开发相关内容总结(三)
- H5移动端开发学习总结
- 移动端H5开发相关内容总结
- opengl 遇到的问题及解决办法 总结
- H5移动端开发
- 关于移动端h5页面不能滑动问题的解决办法
- 新建cocos2dx开发遇到问题及解决办法
- Google play WebViewClient.onReceivedSslError
- TimeProfile
- Android SQLite详解
- 页面切换动画效果1
- 如何让webview显示中文不乱码
- 移动端H5开发遇到问题及解决办法总结
- Python入门:条件控制
- 鬼斧神工-正则表达式☞实战应用
- typedef复习
- 关于热更新的学习记录
- 基于注解的SpringMVC开发
- 打开图库的第二种意图
- 《Android源码设计模式解析与实战》读书笔记(五)——工厂方法模式
- 杭电2149 Public Sale 巴什博弈