使用window.onerror报告客户端错误的最佳做法?

a p*_*erd 14 javascript error-handling logging

我想在我们的网站上捕获所有客户端JavaScript错误并记录它们.这样做的最佳做法是什么?

思考:

  • 我可以轻松地/log/为我们的webapp 添加一个处理程序,解析GET/POST参数并使用我们现有的服务器端日志系统.这太明显了吗?
  • 请问window.onerror哪里都能用?如果处理程序中发生错误怎么办?
  • 我应该<img>在页面上附加标签还是制作XmlHttpRequest?如果XHR失败怎么办?
  • 破碎的图像和jQuery Ajax失败怎么样 - 我也可以抓住它们吗?

Zor*_*art 6

Jbecwar和dgvid提出的所有建议都很酷,我想补充一下:

  • 请注意,Opera不支持错误事件,请参阅quirksmode错误事件
  • 使用stacktrace.js收集stacktraces 可以帮助解决错误
  • 如果错误处理程序无法向服务器端发送错误报告,则回退到使用cookie:使用base64编码的错误报告(压缩?)为errors.yourdomain.com设置cookie并在每个页面上请求来自该域的空1x1像素图像
  • 或者使用HTML5本地存储并尽可能上传