bookmarks

WebExtensions bookmarks API 允许扩展与浏览器的书签系统交互并对其进行操作。你可以用它给页面加书签、获取已有的书签,以及编辑、移除和管理书签。

欲使用此 API,扩展必须在它的 manifest.json 文件当中请求“bookmarks”权限

扩展无法在书签树的根节点中创建、修改或删除书签。这样做会导致错误,错误消息为:“The bookmark root cannot be modified”。

类型

bookmarks.BookmarkTreeNode

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

bookmarks.BookmarkTreeNodeType

一个描述树中的某个节点是否是书签、文件夹或是分割符的字符串枚举类型。

bookmarks.BookmarkTreeNodeUnmodifiable

一个说明了为什么一个书签或者文件夹是不可修改的字符串枚举类型。

bookmarks.CreateDetails

当创建一个新书签时,包含被传递给 bookmarks.create() 函数的信息。

方法

bookmarks.create()

创建一个书签或文件夹。

bookmarks.get()

给定一个书签的编号或者一个书签编号的数组,获取对应的一个或者多个 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

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

浏览器兼容性

BCD tables only load in the browser

示例扩展

备注:此 API 基于 Chromium 的 chrome.bookmarks API。该文档衍生自 Chromium 代码中的 bookmarks.json