Firefox 新タブブラウズ機能(ネイティブ・シングルウィンドウモード)評価

2004年10月2日(土) 12時17分 by level
B ?
Tags: 機能, タブ

Tabbed Browsing

bug 172962 Options for where to open URLs from other applications (reuse tab, new tab, new window) がチェックインされたとの情報で、久しぶりにブランチビルドを試してみました(Gecko/20041001 Firefox/0.10)。早速タブブラウザ機能改善ツール比較の評価項目でチェックしてみました。この評価は、新規ウィンドウを開くリンクを新規タブで開くことが出来るかということを確認します。結果は以下のとおりです。(機能が完成したと思われる 1010 版を追記:10/11)

項目 1001 1010 SW TP PTBE TBE
(1a) リンクの target="_blank"
(1b) リンクの target="hoge"
(2a) window.open 引数なし × ×
(2b) window.open サイズ指定あり (変更可能) × ×→◎
(2c) window.open 存在しないウィンドウ指定 ×
(2d) window.open 存在するウィンドウ指定 × ×
(3a) form.target="_blank" × × ×
(3b) form.target="hoge" × × ×
(4) 外部リンク ×
(x1) フレームでのtarget="hoge"
(x2) フレームでのform.target="hoge"
(x3) Bloglines

これは副作用もなく予想以上にすばらしい結果です。現在使用している Single Window は用無しになりそうです。また、設定を変更することにより、新規タブではなく現在のタブに開く動作も同じように可能です。

windows.open による新規ウィンドウには対応していませんが、実際このようなケースでは新規ウィンドウで開いて欲しいときと、タブで開いて欲しいときの両方があり、単純な制御では満足できないと思われます。これまでの経験上、ウィンドウサイズを指定している場合は新規ウィンドウ、そうでない場合は新規タブというのが良いように思いますがどうでしょうか。そのような制御を行っているエクステンションはあるでしょうか。

10/6更新

もとひこ氏のコメントにあるとおり、10/06 のナイトリーを試してみたら、JavaScript による window.open に対する動作が上で書いたとおりの仕様になっていました(bug 138198)。 ということで、評価データも (2) を引数無しの (2a) と 引数ありの (2b) とに分けました。前者は新規タブ、後者は新規ウィンドウで開くのが私の期待する動作です。

すばらしい! と喜んだのもつかの間、Bloglines が完全に動作不能になってしまいました。満点だったら、即、乗り換えるつもりだったのに。

10/7更新

すでにパッチが投稿されていますがまだレビュー中です。そのときの準備のために、テストケース(2c)と(2d)を追加しました。

10/11更新

ウィンドウ指定付きの window.open() 対応が 1010 版でようやくチェックインされていたようで、上の表に示すとおり、完璧に動作しています。なお、The Burning Edge によると、window.open() に対する操作は、about:config で browser.link.open_newwindow.restriction に以下の値を設定することにより制御が可能となっています。

  • 0: window.open() にもリンクと同じ設定を適用する (デフォルト)
  • 1: window.open() はウィンドウを開く
  • 2: 第3引数付きの window.open() はウィンドウを開き、それ以外はリンクと同じ設定を適用する

ここで、0 を指定すると (2b) window.open サイズ指定あり のケースでもタブで開くことが出来ます。

10/12更新

pref のデフォルトが間違っていたのを修正。仕様のまとめはこちら

10/13更新

TBE も最新の Firefox に対応したそうです。

更新

本命と目される Tab Mix もどうぞ。

最終更新: 2008年1月13日(日) 17時57分

コメント (2)

1 10/02 18:44 suezo
(c1) [2004/10/02 18:44:33] by suezo

Nightlyには入ってないんですね(TT)

2 10/13 05:46 Piro
(c2) [2004/10/13 05:46:27] by Piro

TBE1.11.2004101201で一応2bにも対応しておきました(設定はbrowser.link.open_newwindow.restrictionを参照するようにしています)

トラックバック (3)

トラックバックは検索対象外です。