【发布时间】:2014-06-12 01:14:06
【问题描述】:
我正在构建一个 chrome 扩展并使用 chrome.webRequest 拦截所有 GET 请求。其中一个请求从http://test.com/bla.xml 获取一个XML 文件。这个 XML 文件托管在我的网络服务器上,因此获取它很简单。我的问题是,如何发送生成的 XML 文件并将其返回。我知道如何拦截和修改 webRequest 中的 URL,但我不太确定如何将它发送到我动态创建的文件中。
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
if (details.url === 'http://test.com/bla.xml') {
var xmlDoc = "<person>me</person>";
return { redirectUrl: xmlDoc };
}
我希望能够将 XHR 重定向到动态生成的文件。此文件不一定是 XML 文档,它可能是我使用存储的 blob 创建的 jpg 文件。
更新:我尝试转发到数据 URI,但现在收到此错误:
XMLHttpRequest cannot load http://test.com/bla.xml. The request was redirected to a URL ('data:text/xml;base64,sdfkldsfjdslfjsfsjf') which has a disallowed scheme for cross-origin requests.
我已将 http:/// 和 data: 添加到清单中。
【问题讨论】:
标签: javascript xml google-chrome-extension xmlhttprequest google-chrome-devtools