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