javascript 调试器v1.0.0.0
直接给出jsDebug.js的代码。
Code
1/**//*javascript debugger
2*version 1.0.0.0
3*author zhaohuinet
4*complete 2008.05.28
5*/
6//初始化事件错误处理方法
7window.onerror=function(msg,url,line)
8{
9 jsDebug.Console.writeln("---------------------------");
10 jsDebug.Console.writeln("script error message "+ msg);
11 jsDebug.Console.writeln("script error line " + line);
12 jsDebug.Console.writeln("script error from " + url);
13 jsDebug.Console.writeln("---------------------------");
14 return !jsDebug.debug; /**/////return true 忽略所有错误
15}
16jsDebug={
17 debug:false /**/////默认忽略错误处理
18};
19/**/////this just like system.console c#
20jsDebug.Console={
21 /**/////默认错误信息为空
22 errorMsg:"",
23 /**/////输出错误信息不换行
24 write:function(msg){
25 if(jsDebug.debug)
26 {
27 if(!document.body)/**/////非html body内的错误
28 {
29 this.errorMsg += msg;
30 return;
31 }
32 var console=this.getConsole();
33 console.style.visibility="visible";
34 if(this.errorMsg.length!=0)
35 {
36 console.innerHTML += this.errorMsg;
37 }
38 console.innerHTML += msg;
39 }
40 },
41 /**/////输出错误信息换行
42 writeln:function(msg){
43 this.write(msg+"<br/>");
44 },
45 /**/////清空错误信息
46 clear:function(){
47 if(jsDebug.debug)
48 {
49 var console=this.getConsole();
50 console.innerHTML="";
51 console.style.visibility="hidden";
52 }
53 },
54 /**/////默认控制台 null 就是一个显示错误信息的div
55 _console:null,
56 /**/////创建or返回一个承载错误信息的控制台
57 getConsole:function(){
58 if(!this._console)
59 {
60 this._console=document.createElement("div");
61
62 with(this._console)
63 {
64 style.position="absolute";
65 style.height="200px";
66 style.width="300px";
67 style.overflow="auto";//
68 style.paddingLeft="3px";//填充边距
69 style.paddingRight="3px";//
70 style.fontFamily="Courier New";
71 style.fontSize="12px";
72 style.color="#008000";
73 style.right="10px";
74 style.backgroundColor="#FCFCFC";
75 style.border="#005FBD 2px solid";
76 if(jsDebug.Browser.ie)
77 {
78 style.filter="Alpha(Opacity=80)";
79 }
80 else
81 {
82 style.opacity="0.8";
83 }
84 };
85 document.body.insertBefore(this._console,document.body.firstChild);
86 }
87 return this._console;
88 }
89}
90jsDebug.Browser={
91 /**/////浏览器内部版本号
92 getVersion:function(){
93 return window.navigator.appVersion;
94 },
95 /**/////浏览器的简单名称 如ie:Microsoft Internet Explorer ff:Netscape
96 getAppName:function(){
97 return window.navigator.appName;
98 },
99 /**/////浏览器的代码名 ie和ff都是Mozilla
100 getCodeName:function(){
101 return window.navigator.appCodeName;
102 },
103 /**/////浏览器发送给服务器所包含的信息
104 getUserAgent:function(){
105 return window.navigator.userAgent;
106 },
107 /**/////object.tostring()
108 toString:function()
109 {
110 return this.getAppName() + "\r" + this.getVersion() + "\r" + this.getCodeName();
111 }
112};
113/**/////
114var userAgent=jsDebug.Browser.getUserAgent();
115var appVersion=jsDebug.Browser.getVersion();
116/**/////ie
117jsDebug.Browser.ie=(document.all)&&(!jsDebug.Browser.opera);
118/**/////safari
119jsDebug.Browser.safari=userAgent.indexOf("Safari")>=0;
120/**/////opera
121jsDebug.Browser.opera=userAgent.indexOf("Opera")>=0;
1/**//*javascript debugger
2*version 1.0.0.0
3*author zhaohuinet
4*complete 2008.05.28
5*/
6//初始化事件错误处理方法
7window.onerror=function(msg,url,line)
8{
9 jsDebug.Console.writeln("---------------------------");
10 jsDebug.Console.writeln("script error message "+ msg);
11 jsDebug.Console.writeln("script error line " + line);
12 jsDebug.Console.writeln("script error from " + url);
13 jsDebug.Console.writeln("---------------------------");
14 return !jsDebug.debug; /**/////return true 忽略所有错误
15}
16jsDebug={
17 debug:false /**/////默认忽略错误处理
18};
19/**/////this just like system.console c#
20jsDebug.Console={
21 /**/////默认错误信息为空
22 errorMsg:"",
23 /**/////输出错误信息不换行
24 write:function(msg){
25 if(jsDebug.debug)
26 {
27 if(!document.body)/**/////非html body内的错误
28 {
29 this.errorMsg += msg;
30 return;
31 }
32 var console=this.getConsole();
33 console.style.visibility="visible";
34 if(this.errorMsg.length!=0)
35 {
36 console.innerHTML += this.errorMsg;
37 }
38 console.innerHTML += msg;
39 }
40 },
41 /**/////输出错误信息换行
42 writeln:function(msg){
43 this.write(msg+"<br/>");
44 },
45 /**/////清空错误信息
46 clear:function(){
47 if(jsDebug.debug)
48 {
49 var console=this.getConsole();
50 console.innerHTML="";
51 console.style.visibility="hidden";
52 }
53 },
54 /**/////默认控制台 null 就是一个显示错误信息的div
55 _console:null,
56 /**/////创建or返回一个承载错误信息的控制台
57 getConsole:function(){
58 if(!this._console)
59 {
60 this._console=document.createElement("div");
61
62 with(this._console)
63 {
64 style.position="absolute";
65 style.height="200px";
66 style.width="300px";
67 style.overflow="auto";//
68 style.paddingLeft="3px";//填充边距
69 style.paddingRight="3px";//
70 style.fontFamily="Courier New";
71 style.fontSize="12px";
72 style.color="#008000";
73 style.right="10px";
74 style.backgroundColor="#FCFCFC";
75 style.border="#005FBD 2px solid";
76 if(jsDebug.Browser.ie)
77 {
78 style.filter="Alpha(Opacity=80)";
79 }
80 else
81 {
82 style.opacity="0.8";
83 }
84 };
85 document.body.insertBefore(this._console,document.body.firstChild);
86 }
87 return this._console;
88 }
89}
90jsDebug.Browser={
91 /**/////浏览器内部版本号
92 getVersion:function(){
93 return window.navigator.appVersion;
94 },
95 /**/////浏览器的简单名称 如ie:Microsoft Internet Explorer ff:Netscape
96 getAppName:function(){
97 return window.navigator.appName;
98 },
99 /**/////浏览器的代码名 ie和ff都是Mozilla
100 getCodeName:function(){
101 return window.navigator.appCodeName;
102 },
103 /**/////浏览器发送给服务器所包含的信息
104 getUserAgent:function(){
105 return window.navigator.userAgent;
106 },
107 /**/////object.tostring()
108 toString:function()
109 {
110 return this.getAppName() + "\r" + this.getVersion() + "\r" + this.getCodeName();
111 }
112};
113/**/////
114var userAgent=jsDebug.Browser.getUserAgent();
115var appVersion=jsDebug.Browser.getVersion();
116/**/////ie
117jsDebug.Browser.ie=(document.all)&&(!jsDebug.Browser.opera);
118/**/////safari
119jsDebug.Browser.safari=userAgent.indexOf("Safari")>=0;
120/**/////opera
121jsDebug.Browser.opera=userAgent.indexOf("Opera")>=0;
再要调试的页面添加引用
<script type="text/javascript" src="js/jsDebug.js"></script>
然后设置调试属性为true
<script type="text/javascript">
jsDebug.debug=true;
</script>
这样就可以把错误直接输出了,是不是稍为方便呢?呵呵~~但愿对你有帮助。
此版本只是1.0的,以后会有更加丰富的功能加入,大家一起努力。
添加下载:/Files/raylovelc/jsDebug.rar