前端开发在手机UC浏览器上遇到的坑

1.user-scalable问题

写手机页面都会加一个meta标签

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />

maximum-scale=1.0, user-scalable=0通过禁止用户手动缩放和最大放大比例是1来防止用户手指动作导致页面放大页面失衡。然而这个对uc并没有什么卵用。。。如下图(被拉伸淘宝wap页面):

 

 

 

2.apple-touch-icon问题

在uc的开发者文档里有这样一段话

 


然而按照上述方法设置了桌面图标生成的依然是uc默认的图标。但是其它浏览器就可以正常的生成我们指定的桌面图标

3.安卓机textarea实现width:100%的问题

如我我们想实现一个满屏宽度的文本编辑框,可以display:blcok;width:100%;得以实现,然而在安卓的uc下并不能完成我们的想法。测试链接http://jielan.sinaapp.com/4.html

它的宽度会比屏幕的宽度小12px。详情见:http://www.cnblogs.com/happycloud/p/4585696.html

 

4.键盘弹出事件触发不会改变浏览器视窗大小的变化

例如微信底部评论功能的输入框,当我们输入内容弹出键盘时,输入框应该在键盘的顶部。键盘弹出改变浏览器view的大小,在自己的wap站点实现类似功能的时候,发现uc并没有把输入框顶到键盘上面。测试其他浏览器均可以,后测试发现,uc浏览器在键盘弹出时并没有导致浏览器view的高度发生变化,视窗还是原来的大小,页面不会被“挤”上去。

 

5.fixed定位的元素在滚动的时候会消失

比较常见,不在赘述

 

6.开发版uc浏览器页面滚动会导致text-indent属性失效

 

http://m.1688.com/shengyijing_search/--139.html可以用来测试

 

7.input输入框未指定高度,focus后高度发生跳动,需要指定display:block;才可以使用:flex:n;

 

posted on 2015-08-24 01:30  happycloud~~  阅读(5500)  评论(1编辑  收藏  举报