javascript 调试代码

本文介绍了一种通过在JS代码中嵌入特定函数来实现非本地环境下的调试方法。该方法适用于发布到外网环境后的正式版本,使得开发者即使在无法直接访问源代码的情况下也能收集到必要的调试信息。

开发中调试js代码很方便,  有些需要发布到外网环境中, 正式上线后, 可能还需要查看调试信息.

以下简短代码, 用以解决非本地js代码调试日志输出

(function(window){
    _lg = {};
    _lg.ato=function(y,k){for(var b=0,e=y.length;b<e;b++){g=y[b].split("=");o=g[0],m=g[1];if(typeof k[o]=="undefined"){k[o]=m}else{if(typeof k[o]=="string"){k[o]=[k[o]];k[o].push(m)}else{k[o].push(m)}}}return k};
    _lg.jp=function(w){var a=document.getElementsByTagName("script"),k={};var h=a[a.length-1];var f=h.src.split("?")[1];if(f){y=f.split("&");var k={};k=_lg.ato(y,k)}return w?(typeof k[w]=='undefined'?null:k[w]):k};
    _lg.hp=function(w){var u=location.search, k={};if(u.indexOf("?")!=-1){var t=u.substr(1);y=t.split("&");k=_lg.ato(y,k)}return w?(typeof k[w]=='undefined'?null:k[w]):k};
    _lg.log = function(){if(!_lg.bug){return}n=arguments.length,k="";if(window.console&&console.log&&n>0){for(var i=0;i<n;i++){k+=",arguments["+i+"]"}eval('console.log('+k.substring(1)+')')}};
    _lg.bug = _lg.jp('bug') || _lg.hp('bug');
    window._lg = _lg;
})(window);

/**
调用方法: 例如将此代码写入 debug.js 文件中.

1
  调试代码页面, 直接 _lg.bug=1; 开启调试输出.
  需要输出调试的时候, _lg.log(a,b,c,d); //类似console.log 多参数输入

2
  引入js文件时 <script type='text/javascript' src='debug.js?bug=1'></script>
  这样debug.js文件中的 _lg.log(xxx); 等调试信息即可输出

3
  引入有js文件的页面地址上, http://www.xxx.com/test.html?bug=1
  debug.js文件中的 _lg.log(xxx); 调试信息同样可以输出

*/

 

转载于:https://www.cnblogs.com/cpython/p/3600028.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值