2018年10月16日火曜日

ブックマークの一覧を取得する方法

概要

Firefox の extension に bookmark の API があります
これを使えばブックマークのタイトルや URL を取得することができます
今回はブックマークツールバーにあるブックマークの一覧を取得してみました

環境

  • macOS 10.13.6
  • Firefox 62.0

manifest.json

  • vim manifest.json
{
  "manifest_version": 2,
  "name": "Test bookmarks",
  "version": "1.0",
  "description": "Fetch bookmarks info",
  "background": {
    "scripts": ["main.js"]
  },
  "permissions": [
    "bookmarks"
  ]
}

permissions.bookmarks が必要です

main.js

  • vim main.js
browser.bookmarks.getTree(function(results) {
  results[0].children.forEach(function(toolbar) {
    if (toolbar.id == "toolbar_____") {
      toolbar.children.forEach(function(bookmark) {
        console.log(bookmark.id);
        console.log(bookmark.url);
      })
    }
  });
});

browser.bookmarks.getTree でブックマーク全体の情報を取得します
次に results[0].children で直下にあるブックマークのディレクトリ情報を取得します
このディレクトリの中にある "toolbar_____" という ID を持つディレクトリがブックマークツールバーになります

この配下の toolbar.children でブックマークの一覧の配列を取得しあとは forEach で回すだけです

取得できる情報は BookmarkTreeNode のオブジェクトになります
今回は id と url の情報を表示しています

動作確認

about:debugging からデバッグ画面を表示して確認すると以下のように表示されると思います
bookmark1.png

最後に

Firefox の extension でブックマークの操作をしてみました
今回は取得しかしませんでしたがブックマークの登録や削除などもできます
提供されている API は以下の参考サイトのリンクに記載されています

参考サイト

0 件のコメント:

コメントを投稿