H5 移动端开发中 ios/安卓坑 和经验总结

1、 ios new时间对象,需要用逗号隔开传日期的方式, 不支持 new Date('2019-03-01 08:00:00') 格式;

支持以下两种方式:

2、 ios个别版本对fixed的属性的支持性不好,需要用absolute替代;

3、 input 的 placeholder会出现文本位置偏上的时候
            input 的placeholder会出现文本位置偏上的情况:PC端设置line-height等于height能够对齐,而移动端仍然是偏上,解决是设置line-height:normal
4、在开发微信号时候 Android和ios下点击返回键  会直关闭页面 对用户交互效果很不好,所以要用js控制下返回键 返回到自己要去的页面:
window.addEventListener("popstate", function(e) {
     location.replace(location.href);
 }, false);
 function pushHistory() {
     var state = {
         title: "title",
         url: "#"
     };
     window.history.pushState(state, "title", "#");
 }
 pushHistory();

 5、安卓浏览器看背景图片,有些设备会模糊。 
用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 
经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960640分辨率,在网页里只显示了480320,这样devicePixelRatio=2。现在android比较乱,有1.5的,有2的也有3的。让图片在手机里显示更为清晰,必须使用2x的背景图来代替img标签(一般情况都是用2倍)。例如一个div的宽高是100100,背景图必须得200200,然后background-size:contain;,这样显示出来的图片就比较清晰了。 
代码如下: 

background:url(../images/icon/all.png) no-repeat center center; 
-webkit-background-size:50px 50px; 
background-size: 50px 50px;display:inline-block; 100%; height:50px; 

或者指定 background-size:contain;都可以,大家试试!

6、禁止复制、选中文本

Element {
-webkit-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
  user-select: none;
}

7、设置缓存 
<meta http-equiv="Cache-Control" content="no-cache" /> 
手机页面通常在第一次加载后会进行缓存,然后每次刷新会使用缓存而不是去重新向服务器发送请求。如果不希望使用缓存可以设置no-cache。 

8、长时间按住页面出现闪退 
element { 
-webkit-touch-callout: none; 

9、移动端禁止图片长按和点击img标签放大图片。

img{ pointer-events: none; }

原文地址:https://www.cnblogs.com/zhaoxiaobei/p/10607887.html