读书人

11 自各儿的JS调试工具 myLogger()对象

发布时间: 2012-11-22 00:16:41 作者: rapoo

11 自己的JS调试工具 myLogger()对象

/** * @author elf */function myLogger(id){id=id||'ADSLogWindow';var logWindow=null;var createWindow=function(){//取得新窗口在浏览器居中放置时左上角的位置var browserWindowSize=ADS.getBrowserWindowSize();var top=((browserWindowSize.height-200)/2)||0;var left=((browserWindowSize.width-200)/2)||0;//创建一个UL节点logWindow=document.createElement('UL');//指定ID ,以便在必要时在DOM树中能识别它logWindow.setAttribute('id',id);//在屏幕居中位置定位日志窗口logWindow.style.position = 'absolute';logWindow.style.top = top + 'px';logWindow.style.left = left + 'px';//设定固定的大小 ,并允许窗口内容滚动logWindow.style.width = '200px';logWindow.style.height = '200px';logWindow.style.overflow = 'scroll';logWindow.style.padding= '0';logWindow.style.margin= '0';logWindow.style.border= '1px solid black';logWindow.style.backgroundColor= 'white';logWindow.style.listStyle= 'none';logWindow.style.font= '10px/10px Verdana, Tahoma, Sans';//添加到文档主体中document.body.appendChild(logWindow);};this.writeRaw=function(message){if(!logWindow) createWindow();//创建列表项并适当的添加样式var li = document.createElement('LI');li.style.padding= '2px';li.style.border= '0';li.style.borderBottom = '1px dotted black';li.style.margin= '0';li.style.color= '#000';li.style.font = '9px/9px Verdana, Tahoma, Sans';//为日志节点添加信息if(typeof message == 'undefined') {li.appendchild(document.createTextNode('Message was undefined'));} else if(typeof li.innerHTML != undefined) {li.innerHTML = message;} else {li.appendchild(document.createTextNode(message));}//添加'UL'窗口日志中logWindow.appendChild(li);return this;;}}/** * The myLogger prototype public methods */myLogger.prototype = {/**  * Writes a write a partially encoded version of the message to the log window. * If the message is not a String, the toString method will be  * called on the object. If no toString() method exists, the typof * will be logged. * @param {Object} message */write: function (message) {// warn about null messagesif(typeof message == 'string' && message.length==0) {return this.writeRaw('ADS.log: null message');}// if the message isn't a string try to call the toString() method,// if it doesn't exist simply log the type of objectif (typeof message != 'string') {if(message.toString) return this.writeRaw(message.toString());else return this.writeRaw(typeof message);}// transform < and > so that .innerHTML doesn't parse the message as HTMLmessage = message.replace(/</g,"<").replace(/>/g,">");return this.writeRaw(message);},/** * Writes a simple header to the log window. */ header: function (message) {message = '<span style="color:white;background-color:black;font-weight:bold;padding:0px 5px;">' + message + '</span>';return this.writeRaw(message);}};if(!window.ADS) { window['ADS'] = {}; }window['ADS']['log'] = new myLogger();if(!console) var console = ADS.log;
?

读书人网 >JavaScript

热点推荐