您的位置:首页 > 其它

window.onerror事件

2016-05-26 00:00 225 查看
摘要: 利用window.onerror捕获全局错误事件,可以用于调试

定义:http://www.w3.org/html/wg/drafts/html/master/webappapis.html#onerroreventhandlernonnull

[TreatNonCallableAsNull]
callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error);
typedef OnErrorEventHandlerNonNull? OnErrorEventHandler;

可以写成:

/**
* @param {Event | DOMString} event 错误信息
* @param {DOMString} source 出错的文件URI
* @param {unsigned long} lineno 代码行号
* @param {unsigned long} column 代码列号
* @param {Object} error 错误的详细信息
function errorHandler(event, source, lineno, column, error) {
// TODO
}

window.onerror = errorHandler;

注意,不是所有浏览器都支持所有的参数。经测试,在手机上column和error就是undefined

只有同源的js抛出的错误信息才可正常的捕获。非同源的只有固定的第一个参数,值为
Script error.


可以在js 标签中添加
crossorigin


<script type="text/javascript" src="//doitbegin.duapp.com/error.js" crossorigin></script>

同时,js的HTTP Response Header也必须设置非同源可访问
Access-Control-Allow-Origin:*


参考: 用window.onerror捕获并上报Js错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  error onerror