狠狠撸

狠狠撸Share a Scribd company logo
UED大讲堂

2013年第17期

移动WEB前端开发
踩过的坑
郭涛

| 前端设计部
目录
? 引入:背景介绍
1. 移动化是趋势
2. 对我们的影响
3. “Mobile”的读法

? 第一部分:四类具体的坑
1.
2.
3.
4.

样式
脚本
应用
系统/硬件

? 第二部分:调试方法改进
1. 手机直接访问开发环境
2. 手机通过工作机代理访问内网服务。
产物移动化是趋势

“手机淘宝2013年11.11整体支付宝成交额53.5亿,是去年的5.6倍(9.6
亿);单日活跃用户达1.27亿;手机淘宝单日成交笔数达3590万笔,交
易笔数占比整体的21%”;

“IBM的一份报告显示,今年感恩节后的黑色星期五,移动端来的流量
占了电商总体的42.6%,销售额占了26%,比去年提升了49%”。
即将到来的新需求

? 手机客户端(a.17173.com);
? 开发移动版网页(m.17173.com) ;
? 移动适配改造。
我的移动WEB开发经历

? 通行证首页/注册页改造
? 登录/注册模块
“MOBILE”的读法

英 ['m??ba?l] 美 [?mo?bil]

mobile development - 有道词典
第一部分——踩坑流水帐
CSS新属性 BUG #10169

? 表现:iPad点击补全层后,出
现短暂的残留阴影;
? 原因:iPad自带浏览器对被点
击元素做高亮显示;
? 修复:可通过设置属性 webkit-tap-highlight-color:
rgba(0,0,0,0)避免。
自适应布局 VS 固定高度 BUG #10111

? 表现:登录过程中,“高度塌
陷” ;
? 原因:需适应不同宽度屏幕,
容器高度不能设为固定值 ;
? 解决:js控制,在登录状态切
换前计算将被隐藏元素的高度,
状态切换时赋值給
aitElement/infoElement高度
属性。
虚拟键盘上的"新伙伴“ BUG #6764

? 表现:输入用户名不自动补全
邮箱域部分;
? 原因:“next”键码不同于普
通键盘的“tab”键码;
? 解决:监听blur事件取代
keyup事件+keyCode判断。
(UI)WEBVIEW != BROWSER BUG #7291

? 表现:三星、HTC x920e
(android4.1.1)安装测试
app,只能点开一次注册服务
条款,关闭后无法再点开;
? 原因:app中调用
window.open 只能打开一次同
名窗口;
? 解决:name属性使用变量值
(如:时间戳);
? 类似:横竖屏切换表单数据丢
失Bug #6964。
当心EMAIL TEL…格式字符串 BUG #10205

? 表现:点击email格式的字符
串跳转到 mailto: 协议地址;
? 原因:应用自动将格式匹配的
字符串转换为链接 ;
? 解决:
? 破坏格式(如使用span
标签包裹“@”符号);
? 通过设置meta 标签禁用
格式转换。
厂商定制行为 BUG #6810

? 表现:input自动添加占位符,
内容与label元素一致;
? 原因:三星GT-I9308 自带浏
览器定制的行为;
? 解决:使用placeholder属性
描述输入内容,取代label。
RETINA屏图标显示模糊 BUG #7282
? 表现:普通屏幕显示正常的图标,在Retina屏下显示模糊;
? 原因:设备像素比高,需要更高分辨率的图片资源;
? 解决:
? img标签:通过devicePixelRatio属性判断是否高清屏,是则
设置宽高、修改src属性(引用2倍分辨率图片资源);
? 样式中的背景图:媒体查询。
小结:对待坑的态度

? 从前:踩坑了,假装没遇到,爬起后继续往前走;
? 原因:
? 挫败感;
? Bug修复增加“不必要的”代码;
? 现在:倾向于先找找绕开的方法,然后做个标记,避免在同样
的坑上栽跟头;
? 原因:
? 正视问题是解决问题的开端;
? 找出问题关联性,将N个独立问题归纳为一类问题;
? 建议:利用 jira.17173.com 的个人空间记录项目中遇到的问题。
第二部分——隐形的坑

1.
2.
3.
4.

小游戏
拿出手机,启动wifi;
连接到SSID以“360_”开头的热点;
浏览器打开网址192.168.0.1;
发生了什么

1. 连入360随身wifi(花名歪蛋蛋)
创建的无线局域网;
2. 手机通过内网ip访问工作机;
3. “开始”后的某一时刻对开发
环境上的网页做修改;
4. 上一步所做的修改 即时 反映
到手机。
对应到工作中

场景:开发和调试中,需对代码改动后的效果进行 预览;
问题:非同一网段时,手机无法访问到工作机开发环境;
过去的做法:将网页上传到手机可访问的内网服务器;
不足: 调试需在编辑器和浏览器间频繁切换,增加中间步骤
(文件同步) 影响效率;
5. 新方法:工作机创建无线局域网共享给手机,手机直接访问开
发环境;
6. 好处:跳过文件操作,直接预览修改。
1.
2.
3.
4.
更进一步

1. 找到刚才创建的无线连接;
2. 设置http代理,ip:192.168.0.1,端口:17173;
3. 手机浏览器中打开17173首页。
发生了什么

1. 手机设置http代理为工作机17173端口(代理服务);
2. 手机发起的请求交由代理服务器处理;
3. 由代理服务器完成域名查询(domain->host/dns->ip) 及
本次请求的其他步骤,然后再将响应内容返回给请求者。
对应到工作中

?
?
?
?
?
?

场景:部分内网服务需要修改host才能通过域名访问;
问题:绝大部分手机不支持直接修改hosts文件;
过去的做法:通过刷机、越狱手段获取权限后修改hosts;
不足:每台设备都必须进行提权/修改hosts操作;
新方法:通过设置代理让所有设备共用工作机上的hosts文件;
好处:
1. 操作简单,在PC机上修改hosts文件相对方便;
2. 无需重复,只需维护一份hosts文件;
3. 文艺范 —— 做移动端web测试的妹纸再也不必是懂刷机
能越狱的女汉子。
小结

1. 把不合理的视为开发流程的一部分,以至于身在坑中却毫
无意识;
2. 实现起来超出预料的麻烦,说明解决方案可能存在不合理;
3. 经验积累重要,但解决新问题也需要引入新思路;
4. 20元的投入可以产生14%的工时回报,绝对是比好买卖。
Q&A
THANKS!
本演示线上版地址:

http://kainy.github.io/slides/mobile-web-development-pit.html

More Related Content

Similar to 移动奥别产前端开发踩过的坑 (20)

PDF
【MMdc 分享】2012年可以為客戶帶來較多營收的兩個行動主題-Mobile page & app marketing
關鍵數位行銷股份有限公司 Minmax Digital Consulting
?
PPTX
移动应用的陷阱
rockcody
?
PPTX
移动应用的陷阱
rockcody
?
PDF
美国移动互联网市场考察Gport gmic roadshow usa report
gegeke88
?
PDF
Gport GMIC Roadshow USA Report -CN
Great Wall Club
?
PDF
今日头条4.0介绍辫辫迟
xuechengwei
?
PDF
来自未来的信号(基于五六级市场智能手机发展现状的 8 个信号)pdf 版
34park
?
PDF
Gport Weekly的创刊号
Great Wall Club
?
PDF
百度移动互联网发展趋势报告 2013年q1
sddsyf
?
PPT
Talk on Electronic Commerce
yjchang
?
PPT
Talk on Electronic Commerce
yjchang
?
PPTX
行动与云端科技在图书馆的应用
皓仁 柯
?
PDF
儿童市场调研报告分析
paitoubing
?
PDF
中国移动互联网蓝皮书 Dcci
中文互联网数据研究资讯中心--199颈迟
?
PDF
百度移动互联网发展趋势报告2013 Q3
yueq
?
PPT
第11期极客活动-友盟
geekparknet
?
PDF
0515 UiGathering Talk - Mobile App by Angel Wu
UXTW(Taiwan User Experience Professional Association)
?
PDF
IxDC 中国交互设计体验日-C1_张立州_手机客户端交互设计三部曲
IxDC
?
PDF
Japan Mobile Internet Market Visit 2009 Nov
Great Wall Club
?
PDF
公器不私用 - 公司实时通讯新世代 (先作科技有限公司 谢权华先生)
ITSolutionDirectory
?
【MMdc 分享】2012年可以為客戶帶來較多營收的兩個行動主題-Mobile page & app marketing
關鍵數位行銷股份有限公司 Minmax Digital Consulting
?
移动应用的陷阱
rockcody
?
移动应用的陷阱
rockcody
?
美国移动互联网市场考察Gport gmic roadshow usa report
gegeke88
?
Gport GMIC Roadshow USA Report -CN
Great Wall Club
?
今日头条4.0介绍辫辫迟
xuechengwei
?
来自未来的信号(基于五六级市场智能手机发展现状的 8 个信号)pdf 版
34park
?
Gport Weekly的创刊号
Great Wall Club
?
百度移动互联网发展趋势报告 2013年q1
sddsyf
?
Talk on Electronic Commerce
yjchang
?
Talk on Electronic Commerce
yjchang
?
行动与云端科技在图书馆的应用
皓仁 柯
?
儿童市场调研报告分析
paitoubing
?
中国移动互联网蓝皮书 Dcci
中文互联网数据研究资讯中心--199颈迟
?
百度移动互联网发展趋势报告2013 Q3
yueq
?
第11期极客活动-友盟
geekparknet
?
0515 UiGathering Talk - Mobile App by Angel Wu
UXTW(Taiwan User Experience Professional Association)
?
IxDC 中国交互设计体验日-C1_张立州_手机客户端交互设计三部曲
IxDC
?
Japan Mobile Internet Market Visit 2009 Nov
Great Wall Club
?
公器不私用 - 公司实时通讯新世代 (先作科技有限公司 谢权华先生)
ITSolutionDirectory
?

More from Kainy (11)

PDF
厝边公司2012校园招聘简章
Kainy
?
PPS
如何做毕业论文笔笔罢
Kainy
?
PPTX
内容聚合器——搁蝉蝉使用入门
Kainy
?
PPS
视频大赛参赛作品 动感影集-网络0802-贺超
Kainy
?
PDF
中国电信颁+飞功能介绍
Kainy
?
PDF
网页控件规范
Kainy
?
DOC
学信网-电子图像校对操作流程
Kainy
?
PDF
Tortoise SVN 简明教程
Kainy
?
PPSX
Fjut 网络0703优秀团支部评选材料
Kainy
?
PDF
门户网站宕机网络分析报告
Kainy
?
PPT
福建工程学院 毕业班学生就业审批手续[2011版]
Kainy
?
厝边公司2012校园招聘简章
Kainy
?
如何做毕业论文笔笔罢
Kainy
?
内容聚合器——搁蝉蝉使用入门
Kainy
?
视频大赛参赛作品 动感影集-网络0802-贺超
Kainy
?
中国电信颁+飞功能介绍
Kainy
?
网页控件规范
Kainy
?
学信网-电子图像校对操作流程
Kainy
?
Tortoise SVN 简明教程
Kainy
?
Fjut 网络0703优秀团支部评选材料
Kainy
?
门户网站宕机网络分析报告
Kainy
?
福建工程学院 毕业班学生就业审批手续[2011版]
Kainy
?
Ad

移动奥别产前端开发踩过的坑