简介
web 调试有几个非常频繁的刚需:看 log、看 error、看 AJAX 发包与回包。其他的如 timeline 和 cookie 以及 localstorage 就不是那么频繁,但是 AlloyLever 都支持。如你所见:
AJAX 抓取:
特征
- 点击 alloylever 按钮之间切换显示或隐藏工具面板
- Console 会输出所有用户打印的日志如 console.[log/error/info/debug/debug]
- Console 会输出所有的错误信息 (脚本错误和网络请求错误)
- XHR 面板会输出所有(XMLHttpRequest)AJAX 请求和服务器端返回的数据
- Resouces 面板会输出所有的 Cookie 信息和 LocalStorage
- TimeLime 面板会输出页面相关的生命周期里的时间段耗时情况
演示
http://alloyteam.github.io/AlloyLever/
Install
可以通过 npm 安装:
1 |
npm install alloylever |
使用
你的页面只需要引用一个 js 即可!
1 |
<script src="alloylever.js"></script> |
但是需要注意的是,该 js 必须引用在其他脚本之前。至于为什么,看下面的原理。
Console 截获
1 2 3 4 5 6 7 8 9 10 |
window.console = { wc: window.console }; var self = this; ['log', 'error', 'warn', 'debug', 'info'].forEach(function (item) { console[item] = function (msg) { this.wc[item](msg); self.log(msg, item); } }); |
重写了 console 方法,并且保存下 window 下真正的方法进行执行,并且注入自己的事件。
AJAX 截获
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
var XHR = window.XMLHttpRequest; window.XMLHttpRequest=function(){ var xhr = new XHR(); checkSuccess(xhr); |