Fab*_*ini 17 javascript error-detection
我正在研究通过Javascript自动进行页面错误检测的可能性.我找到了几个问题,答案允许您通过全局捕获Javascript编译和运行时错误window.onerror,但没有答案提到浏览器错误控制台中经常报告的其他类型的非Javascript错误.我主要对网络错误(无效的URI,SSL错误,HTTP错误,超时)和资源解释错误(不匹配的类型导致中止资源的解释,解析加载的资源上的错误等)感兴趣.
我检查了这个performance.getEntries方法,但是我很困惑地发现它似乎没有包含导致错误的网络请求(我只在Chrome 29中检查过......)
我不需要完全跨浏览器兼容性..只要它适用于某些浏览器,并且不会破坏其他浏览器,那很好.
该window.onerror处理程序捕获Chrome 13+、Firefox 6.0+、Internet Explorer 5.5+、Opera 11.60+ 和 Safari 5.1+ 中的 Javascript 错误。StackOverflow 上已经有一个非常好的答案,它提供了很多相关信息。但它不会捕获资源加载失败的情况。
就其他元素(例如图像)而言,jQuery 提供了一种.error()附加错误事件处理程序的方法,以便在图像或外部脚本加载失败时提醒用户。如果您不能使用 jQuery,那么另一个选择是通过 预加载所有图像/外部资源XMLHttpRequest并侦听status请求的(HTTP 响应代码)(除了200 OK或 之外的任何304 Not Modified内容,您希望返回错误)。这样做的缺点是,由于事件处理程序等必须在页面完全加载之前附加,所以任何禁用 JavaScript 的人都将看到一个碎片化的、可能是空白的页面。
无效的 URI 和 HTTP 错误最好在服务器端处理。格式良好的.htaccess文件与 Apache(或同等文件)相结合mod_rewrite可以为服务器的错误请求提供大量缓冲。
| 归档时间: |
|
| 查看次数: |
5641 次 |
| 最近记录: |