如何捕获和覆盖包含本机请求的每个XHR请求

时间:2017-11-20 10:14:24

标签: javascript xmlhttprequest

传统解决方案仅在用户js中捕获xhr。 我尝试了Xhr.prototype覆盖,它不会影响本机xhr请求。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

如果您的目标是拦截浏览器对网页的所有网络请求,则需要使用服务工作者来执行此操作(spec | MDN )。