説明
chrome.bookmarks
API を使用して、ブックマークを作成、整理、操作します。また、オーバーライド ページを使用すると、ブックマーク マネージャーのカスタム ページを作成できます。
権限
bookmarks
「ブックマーク」を宣言する必要があります拡張機能のマニフェストで、bookmarks API の使用を許可する必要があります。 例:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
コンセプトと使用方法
オブジェクトとプロパティ
ブックマークはツリー構造になっています。ツリー内の各ノードはブックマークかフォルダです。 (グループと呼ばれることもあります)。ツリー内の各ノードは、各ノードが bookmarks.BookmarkTreeNode オブジェクト。
BookmarkTreeNode
プロパティは、chrome.bookmarks
API 全体で使用されます。たとえば、
bookmarks.create を呼び出して、新しいノードの親(parentId
)を渡します。必要に応じて、
ノードの index
、title
、url
プロパティ。詳細については、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
このノードを変更できない理由を示します。managed
値は、このノードがシステム管理者によって構成されていることを示します。ユーザーと拡張機能がノードを変更できる場合は省略します(デフォルト)。
値
"managed"
CreateDetails
create() 関数に渡されるオブジェクト。
プロパティ
-
index
数値(省略可)
-
parentId
文字列(省略可)
デフォルトは [その他のブックマーク] フォルダです。
-
title
文字列(省略可)
-
URL
文字列(省略可)
プロパティ
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
ブックマークの書き込み操作が Chrome によって制限されなくなりました。
値
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
ブックマークの書き込み操作が Chrome によって制限されなくなりました。
値
1000000
メソッド
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
指定された parentId にブックマークまたはフォルダを作成します。URL が NULL または欠落している場合はフォルダになります。
パラメータ
-
ブックマーク
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: BookmarkTreeNode) => void
-
件の結果
-
戻り値
-
Promise<BookmarkTreeNode>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
指定された BookmarkTreeNode を取得します。
パラメータ
-
idOrIdList
string |[文字列, ...文字列 []]
1 つの文字列値 ID、または文字列値 ID の配列
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
指定された BookmarkTreeNode ID の子を取得します。
パラメータ
-
id
文字列
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
最近追加したブックマークを取得します。
パラメータ
-
numberOfItems
数値
返す最大アイテム数。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
指定したノードから始まるブックマーク階層の一部を取得します。
パラメータ
-
id
文字列
取得するサブツリーのルートの ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
ブックマークの階層全体を取得します。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
指定された BookmarkTreeNode を指定された場所に移動します。
パラメータ
-
id
文字列
-
destination
オブジェクト
-
index
数値(省略可)
-
parentId
文字列(省略可)
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: BookmarkTreeNode) => void
-
件の結果
-
戻り値
-
Promise<BookmarkTreeNode>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
ブックマークまたは空のブックマーク フォルダを削除します。
パラメータ
-
id
文字列
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
ブックマーク フォルダを再帰的に削除します。
パラメータ
-
id
文字列
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
指定したクエリに一致する BookmarkTreeNode を検索します。オブジェクトで指定されたクエリにより、指定されたすべてのプロパティに一致する BookmarkTreeNode が生成されます。
パラメータ
-
クエリ
string |オブジェクト
ブックマークの URL やタイトルと照合される単語や引用符で囲まれたフレーズの文字列、またはオブジェクト。オブジェクトの場合は、
query
、url
、title
の各プロパティを指定すると、指定したすべてのプロパティに一致するブックマークが生成されます。-
クエリ
文字列(省略可)
ブックマークの URL やタイトルと照合される単語と引用符で囲まれたフレーズの文字列。
-
title
文字列(省略可)
ブックマークのタイトル。完全に一致します。
-
URL
文字列(省略可)
ブックマークの URL。完全に一致します。フォルダには URL がありません。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
ブックマークまたはフォルダのプロパティを更新します。変更するプロパティのみを指定します。指定されていないプロパティは、変更されません。注: 現時点では、'title' [タイトル] のみがおよび「url」サポートされています。
パラメータ
-
id
文字列
-
変更
オブジェクト
-
title
文字列(省略可)
-
URL
文字列(省略可)
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: BookmarkTreeNode) => void
-
件の結果
-
戻り値
-
Promise<BookmarkTreeNode>
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
-
id
文字列
-
ブックマーク
-
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
オブジェクト
-
index
数値
-
ノードChrome 48 以降
-
parentId
文字列
-
-