Google bookmarksの登録ブックマークレットを作る

Google – ブックマーク
http://www.google.co.jp/bookmarks/

SBMへの登録ですが、やはりブックマークレットでの登録が便利です。
Googleブックマークのブックマークレットで、いいの物はないかと探していました。
こちらで紹介されてたりしたのですが、これだと登録する際ブックマークするページから遷移してしまいます。

Going My Way: Google Bookmarkにさっと追加できるBookmarklet
http://kengo.preston-net.com/archives/002495.shtml

javascript:location.href='http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)

自分としてはポップアップで登録できる方が使いやすいので、手を加えてみることにしました。
今回付け加える機能として、

  • 登録ページは別タブや別ウィンドウに遷移する
  • メモのところにページの要約が取得される

をできるようにしました。

登録画面

登録画面は以下のようになっています。

登録フォームのname属性は以下のようでした。

フォームの内容 属性
サイト名 title
場所 (URL) bkmk
ラベル labels
メモ annotation

ポップアップ画面

これは他のブックマークレットを見比べた結果、window.openすればいいようです。

メモの情報取得

これはmetaタグのdescriptionから取得し、投げることにしました。

完成したブックマークレット

firefoxGoogle Chromesafariで動きました。

javascript:var%20descriptions=document.getElementsByName('description');if(descriptions[0]){description=descriptions[0].content;}else{description="";}void%20window.open('http://www.google.co.jp/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)+'&annotation='+encodeURIComponent(description));
適用に改行を入れてみたもの
javascript:
  var descriptions = document.getElementsByName('description');
  if(descriptions[0]) {
    description = descriptions[0].content;
  }else{
    description = "";
  }
  void window.open('http://www.google.co.jp/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)
                   +'&title='+encodeURIComponent(document.title)
                   +'&annotation='+encodeURIComponent(description));

出来上がったものですが、文字数は350になりました。
最初できあがったものは、ページ内にdescriptionがないと動かなかったので、無いページには空文字入れることにしました。
たぶん、もっと短くできるはず。


ちなみにこちらでは選択文字列をメモに入れるブックマークレットが紹介されていました。

Google Bookmarks 用 bookmarklet 2 - facet-diary
http://d.hatena.ne.jp/facet/20070901/1188646606