日期:2014-05-16 浏览次数:20387 次
/** * @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 messages if(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 object if (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 HTML message = 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;?