8

我可以看到,当我从我的 chrome 应用程序发出 xhr 时,它会发送一些 cookie,并且这些 cookie 在应用程序中被跟踪。发送 set-cookie 标头的服务器正在正确更新它们。不过,我需要读取一个 cookie,并且我尝试使用“cookies”权限,但 chrome 对我大喊大叫……还有其他我可以使用的 api 吗?

编辑:我正在使用新的打包应用程序。

4

2 回答 2

4

Cookies 显然是 Chrome 打包应用程序的一个黑暗区域。

使用扩展,扩展与正常浏览活动共享 cookie jar。对于打包应用程序,每个应用程序都有一个单独的 jar。

当前的行为似乎是对权限部分清单中指定的站点的 XHR 请求确实在此 jar 中设置了 cookie,但除了重新安装应用程序之外,没有办法摆脱它们。打包应用程序没有 API 来管理 cookie,并且它们的 cookie 不会显示在开发人员工具或 about://settings/cookies 页面中。

crbugs 包括

https://code.google.com/p/chromium/issues/detail?id=70391 https://code.google.com/p/chromium/issues/detail?id=152758 https://code.google。 com/p/chromium/issues/detail?id=157474

这两个问题是为了回答这个 SO question

https://code.google.com/p/chromium/issues/detail?id=236585 https://code.google.com/p/chromium/issues/detail?id=335934

于 2014-05-19T17:21:01.313 回答
2

我有一个类似的问题,在具有 chrome.socket api 权限的打包应用程序中对 XHR 的安全限制似乎很霸道。请参阅在打包的应用程序 XHR 中设置“不安全”标头

我最终为我的用例创建了一个“shim”xhr 对象,尽管它不处理例如分块编码。您可能会发现它很有用:https ://github.com/kzahel/jstorrent/blob/fresh/js/chromesocketxhr.js

我最终在 crbug 上提交了一个错误:https ://code.google.com/p/chromium/issues/detail?id=335934

于 2014-03-17T15:42:20.583 回答