Home > XUL Apps > FAQ

FAQ よくある質問

An English version of this page is also available.

日記のよくある質問も参照して下さい。それでも解決方法が見つからない場合の障害報告はGitHubのイシュートラッカーにお願いします。

General 全般的なFAQ

○○したらクラッシュする
○○したら強制終了される
ほげほげ(名前は何でも可)のせいでMozillaが動かない

致命的な障害が起こっている場合、可能な限り以下のガイドラインに沿って障害情報をお教え下さい。原因の特定が容易になり、より早く対応できますし、場合によっては障害自体が解消されることもあります。

最新版に更新する

問題は新しいバージョンで既に修正されているかも知れません。お使いのバージョンが最新版であるかどうか確認して、古ければまずは更新してみてください

どの拡張機能が原因かを特定する

多数の拡張機能を導入した環境の場合、目星を付けた拡張機能とは違うものが原因になっていることも考えられます。疑わしいと思われる拡張機能を一つだけインストールした状態でも障害が発生するかどうかを確認して下さい。

単体では障害が発生しない場合、複数の拡張機能の組み合わせが原因になっている可能性があります。他の拡張機能を順番に導入していって、どの時点で障害が発生するかを確認して下さい。

新規プロファイルで起動してみる

安定した動作を望む方は、旧バージョンから引き継いだユーザープロファイルを使わないでください。

何らかの設定、動作、長期間の使用で壊れてしまったデータファイルなど、問題が起こる原因はいくつか考えられます。現在のプロファイルをバックアップした上で、新規にプロファイルを作り、拡張機能を導入しただけで何も設定を変えていないまっさらの状態でも問題が起こるかどうかを確認して下さい。

新規インストールしたMozillaで試してみる

安定した動作を望む方は、Mozillaの旧バージョンをアンインストールしないまま新しいMozillaを上書き更新しないで下さい。下手をするとMozillaを起動できなくなってしまう恐れがあります。現在のプロファイルをバックアップした上で、新規にプロファイルを作り、拡張機能を導入しただけで何も設定を変えていないまっさらの状態でも問題が起こるかどうかを確認して下さい。

Mozillaをクリーンインストールした環境で試してみる

安定した動作を望む方は、旧バージョンのMozillaから上書き更新した状態で使わないで下さい。上書きインストールは大概においてトラブルの元です。

何がきっかけで問題が起こるかを特定する

初期設定の状態で問題が起こらない場合、常用している設定に段階的に近づけていき、どの設定を変更したところで問題が起こるかを確認して下さい。いきなり全ての設定を変更すると、どれが原因なのかを特定できません。

エラーメッセージを確認する

クラッシュのような致命的な障害の場合には頼りにならないこともありますが、Mozilla内部のエラーメッセージが解決の糸口になることもあります。警告のダイアログが表示される場合、その中身をメモしておいて下さい。

内部エラーの多くは初期状態では見ることができません。about:configなどを使って、あらかじめ以下の隠し設定を変更しておいて下さい。

javascript.options.showInConsole(false→true)
JavaScriptコンソールにエラーを出力します。
browser.dom.window.dump.enabled(false→true)
コンソールモードにおいてデバッグ用のメッセージを表示します。Windows環境では「-console」オプションを付けると、LinuxやFreeBSDやMac OS XなどのUNIX系環境ではターミナルからMozillaを起動すると、コンソールモードを使うことができます。
環境依存の問題かどうかを調べる

もし可能であれば、問題がそのプラットフォームに依存したものかどうかを確認して下さい。例えば現在までに知られている問題の中には、Mac環境でのみ発生するものや、Windows2000では問題ないのにWindowsXPでは発生するというものもあります。

プロファイルディレクトリってどこにあるの?
ユーザープロファイルのファイル群の所在は環境によって変わります。回答の中にプロファイル内のファイルを操作する旨の記述があった場合、リリースノートを参考に、自分の環境でのプロファイルの位置を調べて下さい。
まともに動作しないんですが……
何も動かないんですが……

Linuxなどのマルチユーザー環境で、一般ユーザとして利用している場合、ファイルのアクセス権を調べてみてください。アプリ名.jar(タブブラウザ拡張とコンテキストメニュー拡張は アプリ名.js も)がアクセス可能になっていないと、初期化に失敗してしまいます。

動作が重い重い重い重い重い重い重い重い重い
処理が遅い遅い遅い遅い遅い遅い遅い遅い遅い

Debian GNU/Linuxのsidで管理者権限で(apt-getで?)インストールすると、異常に重くなることがあるようです。ユーザ権限で/home以下にインストールした場合、この問題は起こらないそうです。

それ以外の場合、アルゴリズムがまずいせいで非常に重くなっている場合もありますが、もっぱら、XULアプリケーションであること自体が重さの原因です。XULアプリケーションは「仮想マシンの上でJavaScriptを動かす」ものなので、そのプラットフォーム専用に作られたネイティブアプリケーションと比べるとどうしても低速になります。

日本語化済みの Mozilla にインストールしたのに、日本語表示にならない
日本語パックと組み合わせると、日本語と英語が入り交じった表示になる
Firefox 1.0PR以降の場合

言語設定を変更する必要があります。設定変更用のページをご利用下さい。

Mozilla SuiteおよびFirefox 0.9.3より以前のバージョンの場合

以下の手順で言語設定をリセットする必要があります。

英語の言語パックがインストールされておらず(日本語しかない)、且つ、英語表示を使う予定がない場合は、言語パック一覧から「English(US)」を削除して下さい(Mozilla Suite限定……FirefoxにはUIがありません)。次回起動時から日本語で表示されるようになります。

英語の言語パックがインストールされている場合、設定ダイアログで使用言語を一旦「 English(US)」に切り替えて、 Mozilla を再起動し、改めて使用言語を「 Japanese(Japan)」に切り替えて下さい。

Firefoxを利用している場合は、firefox.exeの起動オプションに firefox.exe -UILocale ja-JP と指定して起動して下さい(ショートカットのリンク先を一時的に書き換えるか、コマンドラインで指定して起動する)。一度これで起動したら、表示言語が日本語に切り替わっているはずです。以後の起動時には、起動オプションを指定する必要はありません。

Mac環境だったり、Firefoxでも言語設定用のGUIを使いたいなどの場合、Setting languages & localeslangChangeThingsTheyLeftOutをご利用下さい。

最終手段として、手作業のみで言語を切り替えることもできます。プロファイルディレクトリ内の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に対してはインストールできません。

最新のNightlyで動かないよ!

こちらではMozillaのNightly Build環境で開発を行っていますが、それ以外の環境でのテストはテストはNetscape 7, Mozilla 1.0.x/1.x 各最新マイルストーンリリースおよびMozilla Firefoxの最新マイルストーンリリースでのみ行っています。日ごとの追従は過大な負担となるため、1.0.xのNightly BuildやMozilla FirefoxのNightly Buildではテストしていません。変更への追従は次のマイルストーンが公開されるまでお待ち下さい。

なおこの場合に限らず、独自に修正されたバージョンを公開されることについて、当方はMPLで定められている以上の制限を一切致しません。

Caminoでは動かないの?
Mozilla/Netscape/Firefox以外では動かないの?

これらの拡張機能は、Mozilla/Netscape/Firefoxの主なユーザーインターフェースを定義するために使われているXULという技術で作られています。ぶっちゃけた話、元々のブラウザのUIがXULで定義されていなければ、XULでの機能拡張はできません。

MacOSのCamino、WindowsのK-Meleonなどは、ユーザーインターフェースをXULではなくそのOS自体の機能で構成しています。このやり方は、XULでインターフェースを作った場合よりも動作が軽快なのがメリットですが、その代わりXULでの機能拡張もできません。

早いとこ返事をくれ!

申し訳ありません。こちらの都合で、全てのメールに逐一返信することができずにいます。新版でのバグ修正をもって返信に替えさせて頂きます……なんちて。

「ライト設定」って何ですか。

ONにしているとCPUに特に負担がかかる機能を、初期状態でOFFにしたものです。通常と違うのは設定の初期値だけですので、設定パネルから各機能をONにすれば、通常の状態と全く同じになります。

CPUが十分に高速な場合、あまり差が出ないかも知れません。また、基本動作が既に速度低下の原因となっている場合、ライト設定でも重くて使い物にならないかもしれません。あくまで気持ち程度の違いしかないものだ、と思っておいて下さい。

ContextMenu Extensions コンテキストメニュー拡張

機能要望

選択範囲の内容を引用してコピーする機能はないの?

カスタムスクリプト機能で代用できます。サンプルの「選択範囲を引用」か「選択範囲をHTMLとして引用」を新しい項目として登録して下さい。

そのページへのリンクをクリップボードにコピーする機能はないの?

カスタムスクリプト機能で代用できます。サンプルの「現在のページへのリンクを生成」を新しい項目として登録して下さい。

トラブル

ソースを表示しても、JavaScriptやCGIで出力された部分のソースが見えない

ページ全体を選択してから「選択範囲のソースを表示」を実行して下さい。

スタイルシートの切り替え、サイト別ユーザースタイルの保存、「送る」やカスタムスクリプトや「外部アプリで開く」の項目の追加などが突然できなくなった。

Moz のバグに起因する問題の可能性があります。ユーザープロファイル内にある XUL のキャッシュファイル(「 XUL.mfl 」「 XUL FastLoad File 」又は「 XUL.mfasl 」)を削除して、 Mozilla を再起動してみて下さい。

設定パネルで外部ビューワーのパスなどを指定しても、設定が保存されない。

コンテキストメニュー拡張の古いバージョンにあったバグが原因で、設定情報が壊れている可能性があります。2.3.20020510以降では自動でこういった設定の修復を行うようになっていますので、これ以前のバージョンをお使いの場合は更新してみて下さい。

カスタムスクリプトで指定したキーボードショートカットが効かない。

キーボードショートカットの変更は、ブラウザを再起動した後で反映されます。再起動してもキーボードショートカットが効かない場合、既存のショートカットと設定が衝突している可能性がありますので、別のキーボードショートカットを設定してみて下さい。

コンテキストメニュー拡張を更新したら、ブラウザが起動できなくなった。あるいは、表示がおかしくなった。

コンテキストメニュー拡張を導入した状態で更新を行うと、 Moz/NS 内部のファイル登録情報が更新されないため、コンテキストメニュー拡張の内部構成が変わっていた場合にファイルの読み込みに失敗してエラーになることがあります。コンテキストメニュー拡張を手動で削除した後、改めてインストールして下さい。

コンテキストメニューを開いたら、全ての項目が一気に表示されてしまう。
メニューバーの拡張機能Extensionsメニューを開こうとするとフリーズする。
設定パネルのチェックが全部オフになっていて、設定を保存できない。

これらの現象は、全て、コンテキストメニュー拡張の初期化処理に失敗した際に起こる症状です。こちらで捕捉できていないバグが混入している可能性が高いですので、よろしければ掲示板などでご報告をお願いします。

NS6で動作がおかしい。

コンテキストメニュー拡張Ver.2.7以降はNS7以降で動作します。NS6では使用しないで下さい。

コンテキストメニューを開くときの処理がやたら重い。

コンテキストメニュー拡張は、初期状態ではコンテキストメニュー内に「アウトライン一覧」「スタイルシート」などのメニューを表示するようになっているため、メニューを開く際にはそれらのメニューの更新のための処理を行います。これらの処理を飛ばしてメニュー展開を高速化するには、コンテキストメニューに表示する項目を減らして下さい。「ブックマーク」「アウトライン」「次(前)の見出し」「ナビゲーション」「スタイルシート」などを消すと特に効果的です。

ページ読み込み時の処理がやたら重い。

コンテキストメニュー拡張は初期状態では、アウトライン一覧やナビゲーション一覧のメニュー表示を高速にするため、これらの情報をページ読み込み完了時に収集するようになっています。ページ読み込み時の処理を軽減するには、エキスパート設定を有効にした上で全般(1)その他タブおよびナビゲーションからそれぞれの自動処理のチェックを外して下さい。

その他

「選択範囲を送る」機能の使い方が分かりません

設定パネル内に辞書などで検索をするサンプルがいくつかありますので、そちらを参考にしてみて下さい。また、以下のような利用例もあります。リンク先をコピーして、新しい項目の「パス」欄に貼り付けて下さい。括弧内は文字コードの設定です。

以上の例は全て幾霜で紹介されていたものです。検索プラグイン形式のものが配布されていますので、そちらを利用してみるのも良いかもしれません。

コンテキストメニュー拡張を削除したら、設定も一緒に消えるのか?

手動で削除した場合、及び、設定パネルからのアンインストールにおける「プロファイル内にユーザー設定を残すかどうか」の選択でOKを選んだ場合、ユーザー設定はそのまま残ります。

Tabbrowser Extensions タブブラウザ拡張

機能要望

同じURIに対する複数のブックマークに、別々のタブの設定を保存できない。

この問題はVer.1.7.2003050701以降では修正されています。新しいバージョンに入れ換えて下さい。

WebページのJavaScriptでタブを開く方法は無いの?

ありますが、お勧めできません。あなたのページを訪れる人が皆この拡張機能を導入しているとは限りませんし、この拡張機能専用の「タブを開く」命令は他のタブブラウザ(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用の設定項目が変更された可能性がありますので、以下の手順で手動で設定を修復して下さい。

  1. 場所ツールバーに about:config と入力して読み込む。現在のタブに全ての設定内容が表示される。
  2. フィルタ欄に browser.tabs.loadOnNewTab と入力する。
  3. 見つかった行の上で右クリックし、メニューから リセット を選択する。

これで、TBEの設定項目が正しく表示されるようになります。

タブが一つだけの時にタブバーを隠す設定が保存されない
タブが二つ以上ある時だけタブバーを表示したい
タブバーの動作をTBE導入前の状態に戻したい

TBEが導入される前と同じ動作にするには、設定パネルの全般カテゴリで、タブブラウジングモードタブが一つだけになった時に自動的に終了するに設定してください。

設定パネルの「タブバー」カテゴリで最後のタブを閉じたときの動作を 何もしない に設定した上で、タブが一つだけの時にタブバーを隠すように設定してください。

TBEが最後のタブを閉じたときに何らかの動作を行うためには、当然、最後のタブが表示されていなければいけません。そのためTBEは、最後のタブを閉じたときの動作が指定されている場合には「タブが一つだけになったらタブバーを隠す」設定を強制的にオフにするようになっています。

タブやタブバーの中ボタンクリックに機能を割り付けられない

Linuxなどのいくつかのプラットフォームでは、初期状態ではこれらの設定項目を変更できません。これはMozilla自身の別の機能との衝突を回避するための制約です。

Mozillaには、クリップボードにURL文字列がコピーされている場合に中ボタンクリックでそのURLを読み込むという機能があり、この機能が有効になっている場合はタブやタブバーの中ボタンクリックに機能を割り付けられません。about:configmiddlemouse.contentLoadURLという行を探し出して値をfalseに設定するか、ユーザープロファイル内のprefs.jsに user_pref("middlemouse.contentLoadURL", false); という行を書き加えて下さい。

設定でチェックを入れているのに、 新しいアクティブなタブで開く がメニューに表示されない
設定パネルで 新しいアクティブなタブで開く のチェックボックスが選択できない

この機能は、ブックマークやリンクを常にバックグラウンドで開く設定にしている時に、任意にアクティブなタブで開くためのものです。ブックマークやリンクを常にバックグラウンドで開く設定になっていない場合、新しいアクティブなタブで開く 機能はメニューに表示されません。

この機能は、ブックマークやリンクを常にバックグラウンドで開く設定にしている時に、任意にタブをアクティブな状態で開くためのものです。 タブのフォーカス以下の場合に新しく開いたタブをバックグラウンドで読み込む において、 リンクの通常の操作 あるいは ブックマーク にチェックが入っていない場合、 新しいアクティブなタブで開く 機能はメニューに表示されませんし、チェックボックスにも触れません。

設定でチェックを入れているのに、 このタブで開く がメニューに表示されない
設定パネルで このタブで開く のチェックボックスが選択できない

この機能は、ブックマークやリンクを常に新しいタブで開く設定にしている時や、開こうとしているリンクが新しいタブで開かれるものである時に、強制的に現在のタブで開くためのものです。通常のリンクの上でコンテキストメニューを開いたり、通常の操作でブックマークやリンクを新しいタブで開く設定にしていない場合は、 このタブで開く 機能はメニューに表示されません。

この機能は、ブックマークやリンクを常に新しいタブで開く設定にしている時や、開こうとしているリンクが新しいタブで開かれるものである時に、強制的に現在のタブで開くためのものです。通常のリンクの上でコンテキストメニューを開いたり、 タブの使用常に新しいタブで開く場合 において 全てのリンク あるいは 全てのブックマーク にチェックが入っていない場合は、 このタブで開く 機能はメニューに表示されませんし、チェックボックスにも触れません。

タブを並べ替えたいのに並べ替えできない
タブを開く位置を指定する項目がグレイアウトされていて操作できない

タブが多くなった時に複数行で表示する設定にしていると、タブの表示順を制御する全ての機能は無効になります。これは現在のところ仕様です。(この二つの機能を同時に使うとMozillaがクラッシュしてしまうため、排他的にしか利用できないようにわざと制限しています)

トラブル

どうしても最後に開いていたタブを開き直してくれない
起動・終了にものすごく時間がかかるようになってしまった

データファイルが壊れて肥大化しているためと考えられます。Mozillaを完全に終了させ、プロファイルディレクトリ内の tabextensions.rdf を探して下さい。もしこのファイルのサイズが数百KB以上ある場合、(一応バックアップをとった上で)削除することをお勧めします。

どういう理由で不要なエントリの削除に失敗するのか、何故データファイルが壊れるのか、などについては情報不足なためまだ解決できていません。「こういうときに必ずデータファイルが壊れる」「こうしたら必ず不要なエントリが残る」といった情報がもしありましたら、教えて頂けると幸いです。

保存したタブセッションを読み込めない

データファイル自体が壊れているために正しく保存・読み込みができなくなっている可能性があります。バックアップを取った上で、プロファイルディレクトリ内の「tabextensions.rdf」を削除してから再度チャレンジして下さい。

新しいブラウザウィンドウを開けない

ウィンドウモードが 自分で開いた時だけ複数のブラウザを開く の場合、この動作は仕様です。新規ウィンドウを開く要求について、TBEの実装は、WindowsのエクスプローラやMacOSのFinderなどのシェルプログラムからの要求もメーラなどの他のアプリからの呼び出しと同等に見なします。このモードで複数のブラウザを開く場合は、ファイルメニューから新しいウィンドウを開くなどの方法で、Netscape/Mozillaのウィンドウからブラウザを開いて下さい。

target属性付きのリンクが新しいタブで開かれずにそのタブで読み込まれてしまう

設定パネルのタブの利用リンクで、リンクを常に現在のタブで開くよう設定している場合、これは正常な動作です。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系プラットフォームでのみ利用できます。

まず、以下のように設定を変更します。

  • タブ式ブラウズの詳細ウィンドウモード複数のブラウザを開く に設定する
  • 他のアプリケーションから新規ウィンドウが開かれる場合必要に応じて自動的にDDEサポートを有効化・無効化する のチェックを外す

次にabout:configとURLバーに入力し、 advanced.system.supportDDEExec の行を探します。この行がfalseになっている場合、trueに変更して下さい。

なお、この設定はWindows環境専用の物です。他の環境では設定の如何に関わらず問答無用で現在のタブに読み込むか、新しいウィンドウ(またはタブ)で開くかもしれません。

外部アプリからページを開くと、空のタブしか開かれない

シングルウィンドウモードなどで「外部アプリケーションからウィンドウを開く代わりにタブを開く」ようにしている時に、この問題が起こることがあります。

Mozillaをデフォルトのブラウザに設定していてこの問題が起こる場合、アプリケーションの側から直接Mozillaを呼び出すように設定すると状況が改善されるという噂もあります。例えばかちゅ~しゃの場合は 設定ブラウザ標準のブラウザを使う のチェックを外して 指定ブラウザ の蘭にMozillaのパスを指定すればOKです。

また、Firefox 0.9 以降の場合は隠し設定の docshell.frameloadcheck.disabled を true に設定するとよいという噂もあります。こちらはabout:configで新しいエントリを作成するなどして設定してください。ただし、この変更を行うと何やら重大なセキュリティ上の欠陥になる模様ですので、やる場合はあくまで自己責任でどうぞ。

タブを閉じるときに出るエラーメッセージに、このエラーを見たときは以下のメッセージの詳細をPiroに連絡してくれと書いてあるんだけど……

このメッセージはデバッグのためにVer.1.6.2003030601でのみ表示されるもので、このエラーの原因となる箇所は1.6.2003031501からは修正されています。新しいバージョンに入れ換えて下さい。

MacOS Xのデフォルトのテーマで表示が崩れる
AquaMOZと併用するとタブの表示がおかしくなる

仕様です。双方が同じ手法でタブの内容を変更しているために起こる機能衝突のため、現在のところ一般的解決策はありません。どうしても併用したいという場合はMacOS X用のパッチを使用して下さい。

XBLなんちゃら……というエラーメッセージが出て起動できない

この問題はMozillaFirebirdのツールキットの仕様変更に起因しています。TBEの旧版を手動で完全削除した上でXULのキャッシュファイル(XUL.mfl、XUL FastLoad File、XUL.mfaslなど)も削除し、改めてVer.1.10.20040211以降の版をインストールしてください。

この問題は以下のような状況で発生します。

  • Firefox 0.8以降とTBE Ver.1.10.2004020801以前の組み合わせ
  • Firebirdの2003/11/19以降のビルド(Firebird 0.7+またはFirefox 0.8以降)とTBE Ver.1.9以前の組み合わせ
  • Firebird 0.7以前とTBE Ver.1.9の組み合わせで使用中に、Firebird 0.7+またはFirefox 0.8以降を上書きインストールして更新した場合
  • Firebird 0.7以前とTBE Ver.1.9の組み合わせで使用中に、Firebird 0.7+またはFirefox 0.8以降を上書きインストールし、さらにTBEのVer.1.10以降を上書きインストールした場合
  • TBEをプロファイルディレクトリ内にインストールしていて、Firebird 0.7以前と0.7+またはFirefox 0.8以降とでプロファイルを共有している場合
  • TBEをプロファイルディレクトリ内にインストールしていて、Firebird 0.7以前とMozilla(Seamonkey)とでプロファイルを共有している場合

TBE Ver.1.10以降では、新規インストール時に、Firefoxのビルド番号を判別して登録情報を変えます。上書きインストールした場合、誤った情報が登録されたままになるため、問題の解決にはなりません。必ず、旧版を完全にアンインストールして古い登録情報を削除しておいて下さい。

最新版に入れ換えても問題が解決しない場合、手作業でMozillaの設定ファイルを編集する必要があります。旧版のインストーラが作成した誤った情報が残ったままだと、拡張機能本体をインストールし直しても問題は解決しません。以下の手順でMozillaの設定情報を修正して下さい。

  1. プロファイルディレクトリまたはMozillaがインストールされているディレクトリの中からchrome.rdfというファイルを探し出す。
  2. Unicode対応のテキストエディタでchrome.rdfを開く。
  3. tabextensionsWidgetsという文字列を検索する。(ファイル内にこの文字列が見つからない場合は、開くファイルが違います)
  4. 見つかった箇所を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自身もこの機能を利用してよりスムーズに動作するようになっています)

Webページ中のフォームやボタンが機能しないことがあるんだけど……

ユーザープロファイルディレクトリ内にあるsignons.txt(フォームの情報を保存するファイル)が壊れていると、この問題が起こることがあるようです。バックアップを取った上で削除して再挑戦してみて下さい。

それでもうまくいかない場合、TBEのバグの可能性があります。問題が起こるページのURLか、あるいは問題が起こるフォームの周辺のHTMLソースをお知らせ下さい。

F6(次のフレームにフォーカスする)が効かなくなる
Shift-F6(前のフレームにフォーカスする)でフリーズする
Ctrl-Shift-Tab(前のタブに切り替える)でフリーズする

TBEを導入していない環境でも問題が起こることが分かっています。どうやらMozilla自体の問題のようです。

普段はJavaScript無効で特定のタブだけJavaScriptを有効にしたいのに、JavaScriptがどうしても機能しない

ポリシー設定などのブラウザ自体に元からある設定でJavaScriptを無効にしている場合、TBEはJavaScriptを有効化できません。そちらではなく、TBEの設定の「タブの機能」からJavaScriptを無効にする設定を行ってください。

なお、TBEの古いバージョンでは、ブックマークに保存されたこの種の設定を正しく反映できないことがあります。この問題は最新版では修正済みです。

Firefoxのホームページ(ブラウザ起動時の初期ページ)が設定したとおりにならない! 全然違うページが読み込まれてしまう!
Firefoxの元々のホームページの動作に戻すには?

TBE ver1.10.2004052701より前のバージョンでは、前回終了時のタブセッションを保存しておいて次回起動時に再び開く設定を有効にすると、ブラウザの初期ページの設定も同時に変更します。

この状態のままTBEをVer.1.10.2004052701以降の物に更新したり、あるいは何らかのトラブルが起こると、ここで自動的に変更された設定をFirefox上では元に戻せなくなってしまいます。このような場合、以下の手順で設定を修復して下さい。

  1. 場所ツールバーに about:config と入力して読み込む。現在のタブに全ての設定内容が表示される。
  2. フィルタ欄に browser.startup.page と入力する。
  3. 見つかった行の上で右クリックし、メニューから リセット を選択する。

これで、ホームページが正しく読み込まれるようになります。

テーマや拡張機能をインストールできなくなった
ポップアップを表示できなくなった
画面上でポインタを動かすだけでCPU負荷が跳ね上がるんだけど?

テーマや拡張機能をページ上のボタンやリンクから直接インストールできないことがあるのは、仕様です。諦めてください。ただし、次の方法でテーマや拡張機能をインストールすることは可能です。

jarファイルをダウンロードできるテーマの場合
リンクの上で右クリックして リンク先を保存... を選択。jarファイルを一旦ダウンロードした後、 ツールテーマ で開かれるテーマ管理ダイアログにjarファイルをドラッグ&ドロップする。
xpiファイルをダウンロードできるテーマや拡張機能の場合
リンクの上で右クリックして リンク先を保存... を選択。xpiファイルを一旦ダウンロードした後、ブラウザのウィンドウにxpiファイルをドラッグ&ドロップする。

以下、この件に関する詳細な技術解説です。

XPIファイルに直接リンクされている場合(例:当サイト)は、問題なくテーマや拡張機能をインストールできるはずです。問題は、Mozilla Updateのように、onclickイベントハンドラなどからInstallTrigger.installChrome()を呼んでいる場合です。

ページ作成のテクニックで「イベントハンドラでfalseを返すことで、リンクの動作をキャンセルする」というものがあり、これを応用して

  • JavaScriptが使える場合は、onclickイベントハンドラによる処理でwindow.opne()を使って新しいウィンドウを開き、falseを返してリンクの読み込みをキャンセルする。
  • JavaScriptが使えない場合は、target属性を指定しておいて、リンクそのものの動作で新しいウィンドウを開く。

という使い方をしているページがあります。

一方、TBEは、「ウィンドウを開く要求をフックして代わりにタブで開く」という機能を持っています。

  • JavaScriptで「ウィンドウを開く」要求に対しては、関数の書き換えで動作を乗っ取り、ウィンドウの代わりにタブを開く。
  • リンクにtarget属性が指定されている場合は、リンクがMozilla本体の機能で読み込まれるよりも前に(何故なら、Mozilla本体がこのリンクを読み込んだ場合、自動的に新しいウィンドウを開いてしまうから)、タブを開いて、リンクの読み込み処理をキャンセルする。

ところが、先に書いたような使い方、すなわち、一つのリンクにonclickイベントハンドラとtarget属性の両方で「ウィンドウを開く」指定がなされている場合、これでは問題が起こります。

  1. ユーザがリンクをクリックする。
  2. Mozillaの関数が、リンクがクリックされたことを検知して、リンクに対する処理を開始する。TBEはこの処理に介入し、リンクにtarget属性が指定されていることを検知して、一つめのタブを開き、リンクの読み込み処理をキャンセルする。
  3. そのリンクのonclickイベントハンドラが処理される。
  4. イベントハンドラ内の処理でwindow.open()が呼ばれ、TBEによって二つめのタブが開かれる
  5. イベントハンドラがfalseを返す。(しかし、これはもう手遅れ。)

……という処理が行われ、その結果、タブが二重に開かれてしまうのです。

そこでTBEでは、過去のバージョンにおいて、以下のようなトリッキーな方法でこの問題を解決しました。

  1. ユーザがリンクをクリックする。
  2. Mozillaの関数が、リンクがクリックされたことを検知して、リンクに対する処理を開始する。TBEはこの処理に介入するが、リンクにイベントハンドラが指定されていること、そのイベントハンドラがまだ処理されていないことを検知して、処理を中断し、タイマーを使って待機状態に入る。
  3. そのリンクのonclickイベントハンドラが処理される。この段階でTBEが処理に介入し、イベントハンドラの返り値を取得する。
  4. 待機状態になっていたMozillaの関数が処理を再開。イベントハンドラの返り値がfalseであった場合、リンクの読み込み処理をキャンセルする。もし仮に返り値がtrueあるいはundefinedであった場合、処理を続行する。

こうすることによって、タブが二重に開かれることはなくなりました。

しかし、ここで新たな問題が発生しました。イベントハンドラの返り値を取得するためには、イベントハンドラの処理に介入しなくてはならないのですが、素直に介入するとエラーになってしまうのです。「そのページの中でイベントハンドラを実行」しなくてはならないのに、普通にやると「Mozillaの内部でイベントハンドラを実行」してしまうことになるからです。

これを回避する方法が、タイマーを使った処理でした。タイマーを使うことによって「そのページの中でイベントハンドラを実行し、その結果を取得する」ことが初めてできるようになりました。

  1. ユーザがリンクをクリックする。
  2. Mozillaの関数が、リンクがクリックされたことを検知して、リンクに対する処理を開始する。TBEはこの処理に介入するが、リンクにイベントハンドラが指定されていること、そのイベントハンドラがまだ処理されていないことを検知して、処理を中断し、タイマーを使って待機状態に入る。
  3. そのリンクのonclickイベントハンドラが処理される。この段階でTBEが処理に介入し、本来のイベントハンドラを処理する代わりに、タイマーを起動する。
  4. 1ステップ遅れて、本来のイベントハンドラが処理される。TBEはこのイベントハンドラの返り値を取得する。
  5. 待機状態になっていたMozillaの関数が処理を再開。イベントハンドラの返り値がfalseであった場合、リンクの読み込み処理をキャンセルする。もし仮に返り値がtrueあるいはundefinedであった場合、処理を続行する。

これが、現在のTBEの処理の流れです。

本件の問題、すなわちInstallTrigger.installChrome()を使ったインストールができない問題は、最後の「タイマーを使った処理」に原因があります。タイマーの中でInstallTrigger.installChrome()が呼ばれた場合、Firefoxはそれをセキュリティ的に危険な要求と見なして、無視してしまうようなのです。

というわけで、現状の実装と僕の技術力・知識では、取りうる処置は以下の二択ということになります。

  • InstallTrigger.installChrome()を処理することを優先して、タブが二重に開かれる問題には目をつむる
  • タブが二重に開かれる問題を解決することを優先して、InstallTrigger.installChrome()が処理されない問題には目をつむる(この場合でも、最初に挙げた方法で、テーマや拡張機能のインストールを行うことはできる)

誰か高度な技術力を持った人がTBEの開発に協力してくれて、先のようなトリッキーな処理を使わなくても済むようにならない限り、この問題は永久に棚上げせざるを得ません。

他のアプリとの機能衝突

Close Other Tabsと併用するとエラーになる

現在の所、仕様です。TBEはMozillaのコンテキストメニューが変更されていないものと想定して動作するため、他の拡張機能でメニューが変更されている場合、初期化に失敗します。

とりあえず、Close Other Tabsについては同様の機能がTBEに含まれていますので、どちらかよく使う方だけをインストールして下さい。

ClipMateなどのクリップボード監視ソフトと併用すると妙な事になるんですが

この機能はVer.1.10.20040331から削除されました。この項目はそれ以前のバージョンを対象にしています。

仕様です。どうにもなりません。TBEのクリップボード監視機能の代わりにNew Tab and Goなどを使うことをお勧めします。

TBEはその実装の大部分をMozillaのXPCOMに依存していますが、XPCOMには残念ながら、クリップボードの内容の変化やロック状態を捕捉する機能がありません。そのため、ロックされていようがいまいがTBEは一定の間隔(デフォルトは500ミリ秒)で勝手にクリップボードの中身を取得してしまいます。

Clav作の Flowing TabsをTBEと同時に使えない

この問題はどう頑張っても回避不可能です。これは双方の拡張機能がそれぞれの機能を実現するために一つのイスを奪い合うような形になってしまっているためです。

TBE ver.1.10.20040509以降にはClav氏のFlowing Tabsの実装を元にしたタブバーの複数行表示(多段表示)機能が含まれています。タブの多段表示を使いたい場合は、TBEのVer.1.10とClav氏のFlowing Tabsのどちらか一方のみをインストールするようにして下さい。

その他

なんでタブブラウザ拡張なの? 英語圏ではタブブラウジング拡張って呼ばれてるみたいだけど……

当初の予定では、Mozilla Navigatorではなく、XULのtabbrowserウィジェットを拡張する汎用の拡張機能にするつもりでした。タブブラウザ拡張というのはその名残です。

特にこの名前に拘っているということはありません……が、あまり頻繁に改名するのもどうかと思っています。おそらく次のメジャーバージョンアップを機にタブブラウジング拡張と名前を変えることになると思います。

Ez Sidebar イージーSidebar

ツールバーのカスタマイズ用ウィンドウの表示がおかしい
ツールバーのボタンの表示がおかしい

ボタンのアイコンが表示されるべきところにいくつものボタンが繋がったような画像が表示される問題(図)は、Ver.***以前で起こります。Ver.3.1.2004012701以降で修正済みですので、更新をお願いします。

Popup ALT Attributes ALT 属性のポップアップ表示

インストールしたらポップアップが全く表示されなくなったんだけど

この問題はFirebirdのツールキットの仕様変更に起因しています。

Ver.1.2以前とMozilla Firebirdの2003/11/19以降のビルドを組み合わせて使用している場合、あるいは、Firefoxを使用している場合、最新のものにアップデートして下さい。

最新バージョンを使用しているにもかかわらずこのエラーが出る場合、前バージョンのアンインストールに失敗したか、新バージョンのインストールに失敗した可能性があります。Firefoxを終了させ、この拡張機能の手動完全削除XULのキャッシュファイル(XUL.mfl、XUL FastLoad File、XUL.mfaslなど)の削除を行い、再度最新版をインストールして下さい。

最新版に入れ換えても問題が解決しない場合、手作業でMozillaの設定ファイルを編集する必要があります。旧版のインストーラが作成した誤った情報が残ったままだと、拡張機能本体をインストールし直しても問題は解決しません。以下の手順でMozillaの設定情報を修正して下さい。

  1. プロファイルディレクトリまたはMozillaがインストールされているディレクトリの中からchrome.rdfというファイルを探し出す。
  2. Unicode対応のテキストエディタでchrome.rdfを開く。
  3. tabextensionsWidgetsという文字列を検索する。(ファイル内にこの文字列が見つからない場合は、開くファイルが違います)
  4. 見つかった箇所をtabextensionsBindingsに書き換える。
なんで標準ではALT属性をポップアップ表示しないの?

img要素型のalt属性は、仕様では以下のように定義されています。(原文

alt属性は、画像が表示できない場合にのみレンダリングされる、代替テキストを指定する(これについては、後述の代替テキストの指定方法の項を見よ)。ユーザエージェントは、画像をサポートしていないか、ある特定の画像形式をサポートしていないか、または画像を表示しないよう設定されているような場合にのみ、代替テキストを表示するようにしなければならない

この仕様から判断すると、代替テキストをポップアップ表示しないMoz/NSの挙動は、仕様に則った正しい動作であると言えます。ただ、「表示する」の意味をキャンバス上でのドキュメントの表示に限定して、ツールチップやステータスバーなどによる付加情報の提示を例外視するならば、IEやNC4での「altをツールチップとして表示する」挙動も、間違いではないと考えられます。

何故「例外視」してもよいかは、例えばページ情報Page Info)のダイアログなどを開いてみれば、明らかです。仕様を馬鹿正直に解釈すれば、こういう機能自体、実装してはいけないことになりますよね?

つまり、何が言いたいかというと、どっちの実装も間違っていないということです。

Clipboard Observer クリップボード監視

ClipMateなどのクリップボード監視ソフトと併用すると妙な事になるんですが

仕様です。どうにもなりません。代わりにNew Tab and Goなどを使うことをお勧めします。

この拡張機能はその実装の大部分をMozillaのXPCOMに依存していますが、XPCOMには残念ながら、クリップボードの内容の変化やロック状態を捕捉する機能がありません。そのため、ロックされていようがいまいがこの拡張機能は一定の間隔(デフォルトは500ミリ秒)で勝手にクリップボードの中身を取得してしまいます。

Rewind/Fastforward Buttons 巻き戻し/早送りボタン

ページによって正しく「巻き戻し」「早送り」できないことがある
「巻き戻し」しようとしたらトップページに移動してしまった

この拡張機能には、Googleの検索結果のような前後に連続しているページについて「次のページ」「前のページ」を検出してボタン一発で移動する機能があり、これらのページを検出できた場合はボタンの表示が「早送り」「巻き戻し」の時と違うものになります。(デフォルトのテーマでは「!」マークが右下に付きます。)この状態で元の機能を使うには、ボタンの上で右クリックして表示されるポップアップメニューから「巻き戻し」「早送り」を選択してください。

ただし、前後のページではないリンクを間違って検出してしまう場合があります。例えば「トップページへ戻る」と書かれたリンクを「前のページ」と見なしてしまったりという具合です。設定ダイアログで前後のページを検出する機能自体を無効にすると、この問題を防ぐことができます。

また、以下のようなマッチングパターンを登録すると、専用のパターンが登録されていないページに対してはリンクを検出しなくなります。この指定を使うと、GoogleやYahoo!の検索結果のページなど、専用のパターンが登録済みで前後のページを確実に検出できるページに限定してこの機能を使うことができます。

ドメイン
*
前のページ
null
次のページ
null
Last modified:2013/03/27 04:34:46