この権限により、警告がトリガーされます。
説明
chrome.bookmarks
API を使用して、ブックマークの作成、整理、その他の操作を行います。また、カスタムのブックマーク マネージャ ページを作成できるページをオーバーライドするもご覧ください。
権限
bookmarks
マニフェスト
bookmark API を使用するには、拡張機能のマニフェストで「bookmarks」権限を宣言する必要があります。 次に例を示します。
{
"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 リポジトリから ブックマーク API の例をインストールしてください。
型
BookmarkTreeNode
ブックマーク ツリー内のノード(ブックマークまたはフォルダ)。子ノードは親フォルダ内で並べ替えられます。
プロパティ
-
子供
BookmarkTreeNode[] 省略可
このノードの子の順序付きリスト。
-
dateAdded
number(省略可)
このノードが作成された日時。エポック(
new Date(dateAdded)
)からのミリ秒数で示されます。 -
dateGroupModified
number(省略可)
このフォルダのコンテンツが最後に変更された日時(エポックからのミリ秒数)。
-
dateLastUsed
number(省略可)
Chrome 114 以降このノードが最後に開かれた時刻(エポックからのミリ秒)。フォルダには設定されていません。
-
id
string
ノードの一意の識別子。ID は現在のプロファイル内で一意であり、ブラウザを再起動した後も有効です。
-
index
number(省略可)
親フォルダ内でのこのノードの 0 から始まる位置。
-
parentId
string(省略可)
親フォルダの
id
。ルートノードでは省略されます。 -
title
string
ノードに表示されるテキスト。
-
変更不可能
省略可
このノードを変更できない理由を示します。
managed
値は、このノードがシステム管理者または監視対象ユーザーの管理者によって設定されたことを示します。ユーザーと拡張機能がノードを変更できる場合は省略されます(デフォルト)。 -
url
string(省略可)
ユーザーがブックマークをクリックしたときに表示される URL。フォルダの場合は省略。
BookmarkTreeNodeUnmodifiable
このノードを変更できない理由を示します。managed
値は、このノードがシステム管理者によって構成されたことを示します。ユーザーと拡張機能がノードを変更できる場合は省略されます(デフォルト)。
値
CreateDetails
create() 関数に渡されるオブジェクト。
プロパティ
-
index
number(省略可)
-
parentId
string(省略可)
デフォルトは [その他のブックマーク] フォルダです。
-
title
string(省略可)
-
url
string(省略可)
プロパティ
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 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
指定された bookmarkTreeNode を取得します。
パラメータ
-
idOrIdList
文字列 | [文字列, ...文字列 []]
単一の文字列値の ID、または文字列値の ID の配列
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
指定された bookmarkTreeNode ID の子を取得します。
パラメータ
-
id
string
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
最近追加されたブックマークを取得します。
パラメータ
-
numberOfItems
数値
返すアイテムの最大数。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
指定したノードからブックマーク階層の一部を取得します。
パラメータ
-
id
string
取得するサブツリーのルートの ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
ブックマークの階層全体を取得します。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
指定された bookmarkTreeNode を指定された場所に移動します。
パラメータ
-
id
string
-
destination
オブジェクト
-
index
number(省略可)
-
parentId
string(省略可)
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: BookmarkTreeNode) => void
-
件の結果
-
戻り値
-
Promise<BookmarkTreeNode>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
ブックマークまたは空のブックマーク フォルダを削除します。
パラメータ
-
id
string
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
ブックマーク フォルダを再帰的に削除します。
パラメータ
-
id
string
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
指定されたクエリに一致する bookmarkTreeNode を検索します。オブジェクトで指定されたクエリにより、指定されたすべてのプロパティに一致する bookmarkTreeNodes が生成されます。
パラメータ
-
クエリ
string | オブジェクト
ブックマークの URL やタイトルと照合される単語や引用符で囲まれたフレーズの文字列、または オブジェクト。オブジェクトの場合、
query
、url
、title
の各プロパティを指定できます。指定したすべてのプロパティに一致するブックマークが生成されます。-
クエリ
string(省略可)
ブックマークの URL とタイトルと照合される単語と引用符で囲まれたフレーズの文字列。
-
title
string(省略可)
ブックマークのタイトルです。そのまま一致します。
-
url
string(省略可)
ブックマークの URL をそのまま一致させます。フォルダに URL がないことに注意してください。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(results: BookmarkTreeNode[]) => void
-
結果
-
戻り値
-
Promise<BookmarkTreeNode[]>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
ブックマークやフォルダのプロパティを更新します。変更するプロパティのみを指定します。指定していないプロパティは変更されません。注: 現在サポートされているのは 'title' と 'url' のみです。
パラメータ
-
id
string
-
変更点
オブジェクト
-
title
string(省略可)
-
url
string(省略可)
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: BookmarkTreeNode) => void
-
件の結果
-
戻り値
-
Promise<BookmarkTreeNode>
Chrome 90 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
イベント
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
ブックマークまたはフォルダが変更されたときに呼び出されます。注: 現在のところ、タイトルと URL が変更された場合にのみトリガーされます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(id: string, changeInfo: object) => void
-
id
string
-
changeInfo
オブジェクト
-
title
string
-
url
string(省略可)
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
UI で順序が並べ替えられたためにフォルダの子の順序が変更されたときに呼び出されます。Move() の結果として呼び出されることはありません。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(id: string, reorderInfo: object) => void
-
id
string
-
reorderInfo
オブジェクト
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
ブックマークまたはフォルダの作成時に呼び出されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(id: string, bookmark: BookmarkTreeNode) => void
-
id
string
-
ブックマーク
-
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
string
-
moveInfo
オブジェクト
-
index
数値
-
oldIndex
数値
-
oldParentId
string
-
parentId
string
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
ブックマークまたはフォルダが削除されたときに呼び出されます。フォルダが再帰的に削除されると、フォルダに関する通知は 1 件発行され、フォルダの内容に関する通知は発行されません。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(id: string, removeInfo: object) => void
-
id
string
-
removeInfo
オブジェクト
-
index
数値
-
ノードChrome 48 以降
-
parentId
string
-
-