contextualIdentities

使用上下文身份:列出、创建、移除和更新上下文身份。

“上下文身份”(也称为“容器”)是一项浏览器功能,允许用户在浏览网页时拥有多个身份,并在此类身份之间保持一定的隔离。例如,用户可能认为他们的“工作身份”与“个人身份”是分开的,并且不希望在这些上下文之间共享 cookie。

借助上下文身份功能,每个上下文身份都有一个名称、一种颜色和一个图标。新标签页可以分配给某个身份,并且名称、图标和颜色会显示在地址栏中。在内部,每个身份都有一个不与其他标签页共享的 cookie 存储。在当前及其他 API 中,此 cookie 存储由 cookieStoreId 标识。

A context menu with "open in new container tab" submenu highlighted. The submenu shows personal, work, banking, and shopping contextual identities.

上下文身份是 Firefox 中的一项实验性功能,并且默认情况下仅在 Firefox Nightly 中启用。要在其他版本的 Firefox 中启用它们,请将 privacy.userContext.enabled 首选项设置为 true。请注意,虽然上下文身份在 Firefox for Android 中可用,但在该浏览器版本中没有用于操作它们的 UI。

在 Firefox 57 之前,只有当上下文身份功能本身启用时,contextualIdentities API 才可用。如果扩展在功能未启用时尝试使用 contextualIdentities API,则方法调用将以 false 解析其 Promise。

从 Firefox 57 开始,如果安装了使用 contextualIdentities API 的扩展,则上下文身份功能将自动启用。但请注意,用户仍然可以通过“privacy.userContext.enabled”首选项禁用该功能。如果发生这种情况,contextualIdentities 方法调用将以错误消息拒绝其 Promise。

有关更多信息,请参阅 使用上下文身份

其他浏览器均不支持上下文身份。

要使用此 API,您需要在 manifest.json 文件中包含 "contextualIdentities" 和 "cookies" 权限

类型

contextualIdentities.ContextualIdentity

包含有关上下文身份的信息。

函数

contextualIdentities.create()

创建新的上下文身份。

contextualIdentities.get()

检索给定 cookie 存储 ID 的上下文身份。

contextualIdentities.move()

在上下文身份列表中移动一个或多个上下文身份。

contextualIdentities.query()

检索所有上下文身份,或具有特定名称的所有上下文身份。

contextualIdentities.update()

更新现有上下文身份的属性。

contextualIdentities.remove()

删除一个上下文身份。

事件

contextualIdentities.onCreated

当创建上下文身份时触发。

contextualIdentities.onRemoved

当移除上下文身份时触发。

contextualIdentities.onUpdated

当上下文身份的一个或多个属性更新时触发。

扩展程序示例

浏览器兼容性