2014-01-14 48 views
3

我需要在打包的应用程序中修改XHR请求中的User-Agent标题。当我这样做时,我得到错误:在打包应用程序中设置“不安全”标题XHR

Refused to set unsafe header "User-Agent"

我的应用程序已经有完整的套接字访问,所以我可以这样做。但那真的很烦人。

如果允许我在已经有原始套接字访问的封装应用程序中设置此标头,那将会非常好。

也许有一些其他的API或许可我不知道? webRequest在这里似乎没有关系。

+0

我结束了编码使用chrome.socket“假”XHR对象。这意味着它不适用于HTTPS,因为chrome.socket仍然没有TLS API。这不是非常普遍的目的,但是如果你想在这里找到它,你可以在这里找到它https://github.com/kzahel/jstorrent/blob/fresh/js/chromesocketxhr.js – kzahel

+1

我同意这很烦人,但你做根据许可提示免费获得XHR(“没有特别的权限”),所以从用户的角度来看是一种折衷。在Chrome应用中允许使用非Chrome标准的XHR可能需要一种类似于套接字API提示的特殊类型的权限提示,而这正在进入一个复杂的用户体验区域,这可能对任何人都没有好处。 – sowbug

+1

我忘记了chrome.socket的权限是非常详细和特定于主机,所以也许添加代码到chrome绕过“不安全的标题”检查时授予这些权限会添加可能有点太复杂。不过,如果这样做会很酷;如果以这种方式完成,我认为不需要改变任何现有的用户体验。 – kzahel

回答

0

这似乎不大可能在Chrome平台上解决。所以当我需要更多地控制XMLHttpRequest时,我使用自己的Shim,我在Web Server for Chrome (github)项目中保持最新状态。你可以看到它正在使用这个example

相关问题