gpt4 book ai didi

javascript - 是否有一种全局方法来捕获 javascript 中的网络错误

转载 作者:可可西里 更新时间:2023-11-01 01:19:44 24 4
gpt4 key购买 nike

我正在研究通过 Javascript 自动检测页面错误的可能性。我发现了几个问题,其中的答案允许您通过 window.onerror 全局捕获 Javascript 编译和运行时错误,但没有答案提到浏览器错误控制台中经常报告的其他类型的非 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 错误。 really good answer on StackOverflow它提供了很多关于它的信息。不过,它不会捕获资源加载失败。

对于其他元素(例如图像),jQuery 提供了一个.error() 方法来附加一个错误事件处理程序,当出现错误时提醒用户图像或外部脚本加载失败。如果您不能使用 jQuery,那么另一种选择是通过 XMLHttpRequest 预加载所有图像/外部资源,并监听请求的 status(HTTP 响应代码)( 200 OK304 Not Modified 以外的任何内容都是您想要返回错误的内容)。这样做的缺点是,由于事件处理程序等必须在页面完全加载之前附加,任何禁用 JavaScript 的人都将看到一个零散的、可能是空白的页面。

无效的 URI 和 HTTP 错误最好在服务器端处理。格式良好的 .htaccess 文件与 Apache 的 mod_rewrite(或等效文件)相结合,可以为对服务器的错误请求提供大量缓冲。

关于javascript - 是否有一种全局方法来捕获 javascript 中的网络错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com