整理:手机端网页调试方案

(本文前身是技术分享的ppt,因此有些图直接是ppt导出的。画的图全是原创,转载请注明,谢谢。)

在手机端网页开发的特定阶段,需要查看手机端的界面、交互与体验。2011年时,开发时有很大麻烦:

  • 相应的静态文件在测试服务器上,没有上线,需要绑定hosts
    而手机端直接绑定hosts是需要越狱/root的
  • 有的手机浏览器根本不认hosts文件,如uc
  • 手机端的调试工具匮乏
    断点调试、查看变量、查看样式等都很困难
  • 在电脑端改变UA和屏幕大小,并不能简单的模拟手机端的情形。比如触摸的事件处理

在2012年后,一些成型的方案已经出现,本文将他们整理出来,并画出了相关架构。涉及:

  • 绑定hosts
  • 使用chrome、safari、firefox、UC浏览器的远程调试
  • 使用weinre构建调试服务器

hosts绑定

hosts绑定有两种方案:

  • root手机,修改手机端hosts文件,连接网页服务器。
  • 使用代理,连接代理服务器,修改代理服务器的hosts文件以连接网页服务器。

方案1如下图:

方案2如下图:

显然代理方案更优,不需要root手机或者给手机越狱,也规避了某些浏览器根本不读hosts文件的问题。

代理方案要点如下:

端口和ip对应起来即可。

部分浏览器远程调试

各个浏览器远程调试及其所用工具如下表所示:

平台 浏览器 链接方式 使用ADB 调试工具
iOS Safari (Mac) 数据线 Inspector
Android Android Chrome 数据线 内置 Inspector
Firefox For Mobile 数据线 Firefox原生调试工具
UC 开发者工具 数据线 Inspector

Safari远程调试

具体步骤:

  1. 设备开启调试,绑定Mac机器,USB连接Mac
  2. 打开safari,Ctrl + , > “高级”> 勾选“在菜单中显示开发”
  3. 菜单 > 开发
  4. 找到你的设备,打开inspector

可以看David的《如何在移动设备上调试网页》的safari章节以了解详细步骤。

Chrome

具体步骤,见Google Developers:Remote Debugging Chrome on Android

新版自动化了曾经需要的ADB port的步骤,还可以测试WebView。这里还允许在调试时自动做port-forwarding,可以不用刷机,不用改hosts。

如果遇到页面白板问题,尝试着将手机和桌面的Chrome都更到最新吧,并尝试着使用桌面端的chrome://inspect/#devices打开并刷新页面,然后打开Inspector。

可以看David的《如何在移动设备上调试网页》的chrome章节以了解详细步骤。

Firefox

国内有翻译关于firefox远程调试的一篇文章,但是这篇文章仅仅介绍了比较早版本的firefox远程调试,2012年十月份firefox的远程调试有了些许的升级,比第一版的半残的断点调试稍微好了一些,可以使用console了。

具体步骤,见MDN相关页面

Opera

Opera的调试曾经是最便利的,只需要连接到同一个无线热点即可调试。。更新到webkit内核之后,就只能走Webkit的传统调试方式了。

UC浏览器

UC浏览器的开发者版本,参考视频即可调试。

ADB

在使用firefox和UC浏览器调试时,需要用USB连接设备,并使用adb方式连接。
ADB = Android Debug Bridge,即安卓机器的调试桥接工具,我在百度网盘上放了一个副本

把 adb.exe 及其dll 放入系统路径中,即可以在CMD/terminal中使用adb命令了。

adb forward = 端口映射,提供透明socket通信。

ADB的使用中,端口有可能有冲突,windows端的命令如下:

  1. 查看使用了5037端口的进程pid:netstat –ano | findstr "5037"
  2. 根据pid查看进程:tasklist /fi "pid eq 进程的pid"
  3. 强制关闭进程:taskkill /f /pid 进程的pid

腾讯手机助手、360手机助手、豌豆荚等手机管理软件都会使用adb来进行手机的管理,因此调试前应先关闭这些软件,节约时间。

ADB的架构如下图:

构建Weinre调试服务器

在使用webkit内核的移动端浏览器(比如海豚浏览器等),还可以使用Weinre来进行远程调试,调试方法是构建一个调试服务器并在页面中嵌入相应代码。

安装 Weinre的方法:

npm -g install weinre

Weinre的架构如下图所示:

Weinre的配置要点如下图所示:

具体步骤:

http://blog.csdn.net/dojotoolkit/article/details/6280924

另外,Adobe 公司出品的 Adobe Edge 也是挂在 weinre 上的。不过看到其高昂的云服务费用,就望而却步了。

模拟器

模拟器个人并不喜欢用,有些体验没有办法模拟,这里记录了一下网上提到的模拟器。

  • android SDK + Eclipse + ADT Plugin + AVD 模拟器
  • iOS模拟器
  • Phonegap手机模拟器*
  • Opera mobile emulator


文中没有列出的参考文章:

时间: 2024-10-11 23:39:05

整理:手机端网页调试方案的相关文章

手机端网页web开发要点

1.初始化 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,u

移动手机端网页布局 常用的3种方式 总结

手机端网页现在已经发展的非常迅猛,很多公司度需要网页能兼容各种不同尺寸屏幕的手机. 下面我给大家讲讲我常用的3放布局方式: 1:响应式布局. 可以用px作为像素,网页进行平铺.全屏的用100%.高度可以用px写死,宽度可以用百分比.不管网页怎么拉伸,高度不变,宽度会相应的扩大. 2:em/rem  方式布局. 可以设置好html,body的字体大小,然后用不同的尺寸手机访问的时候,我们可以去修改body的字体大小,网页(网页的内容用rem设置宽度.高度)的之内容会自动进行缩放. 代码如: bod

手机端网页设计尺寸大小

手机端网页设计尺寸大小 对大于30W台客户端用户进行测试,得到的测试数据如下(数据来源于网络): 安全分辨率为1024 X 768 px 可建议大分辨率为1280 X 800 px 在Window XP常见分辨率1024×768下我们除掉任务栏,浏览器菜单栏以及状态栏后剩下的网页首屏高度平均值是584. 在Window 7常见分辨率1440×900下我们除掉任务栏,浏览器菜单栏以及状态栏后剩下的网页首屏高度平均值是716. 于设计来说,选取一个合适的尺寸作为正常大小和中等屏幕密度(尺寸的选取依据

手机端网页返回顶部js代码

<!DOCTYPE html>  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>手机端网页返回顶部js代码</title>  <script src="http://libs.baidu.com/jquery/1.11.3/jquery.m

70.JS---利用原生js做手机端网页自适应解决方案rem布局

利用原生js做手机端网页自适应解决方案rem布局 刚开始我用的是下面这段代码,然后js通过外部链接引入,最后每次用手机刷新网页的时候都会出现缩略图 function getRem(pwidth, prem) { var html = document.getElementsByTagName("html")[0]; var oWidth = document.body.clientWidth || document.documentElement.clientWidth; html.s

[共通]手机端网页开发问题及解决方法整理

Q1:手机端开发网页,界面适应问题.A1: <meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> width - viewport的宽度 height - viewport的高度    initial-scale - 初始的缩放比例    minimum-scale - 允许用户缩放到的最小比

手机端/网页 嵌套百度地图

网页嵌套几步到位: 地址:http://api.map.baidu.com/lbsapi/creatmap/index.html: 输入你想要定位的地点,添加标注,获取代码,拷贝到自己网页中即可. 但是体积大,在手机端很卡. 手机端效果图: 手机端嵌套: 代码如下: <html> <body> <legend>在线地图</legend> <div id='allmap' style='width:100%; height:360px'></

根据当前设备环境来做pc端和手机端网页显示

当你的网页使用了两套代码(移动端和pc端代码)来显示你的网页时,就需要用到这种方法: 手机端: if (!/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { window.location.href = "http://你的pc端网址"; } 电脑端: if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { wi

wap网站即手机端网页SEO优化注意事项及方法

定位和页面设计: 无论是PC端还是移动端,网站 都要考虑清楚消费群体的定位问题.虽然智能手机用户数量非常普及,但是要明白中国的大部分手机用户使用的还是2G网络,一直高 喊的3G.4G手机用户只有大约15%左右.所以,在页面设计时,要考虑到用户打开网页的时长,一些炫丽的flash.JS等建议还是不用为好.这不仅仅 是用户体验的问题,也是尽量减少百度索引抓取的工作,让百度蜘蛛尽可能多的爬行和收录页面. 网站尽可能简洁: ①手机网站比PC端网站的页面下载速度要慢得多,因此尽量把页面数和页面大小控制到最