【问题标题】:Setting XHR header 'Referer' in Chrome app在 Chrome 应用程序中设置 XHR 标头“Referer”
【发布时间】:2016-07-04 17:26:00
【问题描述】:

我想在我的 Chrome 应用中设置标题“Referer”。 当我这样做时:

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

显示错误:

ajax.js:15 拒绝设置不安全的标头“Referer”

我在这里发现了一个旧主题,其中有人使用 chrome.webRequest 修改了“Referer”,但该扩展现在在 Chrome 应用中不可用。 Chrome.webRequest 不再工作了! SO 上的所有主题都建议使用它,但 chrome 不再支持它。 如何更改此标题?

【问题讨论】:

  • 在提出这个问题时,有人使用 chrome.webRequest 绕过了它。所以可能有一些新的方法可以绕过它。
  • @MatixYo 你可以看看类似的问题here

标签: javascript ajax google-chrome google-chrome-extension google-chrome-app


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    虽然 API 不适用于 Chrome 应用程序自己的请求,但 <webview> 有一个实现 webRequestrequest interface 并允许您修改来自它的请求。

    这样,您可以创建一个“代理”页面,该页面将为您执行 XHR,将其嵌入到 web 视图中,并修改其请求。这是一个额外的箍,但至少它是可能的。

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 1970-01-01
      • 2018-11-30
      • 2011-12-16
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多