Vit*_*aly 3 session-cookies google-chrome-extension incognito-mode
我有一个 Chrome 扩展程序,可以向我的网站发出 ajax 请求。该站点使用会话。因此,作为对站点的 ajax 请求的响应,Set-Cookie 标头与一些会话标识符一起返回,并且此条目出现在扩展 DevPanel(背景页面的)的 cookie 部分中。但是,站点的 DevPanel 浏览器中的会话 ID 是完全不同的。隐身模式允许扩展。
在正常模式下,扩展程序和浏览器的 DevPanels 中的 cookie 是相同的。我知道普通模式和隐身模式的 cookie 应该不同,但是为什么这些值对于隐身模式允许的扩展名不同?
我是对的并且允许在隐身模式下使用扩展,在正常模式下工作吗?
在 chrome 讨论组中向我建议了解决方案。
扩展清单中有一个“隐身”键,具有三个值:“spanning”(默认)、“split”和“not_allowed”。
您可以在此处阅读有关此密钥的更多信息:https : //developer.chrome.com/extensions/manifest/incognito。
为了解决我的问题,为这个键设置值“split”就足够了。在这种情况下,为扩展打开了两个单独的进程 - 对于正常模式和隐身模式。如果浏览器以隐身模式打开,则将使用“隐身”扩展程序。
现在,隐身模式下的 ajax 请求获得正确的会话 cookie。
PS 如果您正在开发跨浏览器扩展,请注意,Firefox 仍然(今天:2017-12-11)仅支持“incognito”键的“spanning”值。