編集ページの「リンク元」ページを一気に開く Greasemonkey

firefox はあれこれいじれて楽しいな。見た目が微妙なのとメモリ食い過ぎなので敬遠してたけどタダの食わず嫌いだった。ただ、デフォルトのスキンを使っている人はどうかと思う(個人的にかなりダサイ記がするんだが・・・まぁ、それは好みの問題だし)。
それは置いておくとして「はてなダイアリー」の編集ページに表示される「リンク元」にはどこからこのページに飛んできたかの記録が残されるんだけど結構気になってどういうページなのか確認してしまう。大概 google なんだけど、たまに個人blogからリンクされてると非常に嬉しくなっちゃうものだ。
ところがこのリンクを一つ一つクリックして開いて行くのが結構メンドイので、一気に開けるボタンを追加する Greasemonkey を書いてみた。編集ページの「リンク元」の横に「open all referer」というボタンが表示され、それをクリックするといっき〜に開いてくれちゃったりするのだ。

いちおうここ(http://www3.pf-x.net/~spider-man/)にも置いた。
ターゲットページは

// @include        http://d.hatena.ne.jp/*/edit*

としていて、これで誰でも大丈夫なはずだけどだめなら随時変更で。

以下ソース。

// ==UserScript==
// @name           open hatene referer
// @namespace      hatena_open_referer@basyura.com
// @include        http://d.hatena.ne.jp/*/edit*
// ==/UserScript==
function openPages() {
  var referer_list = document.getElementById("referer-list");
  var hrefs = referer_list.getElementsByTagName("a");
  for(var i = 1 ; i < hrefs.length ; i++) {
    GM_openInTab(hrefs[i].href);
  }
}
function addButton() {
  var referer_list = document.getElementById("referer-list");
  var button   = document.createElement("input");
  button.type  = "button";
  button.value = "open all referer"
  button.addEventListener("click" , openPages , false);

  var h2 = referer_list.getElementsByTagName("h2")[0];
  h2.appendChild(button);
}
addButton();

お手軽だね。