移动web开发都会遇到的坑(会持续更新)
1、自适应第一招
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no" />
如果你发现自己做的网页不能适配,看看是不是遗漏的这行代码,initial-scale控制页面的初始化缩放比,user-scalable控制网页是否允许缩放。
2、IOS允许全屏浏览
<meta content=”yes” name=”apple-mobile-web-app-capable” />
3、忽略数字是电话号码
<meta content=”telephone=no” name=”format-detection” />
4、去除Android对邮箱地址的识别
<meta content=”email=no” name=”format-detection” />
5、去除URL控件条
setTimeout(scrollTo,0,0,0);
6、禁止旋转设备
No way,IOS和Android在浏览器里面没法禁止浏览器旋转。
7、关闭IOS键盘自动大写
我们知道在iOS中,当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为 input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。
8、iOS中如何彻底禁止用户在新窗口打开页面
-webkit-touch-callout:none;
9、IOS禁止用户复制或者保存图片
-webkit-touch-callout:none;
10、IOS禁止选中文字
-webkit-user-select:none
11、IOS获取滚动条高度
桌面浏览器中想要获取滚动条的值是通过document.scrollTop和document.scrollLeft得到的,但在iOS中你会发现这两 个属性是未定义的,为什么呢?因为在iOS中没有滚动条的概念,在Android中通过这两个属性可以正常获取到滚动条的值,那么在iOS中我们该如何获 取滚动条的值呢?
通过window.scrollY和window.scrollX我们可以得到当前窗口的y轴和x轴滚动条的值。
12、解决边框溢出
width:100%;
-webkit-box-sizing:border-box;
13、输入框获取焦点后默认弹出数字键盘
<input type="tel" placeholder=""/>
记得使用type="tel",而不是type="number"
14、input type="number"去除上下箭头
chrome下:
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
-webkit-appearance: none !important;
margin: 0;
}
firefox下:
input[type="number"]{-moz-appearance:textfield;}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。