javascript - 如何捕获并覆盖每个包含 native 请求的 XHR 请求

标签 javascript xmlhttprequest

传统解决方案只能捕获用户js中的xhr。 我试过 Xhr.prototype override ,它不影响原生 xhr 请求。

我想在 dom 加载后捕获所有 xhr 请求(所有获取 api 请求)[在 chrome devtool 网络选项卡中看到的每个请求]。

更多例子: <video src="aaa.mp4">//浏览器对视频的原生请求,我们在 devtool 中看到 虽然我设置了 window.XMLHttpRequest = undefined,但浏览器可以请求。但由于未定义,我不能 xhr 请求。

如果我覆盖 XHR ,我可以生成自定义响应而无需询问服务器。

最佳答案

浏览器自己的网络请求根本不是通过 XHR 发出的。

如果您的目标是拦截浏览器对该页面的所有网络请求,您需要使用service worker 来做到这一点 ( spec | MDN )。

关于javascript - 如何捕获并覆盖每个包含 native 请求的 XHR 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47389605/

相关文章:

javascript - Lodash 合并包括未定义的值

javascript - Vue v-model 不会触发第三方下拉菜单

javascript - 如何检索已解析的 url

javascript - XHR post 请求因 CORS 失败

ruby-on-rails - 为什么 rails 无法识别请求 header 中的 `Accept: application/json`?

javascript - 跨域调用错误: XMLHttpRequest: Network Error 0x80070005, 访问被拒绝

javascript - 如何从 Chrome 扩展程序下载公共(public) Google Drive 文件?

javascript - 为什么 HighStock 范围选择器中有禁用按钮?

javascript - for 循环以相反顺序迭代最后 5 个对象时出现问题

javascript - 在 AngularJS 中为所有 $https 调用设置相对路径