contextualIdentities

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

“上下文身份”,也称为“容器”,是浏览器的一项功能,允许用户在浏览网页时使用多个身份,并在这些身份之间保持一定程度的分离。例如,用户可能认为他们的“工作身份”与他们的“个人身份”是分开的,并且不想在这两种上下文中共享 Cookie。

使用上下文身份功能,每个上下文身份都有一个名称、颜色和图标。新选项卡可以分配给某个身份,并且名称、图标和颜色会显示在地址栏中。在内部,每个身份都会获得一个与其他选项卡不共享的 Cookie 存储。此 Cookie 存储在此 API 和其他 API 中由 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

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

浏览器兼容性

BCD 表仅在浏览器中加载

扩展示例