chrome.bookmarks

説明

chrome.bookmarks API を使用して、ブックマークを作成、整理、操作します。また、オーバーライド ページを使用すると、ブックマーク マネージャーのカスタム ページを作成できます。

<ph type="x-smartling-placeholder">
</ph> スターをクリックするとブックマークが追加されます
スターをクリックするとブックマークが追加されます。

権限

bookmarks

「ブックマーク」を宣言する必要があります拡張機能のマニフェストで、bookmarks API の使用を許可する必要があります。 例:

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

コンセプトと使用方法

オブジェクトとプロパティ

ブックマークはツリー構造になっています。ツリー内の各ノードはブックマークかフォルダです。 (グループと呼ばれることもあります)。ツリー内の各ノードは、各ノードが bookmarks.BookmarkTreeNode オブジェクト。

BookmarkTreeNode プロパティは、chrome.bookmarks API 全体で使用されます。たとえば、 bookmarks.create を呼び出して、新しいノードの親(parentId)を渡します。必要に応じて、 ノードの indextitleurl プロパティ。詳細については、bookmarks.BookmarkTreeNode をご覧ください。 概要について説明します。

次のコードでは、「拡張機能のブックマーク」というタイトルのフォルダが作成されます。最初の引数は、 create() には、新しいフォルダのプロパティを指定します。2 番目の引数では、渡す関数を フォルダが作成された後に実行されます

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 を試すには、chrome-extension-samples から Bookmarks API の例をインストールします。 できます。

BookmarkTreeNode

ブックマーク ツリーのノード(ブックマークまたはフォルダ)。子ノードは親フォルダ内で順序付けされます。

プロパティ

  • 子供

    BookmarkTreeNode[] 省略可

    このノードの子の順序付きリスト。

  • dateAdded

    数値(省略可)

    このノードが作成された日時。エポックからのミリ秒数(new Date(dateAdded))。

  • dateGroupModified

    数値(省略可)

    このフォルダの内容が最後に変更された日時(エポックからのミリ秒)。

  • dateLastUsed

    数値(省略可)

    Chrome 114 以降

    このノードが最後に開かれた日時(エポックからのミリ秒)。フォルダには設定されていません。

  • id

    文字列

    ノードの一意の識別子。ID は現在のプロファイル内で一意であり、ブラウザを再起動しても有効です。

  • index

    数値(省略可)

    親フォルダ内のこのノードの 0 から始まる位置。

  • parentId

    文字列(省略可)

    親フォルダの id。ルートノードの場合は省略します。

  • title

    文字列

    ノードに表示されるテキスト。

  • 変更不可

    "managed"
     省略可

    このノードを変更できない理由を示します。managed 値は、このノードがシステム管理者または監視対象ユーザーの管理者によって設定されたことを示します。ユーザーと拡張機能がノードを変更できる場合は省略します(デフォルト)。

  • URL

    文字列(省略可)

    ユーザーがブックマークをクリックしたときに移動する URL。フォルダの場合は省略します。

BookmarkTreeNodeUnmodifiable

Chrome 44 以降

このノードを変更できない理由を示します。managed 値は、このノードがシステム管理者によって構成されていることを示します。ユーザーと拡張機能がノードを変更できる場合は省略します(デフォルト)。

"managed"

CreateDetails

create() 関数に渡されるオブジェクト。

プロパティ

  • index

    数値(省略可)

  • parentId

    文字列(省略可)

    デフォルトは [その他のブックマーク] フォルダです。

  • title

    文字列(省略可)

  • URL

    文字列(省略可)

プロパティ

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

<ph type="x-smartling-placeholder"></ph> 非推奨

ブックマークの書き込み操作が Chrome によって制限されなくなりました。

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

<ph type="x-smartling-placeholder"></ph> 非推奨

ブックマークの書き込み操作が Chrome によって制限されなくなりました。

1000000

メソッド

create()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.create(
  bookmark: CreateDetails,
  callback?: function,
)

指定された parentId にブックマークまたはフォルダを作成します。URL が NULL または欠落している場合はフォルダになります。

パラメータ

戻り値

  • Promise&lt;BookmarkTreeNode&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

get()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.get(
  idOrIdList: string | [string, ...string[]],
  callback?: function,
)

指定された BookmarkTreeNode を取得します。

パラメータ

  • idOrIdList

    string |[文字列, ...文字列 []]

    1 つの文字列値 ID、または文字列値 ID の配列

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (results: BookmarkTreeNode[]) => void

戻り値

  • Promise&lt;BookmarkTreeNode[]&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getChildren()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.getChildren(
  id: string,
  callback?: function,
)

指定された BookmarkTreeNode ID の子を取得します。

パラメータ

  • id

    文字列

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (results: BookmarkTreeNode[]) => void

戻り値

  • Promise&lt;BookmarkTreeNode[]&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getRecent()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.getRecent(
  numberOfItems: number,
  callback?: function,
)

最近追加したブックマークを取得します。

パラメータ

  • numberOfItems

    数値

    返す最大アイテム数。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (results: BookmarkTreeNode[]) => void

戻り値

  • Promise&lt;BookmarkTreeNode[]&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getSubTree()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.getSubTree(
  id: string,
  callback?: function,
)

指定したノードから始まるブックマーク階層の一部を取得します。

パラメータ

  • id

    文字列

    取得するサブツリーのルートの ID。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (results: BookmarkTreeNode[]) => void

戻り値

  • Promise&lt;BookmarkTreeNode[]&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

getTree()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.getTree(
  callback?: function,
)

ブックマークの階層全体を取得します。

パラメータ

戻り値

  • Promise&lt;BookmarkTreeNode[]&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

move()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.move(
  id: string,
  destination: object,
  callback?: function,
)

指定された BookmarkTreeNode を指定された場所に移動します。

パラメータ

  • id

    文字列

  • destination

    オブジェクト

    • index

      数値(省略可)

    • parentId

      文字列(省略可)

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (result: BookmarkTreeNode) => void

戻り値

  • Promise&lt;BookmarkTreeNode&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

remove()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.remove(
  id: string,
  callback?: function,
)

ブックマークまたは空のブックマーク フォルダを削除します。

パラメータ

  • id

    文字列

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

removeTree()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.removeTree(
  id: string,
  callback?: function,
)

ブックマーク フォルダを再帰的に削除します。

パラメータ

  • id

    文字列

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • 約束 <void>

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.search(
  query: string | object,
  callback?: function,
)

指定したクエリに一致する BookmarkTreeNode を検索します。オブジェクトで指定されたクエリにより、指定されたすべてのプロパティに一致する BookmarkTreeNode が生成されます。

パラメータ

  • クエリ

    string |オブジェクト

    ブックマークの URL やタイトルと照合される単語や引用符で囲まれたフレーズの文字列、またはオブジェクト。オブジェクトの場合は、queryurltitle の各プロパティを指定すると、指定したすべてのプロパティに一致するブックマークが生成されます。

    • クエリ

      文字列(省略可)

      ブックマークの URL やタイトルと照合される単語と引用符で囲まれたフレーズの文字列。

    • title

      文字列(省略可)

      ブックマークのタイトル。完全に一致します。

    • URL

      文字列(省略可)

      ブックマークの URL。完全に一致します。フォルダには URL がありません。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (results: BookmarkTreeNode[]) => void

戻り値

  • Promise&lt;BookmarkTreeNode[]&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

update()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.bookmarks.update(
  id: string,
  changes: object,
  callback?: function,
)

ブックマークまたはフォルダのプロパティを更新します。変更するプロパティのみを指定します。指定されていないプロパティは、変更されません。注: 現時点では、'title' [タイトル] のみがおよび「url」サポートされています。

パラメータ

  • id

    文字列

  • 変更

    オブジェクト

    • title

      文字列(省略可)

    • URL

      文字列(省略可)

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (result: BookmarkTreeNode) => void

戻り値

  • Promise&lt;BookmarkTreeNode&gt;

    Chrome 90 以降

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

イベント

onChanged

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

ブックマークまたはフォルダが変更されたときに呼び出されます。注: 現時点では、タイトルと URL の変更のみがトリガーされます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

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

    • id

      文字列

    • changeInfo

      オブジェクト

      • title

        文字列

      • URL

        文字列(省略可)

onChildrenReordered

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

UI で並べ替えられたため、フォルダの子の順序が変更されたときに呼び出されます。これは Move() の結果として呼び出されません。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

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

    • id

      文字列

    • reorderInfo

      オブジェクト

      • childIds

        string[]

onCreated

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

ブックマークまたはフォルダの作成時に呼び出されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (id: string, bookmark: BookmarkTreeNode) => void

onImportBegan

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

ブックマークのインポート セッションが開始されると呼び出されます。負荷の高いオブザーバーは onImportEnded が呼び出されるまで onCreated の更新を無視する必要があります。オブザーバーは他の通知をすぐに処理する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    () => void

onImportEnded

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

ブックマークのインポート セッションが終了したときに呼び出されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    () => void

onMoved

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

ブックマークまたはフォルダが別の親フォルダに移動されたときに呼び出されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

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

    • id

      文字列

    • moveInfo

      オブジェクト

      • index

        数値

      • oldIndex

        数値

      • oldParentId

        文字列

      • parentId

        文字列

onRemoved

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

ブックマークやフォルダが削除されたときに呼び出されます。フォルダが再帰的に削除されると、フォルダに関する通知が 1 回発行され、フォルダ内の通知は発行されません。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

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

    • id

      文字列

    • removeInfo

      オブジェクト