浏览器远程调试 debug.js
在线调试的时候用着比较方便,(例如:在微信网页端 不用再使用 alert
输出信息了)
可以使用debug('测试');
通过WebSocket
发送信息了,至于 其他端的代码就不在一一奉上了
/* * 在线调试 * 简爱<sc.419@qq.com> * 20160503 * * <script src="***/debug.js?debug_id=***"></script> * <script>debug('ja')</script> */ function debug(a){ debug.status = debug.status || false; debug.data = debug.data || []; if(!debug.id){ return; } // 建立链接 debug.link = function(){ WebSocket = window.WebSocket || window.MozWebSocket; debug.ws = new WebSocket('ws://ws.asilu.com:8000'); debug.ws.onopen = function(){ debug.status = true; // 连接成功 循环消息队列 for(k in debug.data){ debug.send(debug.data[k]); delete debug.data[k]; } }; debug.ws.onclose = function() { debug.status = false; }; }; // 发送调试信息 debug.send = function(a){ if(debug.status){ debug.ws.send(JSON.stringify({ to: debug.id, data: { host: debug.host, info: a } })); return true; } return undefined; }; if(!debug.status){ // 不在线,建立连接,加入消息队列 debug.link(); debug.data.push(a); return false; }else{ // 直接发送消息 return debug.send(a); } } (function(){ var a = document.getElementsByTagName('script'), b = /(\?|&)debug_id=([^&]*)(&|$)/; c = a[a.length - 1].src.match(b); if(c == null){ return; }else{ debug.id = c[2]; } debug.host = window.location.host || window.location.pathname.replace(/[^\w\d-]+/g, '_'); })();
本文出自简爱博客,转载时请注明出处及相应链接。
发表评论