发布时间:2025 年 6 月 17 日
去年 8 月,我们宣布了 Windows、Mac 和 Linux 平台上的 Chrome 身份模型即将发生变化,此前我们已在 iOS 和 Android 平台上推出了相关变更。这些变更旨在使 Chrome 符合当前用户对登录的期望。用户越来越希望只需登录即可访问自己的内容(包括书签),并希望通过退出登录来确保内容安全。
在推出这些更新的过程中,我们将对 Chrome 在桌面设备上存储书签的方式进行更改。例如,存储在设备本地的书签在登录后仍会保留在本地;用户可以选择单独或批量将此类数据上传到自己的 Google 账号。为了让扩展程序支持这些功能,我们将在 Chrome Extensions API 中公开新数据。以下信息与使用 chrome.bookmarks
API 的任何 Chrome 扩展程序作者相关。
概览
如今,用户始终拥有一组顶级文件夹,包括“书签栏”和“其他书签”文件夹。这些文件夹中的数据可能会同步,也可能不会同步,具体取决于用户是否已登录并启用了同步功能。
作为身份模型变更的一部分,Chrome 会将同步书签和非同步书签分别放入书签树中的两个单独的子树中。在某些情况下,如果用户未选择将其所有书签上传到自己的账号,则用户可能同时拥有同步书签文件夹和非同步书签文件夹。使用书签 API 的扩展程序可能需要更新,才能以用户能够清楚理解的方式显示书签树。
详细的 API 更改
对于同时拥有同步书签和非同步书签的用户,书签 API 可能会在 getTree API 上返回类似于以下内容的树:
- id=A(名称:“书签栏”,文件夹类型:“bookmarks-bar”,同步:true)
- …
- id=B(名称:“其他书签”,文件夹类型:“其他”,同步:true)
- …
- id=C(名称:“书签栏”,文件夹类型:“bookmarks-bar”,同步:false)
- …
- id=D(名称:“其他书签”,folderType:“其他”,同步:false)
- …
为了让扩展程序开发者区分这些顶级文件夹,我们向 API 添加了两个新属性:
folderType
:此属性可让扩展程序识别“特殊”文件夹,例如书签栏。请注意,name
和id
不应用于此目的(name
依赖于语言区域,而id
不是固定的)syncing
:允许扩展程序区分树的同步部分和非同步部分。如果用户已登录并启用了同步功能,则在身份模型更改之前,此值将为true
。
扩展程序更新
如果您的扩展程序符合以下任何条件,您可能需要进行更新:
- 如果您的扩展程序向用户显示 getTree 的完整结果,以防止显示名称相同的版本(例如书签栏)。您可能需要向名称附加后缀,或提供其他界面处理方式。
- 如果扩展程序尝试通过
id
或name
匹配书签栏、其他或移动永久文件夹。这些方法之前已不受支持。 - 如果扩展程序假定书签栏、其他文件夹或移动永久文件夹的实例数量恰好为一个或最多为一个
测试
新的 folderType
和 syncing
扩展程序 API 属性已记录在案,并且可在最新的 Chrome Canary 版(版本 138.0.7196.0 或更高版本)中使用。
稳定版 Chrome 渠道中的用户只有一个存储空间(即每种文件夹类型最多一个)。出于测试目的,您可以按如下方式启用双存储:
- 在 chrome://flags 中同时启用以下两项,然后重启 Chrome
- sync-enable-bookmarks-in-transport-mode
- enable-bookmarks-selected-type-on-signin-for-testing
- 添加新的 Chrome 个人资料 (https://support.google.com/chrome/answer/2364824)
- 不登录:选择“在没有账号的情况下继续”。
- 如果您为网页添加书签,这些网页将添加到非同步存储空间中。
- 现在登录 Chrome:
- 点击右上角三点状菜单旁边的头像图片。
- 点击“登录 Chrome”,然后按照提示操作。
- 当系统询问您是否要开启同步功能时,请选择“不用了”。
- 如果您为网页添加了书签,这些网页将添加到同步存储空间(以便您测试双存储空间情况)。
时间表
公开双存储空间的变更将逐步推出,并不早于 2025 年 6 月底开始面向部分 Chrome 稳定版渠道用户推出,首先面向一小部分用户推出,然后在接下来的几周内更广泛地推出。