2016-1-21 更新说明:

微信web开发者工具已经集成了weinre,只需设置手机代理便可调试任意页面,更简单更方便,推荐使用!

Web应用开发者需要针对手机进行界面的调试,但是手机上并没有称心如意的调试工具(如Firebug),调试界面的工作往往事半功倍。本文介绍的调试工具Weinre 就是解决这一问题的优秀调试工具。本文以Windows系统为例:

为什么使用weinre

我们在调试web页面时,在PC端我们有Chrome控制台、FireBug这两款优秀的工具,让我们可以查看Elements、Network、Console等项,让本来复杂的前端变得简单而有趣。

例如,js出问题了,使用Console查看便知;页面css有问题,通过审查元素即可定位元素。

但是,当我们在移动端测试h5页面,当出现问题,该怎么查看?明明在电脑上访问是正常的,到手机里就不正常了。哪里出问题了?怎么追踪?都是个难题。

weinre就为我们提供了诸如Elements、Network、Console等功能调试,你在手机上点击的任何一个链接,发出的任何一次请求,weinre都可以捕捉,并以我们熟悉的Console控制台方式显示。甚至,我们在控制台里点击页面的某个标签,在手机都会以选中的形式告知我们,当前这个标签对应的页面的哪一块。

weinre是什么

引自网友的一段话:

Weinre的本意是Web Inspector Remote,它是一种远程调试工具。功能与Firebug、Webkit inspector类似,可以帮助我们即时更改页面元素、样式,调试JS等。

举个例子,在电脑上可以即时 的更改手机上对应网页的页面元素、样式表,或是查看Javascript变量,同时还可以看到手机上页面的错误和警告信息。

如何安装

首先确保你的电脑已经搭建好了java环境。即:安装了jdk。这里不多做说明。

weinre没有安装包,不会像普通程序那样有界面,他依赖命令行和浏览器。

weinre本身是个jar包。我们需要下载这个文件:weinre-jar-1.6.1.zip

由于不大好下载,这里列出下载地址:

1、weinre unofficial binary packages for your convenience:

http://people.apache.org/~pmuellr/weinre/builds/1.x/1.6.1/

2、weinre1.6.1 - 下载频道 - CSDN.NET

http://download.csdn.net/detail/skyhh/4629366

下载下来,解压到某个目录,例如D:\weinre\

解压后是个weinre.jar文件。

启动weinre

命令行下输入:

java -jar weinre.jar --httpPort 8081--boundHost -all-

提示:

2016-01-21 16:41:27.185:INFO::jetty-7.x.y-SNAPSHOT
2016-01-21 16:41:27.292:INFO::Started SelectChannelConnector@0.0.0.0:8081
2016-01-21 16:41:27.293:INFO:weinre:HTTP server started at http://localhost:8081

说明weinre已经在正常运行。httpPort为端口,大家可自行更改。运行weinre.jar后,命令行要一直开着,可以写一个bat文件,需要的时候,执行bat就可以。

在浏览器(使用webkit内核浏览器,如chrome)输入:http://localhost:8081,即可看到weinre的基本信息。

上图中的debug client user interface是weinre的Debug客户端,点击进入后可以看到目前还没有被测试的目标网页。

移动端调试

为了让需要调试的页面被weinre检测到,需要添加Debug Target,有两种方法:

1、Target Script

该方法需要在调试的页面的header标签中增加一个js:

<script src="http://192.168.36.101:8081/target/target-script-min.js#anonymous" type="text/javascript">
</script>

添加后在移动设备中访问该页面即可。以上192.168.36.101是你电脑的局域网IP地址。注意替换。

如果被测试的页面我们无法改变其代码,那么还可以使用下面的第二种方法,添加书签。

2、Target Bookmarklet

该方法是将一段js保存到移动设备的书签中,可以在 刚才打开的http://localhost:8081/ 找到这段js:

javascript:(function(e){e.setAttribute("src","http://192.168.36.101:8081/target/target-script-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0);

将这段js保存到名为Debug书签中,然后使用移动设备访问我想要调试的页面,比如说 http://baidu.com,最后点击Debug书签就OK了。

但是目前手机上好多浏览器已经不支持添加这样格式的书签了,会提示无效。

出现问题

目前发现打开debug client user interface页面空白,控制台显示js错误,暂时无解决方案。暂时搁置。推荐使用微信web开发者工具方案代替。

参考:

1、Mobile Web调试工具Weinre - 挨踢前端 - 博客园

http://www.cnblogs.com/duanhuajian/archive/2012/10/28/2743832.html

2、Web移动应用调试工具——Weinre - Dojo中文博客 - 博客频道 - CSDN.NET

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

weinre使用的更多相关文章

  1. 使用 Weinre 调试移动网站及 PhoneGap 应用

    在 PC 端,我们可以使用 Firebug 或者 Chrome 开发人员工具方便的调试网站或者 Web 应用.但是,当我们想在移动端调试站点或者应用的时候,这些工具就派不上用场了.因此,移动开发人员都 ...

  2. 在本地调试移动设备上的页面——神器weinre介绍

    平时写代码,最喜欢用chrome的developer Tool调试页面了,基本是离不了的工具.但是当页面需要在移动设备上使用,尤其是被嵌入到Hybird APP中时,由于移动版的chrome没有dev ...

  3. webapp开发调试环境--weinre配置

    用谷歌调试工具中的手机模拟器模拟手机进行webapp的开发,与真机上的效果还是有些偏差,opera手机模拟器的效果亦不佳.有时在pc上开发出来的webapp效果良好,在部分真机上就出现了偏差,这时候就 ...

  4. weinre targets none 的问题

    安装了weinre之后,target 老是是none.问题就是处在localhost或者127.0.0.1. 因为手机或者虚拟机要通讯,相当于另外一台电脑,用localhost怎么能实现通讯嘛.得用本 ...

  5. Weinre调试移动端页面

    Weinre是什么 如果我们做的是Cordova(phonegap)或其他hybird应用,当使用到原生功能时候(类似原生请求数据或页面切换时),没办法在PC chrome浏览器调试页面,一旦页面在手 ...

  6. 移动端页面(css)调试之“weinre大法”

    移动端页面调试一般分两步.第一步我们需要把本地(pc端)写的页面效果展现在移动端,一个很方便的办法是用 fiddler 作为代理,具体可以参考 如何用 fiddler 代理调试本地手机页面,这样我们就 ...

  7. weinre 简记

    在入职不久接触了移动端WEB开发,刚开始遇到的问题就是调试的问题.在PC端的时候,我常常纠结在IE与IE之间,主要的兼容问题还是IE一家子和他们的亲戚(啥多核浏览器,也是各种坑不断)之间.IE虽然问题 ...

  8. 安装weinre在PC端调试移动端

    1.使用node安装weinre. 2.启动weinre, weinre --httpPort 8081  --boundHost -all- 3.在浏览器打开 http://localhost:80 ...

  9. Web移动应用调试工具——Weinre

    如今人们也越来越习惯在手机上浏览网页,而在手机上这些针对桌面浏览器设计的网页经常惨不忍睹.Web应用开发者需要针对手机进行界面的重新设计,但是手机上并没有称心如意的调试工具(如Firebug.web ...

随机推荐

  1. ubuntu安装goldendict以及添加本地词典和在线词典

    软件在ubuntu软件中心安装就可以了, 关于网络词典, 推荐有道在线词典,网址http://dict.youdao.com/search?q=%GDWORD%&ue=utf8 添加方法:编辑 ...

  2. java中double变量保留小数问题

    (转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点 ...

  3. Ubuntu 16.04 启动错误 "a start job is running for hold until boot process finishes up"

    老司机也差点翻船... 升级16.04的时候,将默认启动管理器(default display manager)选为gm3(gnome3)了(应该使用默认的lightgm)如果改成gm3,好像是nvi ...

  4. IPv4头部结构

    2.2 IPv4头部结构 2.2.1 IPv4头部结构 IPv4的头部结构如图2-1所示.其长度通常为20字节,除非含有可变长的选项部分. 4位版本号(version)指定IP协议的版本.对IPv4来 ...

  5. react通过自己的jsx语法将两者放在一起通过虚拟dom来渲染

    目前较为流行的react确实有很多优点,例如虚拟dom,单向数据流状态机的思想.还有可复用组件化的思想等等.加上搭配jsx语法和es6,适应之后开发确实快捷很多,值得大家去一试.其实组件化的思想一直在 ...

  6. JDBC学习笔记(2)

    上一篇博客简单介绍了JDBC连接的简单知识,下面就详细介绍.李勇老师对JDBC连接有很好的比喻: 首先加载驱动,其实就是一些类,就是jar包,要加载到classpath里面的.实际的程序,服务和数据库 ...

  7. 黑马程序员_Java基础:集合总结

    ------- android培训.java培训.期待与您交流! ---------- 一.集合概念 相信大家都知道,java是一门面向对象的编程语言,而对事物的体现都是以对象的形式,所以为了方便对多 ...

  8. 位图图像处理控件ImageCapture Suite更新至v9.1

    概述:Dynamsoft公司旗下非常出名的位图图像处理控件ImageCapture Suite更新至了v9.1,这次新版本为Mac版本和IE 9新增了不少功能,同时还对其他组件的性能进行了质的提高! ...

  9. 关于"Command /usr/bin/codesign failed with exit code 1"的解决办法

    今天当码农的时候,xcode爆出"Command /usr/bin/codesign failed with exit code 1"这样一个错 当时以为是授权文件设置不正确的问题 ...

  10. windows 录音程序(二)

    (二)录音流程 Waveform APIs,流程如下: a.打开录音设备waveInOpen; b.准备wave数据头waveInPrepareHeader; c.准备数据块waveInAddBuff ...