清单文件——隐身模式
在清单文件的 “incognito” 字段使用 “spanning” 或 “split” 指定扩展程序如果在隐身模式下允许运行的话应该有怎样的行为。
只有扩展程序可以选择,应用总是使用默认值:Chrome 应用为 “spanning”,可安装的网上应用与旧版打包应用为 “split”。
跨越模式
对于扩展程序和 Chrome 应用来说默认值为 “spanning”,意味着它在单个共享进程中运行,任何来自隐身标签页的事件或消息都将发送至共享的进程,以 incognito 标志表示它的来源。由于隐身标签页无法使用这一共享进程,使用 “spanning” 隐身模式不能将扩展程序包中的网页加载到隐身标签页的主框架。
分离模式
对于可安装的网上应用与旧版打包应用来说默认值为 “split”,意味着隐身窗口中的所有应用页面在它们自己的隐身进程中运行。如果应用或扩展程序包含后台网页,它们也会在隐身进程中运行。隐身进程与普通进程同时运行,但是使用单独的仅保留在内存中的 Cookie 存储区。每一个进程只能接收到来自它自己上下文的事件与消息(例如,隐身进程只会看到隐身标签页的更新)。两个进程之间无法互相通信。
如何选择
选择的准则是,如果您的扩展程序或者应用需要在隐身模式下加载标签页,请使用 split 隐身行为。如果您的扩展程序或应用需要登录远程服务器或者在本地保留设置,请使用 spanning 隐身行为。
chrome.storage.sync 和 chrome.storage.local 始终 在普通与隐身进程中共享,建议使用它们保存您的扩展程序设置。