首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Weinre --WebApp 调试工具

Weinre --WebApp 调试工具

作者头像
零式的天空
发布2022-03-21 19:36:28
发布2022-03-21 19:36:28
1.3K0
举报
文章被收录于专栏:零域Blog零域Blog
  • content {:toc}

什么是 weinre?

weinre官网 上有两句有意思的介绍:

weinre is WEb INspector REmote. Pronounced like the word “winery”. Or maybe like the word “weiner”. Who knows, really. weinre is a debugger for web pages, like FireBug (for FireFox) and Web Inspector (for WebKit-based browsers), except it’s designed to work remotely, and in particular, to allow you debug web pages on a mobile device such as a phone.

上面说 weinre 是一个远程 web 调试器。说到了它的发音,还挺幽默,哈哈。

远程 web 调试器。先说调试器,就像火狐中的 FireBug,Chrome 中的调试器一样。就是在浏览器中按下 F12 出现的那个工具。但是在手机上,你没办法按 F12,而这个 weinre 就是在手机上的 F12,与传统的不同的是,它是在手机上浏览你的 web 页面,在 PC 上查看调试工具,非常方便,这就是所谓的远程。

为什么用 weinre?

现代浏览器中调试工具都非常强大了,可以直接模拟手机设备,为什么还要用 weinre 这么麻烦的东西呢?

我觉得 PC 端的浏览器虽说可以模拟,但模拟毕竟还是模拟,还只是鼠标长按滑来滑去。在开发过程中,使用手机或平板直接来感受是多么的酷,指尖在移动设备的屏幕上摩擦摩擦!给人的直观感受绝对秒杀浏览器的模拟。

原理

使用一种工具之前,了解它的原理和结构是很有帮助的。weinre 作为一种远程调试工具,在结构上分为三层:

  • 目标页面(target):被调试的页面,页面已嵌入 weinre 的远程 js,下文会介绍;
  • Debug客户端(client):本地的 Web Inspector 调试客户端;
  • Debug服务端(agent):一个 HTTP Server,为目标页面与 Debug 客户端建立通信。

三层结构如下图所示:

weinre 的 debug 客户端是基于 Web Inspector 开发,而 Web Inspector 只与以 WebKit 为核心的浏览器兼容,所以 Weinre 的客户端只能用 Chrome 或者 Safari 打开。

官网上也有相应的平台支持说明:

  • Platforms supported - debug server 服务端 任何支持 node.js 的平台。
  • Platforms supported - debug client 客户端(跑 debugger 界面的浏览器)
    • Google Chrome
    • Apple Safari
    • Other recent-ish WebKit-based browsers 其他基于 webkit 内核的现代浏览器
  • Platforms supported - debug target 目标页面(在移动设备中调试运行的目标页面)
    • Android Browser application
    • iOS Mobile Safari application
    • PhoneGap/Cordova
    • other

安装

weinre 是 nodeJS 的一个应用,首先要

使用 npm 命令,安装 weinre

安装成功后会有类似的信息:

使用

启动服务

  • —boundHost [hostname | ip address | -all-] The ip address to bind the server to.
  • —httpPort [portNumber] The port to run the HTTP server on. 更多配置项参考 官网的说明

启动成功后看到如下界面:

给目标页面添加一行脚本

Target Script

http://localhost:8081/target/target-script-min.js#anonymous

代码语言:javascript
复制
 <script src="http://localhost:8081/target/target-script-min.js#anonymous"></script>

我们可以在命令行中 使用 ipconfig 得到 ip 地址,如下(当然你的可能和我的不一样):

即插入如下代码:

进入调试页面

debug client user interface: http://localhost:8081/client/#anonymous

代码语言:javascript
复制
 C:\Users\haoyang\AppData\Roaming\npm\node_modules\weinre\web

但是这样可能不太灵活,每次都要把目标页面放到指定的目录下。所以我们可以另外开一个服务器。

我在手机上访问 http://192.168.1.107:8080 打开要调试的页面,此时 debug client user interface 中自动检测到 target。就可以进行调试了!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 weinre?
  • 为什么用 weinre?
  • 原理
  • 安装
  • 使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档