在 Chrome 应用程序中设置 XHR header 'Referer'

Setting XHR header 'Referer' in Chrome app

我想在我的 Chrome 应用程序中设置 header 'Referer'。 当我这样做时:

xhr.setRequestHeader('Referer', 'http://example.com/');

错误显示:

ajax.js:15 Refused to set unsafe header "Referer"

我在这里发现了一个旧主题,其中有人使用 chrome.webRequest 修改了 'Referer',但此扩展现在在 Chrome 应用程序中不可用。 Chrome.webRequest 不再有效了! SO 上的所有主题都推荐使用它,但 chrome. 不再支持它 如何更改此 header?

虽然 API 不适用于 Chrome 应用程序自己的请求,<webview> has a request interface 实现了 webRequest 并允许您修改来自它的请求。

通过这种方式,您可以创建一个 "proxy" 页面来为您执行 XHR,将其嵌入到网络视图中,并修改其请求。这是一个额外的箍,但至少它是可能的。

web-server-chrome includes a ChromeSocketXMLHttpRequest 对象。 你可以在你的项目中使用它。您可以克隆存储库和 运行 minimize.sh 以获得最小化的单个文件,以包含在您的项目中。然后,您可以使用 ChromeSocketXMLHttpRequest 作为普通 XHR

的替代品