是否可以创建一个修改 HTTP 响应正文的 Chrome 扩展程序?
我查看了 Chrome Extension APIs ,但我还没有找到任何可以做到这一点的东西。
最佳答案
一般来说,您无法使用标准 Chrome 扩展程序 API 更改 HTTP 请求的响应正文。
正在 104058: WebRequest API: allow extension to edit response body 请求此功能。给问题加注星标以获得更新通知。
如果您想编辑已知 XMLHttpRequest
的响应正文,inject code via a content script使用自定义(全功能)构造函数覆盖默认的 XMLHttpRequest
构造函数,该构造函数在触发真实事件之前重写响应。确保您的 XMLHttpRequest 对象完全符合 Chrome 的内置 XMLHttpRequest
对象,否则大量使用 AJAX 的网站将会崩溃。
在其他情况下,您可以使用 chrome.webRequest
或chrome.declarativeWebRequest
用于将请求重定向到 data:
-URI 的 API。与 XHR 方法不同,您不会获得请求的原始内容。实际上,请求永远不会到达服务器,因为重定向只能在发送实际请求之前完成。如果您重定向 main_frame
请求,用户将看到 data:
-URI 而不是请求的 URL。
关于google-chrome-extension - 修改 Chrome 扩展程序的 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310484/