首页 > 代码库 > ios的web调试利器--weinre
ios的web调试利器--weinre
项目
http://people.apache.org/~pmuellr/weinre/docs/latest/Running.html
原理
1 使用nondejs建立一个服务器;
2 使用注入方式插入一个js到被调试web页面中。这个js会尽可能的拦截页面上的实现得到上层的数据,如ajax请求,但是像图片直接加载,之类是无法得到的。同时定时向服务器发心跳码,或是返回命令结果,这个见面称之被调试页;
3 有pc上打开服务器ip,会打开一个像firebug的界面,这个称之调试台页;
这样,被调试页与调试台页使用js通过服务器互相之间发送命令、传送数据,达到调试目的。因为这样的一个特性,js无法干的事,那么,你也就无法进行调试;
使用:
1. 在centos中使用安装nodejs : yum install nodejs
安装yum install npm
安装 npm -g install weinre
启动 weinre --httpPort 80 --boundHost -all- --verbose true --debug true
被调试页面 弄一个书签:
打开页面点击书签注入,发现safari支持,uc过滤javascript协议,chrome需要手动输入javascript:然后再粘贴后面部分(估计是简单的把粘贴的javascript:部分过滤掉了),但是它的书签却是正常的,只不过,书签点击就会占用当前页面,所以,无法使用,如果被调试页面不会对处于框架中的而跳出top的处理,是可以使用iframe来在各个浏览器中使用这个功能,
注入成功后,它就会向服务器发送自己是调试对象的数据了。
在pc中使用服务器ip打开即可看到使用详细,ok,看看调试界面吧。
只不过,建议修改一下这些js,让这些功能更加好用点,起码被调试页面挂了,不用刷新控制台页面嘛。。。。就死发数据也没事,又不是生产环境,用不着说,被调试对象不存在了,就自动自己也挂掉。。
另外appstore上有一个叫mihtool的东西。是国人利用这个加上一些ios的特性,但是它还是这个东西的原理,只是方便了一些功能,
我使用ipad air 1 调试发现它性能很差。。。。时不时就lost contect,而使用centos弄的是秒变。所以,就没有必要使用这个工具了。
如果说有人拦截掉safari的网络底层。获取更多的如img加载,css加载,video加载之类之类,那还差不多。
因为方便性相对来多那几个功能作用对我来说不是很大。
性能上无法跟自己服务器比。
ios的web调试利器--weinre