keyconfigのショートカットで同一URLを重複して開かないようにしておくと便利

追記@2008/03/30
アドオンとして、URLに対するショートカットキーを簡単に追加できるものを作りました。

keyconfigでゴニョゴニョするより、こっちの方が簡単だと思いますので、ぜひご利用ください。

                                • -

Firefoxのアドオンのkeyconfigを使ってブックマークやURLを開くショートカットキーを登録しておくととても便利ですが、、ページを開く際に、既に同じURLが開かれたタブがあったら新たに開かずに、そのタブにフォーカスするようにしておくと、余計なタブ開かなくても良いし、ひらっきっぱなしでもすぐにそのタブに戻れるのでとてもとても便利です。

たとえばGamilを開くショートカットキーは下記のような感じで。

var url = 'http://mail.google.com/mail/';
var target = null;

var tabs = gBrowser.tabContainer.childNodes;

for (var i = 0, len = tabs.length; i < len; i++) {
  if (tabs[i].linkedBrowser.currentURI.spec == url) {
    target = tabs[i];
    break;
  }
}

if (target == null) {
  target = gBrowser.addTab(url);
}
gBrowser.selectedTab = target;

上記の1行目の部分を変えれば、いろんなページに適用できます。
また、完全に一致せずに、そのURL配下のページがあったらそのタブにフォーカスするようにしておくってのも良いと思います。
上記スクリプトのURL比較部分をちょっと変えればOKです。

//if (tabs[i].linkedBrowser.currentURI.spec == url) {
  if (tabs[i].linkedBrowser.currentURI.spec.indexOf(url) == 0) {

keyconfigはいろんなショートカットが定義できてほんと便利で面白いですね。