移动端开发问题罗列(一)

定义的变量 不再使用,没有及时销毁 事件冒泡。导致事件流死循环


如果使用css高级特效,原则就是能使用3d(硬件加速效果)代替就不用2d,比较耗用资源的样式尽量少用(计算属性calc,过滤属性...)
在css布局中,position 定位其实是渲染的最后的一步骤,而且定位需要重新计算其他的元素位置,这样相对而言比较耗性能。



移动端开发常见问题:

1.-webkit-overflow-scrolling:touch 


-webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果.

auto: 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。

touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。


2.移动端触摸事件300ms 延时 

解决方案:fastclick.js		
使用:https://majing.io/posts/10000007721218


3.固定定位失效问题。



在ios下, 点击输入框,打开输入键盘时,页面使用的固定定位失效。

原则: 能避免使用固定定位布局的就尽量避免,可以使用绝对定位代替 ,不能避免就学淘宝,京东,可以实现输入框的时候跳转一下(跳转至没有使用固定定位的页面)

强行处理固定定位失效,用js根据页面高度,给使用固定定位的元素,设置绝对定位。


4.图片占位 

 如果有需要使用到ajax请求到数据,甚至连文字都需要占位


5.使用图片懒加载

使用:https://www.cnblogs.com/fanmiao/p/6002907.html


6.针对于平台的兼容性,可能有时需要针对某一系统进行单独的处理,就需要识别当前系统

var u = navigator.userAgent, app = navigator.appVersion; 
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 

if (isiOS) { 
window.setTimeout(function(){ 
  window.scrollTo(0,document.body.clientHeight); 
}, 500); 
}


7.移动端键盘问题:

移动端软键盘监听(弹出,收起),及影响定位布局的问题 :https://www.cnblogs.com/wangyihong/p/7514304.html

虚拟键盘,移动web开发的痛:https://www.cnblogs.com/jianyeweb/p/5246429.html

js移动端 虚拟键盘提交事件:https://www.cnblogs.com/mapletao/p/6474238.html


8.点透问题