朝顔日記

閉じたタブを復元するボタンを追加する userChrome.js スクリプト

2006-09-17

Firefox の便利拡張機能 ScrapBook でお馴染みの Gomita さんが、ツールバーボタンの中クリックで閉じたタブを復元するという userChrome.js 用のスクリプトを発表されました。Gomita さんのスクリプトは「新しいタブを開く」を中クリックすることで、いわゆる Undo Close Tab を実現するものです。それにインスパイヤーされて「新しいタブを開く」ボタンではなく、専用のボタンを用意してこれをクリックすることで Undo Close Tab を実現する userChrome.js 用のスクリプト、名付けて UndoCloseTabButton.uc.js なるものをでっち上げてみました。

Firefox 2.0 系以降で搭載される機能を呼び出しているので、Firefox 1.5 系では使えません。


//This script will add "Undo Close Tab" button on the toolbar

(function() {
  var newButton = document.createElement("toolbarbutton");
  newButton.setAttribute("label", "Undo Close Tab");
  newButton.setAttribute("oncommand", "undoCloseTab();");
  newButton.style.listStyleImage = "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAANBAMAAABiGeI2AAAAA3NCSVQICAjb4U%2FgAAAAGFBMVEX%2F%2F%2F%2F%2FAAD%2FAAD%2FAAD%2FAAD%2FAAD%2FAAD%2FAACiLPTRAAAACHRSTlMAESJEiLvu%2F51AIaUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDkvMTcvMDbCkRaPAAAAIXRFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA0LjDqJid1AAAAKUlEQVR4nGNQcWBgcWIwL2BgLyaBVAczWMtc0h0YGMPLSxgYGJiMBRgAHdUN4vm5VA0AAAAASUVORK5CYII%3D)";
  newButton.style.padding = "0";

  var urlbar = document.getElementById("urlbar-container");
  urlbar.parentNode.insertBefore(newButton, urlbar.nextSibling);
})();

このまま無改造で使うと、ロケーションバーの右隣に Undo Close Tab 用のボタンが追加されるはずです。ボタンの位置を違う場所にしたい場合は、スクリプト最後の方をテケトーにいじる必要があります。

ボタンのアイコンがかなり手抜きなので、誰かいいのを作ってくださると喜びます。:p)

userChrome.js の使い方については手前味噌ですが、Firefox の拡張機能、userChrome.js の私の使い方をどうぞ。

なお、似たような機能を持ちさらに高機能な拡張機能として、Undo Closed Tabs Button というのがあり、それを使うと閉じたタブの履歴を出して、そこから開き直すといったようなこともできます。

「閉じたタブを復元するボタンを追加する userChrome.js スクリプト」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2006/09/diary_060917a.html