专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Dreamweaver » onerror:用 onerror 获取错误信息 »正文

onerror:用 onerror 获取错误信息

来源: 发布时间:星期四, 2009年2月12日 浏览:140次 评论:0


这个东西是在线写 js 脚本时候用来即时查错东西!

也就是当发现所编写脚本有问题时候会有相应提示并且在源代码框中高亮标示出错行方便除错


<HTML>
<HEAD>
<TITLE>Debug Textarea</TITLE>
<meta http-equiv=\'Content-Type\' content=\'text/html; char=gb2312\'>
</HEAD>
<style>
* {
font-size: 12px
}
body {
margin: 10px; padding: 0px
}
table.list{
cursor: default;
border:1px solid #cccccc
background-color: #cccccc;
border-collapse: collapse;
border-Color: #cccccc;
}
</style>
<script language=\"javascript\">
// Coded by windy_sk <[email protected]> 20040205

function reportError(msg,url,line) {
var str = \"You have found an error as below: \\n\\n\";
str \"Err: \" + msg + \" _disibledevent=>
document.onkeydown = function {
(event.ctrlKey){
switch(event.keyCode) {
82: //r
runcode;
;
83: //s
savecode;
;
71: //g
goto(prompt(\'Please input the line number\', \'1\'));
;
65: //a
document.execCommand(\"SelectAll\");
;
67: //c
document.execCommand(\"Copy\");
;
88: //x
document.execCommand(\"Cut\");
;
86: //v
document.execCommand(\"Paste\");
;
90: //z
document.execCommand(\"Undo\");
;
89: //y
document.execCommand(\"Redo\");
;
default:
;
}
event.keyCode = 0;
event.Value = false;
}
;
}


function show_ln{
var txt_ln = document.getElementById(\'txt_ln\');
var txt_ = document.getElementById(\'txt_\');
txt_ln.scrollTop = txt_.scrollTop;
while(txt_ln.scrollTop != txt_.scrollTop) {
txt_ln.value (i) + \'\\n\';
txt_ln.scrollTop = txt_.scrollTop;
}
;
}


function editTab{
var code, sel, tmp, r;
event.Value = false;
sel =event.srcElement.document.selection.createRange;
r = event.srcElement.createTextRange;

switch (event.keyCode){
(8):
(!(sel.getClientRects.length > 1)){
event.Value = true;
;
}
code = sel.text;
tmp = sel.duplicate;
tmp.moveToPo(r.getBoundingClientRect.left, sel.getClientRects[0].top);
(sel.parentElement != tmp.parentElement) ;;
sel.EndPo(\'startToStart\', tmp);
sel.text = sel.text.replace(/^\\t/gm, \'\');
code = code.replace(/^\\t/gm, \'\').replace(/\\r\\n/g, \'\\r\');
r.findText(code);
r.select;
;
(9):
(sel.getClientRects.length > 1){
code = sel.text;
tmp = sel.duplicate;
tmp.moveToPo(r.getBoundingClientRect.left, sel.getClientRects[0].top);
(sel.parentElement != tmp.parentElement) ;
sel.EndPo(\'startToStart\', tmp);
sel.text = \'\\t\'+sel.text.replace(/\\r\\n/g, \'\\r\\t\');
code = code.replace(/\\r\\n/g, \'\\r\\t\');
r.findText(code);
r.select;
}{
sel.text = \'\\t\';
sel.select;
}

(13):
tmp = sel.duplicate;
tmp.moveToPo(r.getBoundingClientRect.left, sel.getClientRects[0].top);
(sel.parentElement != tmp.parentElement) ;
tmp.EndPo(\'endToEnd\', sel);
sel.text = \'\\r\\n\' + tmp.text.replace(tmp.text.replace(/^[\\t ]+/g, \"\"),\"\");


sel.select;
;
default:
event.Value = true;
;
}
;
}


function runcode {
var str = document.getElementById(\"txt_\").value;
var code_win = window.open(\'about:blank\');
code_win.document.open;
code_win.document.writeln(\"<script>\");
code_win.document.writeln(\"function reportError(msg,url,line){\\nline-=14;\\nvar str=\'You have found an error as below: \\\\n\\\\n\';\\nstr\'Err: \'+msg+\' _disibledevent=>code_win.document.writeln(\"window.onerror = reportError;\");
code_win.document.writeln(\"<\\/script>\");
code_win.document.writeln(str);
code_win.document.close;
;
}


function savecode {
var str = document.getElementById(\"txt_\").value;
var code_win = window.open(\'about:blank\',\'_blank\',\'top=10000\');
code_win.document.open;
code_win.document.writeln(str);
code_win.document.close;
code_win.document.execCommand(\'saveas\',\'\',\'code.html\');
code_win.close;
;
}


function goto(ln) {
(!/^\\d+$/.test(ln) || ln0) ;
var obj = document.getElementById(\"txt_\");
var rng = obj.createTextRange;
var arr = obj.value.split(/\\n/);
(ln>arr.length) ln = arr.length;
var str_tmp = \"\";
for(var i=0; i<ln-1; i) {
str_tmp arr[i];
}
rng.moveStart(\'character\',str_tmp.length);
str_tmp = \"\";
for(i=ln; i<arr.length; i) {
str_tmp arr[i];
}
rng.moveEnd(\'character\',-str_tmp.length);
rng.select;
;
}

window.onload = function {document.getElementById(\"txt_\").value = \"<script>\\nalert(\')\\n<\\/script>\";}
</script>
<BODY>
<table width=\'600\' =\'list\' border=\'1\' bgcolor=\'#eeeeee\' bordercolorlight=\'#000000\' bordercolordark=\'#FFFFFF\' cellpadding=\'0\' cellspacing=\'0\'>
<tr bgcolor=\'#cccccc\'>
<td colspan=\'2\' height=\'20\' align=\'center\'><b>Debug Textarea</b></td>
</tr>
<tr>
<td colspan=\'2\'>
<table width=\'95%\' border=\'0\' align=\'center\' >
<tr>
<td align=\'center\'><br />
<textarea id=\'txt_ln\' name=\'content\' rows=\'10\' style=\'width:40px;overflow:hidden;height:200px;border-right:0px;text-align:right;line-height:14px\' _disibledevent=> <script>for(var i=1; i<=20; i) document.getElementById(\'txt_ln\').value i + \'\\n\';</script>
</td>
</tr>
<tr>
<td align=\'center\'><br />
<input type=\'button\' value=\' 运 行 \' _disibledevent=> <input type=\'button\' value=\' 保 存 \' _disibledevent=> <input type=\'button\' value=\' 跳 转 \' _disibledevent=> </td>
</tr>
</table>
</td>
</tr>
</table>
</BODY>
</HTML>



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: