监控文件下载超时
在 JavaScript 中,可以通过 XHR(XMLHttpRequest)对象来触发文件下载。对于大文件下载,偶尔会因网络问题导致下载超时或中断。
无法使用 AJAX
提问者提到的 AJAX 方法并不适用于文件下载,因为该方法仅支持请求-响应操作,而文件下载需要持续连接。
JS 无法监控下载请求超时
在 JavaScript 中,如果使用 XHR 进行文件下载,则无法通过 JS 直接监控请求是否超时。这是因为在启用 XHR 跨域请求时,浏览器将文件下载视为单独的操作,并将其与原 XHR 请求分开处理。因此,无法通过 JS 事件监听器来捕获下载超时。
解决方案
解决此问题有两种可能的方法: