专注于互联网--专注于架构
最新标签
网站地图
文章索引
Rss订阅
首页
CrazyCoder
原创
翻译
数据库
项目管理
QQ协议开发
开发语言
Web开发
验证码识别
技术综合
服务器
Dig版
标签
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) || ln
0)
;
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>
标签:
获取帐号信息错误
imgonerror
window.onerror
onerror
下载文章的 PDF文档电子版 离线看
0
我顶
相关文章
window.onerror:javascript window.onerror事件学习新收获
读者评论
发表评论
昵称:
内容:
更多
热门标签
开源数据库
(10)
ajax实现
(10)
photoshopmm皮肤
(9)
javascript日期控件
(9)
javascript控件
(9)
oracle错误码
(9)
vista命令行
(9)
apachephp
(9)
vb文本框
(9)
listview控件
(9)
delphi中case
(9)
web服务器控件
(9)
函数调用过程
(9)
jsp环境的配置
(9)
foreach
(9)
数据库源代码
(9)
解决乱码
(9)
数据仓库论文
(9)
servu密钥
(8)
给黑白照片上色
(8)
RSS订阅
更多
精华推荐
ASP.NET vs. PHP,哪个更快?摘自infoq
疯狂代码,大型网站架构系列之五,缓存策略设计概要
C#多线程教程系列之四,简单的多线程通讯(实例代码)
疯狂代码,大型网站架构系列之四,多对多关系的以及并发缓存的设计
卑鄙无耻的猫扑公司,无耻的联盟,黑心联盟
关于这次疯狂代码生成器的改版,以及一些抓图
原创,使用轮廓以及扇形扫描实现qq的验证码识别
疯狂代码,大型网站架构系列之三,多对多关系的优化设计
疯狂代码,大型网站架构系列之二,底层架构概论
疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题
更多
最新标签
jspajax自动刷新
(1)
php上传代码
(1)
联想2155
(1)
micboost什么意思
(1)
atmega16ucosii
(1)
虚拟主机usb
(1)
vc用法
(1)
跟踪技术
(1)
usb主机前言
(1)
fourierspace
(1)
oracle字符替换
(1)
strategy设计模式
(1)
java的序列化
(1)
css超链接样式
(1)
多媒体开发平台
(1)
soa坏处
(1)
开源软件soa益处
(1)
soa应用技巧
(1)
计算机网络安全漏洞
(1)
soa策略
(1)
RSS订阅
更多
Dig排行
疯狂代码生成器简介
sql语句大全:常用 SQL 语句大全
网游外挂:在内存中修改数据的网游外挂--Delphi
QQ协议概述
sql触发器:如何在SQL Server中使用触发器
C#多线程教程系列之一,多线程入门,实例代码
会员登陆代码 一个最简单的会员登陆代码
疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题
疯狂代码,大型网站架构系列之二,底层架构概论
Flash文字特效
RSS订阅
更多
阅读排行
疯狂代码生成器简介
会员登陆代码 一个最简单的会员登陆代码
sql语句大全:常用 SQL 语句大全
C#多线程教程系列之一,多线程入门,实例代码
疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题
好听的空间名字:c#中的名字空间
u盘文件夹被隐藏:手动清除仿文件夹图标U盘病毒
疯狂代码,大型网站架构系列之二,底层架构概论
疯狂代码,大型网站架构系列之三,多对多关系的优化设计
卑鄙无耻的猫扑公司,无耻的联盟,黑心联盟
RSS订阅
更多
最新文章
+_@开青岛发票13434444051程生
一个简单的 2层系统分析全程
主题和皮肤系列(3)
主题和皮肤系列(1)
主题和皮肤系列(2)
鼠标移上去显示层:鼠标滑过显示隐藏层(转)
jspajax自动刷新:jsp+ajax自动刷新例子(转)
form表单验证:用js将form表单同时提交到两个区别页面的思路方法
php上传代码:php统计代码总行数
最佳网页宽度及其实现