我们在开发手机版网页的时候,常常会出现下面的情景:
* 开发时,在自己电脑上运行得好好的,在手机上打开就挂了,但是手机上又看不到error log…
*上线后,某用户表示页面失灵,但我们自己又重现不出来,看不到用户侧的出错信息
作为开发者,我们的诉求很简单:有没有快捷的方法在手机前端页面看到log日志?
调试移动端的三种方法
- vConsole ——开源的前端 console 调试面板
- Eruda
- chrome://inspect/
一、vConsole
- vConsole 是一款由微信公众平台前端团队打造的前端调试面板,专为手机web页面量身设计,帮助开发者更为便捷地进行开发调试工作。
使用方法
- 下载模块
- 引入模块
- 如果未使用 AMD/CMD 规范,可直接在HTML中引入vConsole模块 <script src="path/XXX/vconsole.min.js">< /script>
- 如果使用了 AMD/CMD 规范,可在 module 内使用 require() 引入模块: var vConsole = require('path/XXX/vconsole.min.js');
功能清单
- 引入vConsole之后会在我们的webView上面显示可拖动的按钮:
1 Log面板:支持 5 种不同类型的日志,会以不同的颜色输出到前端面板
2 System面板:“系统”面板,vConsole会自动将一些基础信息(如系统版本)打印出来,方便开发者定位问题。若页面是在微信内置浏览器中打开的,vConsole还会打印出微信版本号、当前网络类型等额外信息
3 Network面板:Network面板面板可以记录页面上发起的ajax请求信息。
二、Eruda
- Eruda 是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷你版,其主要功能包括:捕获 console 日志、检查元素状态、显示性能指标、捕获XHR请求、显示本地存储和 Cookie 信息、浏览器特性检测等等。
使用方法
npm install eruda --save
<script src="node_modules/eruda/eruda.min.js"></script> <script>eruda.init();</script>
;(function () {
var src = 'node_modules/eruda/eruda.min.js';
if (!/eruda=true/.test(window.location)
&& localStorage.getItem('active-eruda') != 'true')
return;
document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
document.write('<scr' + 'ipt>eruda.init();</scr' + 'ipt>');
})();
- 初始化时可以传入配置:
- container: 用于插件初始化的Dom元素,如果不设置,默认创建div作为容器直接置于html根结点下面。
- tool:指定要初始化哪些面板,默认加载所有。
var el = document.createElement(‘div’);
document.body.appendChild(el);
eruda.init({
container: el,
tool: [‘console’, ‘elements’]
});
功能清单:
- Console面板:捕获Console日志,支持log、error、info、warn、dir、time/timeEnd、clear、count、assert、table;支持占位符,包括%c自定义样式输出;支持按日志类型及正则表达式过滤;支持快捷命令加载underscore、jQuery库;支持JavaScript脚本执行。
- Elements面板:查看标签内容及属性;查看应用在Dom上的样式;支持页面元素高亮;支持屏幕直接点击选取;查看Dom上绑定的各类事件。
- Network面板:图表显示页面加载速度;查看页面各资源请求时间(Android);捕获XHR请求,查看发送数据、返回头、返回内容等信息
- Resources面板:查看并清除localStorage、sessionStorage及cookie;查看页面加载脚本及样式文件;查看页面加载图片。
- Sources面板:查看页面源码;格式化html,css,js代码及json数据。
- Info面板:输出URL及User Agent;支持自定义输出内容。
- Snippets面板:页面元素添加边框;加时间戳刷新页面;支持自定义代码片段。
- Features面板:浏览器常用特性检测;提供Can I use,Html5Test快捷访问。
三、安卓机调试 —— chrome://inspect/#devices
- 第一步:首先在移动设备上开启USB调试模式并下载一个手机端的chrome。
- 第二步:用USB数据线连接设备,驱动装好连接成功后,你可能会在设备上看到一个弹框请求允许使用这台计算机通过usb调试
- 第三步:直接在浏览器地址栏输入chrome://inspect 或者about:inspect
- 第四步:需要FQ