お気に入り

chrome.bookmarks モジュールを使うことで、お気に入りの登録などの操作を行うことができる。

Manifest

APIからお気に入りを操作する場合、Manifest Fileにパーミッションを設定する必要がある。

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

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

お気に入りはツリー構造になっている。各ノードは、お気に入りもしくはグループ(お気に入りをまとめたフォルダ)となる。各ノードは BookmarkTreeNode オブジェクトである。

この BookmarkTreeNode は、API]]]により渡される。例えば [[/ref/api/bookmarks/create/">bookmarks.create で新たなお気に入りを作成した場合、この新たなノードは親ノードのIDや、タイトルやURLなどの値をプロパティとして備えている。

次の例では、“Extension bookmarks“という新たなフォルダをブックマークバーに作っている。bookmarks.createの最初の引数は新たに作成するフォルダのプロパティを指定し、第二引数は作成が成功した後で実行される関数となる。

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

次に、このドキュメントを、先ほどのフォルダにお気に入りとして登録するコードを書いてみる。第二引数の関数で、フォルダの作成が成功した場合に続けてお気に入りを登録するようにする。

chrome.bookmarks.create({'parentId': bookmarkBar.id,
                         'title': 'Extension bookmarks'},
                        function(newFolder) {
  chrome.bookmarks.create({'parentId': newFolder.id,
                           'title': 'Chrome Extensions API(日本語)',
                           'url': 'http://dev.screw-axis.com/doc/chrome_extensions/'});
});

API

chrome.bookmarks参照のこと。