An English version of this page is also available.
日記のよくある質問も参照して下さい。それでも解決方法が見つからない場合の障害報告はGitHubのイシュートラッカーにお願いします。
致命的な障害が起こっている場合、可能な限り以下のガイドラインに沿って障害情報をお教え下さい。原因の特定が容易になり、より早く対応できますし、場合によっては障害自体が解消されることもあります。
問題は新しいバージョンで既に修正されているかも知れません。お使いのバージョンが最新版であるかどうか確認して、古ければまずは更新してみてください。
多数の拡張機能を導入した環境の場合、目星を付けた拡張機能とは違うものが原因になっていることも考えられます。疑わしいと思われる拡張機能を一つだけインストールした状態でも障害が発生するかどうかを確認して下さい。
単体では障害が発生しない場合、複数の拡張機能の組み合わせが原因になっている可能性があります。他の拡張機能を順番に導入していって、どの時点で障害が発生するかを確認して下さい。
安定した動作を望む方は、旧バージョンから引き継いだユーザープロファイルを使わないでください。
何らかの設定、動作、長期間の使用で壊れてしまったデータファイルなど、問題が起こる原因はいくつか考えられます。現在のプロファイルをバックアップした上で、新規にプロファイルを作り、拡張機能を導入しただけで何も設定を変えていないまっさらの状態でも問題が起こるかどうかを確認して下さい。
安定した動作を望む方は、Mozillaの旧バージョンをアンインストールしないまま新しいMozillaを上書き更新しないで下さい。下手をするとMozillaを起動できなくなってしまう恐れがあります。現在のプロファイルをバックアップした上で、新規にプロファイルを作り、拡張機能を導入しただけで何も設定を変えていないまっさらの状態でも問題が起こるかどうかを確認して下さい。
安定した動作を望む方は、旧バージョンのMozillaから上書き更新した状態で使わないで下さい。上書きインストールは大概においてトラブルの元です。
初期設定の状態で問題が起こらない場合、常用している設定に段階的に近づけていき、どの設定を変更したところで問題が起こるかを確認して下さい。いきなり全ての設定を変更すると、どれが原因なのかを特定できません。
クラッシュのような致命的な障害の場合には頼りにならないこともありますが、Mozilla内部のエラーメッセージが解決の糸口になることもあります。警告のダイアログが表示される場合、その中身をメモしておいて下さい。
内部エラーの多くは初期状態では見ることができません。about:configなどを使って、あらかじめ以下の隠し設定を変更しておいて下さい。
もし可能であれば、問題がそのプラットフォームに依存したものかどうかを確認して下さい。例えば現在までに知られている問題の中には、Mac環境でのみ発生するものや、Windows2000では問題ないのにWindowsXPでは発生するというものもあります。
Linuxなどのマルチユーザー環境で、一般ユーザとして利用している場合、ファイルのアクセス権を調べてみてください。アプリ名.jar(タブブラウザ拡張とコンテキストメニュー拡張は アプリ名.js も)がアクセス可能になっていないと、初期化に失敗してしまいます。
Debian GNU/Linuxのsidで管理者権限で(apt-getで?)インストールすると、異常に重くなることがあるようです。ユーザ権限で/home以下にインストールした場合、この問題は起こらないそうです。
それ以外の場合、アルゴリズムがまずいせいで非常に重くなっている場合もありますが、もっぱら、XULアプリケーションであること自体が重さの原因です。XULアプリケーションは「仮想マシンの上でJavaScriptを動かす」ものなので、そのプラットフォーム専用に作られたネイティブアプリケーションと比べるとどうしても低速になります。
言語設定を変更する必要があります。設定変更用のページをご利用下さい。
以下の手順で言語設定をリセットする必要があります。
英語の言語パックがインストールされておらず(日本語しかない)、且つ、英語表示を使う予定がない場合は、言語パック一覧から「English(US)」を削除して下さい(Mozilla Suite限定……FirefoxにはUIがありません)。次回起動時から日本語で表示されるようになります。
英語の言語パックがインストールされている場合、設定ダイアログで使用言語を一旦「 English(US)」に切り替えて、 Mozilla を再起動し、改めて使用言語を「 Japanese(Japan)」に切り替えて下さい。
Firefoxを利用している場合は、firefox.exeの起動オプションに firefox.exe -UILocale ja-JP と指定して起動して下さい(ショートカットのリンク先を一時的に書き換えるか、コマンドラインで指定して起動する)。一度これで起動したら、表示言語が日本語に切り替わっているはずです。以後の起動時には、起動オプションを指定する必要はありません。
Mac環境だったり、Firefoxでも言語設定用のGUIを使いたいなどの場合、Setting languages & localesかlangChangeかThingsTheyLeftOutをご利用下さい。
最終手段として、手作業のみで言語を切り替えることもできます。プロファイルディレクトリ内のchromeディレクトリにあるchrome.rdfを削除するか、メモ帳などで開いて <c:selectedLocale resource="urn:mozilla:locale:en-US:<アプリ名>"/>
という行を <c:selectedLocale resource="urn:mozilla:locale:ja-JP:<アプリ名>"/>
に書き換えて下さい。
Mozilla/Firefoxのバージョンによっては、信頼済みサイト以外からの拡張機能のインストールが禁止されていることがあります。このような場合、一旦ファイルをダウンロードして保存し、その後改めてブラウザのウィンドウにドラッグ&ドロップすればインストールできます。
Firefox 0.9以降でインストールができない場合、拡張機能マネージャのバージョンチェックに引っかかっている可能性もあります。Firefox 0.9から導入された拡張機能マネージャでは、拡張機能の作者が「確実にその拡張機能が動作するFirefoxのバージョンの範囲」を指定でき、それよりも古いor新しいバージョンのFirefoxに対してはインストールできません。
こちらではMozillaのNightly Build環境で開発を行っていますが、それ以外の環境でのテストはテストはNetscape 7, Mozilla 1.0.x/1.x 各最新マイルストーンリリースおよびMozilla Firefoxの最新マイルストーンリリースでのみ行っています。日ごとの追従は過大な負担となるため、1.0.xのNightly BuildやMozilla FirefoxのNightly Buildではテストしていません。変更への追従は次のマイルストーンが公開されるまでお待ち下さい。
なおこの場合に限らず、独自に修正されたバージョンを公開されることについて、当方はMPLで定められている以上の制限を一切致しません。
これらの拡張機能は、Mozilla/Netscape/Firefoxの主なユーザーインターフェースを定義するために使われているXULという技術で作られています。ぶっちゃけた話、元々のブラウザのUIがXULで定義されていなければ、XULでの機能拡張はできません。
MacOSのCamino、WindowsのK-Meleonなどは、ユーザーインターフェースをXULではなくそのOS自体の機能で構成しています。このやり方は、XULでインターフェースを作った場合よりも動作が軽快なのがメリットですが、その代わりXULでの機能拡張もできません。
申し訳ありません。こちらの都合で、全てのメールに逐一返信することができずにいます。新版でのバグ修正をもって返信に替えさせて頂きます……なんちて。
ONにしているとCPUに特に負担がかかる機能を、初期状態でOFFにしたものです。通常と違うのは設定の初期値だけですので、設定パネルから各機能をONにすれば、通常の状態と全く同じになります。
CPUが十分に高速な場合、あまり差が出ないかも知れません。また、基本動作が既に速度低下の原因となっている場合、ライト設定でも重くて使い物にならないかもしれません。あくまで気持ち程度の違いしかないものだ、と思っておいて下さい。
カスタムスクリプト機能で代用できます。サンプルの「選択範囲を引用」か「選択範囲をHTMLとして引用」を新しい項目として登録して下さい。
カスタムスクリプト機能で代用できます。サンプルの「現在のページへのリンクを生成」を新しい項目として登録して下さい。
ページ全体を選択してから「選択範囲のソースを表示」を実行して下さい。
Moz のバグに起因する問題の可能性があります。ユーザープロファイル内にある XUL のキャッシュファイル(「 XUL.mfl 」「 XUL FastLoad File 」又は「 XUL.mfasl 」)を削除して、 Mozilla を再起動してみて下さい。
コンテキストメニュー拡張の古いバージョンにあったバグが原因で、設定情報が壊れている可能性があります。2.3.20020510以降では自動でこういった設定の修復を行うようになっていますので、これ以前のバージョンをお使いの場合は更新してみて下さい。
キーボードショートカットの変更は、ブラウザを再起動した後で反映されます。再起動してもキーボードショートカットが効かない場合、既存のショートカットと設定が衝突している可能性がありますので、別のキーボードショートカットを設定してみて下さい。
コンテキストメニュー拡張を導入した状態で更新を行うと、 Moz/NS 内部のファイル登録情報が更新されないため、コンテキストメニュー拡張の内部構成が変わっていた場合にファイルの読み込みに失敗してエラーになることがあります。コンテキストメニュー拡張を手動で削除した後、改めてインストールして下さい。
これらの現象は、全て、コンテキストメニュー拡張の初期化処理に失敗した際に起こる症状です。こちらで捕捉できていないバグが混入している可能性が高いですので、よろしければ掲示板などでご報告をお願いします。
コンテキストメニュー拡張Ver.2.7以降はNS7以降で動作します。NS6では使用しないで下さい。
コンテキストメニュー拡張は、初期状態ではコンテキストメニュー内に「アウトライン一覧」「スタイルシート」などのメニューを表示するようになっているため、メニューを開く際にはそれらのメニューの更新のための処理を行います。これらの処理を飛ばしてメニュー展開を高速化するには、コンテキストメニューに表示する項目を減らして下さい。「ブックマーク」「アウトライン」「次(前)の見出し」「ナビゲーション」「スタイルシート」などを消すと特に効果的です。
コンテキストメニュー拡張は初期状態では、アウトライン一覧やナビゲーション一覧のメニュー表示を高速にするため、これらの情報をページ読み込み完了時に収集するようになっています。ページ読み込み時の処理を軽減するには、エキスパート設定を有効にした上で全般(1)のその他タブおよびナビゲーションからそれぞれの自動処理のチェックを外して下さい。
設定パネル内に辞書などで検索をするサンプルがいくつかありますので、そちらを参考にしてみて下さい。また、以下のような利用例もあります。リンク先をコピーして、新しい項目の「パス」欄に貼り付けて下さい。括弧内は文字コードの設定です。
以上の例は全て幾霜で紹介されていたものです。検索プラグイン形式のものが配布されていますので、そちらを利用してみるのも良いかもしれません。
手動で削除した場合、及び、設定パネルからのアンインストールにおける「プロファイル内にユーザー設定を残すかどうか」の選択でOKを選んだ場合、ユーザー設定はそのまま残ります。
この問題はVer.1.7.2003050701以降では修正されています。新しいバージョンに入れ換えて下さい。
ありますが、お勧めできません。あなたのページを訪れる人が皆この拡張機能を導入しているとは限りませんし、この拡張機能専用の「タブを開く」命令は他のタブブラウザ(Sleipnirなど)では一切動作しません。
それを踏まえた上で、タブを開きたい場合には window.openBrowserTab(aURI, aName)
を使って下さい。このメソッドはTBEが提供するもので、使い方は通常の window.open()
と同じです(返り値はXULのタブの要素ノードではなく、開かれたページのwindow
オブジェクトになります)。
TBE単体ではできませんが、タブのコンテキストメニューを並べ替える機能を加える拡張モジュールがあります。TBE導入後に、拡張モジュールをインストールして下さい。
TBEの機能としては提供していませんが、ユーザースタイルシートで実現できます。userChrome.cssに以下のようなルールを書き加えればボタンを左端に持っていくことができます。(ただし、タブを閉じるボタンも一緒に移動してしまいますが……)
tabbrowser tabs,
tabbrowser [tabid="scroll-buttons-container"]
{
direction: rtl;
}
tabbrowser tabs>hbox,
tabbrowser [tabid="scroll-buttons"]
{
direction: ltr;
}
細かい調整は必要に応じて各自でお願いします。
TBEの機能としては提供していませんが、閲覧中のタブのスタイルはユーザースタイルシートで変更できます。ちなみに僕は以下のような指定を userChrome.cssに書き加えています。
tabbrowser tab[selected="true"] {
-moz-appearance: none !important;
/* ↑この指定を入れないと、背景色の変更が反映されないことがある */
background-color: ThreeDHighlight !important;
}
/* 逆に、他のタブを暗くしたい場合はこちらをどうぞ */
tabbrowser tab:not([selected="true"]) {
-moz-appearance: none !important;
background-color: ThreeDShadow !important;
}
TBEの機能としては提供していませんが、ユーザースタイルシートで実現できます。userChrome.cssに以下のようなルールを書き加えて下さい。
/* アイコンを隠す */
tabbrowser tab .tab-icon {
display: none !important;
}
/* タブの高さの調整 */
tabbrowser tab {
height: 100px !important;
}
設定ダイアログの「タブグループ」の項目に設定がありますのでそちらを使ってください。TBEのバージョンによってはタブの色に関する設定項目が表示されないこともありますので、その場合は user_pref("browser.tabs.extensions.group.auto_color", false);
という記述をユーザープロファイルディレクトリ内のprefs.jsに書き加えてください。
TBEの機能としては提供していませんが、ユーザースタイルシートで実現できます。userChrome.cssに以下のようなルールを書き加えて下さい。
/* 標準の表示をキャンセル */
tabbrowser tab progressmeter {
-moz-appearance: none !important;
}
/* 標準の表示をキャンセルし、色を設定 */
tabbrowser tab .progress-bar {
-moz-appearance: none !important;
background-color: green !important;
}
TBE導入時にタブセッション管理機能を導入しましたか? また、導入してあっても、機能を使用しないようになってはいませんか?
タブセッション管理機能が導入されている場合、設定パネルのカテゴリに「起動処理」という項目が表示されますので、ここで設定を行ってください。
MozillaあるいはNetscapeの場合、設定→Navigator→表示設定:Navigatorで最後にアクセスしたページを選択し、設定→Navigator→タブ式ブラウジング→起動処理の詳細で最後にアクセスしたページの代わりに、最後に開いていたタブセッションを開くにチェックを入れて下さい。
Firefoxの場合、設定ダイアログのタブブラウズの詳細でブラウザ起動時に、前回最後にアクセスしたページを開くと最後にアクセスしたページの代わりに、最後に開いていたタブセッションを開くの二つにチェックを入れて下さい。
この問題はTBE Ver.1.11以降では起こりません。
TBEを利用しなくても、Mozilla1.4以降では設定ダイアログの Navigator の 表示設定: 新しいタブ で新規タブの初期ページを設定できます。そのため、Mozilla1.4以降ではTBEの設定パネル内の同様の項目は表示されません(必要ない&混乱の元になるので)。
Firefoxを使用しているにも関わらずFirefox自身の設定パネルにもTBEのものにもこのような設定項目が表示されない場合、何らかの理由によって前述のMozilla用の設定項目が変更された可能性がありますので、以下の手順で手動で設定を修復して下さい。
これで、TBEの設定項目が正しく表示されるようになります。
TBEが導入される前と同じ動作にするには、設定パネルの全般カテゴリで、タブブラウジングモードをタブが一つだけになった時に自動的に終了するに設定してください。
設定パネルの「タブバー」カテゴリで最後のタブを閉じたときの動作を 何もしない に設定した上で、タブが一つだけの時にタブバーを隠すように設定してください。
TBEが最後のタブを閉じたときに何らかの動作を行うためには、当然、最後のタブが表示されていなければいけません。そのためTBEは、最後のタブを閉じたときの動作が指定されている場合には「タブが一つだけになったらタブバーを隠す」設定を強制的にオフにするようになっています。
Linuxなどのいくつかのプラットフォームでは、初期状態ではこれらの設定項目を変更できません。これはMozilla自身の別の機能との衝突を回避するための制約です。
Mozillaには、クリップボードにURL文字列がコピーされている場合に中ボタンクリックでそのURLを読み込むという機能があり、この機能が有効になっている場合はタブやタブバーの中ボタンクリックに機能を割り付けられません。about:configでmiddlemouse.contentLoadURLという行を探し出して値をfalseに設定するか、ユーザープロファイル内のprefs.jsに user_pref("middlemouse.contentLoadURL", false);
という行を書き加えて下さい。
この機能は、ブックマークやリンクを常にバックグラウンドで開く設定にしている時に、任意にアクティブなタブで開くためのものです。ブックマークやリンクを常にバックグラウンドで開く設定になっていない場合、新しいアクティブなタブで開く 機能はメニューに表示されません。
この機能は、ブックマークやリンクを常にバックグラウンドで開く設定にしている時に、任意にタブをアクティブな状態で開くためのものです。 タブのフォーカス の 以下の場合に新しく開いたタブをバックグラウンドで読み込む において、 リンクの通常の操作 あるいは ブックマーク にチェックが入っていない場合、 新しいアクティブなタブで開く 機能はメニューに表示されませんし、チェックボックスにも触れません。
この機能は、ブックマークやリンクを常に新しいタブで開く設定にしている時や、開こうとしているリンクが新しいタブで開かれるものである時に、強制的に現在のタブで開くためのものです。通常のリンクの上でコンテキストメニューを開いたり、通常の操作でブックマークやリンクを新しいタブで開く設定にしていない場合は、 このタブで開く 機能はメニューに表示されません。
この機能は、ブックマークやリンクを常に新しいタブで開く設定にしている時や、開こうとしているリンクが新しいタブで開かれるものである時に、強制的に現在のタブで開くためのものです。通常のリンクの上でコンテキストメニューを開いたり、 タブの使用 の 常に新しいタブで開く場合 において 全てのリンク あるいは 全てのブックマーク にチェックが入っていない場合は、 このタブで開く 機能はメニューに表示されませんし、チェックボックスにも触れません。
タブが多くなった時に複数行で表示する設定にしていると、タブの表示順を制御する全ての機能は無効になります。これは現在のところ仕様です。(この二つの機能を同時に使うとMozillaがクラッシュしてしまうため、排他的にしか利用できないようにわざと制限しています)
データファイルが壊れて肥大化しているためと考えられます。Mozillaを完全に終了させ、プロファイルディレクトリ内の tabextensions.rdf を探して下さい。もしこのファイルのサイズが数百KB以上ある場合、(一応バックアップをとった上で)削除することをお勧めします。
どういう理由で不要なエントリの削除に失敗するのか、何故データファイルが壊れるのか、などについては情報不足なためまだ解決できていません。「こういうときに必ずデータファイルが壊れる」「こうしたら必ず不要なエントリが残る」といった情報がもしありましたら、教えて頂けると幸いです。
データファイル自体が壊れているために正しく保存・読み込みができなくなっている可能性があります。バックアップを取った上で、プロファイルディレクトリ内の「tabextensions.rdf」を削除してから再度チャレンジして下さい。
ウィンドウモードが 自分で開いた時だけ複数のブラウザを開く の場合、この動作は仕様です。新規ウィンドウを開く要求について、TBEの実装は、WindowsのエクスプローラやMacOSのFinderなどのシェルプログラムからの要求もメーラなどの他のアプリからの呼び出しと同等に見なします。このモードで複数のブラウザを開く場合は、ファイルメニューから新しいウィンドウを開くなどの方法で、Netscape/Mozillaのウィンドウからブラウザを開いて下さい。
設定パネルのタブの利用のリンクで、リンクを常に現在のタブで開くよう設定している場合、これは正常な動作です。target属性付きのリンクを新しいタブで開くようにしたい場合、リンクの挙動を通常に設定してください。
Netscape 7 の場合、詳細→スクリプトとプラグイン→リンクを新しいウィンドウで開くのチェックを外していませんか? あるいは、user.jsなどの手段で設定を変更しているのなら、browser.block.target_new_window
(target属性で新しいウィンドウが開かれるのを防ぐ)を有効にしていませんか?
TBEはこれらの設定も解釈しますので、リンククリックで新規ウィンドウが開かれる場合にチェックを入れていても、そもそも元から新規ウィンドウが開かれないケースであると判断して、タブを開かないようになっています。
設定パネルのタブの利用の外部リンクで、他のアプリケーションから開かれたリンクの挙動を新しいタブで開くに設定してください。
タブの使用 で 他のアプリケーションからの読み込み にチェックを入れて下さい。ただし、この機能はWindowsあるいはLinux系プラットフォームでのみ利用できます。また、この機能を有効にすると他のネイティブアプリケーションとの連携に支障が出ることがありますので、ご注意下さい。
タブ式ブラウズの詳細 の 必要に応じて自動的にDDEサポートを有効化・無効化する にチェックを入れて下さい。
OEなどのメーラやその他のアプリの中には、「URIを開く」操作をMozillaにDDEメッセージとして要求するものがありますが、Mozillaは今のところ、この種のメッセージを受け取ると現在のタブで読み込むように設計されています。これはより低レベルのコードの仕様なので、XULのレイヤからは対処することができません。
必要に応じて自動的にDDEサポートを有効化・無効化する 機能を有効にすると、MozillaはDDEメッセージを無視して、URIを開く要求を全てタブで処理するようになります。ただし、他のアプリケーションとの機能上の連携がうまく働かなくなる可能性がありますので、ご注意下さい。
なお、この設定はWindows環境専用の物です。他の環境では設定の如何に関わらず問答無用で現在のタブに読み込むか、新しいウィンドウ(またはタブ)で開くかもしれません。
設定パネルのタブの利用の外部リンクで、他のアプリケーションから開かれたリンクの挙動を通常か現在のタブに設定してください。
タブの使用 で 他のアプリケーションからの読み込み のチェックを外して下さい。ただし、この機能はWindowsあるいはLinux系プラットフォームでのみ利用できます。
まず、以下のように設定を変更します。
次にabout:configとURLバーに入力し、 advanced.system.supportDDEExec の行を探します。この行がfalseになっている場合、trueに変更して下さい。
なお、この設定はWindows環境専用の物です。他の環境では設定の如何に関わらず問答無用で現在のタブに読み込むか、新しいウィンドウ(またはタブ)で開くかもしれません。
シングルウィンドウモードなどで「外部アプリケーションからウィンドウを開く代わりにタブを開く」ようにしている時に、この問題が起こることがあります。
Mozillaをデフォルトのブラウザに設定していてこの問題が起こる場合、アプリケーションの側から直接Mozillaを呼び出すように設定すると状況が改善されるという噂もあります。例えばかちゅ~しゃの場合は 設定 → ブラウザ で 標準のブラウザを使う のチェックを外して 指定ブラウザ の蘭にMozillaのパスを指定すればOKです。
また、Firefox 0.9 以降の場合は隠し設定の docshell.frameloadcheck.disabled を true
に設定するとよいという噂もあります。こちらはabout:configで新しいエントリを作成するなどして設定してください。ただし、この変更を行うと何やら重大なセキュリティ上の欠陥になる模様ですので、やる場合はあくまで自己責任でどうぞ。
このメッセージはデバッグのためにVer.1.6.2003030601でのみ表示されるもので、このエラーの原因となる箇所は1.6.2003031501からは修正されています。新しいバージョンに入れ換えて下さい。
仕様です。双方が同じ手法でタブの内容を変更しているために起こる機能衝突のため、現在のところ一般的解決策はありません。どうしても併用したいという場合はMacOS X用のパッチを使用して下さい。
この問題はMozillaFirebirdのツールキットの仕様変更に起因しています。TBEの旧版を手動で完全削除した上でXULのキャッシュファイル(XUL.mfl、XUL FastLoad File、XUL.mfaslなど)も削除し、改めてVer.1.10.20040211以降の版をインストールしてください。
この問題は以下のような状況で発生します。
TBE Ver.1.10以降では、新規インストール時に、Firefoxのビルド番号を判別して登録情報を変えます。上書きインストールした場合、誤った情報が登録されたままになるため、問題の解決にはなりません。必ず、旧版を完全にアンインストールして古い登録情報を削除しておいて下さい。
最新版に入れ換えても問題が解決しない場合、手作業でMozillaの設定ファイルを編集する必要があります。旧版のインストーラが作成した誤った情報が残ったままだと、拡張機能本体をインストールし直しても問題は解決しません。以下の手順でMozillaの設定情報を修正して下さい。
tabextensionsWidgets
という文字列を検索する。(ファイル内にこの文字列が見つからない場合は、開くファイルが違います)tabextensionsBindings
に書き換える。Ver.1.10からは、それぞれのタブに設定した「ロック」「自動リロード」などの設定をブックマークの説明文として保存するようになりました。これは、ブックマークを他のプロファイルや他のアプリケーションと共有する際に、タブの設定も同時に共有するための仕様です。ご容赦下さい。
ボタンのアイコンが表示されるべきところにいくつものボタンが繋がったような画像が表示される問題は、Ver.1.10.20040122以前で起こります。Ver.1.10.20040130以降で修正済みですので、更新をお願いします。
仕様です。諦めて下さい。気にしないのが幸せです。
現在のMozillaでは、構造上、他のアプリケーションからウィンドウが開かれる場合の処理に事前に割り込むことができません。そのためTBEでは、「新しいウィンドウが開かれた場合は、内容を既存のウィンドウでタブとして開き直して、新しく開かれたウィンドウを自動で閉じる」という処理を行っています。一瞬だけ表示される小さな空のウィンドウは、この「新しく開かれて、閉じられる前のウィンドウ」です。
Firefox 1.0以降で実装されるネイティブタブブラウズ機能は、ネイティブコードの部分に変更を加えて「事前に割り込む」ことを可能にしたもので、TBEのようなトリッキーな手法を不要にしたものです。ですから、ネイティブコードの部分にこの機能が組み込まれていないMozilla Suiteや古いバージョンのFirefoxでは、残念ながらこれは再現はできません。(ちなみに、Firefox 1.0以降では、TBE自身もこの機能を利用してよりスムーズに動作するようになっています)
ユーザープロファイルディレクトリ内にあるsignons.txt(フォームの情報を保存するファイル)が壊れていると、この問題が起こることがあるようです。バックアップを取った上で削除して再挑戦してみて下さい。
それでもうまくいかない場合、TBEのバグの可能性があります。問題が起こるページのURLか、あるいは問題が起こるフォームの周辺のHTMLソースをお知らせ下さい。
TBEを導入していない環境でも問題が起こることが分かっています。どうやらMozilla自体の問題のようです。
ポリシー設定などのブラウザ自体に元からある設定でJavaScriptを無効にしている場合、TBEはJavaScriptを有効化できません。そちらではなく、TBEの設定の「タブの機能」からJavaScriptを無効にする設定を行ってください。
なお、TBEの古いバージョンでは、ブックマークに保存されたこの種の設定を正しく反映できないことがあります。この問題は最新版では修正済みです。
TBE ver1.10.2004052701より前のバージョンでは、前回終了時のタブセッションを保存しておいて次回起動時に再び開く設定を有効にすると、ブラウザの初期ページの設定も同時に変更します。
この状態のままTBEをVer.1.10.2004052701以降の物に更新したり、あるいは何らかのトラブルが起こると、ここで自動的に変更された設定をFirefox上では元に戻せなくなってしまいます。このような場合、以下の手順で設定を修復して下さい。
これで、ホームページが正しく読み込まれるようになります。
テーマや拡張機能をページ上のボタンやリンクから直接インストールできないことがあるのは、仕様です。諦めてください。ただし、次の方法でテーマや拡張機能をインストールすることは可能です。
以下、この件に関する詳細な技術解説です。
XPIファイルに直接リンクされている場合(例:当サイト)は、問題なくテーマや拡張機能をインストールできるはずです。問題は、Mozilla Updateのように、onclickイベントハンドラなどからInstallTrigger.installChrome()
を呼んでいる場合です。
ページ作成のテクニックで「イベントハンドラでfalseを返すことで、リンクの動作をキャンセルする」というものがあり、これを応用して
という使い方をしているページがあります。
一方、TBEは、「ウィンドウを開く要求をフックして代わりにタブで開く」という機能を持っています。
ところが、先に書いたような使い方、すなわち、一つのリンクにonclickイベントハンドラとtarget属性の両方で「ウィンドウを開く」指定がなされている場合、これでは問題が起こります。
……という処理が行われ、その結果、タブが二重に開かれてしまうのです。
そこでTBEでは、過去のバージョンにおいて、以下のようなトリッキーな方法でこの問題を解決しました。
こうすることによって、タブが二重に開かれることはなくなりました。
しかし、ここで新たな問題が発生しました。イベントハンドラの返り値を取得するためには、イベントハンドラの処理に介入しなくてはならないのですが、素直に介入するとエラーになってしまうのです。「そのページの中でイベントハンドラを実行」しなくてはならないのに、普通にやると「Mozillaの内部でイベントハンドラを実行」してしまうことになるからです。
これを回避する方法が、タイマーを使った処理でした。タイマーを使うことによって「そのページの中でイベントハンドラを実行し、その結果を取得する」ことが初めてできるようになりました。
これが、現在のTBEの処理の流れです。
本件の問題、すなわちInstallTrigger.installChrome()
を使ったインストールができない問題は、最後の「タイマーを使った処理」に原因があります。タイマーの中でInstallTrigger.installChrome()
が呼ばれた場合、Firefoxはそれをセキュリティ的に危険な要求と見なして、無視してしまうようなのです。
というわけで、現状の実装と僕の技術力・知識では、取りうる処置は以下の二択ということになります。
InstallTrigger.installChrome()
を処理することを優先して、タブが二重に開かれる問題には目をつむるInstallTrigger.installChrome()
が処理されない問題には目をつむる(この場合でも、最初に挙げた方法で、テーマや拡張機能のインストールを行うことはできる)誰か高度な技術力を持った人がTBEの開発に協力してくれて、先のようなトリッキーな処理を使わなくても済むようにならない限り、この問題は永久に棚上げせざるを得ません。
現在の所、仕様です。TBEはMozillaのコンテキストメニューが変更されていないものと想定して動作するため、他の拡張機能でメニューが変更されている場合、初期化に失敗します。
とりあえず、Close Other Tabsについては同様の機能がTBEに含まれていますので、どちらかよく使う方だけをインストールして下さい。
※この機能はVer.1.10.20040331から削除されました。この項目はそれ以前のバージョンを対象にしています。
仕様です。どうにもなりません。TBEのクリップボード監視機能の代わりにNew Tab and Goなどを使うことをお勧めします。
TBEはその実装の大部分をMozillaのXPCOMに依存していますが、XPCOMには残念ながら、クリップボードの内容の変化やロック状態を捕捉する機能がありません。そのため、ロックされていようがいまいがTBEは一定の間隔(デフォルトは500ミリ秒)で勝手にクリップボードの中身を取得してしまいます。
この問題はどう頑張っても回避不可能です。これは双方の拡張機能がそれぞれの機能を実現するために一つのイスを奪い合うような形になってしまっているためです。
TBE ver.1.10.20040509以降にはClav氏のFlowing Tabsの実装を元にしたタブバーの複数行表示(多段表示)機能が含まれています。タブの多段表示を使いたい場合は、TBEのVer.1.10とClav氏のFlowing Tabsのどちらか一方のみをインストールするようにして下さい。
タブブラウザ拡張なの? 英語圏では
タブブラウジング拡張って呼ばれてるみたいだけど……
当初の予定では、Mozilla Navigatorではなく、XULのtabbrowser
ウィジェットを拡張する汎用の拡張機能にするつもりでした。タブブラウザ拡張というのはその名残です。
特にこの名前に拘っているということはありません……が、あまり頻繁に改名するのもどうかと思っています。おそらく次のメジャーバージョンアップを機にタブブラウジング拡張と名前を変えることになると思います。
ボタンのアイコンが表示されるべきところにいくつものボタンが繋がったような画像が表示される問題は、Ver.***以前で起こります。Ver.3.1.2004012701以降で修正済みですので、更新をお願いします。
この問題はFirebirdのツールキットの仕様変更に起因しています。
Ver.1.2以前とMozilla Firebirdの2003/11/19以降のビルドを組み合わせて使用している場合、あるいは、Firefoxを使用している場合、最新のものにアップデートして下さい。
最新バージョンを使用しているにもかかわらずこのエラーが出る場合、前バージョンのアンインストールに失敗したか、新バージョンのインストールに失敗した可能性があります。Firefoxを終了させ、この拡張機能の手動完全削除とXULのキャッシュファイル(XUL.mfl、XUL FastLoad File、XUL.mfaslなど)の削除を行い、再度最新版をインストールして下さい。
最新版に入れ換えても問題が解決しない場合、手作業でMozillaの設定ファイルを編集する必要があります。旧版のインストーラが作成した誤った情報が残ったままだと、拡張機能本体をインストールし直しても問題は解決しません。以下の手順でMozillaの設定情報を修正して下さい。
tabextensionsWidgets
という文字列を検索する。(ファイル内にこの文字列が見つからない場合は、開くファイルが違います)tabextensionsBindings
に書き換える。img要素型のalt属性は、仕様では以下のように定義されています。(原文)
alt属性は、画像が表示できない場合にのみレンダリングされる、代替テキストを指定する(これについては、後述の代替テキストの指定方法の項を見よ)。ユーザエージェントは、画像をサポートしていないか、ある特定の画像形式をサポートしていないか、または画像を表示しないよう設定されているような場合にのみ、代替テキストを表示するようにしなければならない。
この仕様から判断すると、代替テキストをポップアップ表示しないMoz/NSの挙動は、仕様に則った正しい動作であると言えます。ただ、「表示する」の意味をキャンバス上でのドキュメントの表示に限定して、ツールチップやステータスバーなどによる付加情報の提示を例外視するならば、IEやNC4での「altをツールチップとして表示する」挙動も、間違いではないと考えられます。
何故「例外視」してもよいかは、例えばページ情報(Page Info)のダイアログなどを開いてみれば、明らかです。仕様を馬鹿正直に解釈すれば、こういう機能自体、実装してはいけないことになりますよね?
つまり、何が言いたいかというと、どっちの実装も間違っていないということです。
仕様です。どうにもなりません。代わりにNew Tab and Goなどを使うことをお勧めします。
この拡張機能はその実装の大部分をMozillaのXPCOMに依存していますが、XPCOMには残念ながら、クリップボードの内容の変化やロック状態を捕捉する機能がありません。そのため、ロックされていようがいまいがこの拡張機能は一定の間隔(デフォルトは500ミリ秒)で勝手にクリップボードの中身を取得してしまいます。
この拡張機能には、Googleの検索結果のような前後に連続しているページについて「次のページ」「前のページ」を検出してボタン一発で移動する機能があり、これらのページを検出できた場合はボタンの表示が「早送り」「巻き戻し」の時と違うものになります。(デフォルトのテーマでは「!」マークが右下に付きます。)この状態で元の機能を使うには、ボタンの上で右クリックして表示されるポップアップメニューから「巻き戻し」「早送り」を選択してください。
ただし、前後のページではないリンクを間違って検出してしまう場合があります。例えば「トップページへ戻る」と書かれたリンクを「前のページ」と見なしてしまったりという具合です。設定ダイアログで前後のページを検出する機能自体を無効にすると、この問題を防ぐことができます。
また、以下のようなマッチングパターンを登録すると、専用のパターンが登録されていないページに対してはリンクを検出しなくなります。この指定を使うと、GoogleやYahoo!の検索結果のページなど、専用のパターンが登録済みで前後のページを確実に検出できるページに限定してこの機能を使うことができます。