3
我需要在打包的应用程序中修改XHR请求中的User-Agent标题。当我这样做时,我得到错误:在打包应用程序中设置“不安全”标题XHR
Refused to set unsafe header "User-Agent"
我的应用程序已经有完整的套接字访问,所以我可以这样做。但那真的很烦人。
如果允许我在已经有原始套接字访问的封装应用程序中设置此标头,那将会非常好。
也许有一些其他的API或许可我不知道? webRequest在这里似乎没有关系。
我结束了编码使用chrome.socket“假”XHR对象。这意味着它不适用于HTTPS,因为chrome.socket仍然没有TLS API。这不是非常普遍的目的,但是如果你想在这里找到它,你可以在这里找到它https://github.com/kzahel/jstorrent/blob/fresh/js/chromesocketxhr.js – kzahel
我同意这很烦人,但你做根据许可提示免费获得XHR(“没有特别的权限”),所以从用户的角度来看是一种折衷。在Chrome应用中允许使用非Chrome标准的XHR可能需要一种类似于套接字API提示的特殊类型的权限提示,而这正在进入一个复杂的用户体验区域,这可能对任何人都没有好处。 – sowbug
我忘记了chrome.socket的权限是非常详细和特定于主机,所以也许添加代码到chrome绕过“不安全的标题”检查时授予这些权限会添加可能有点太复杂。不过,如果这样做会很酷;如果以这种方式完成,我认为不需要改变任何现有的用户体验。 – kzahel