Skip to content

Latest commit

 

History

History
106 lines (91 loc) · 5.98 KB

File metadata and controls

106 lines (91 loc) · 5.98 KB
title slug l10n
bookmarks
Mozilla/Add-ons/WebExtensions/API/bookmarks
sourceCommit
eec174a08a5003da32f53e694c45eda3377b4d18

{{AddonSidebar}}

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

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

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

类型

  • {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}
    • : 表示在书签树中的一个书签或者文件夹。
  • {{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}}
    • : 一个描述树中的某个节点是否是书签、文件夹或是分割符的{{jsxref("String", "字符串", "", 1)}}枚举类型。
  • {{WebExtAPIRef("bookmarks.BookmarkTreeNodeUnmodifiable")}}
    • : 一个说明了为什么一个书签或者文件夹是不可修改的{{jsxref("String", "字符串", "", 1)}}枚举类型。
  • {{WebExtAPIRef("bookmarks.CreateDetails")}}
    • : 当创建一个新书签时,包含被传递给 {{WebExtAPIRef("bookmarks.create()")}} 函数的信息。

方法

  • {{WebExtAPIRef("bookmarks.create()")}}
    • : 创建一个书签或文件夹。
  • {{WebExtAPIRef("bookmarks.get()")}}
    • : 给定一个书签的编号或者一个书签编号的数组,获取对应的一个或者多个 {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}。
  • {{WebExtAPIRef("bookmarks.getChildren()")}}
    • : 获取指定 {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} 节点的子节点。
  • {{WebExtAPIRef("bookmarks.getRecent()")}}
    • : 获取最近添加的几个书签。
  • {{WebExtAPIRef("bookmarks.getSubTree()")}}
    • : 获取从指定节点开始的部分书签树。
  • {{WebExtAPIRef("bookmarks.getTree()")}}
    • : 以 {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} 对象数组的形式获取整个书签树。
  • {{WebExtAPIRef("bookmarks.move()")}}
    • : 将指定的 {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} 移到书签树中的新位置。
  • {{WebExtAPIRef("bookmarks.remove()")}}
    • : 给定节点 ID,删除对应的书签或者空书签文件夹。
  • {{WebExtAPIRef("bookmarks.removeTree()")}}
    • : 递归删除书签文件夹,即给定文件夹节点的 ID,删除该节点及其所有子节点。
  • {{WebExtAPIRef("bookmarks.search()")}}
    • : 搜索匹配一组指定条件的 {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}。
  • {{WebExtAPIRef("bookmarks.update()")}}
    • : 给定书签 ID,更新对应的书签的标题和 URL,或书签文件夹的名称。

事件

  • {{WebExtAPIRef("bookmarks.onCreated")}}
    • : 当书签或文件夹被创建时触发。
  • {{WebExtAPIRef("bookmarks.onRemoved")}}
    • : 当书签或文件夹被删除时触发。当递归删除文件夹时,只会为文件夹触发一次通知,其内容不会触发通知。
  • {{WebExtAPIRef("bookmarks.onChanged")}}
    • : 当书签或文件夹发生更改时触发。目前,只有 titleurl 的更改会触发此事件。
  • {{WebExtAPIRef("bookmarks.onMoved")}}
    • : 当书签或文件夹被移动到不同的父文件夹或在其文件夹中发生偏移时触发。
  • {{WebExtAPIRef("bookmarks.onChildrenReordered")}}
    • : 当用户在浏览器的 UI 中对文件夹的子项进行排序时触发。这不是由 {{WebExtAPIRef("bookmarks.move", "move()")}} 调用的结果。
  • {{WebExtAPIRef("bookmarks.onImportBegan")}}
    • : 当开始书签导入会话时触发。消耗性的观察者应该忽略 {{WebExtAPIRef("bookmarks.onCreated")}} 更新,直到 {{WebExtAPIRef("bookmarks.onImportEnded")}} 被触发。观察者仍应立即处理其他通知。
  • {{WebExtAPIRef("bookmarks.onImportEnded")}}
    • : 当书签导入会话结束时触发。

浏览器兼容性

{{Compat}}

{{WebExtExamples("h2")}}

Note

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