bookmarks

WebExtensions bookmarks API 允许扩展与浏览器的书签系统进行交互和操作。您可以使用它来添加书签、检索现有书签,以及编辑、删除和组织书签。

要使用此 API,扩展必须在其 manifest.json 文件中请求 "bookmarks" 权限

扩展无法在书签树的根节点创建、修改或删除书签。这样做会导致一个错误,消息为:“无法修改书签根节点

类型

bookmarks.BookmarkTreeNode

表示书签树中的一个书签或文件夹。

bookmarks.BookmarkTreeNodeType

一个 String 枚举,描述树中的节点是书签、文件夹还是分隔符。

bookmarks.BookmarkTreeNodeUnmodifiable

一个 String 枚举,指定书签或文件夹无法修改的原因。

bookmarks.CreateDetails

包含在创建新书签时传递给 bookmarks.create() 函数的信息。

函数

bookmarks.create()

创建书签或文件夹。

bookmarks.get()

根据书签 ID 或书签 ID 数组检索一个或多个 BookmarkTreeNode

bookmarks.getChildren()

检索指定 BookmarkTreeNode 的子节点。

bookmarks.getRecent()

检索请求数量的最近添加的书签。

bookmarks.getSubTree()

检索书签树的一部分,从指定节点开始。

bookmarks.getTree()

将整个书签树检索到一个 BookmarkTreeNode 对象数组中。

bookmarks.move()

将指定的 BookmarkTreeNode 移动到书签树中的新位置。

bookmarks.remove()

根据节点 ID 删除书签或空书签文件夹。

bookmarks.removeTree()

递归删除书签文件夹;也就是说,根据文件夹节点的 ID,删除该节点及其所有子节点。

bookmarks.search()

搜索符合指定条件的 BookmarkTreeNode

bookmarks.update()

根据书签 ID 更新书签的标题和/或 URL,或书签文件夹的名称。

事件

bookmarks.onCreated

当创建书签或文件夹时触发。

bookmarks.onRemoved

当删除书签或文件夹时触发。当一个文件夹被递归删除时,只会为该文件夹触发一个通知,而不会为其内容触发通知。

bookmarks.onChanged

当书签或文件夹发生更改时触发。目前,只有 titleurl 的更改会触发此事件。

bookmarks.onMoved

当书签或文件夹被移动到不同的父文件夹或在其文件夹内移动到新位置时触发。

bookmarks.onChildrenReordered

当用户在浏览器 UI 中对文件夹的子项进行了排序时触发。这不会由 move() 调用引起。

bookmarks.onImportBegan

当书签导入会话开始时触发。昂贵的观察者应忽略 bookmarks.onCreated 更新,直到触发 bookmarks.onImportEnded。观察者仍应立即处理其他通知。

bookmarks.onImportEnded

当书签导入会话结束时触发。

扩展程序示例

浏览器兼容性

注意: 此 API 基于 Chromium 的 chrome.bookmarks API。本文档源自 Chromium 代码中的 bookmarks.json