window.onerror = function(sMessage,sUrl,sLine){};
onerror函数的三个参数用于确定错误确切的信息,代表的意思依次为:错误信息;发生错误的文件;发生错误的行号。
示例:
<SCRIPT> window.οnerrοr=fnErrorTrap; function fnErrorTrap(sMsg,sUrl,sLine){ oErrorLog.innerHTML="<b>An error was thrown and caught.</b><p>"; oErrorLog.innerHTML+="Error: " + sMsg + "<br>"; oErrorLog.innerHTML+="Line: " + sLine + "<br>"; oErrorLog.innerHTML+="URL: " + sUrl + "<br>"; return false; } function fnThrow(){ eval(oErrorCode.value); } </SCRIPT> <INPUT TYPE="text" ID=oErrorCode VALUE="someObject.someProperty=true;"> <INPUT TYPE="button" VALUE="Throw Error" οnclick="fnThrow()"> <P> <DIV ID="oErrorLog"> </DIV>
上面是借鉴了别人的一个demo!
下面是将页面的错误捕获,然后发送到服务器。
window.onerror = function (errorMessage, scriptURI, lineNumber, columnNumber, errorObj) { | |
var config = { | |
postUrl: "/saveError", | |
postType: "post" | |
} | |
var info = "错误信息:" + errorMessage + "</br>" + | |
"出错文件:" + scriptURI + "</br> " + | |
"出错行号:" + lineNumber + "</br>" + | |
"出错列号:" + columnNumber + "</br>" + | |
"错误详情:" + errorObj + "</br></br>"; | |
// console.log(info); | |
$.ajax({ | |
url: config.postUrl, | |
type: config.postType, | |
data: { | |
url: window.location.href, | |
error: info | |
} | |
}).done(function (result) { | |
}) | |
return true; | |
} |