chrome.bookmarks

Description

使用 chrome.bookmarks API 创建、组织和以其他方式操作书签。另请参阅覆盖页面,您可以使用它来创建自定义书签管理器页面。


Permissions

bookmarks

43

# Manifest

您必须在扩展清单中声明“书签”权限才能使用书签 API。例如:

{
  "name": "My extension",
  ...
  "permissions": [
    "bookmarks"
  ],
  ...
}

# Objects and properties(对象和属性)

书签被组织成一棵树,其中树中的每个节点要么是一个书签,要么是一个文件夹(有时称为一个组)。树中的每个节点都由 bookmarks.BookmarkTreeNode 对象表示。

BookmarkTreeNode 属性在整个 chrome.bookmarks API 中使用。例如,当您调用 bookmarks.create 时,您将传入新节点的父节点 (parentId),以及可选的节点index, title, and url 属性。有关节点可以具有的属性的信息,请参阅 bookmarks.BookmarkTreeNode

注意:您不能使用此 API 在根文件夹中添加或删除条目。您也不能重命名、移动或删除特殊的“书签栏”和“其他书签”文件夹。

# Examples(实例)

以下代码创建一个标题为“扩展书签”的文件夹。 create() 的第一个参数指定新文件夹的属性。第二个参数定义了在创建文件夹后要执行的函数。

chrome.bookmarks.create(
  {'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
  function(newFolder) {
    console.log("added folder: " + newFolder.title);
  },
);

下一个代码段创建一个指向扩展的开发人员文档的书签。因为如果创建书签失败不会有什么不好的事情发生,这段代码就不用定义回调函数了。

chrome.bookmarks.create({
  'parentId': extensionsFolderId,
  'title': 'Extensions doc',
  'url': 'https://developer.chrome.com/docs/extensions',
});

有关使用此 API 的示例,请参阅基本书签示例。有关其他示例和查看源代码的帮助,请参阅示例

Summary

Types

BookmarkTreeNode

书签树中的一个节点(书签或文件夹)。子节点在其父文件夹中排序。

PROPERTIES

  • children

    BookmarkTreeNode[] optional

    此节点的子节点的有序列表。

  • dateAdded

    number optional

    创建此节点时,自纪元以来的毫秒数 (new Date(dateAdded))。

  • dateGroupModified

    number optional

    此文件夹的内容上次更改的时间(自纪元以来的毫秒数)。

  • id

    string

    节点的唯一标识符。 ID 在当前配置文件中是唯一的,即使在浏览器重新启动后它们仍然有效。

  • index

    number optional

    此节点在其父文件夹中的基于 0 的位置。

  • parentId

    string optional

    父文件夹的 id。省略根节点。

  • title

    string

    为节点显示的文本。

  • unmodifiable

    "managed" optional

    指示此节点不可修改的原因。managed 值表示该节点是由系统管理员或受监管用户的保管人配置的。如果用户和扩展程序可以修改节点(默认),则省略。

  • url

    string optional

    用户单击书签时导航到的 URL。省略文件夹。

BookmarkTreeNodeUnmodifiable

Chrome 44+

指示此节点不可修改的原因。 managed 值表示该节点是由系统管理员配置的。如果用户和扩展程序可以修改节点(默认),则省略。

VALUE

"managed"

CreateDetails

传递给 create() 函数的对象。

PROPERTIES

  • index

    number optional

  • parentId

    string optional

    默认为其他书签文件夹。

  • title

    string optional

  • url

    string optional

Properties

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

Deprecated

书签写入操作不再受 Chrome 限制。

VALUE

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

Deprecated

书签写入操作不再受 Chrome 限制。

VALUE

1000000

Methods

create

chrome.bookmarks.create( bookmark: CreateDetails, callback?: function, )

Promise

在指定的 parentId 下创建书签或文件夹。如果 url 为 NULL 或缺失,它将是一个文件夹。

PARAMETERS

RETURNS

  • Promise<BookmarkTreeNode>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

get

chrome.bookmarks.get( idOrIdList: string | [string, ...string[]], callback?: function, )

Promise

检索指定的 BookmarkTreeNode(s)。

PARAMETERS

  • idOrIdList

    string | [string, ...string[]]

    单个字符串值 id,或字符串值 id 数组

  • callback

    function optional

    The callback parameter looks like:

    (results: BookmarkTreeNode[]) => void

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getChildren

chrome.bookmarks.getChildren(
  id: string,
  callback?: function,
)

Promise

检索指定 BookmarkTreeNode id 的子节点。

PARAMETERS

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getRecent

chrome.bookmarks.getRecent(
  numberOfItems: number,
  callback?: function,
)

Promise

检索最近添加的书签。

PARAMETERS

  • numberOfItems

    number

    要返回的最大项目数。

  • callback

    function optional

    The callback parameter looks like:

    (results: BookmarkTreeNode[]) => void

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getSubTree

chrome.bookmarks.getSubTree(
  id: string,
  callback?: function,
)

Promise

从指定节点开始检索书签层次结构的一部分。

PARAMETERS

  • id

    string

    要检索的子树根的 ID。

  • callback

    function optional

    The callback parameter looks like:

    (results: BookmarkTreeNode[]) => void

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getTree

chrome.bookmarks.getTree(
  callback?: function,
)

Promise

检索整个书签层次结构。

PARAMETERS

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

move

chrome.bookmarks.move(
  id: string,
  destination: object,
  callback?: function,
)

Promise

将指定的 BookmarkTreeNode 移动到提供的位置。

PARAMETERS

  • id

    string

  • destination

    object

    • index

      number optional

    • parentId

      string optional

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

remove

chrome.bookmarks.remove(
  id: string,
  callback?: function,
)

Promise

删除书签或空书签文件夹。

PARAMETERS

  • id

    string

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

removeTree

chrome.bookmarks.removeTree(
  id: string,
  callback?: function,
)

Promise

递归删除书签文件夹。

PARAMETERS

  • id

    string

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

search

chrome.bookmarks.search(
  query: string | object,
  callback?: function,
)

Promise

搜索与给定查询匹配的 BookmarkTreeNodes。使用对象指定的查询会生成匹配所有指定属性的 BookmarkTreeNode。

PARAMETERS

  • query

    string | object

    与书签 URL 和标题匹配的一串单词和带引号的短语,或一个对象。如果是一个对象,则可以指定属性query,url, 和title,并且将生成匹配所有指定属性的书签。

    • query

      string optional

      与书签 URL 和标题匹配的一串单词和带引号的短语。

    • title

      string optional

      书签的标题;逐字匹配。

    • url

      string optional

      书签的网址;逐字匹配。请注意,文件夹没有 URL。

RETURNS

  • Promise<BookmarkTreeNode[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

update

chrome.bookmarks.update(
  id: string,
  changes: object,
  callback?: function,
)

Promise

更新书签或文件夹的属性。仅指定要更改的属性;未指定的属性将保持不变。注意:目前仅支持“title”和“url”。

PARAMETERS

  • id

    string

  • changes

    object

    • title

      string optional

    • url

      string optional

RETURNS

  • Promise<BookmarkTreeNode>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

Events

onChanged

chrome.bookmarks.onChanged.addListener(
  callback: function,
)

当书签或文件夹更改时触发。注意:目前,只有 title 和 url 更改会触发此操作。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (id: string, changeInfo: object) => void

    • id

      string

    • changeInfo

      object

      • title

        string

      • url

        string optional

onChildrenReordered

chrome.bookmarks.onChildrenReordered.addListener(
  callback: function,
)

当文件夹的子项由于在 UI 中排序而更改其顺序时触发。这不是作为 move() 的结果调用的。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (id: string, reorderInfo: object) => void

    • id

      string

    • reorderInfo

      object

      • childIds

        string[]

onCreated

chrome.bookmarks.onCreated.addListener(
  callback: function,
)

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

PARAMETERS

onImportBegan

chrome.bookmarks.onImportBegan.addListener(
  callback: function,
)

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

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    () => void

onImportEnded

chrome.bookmarks.onImportEnded.addListener(
  callback: function,
)

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

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    () => void

onMoved

chrome.bookmarks.onMoved.addListener(
  callback: function,
)

当书签或文件夹移动到不同的父文件夹时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (id: string, moveInfo: object) => void

    • id

      string

    • moveInfo

      object

      • index

        number

      • oldIndex

        number

      • oldParentId

        string

      • parentId

        string

onRemoved

chrome.bookmarks.onRemoved.addListener(
  callback: function,
)

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

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (id: string, removeInfo: object) => void

    • id

      string

    • removeInfo

      object

By.一粒技术服务

results matching ""

    No results matching ""