使用weinre调试手机页面

Weinre(WeInspector Remote),是一种远程调试工具。功能与Firebug及chrome调试器类似,可以帮助我们即时更改页面元素、样式,调试JS等。

工作原理

weinre由三部分组成
1. debug server
核心组件,运行在服务端,负责与另外两部分通信。
2.debug client
webkit核浏览器 ,debug server通信。 展现调试界面,允许你修改dom,查看网络信息等。
3. debug target. 
待调试的页面。你需要在页面中嵌入一小段js。它将通过XHR方式与debug server通信,进行调试信息的收发。


安装

安装十分方便。以linux机器为例,首先你需要有node.js。之后运行
npm g-g intall weinre 即可。


运行
1. 启动debug server端
命令行下执行
weinre --httpPort 8081 --boundHost 10.136.30.144
意思是监听10.136.30.144的8081端口

2. 启动debug client
pc浏览器上访问
会看到类似下面的页面

列出了weinre的文档及用于调试的url。
点击 http://10.136.30.144:8081/client/#anonymous, 看到如下调试界面。

告诉我们,目前没有targets接入。同时列出了client及server端信息。

3.  启动 target
在需要调试的页面中需要引入一段js
<script src="http://10.136.30.144:8081/target/target-script-min.js#anonymous"></script>
当然,如果要调试的页面很多,不方便在每一页都直接插入上文的代码。可以浏览器“书签”的方式保存一下面一段js,以动态方式插入script
javascript:(function(e){e.setAttribute("src","http://10.136.30.144:8081/target/target-script-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0);
以上两种方式在步骤2中提到的文档页中有详细说明。
假设我们要调试的页面运行在10.136.30.144:3927
页面中引入js后,用手机浏览器打开待调试页面
http://10.136.30.144:3927/new

4. 开始调试
手机访问页面后,我们回到步骤2中所说的调试界面。发现此时,targets中多了一条,即是我们在步骤3中用手机打开的待调试页面。
点击该target,即可利用熟悉的调试界面进行调试了。


其它说明
1. 用手机连续访问多页面,这些页面都会在targets中列出,选中其中一个,即可进行调试。
2. 点击调试页面中的remote, 可以从调试页面切回targets列表。
3. 尽管文档上说client要在基本webkit核的浏览器上使用( Google Chrome,  Apple Safari,  Other recent-ish WebKit-based browsers  ), 但亲测firefox上貌似也能玩转。
4. 也是最重要的。server与target和client一定要能互联互通,这样才可以调试。

一些局限性
1. elements部分,可以查看dom,修改样式。但无法直接编辑dom
2. resource部分,localstorage可以查看,但cookie看不到。
3. network部分,只能看到异步加载的请求。(也许我用的方法有问题?)
4. cosole部分,可以看console log, 运行js。但无法像firebug那样报出js的错误,更不能加断点调试。
anyway, 即使是这样,也为我们的调试提供了一定程度的便利。总比闭起眼乱碰好的多。
特别是当你要调试iphone页面,手上又无mac book时,试试weinre吧。
啥?你连iphone都没有!?god bless you~
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值