5

質問:

新しい Firefox プロファイルをプログラムで簡単に作成する方法はありますか?

nsIToolkitProfileServiceそれはうまくいくように見えますが、ドキュメントには次のように書かれています:

Gecko 18 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15 / Firefox OS 1.0.1) 以降では、このサービスまたは nsIToolkitProfile を使用しないでください。

なぜ:

これを行うことに興味があるのは、Firefox の独立した実行可能ファイルを非常に簡単に実行するために使用できると思うからです (たとえば、各アプリのタスクバーに完全に個別のアイコンを表示することができます)。クロムレス/WebRunner プロジェクト。

私のアプローチは、ユーザーが Web アプリの URL を指定できるようにする Firefox アドオンを作成し、アプリの "Executable1"、"Executable2" などの名前空間プロファイルを自動作成することです。そのプロファイルとアプリに対してコマンドラインの「-no-remote」引数を呼び出すバッチファイル(-no-remoteは新しいインスタンスを作成するためにプロファイルを必要とするようです(私が見た「-new-instance」引数はバグは私にはうまくいかないようです)。

4

2 に答える 2

5

私の推測では、人々はメインスレッド I/O を避けたかったのでしょう。または、アプリからプロファイル マネージャーを削除して、起動を高速化し、起動コード全体を簡素化するという話があったので、それが理由かもしれません。ウィキのユーザー「victorporof」がこの編集を行ったようです。そのため、おそらく彼に ping して説明を求めるべきです (IIRC、彼は @mozilla.com のアドレスを持っているので、簡単にググることができます ;)

とにかく、新しいプロファイルは空のディレクトリにすぎません。アプリケーションは、起動するとすぐに不足しているファイルを実際にコピー/作成します。したがって、アドオンは次のようになります。

  • 目的の場所に空のディレクトリを作成します。
  • インスタンスを開きます。-no-remote -profile $dir
  • アイコンなどを追加します。
  • それを終わらせてください。
  • 必要に応じて、profiles.ini をいじって、新しいプロファイルが通常のプロファイル マネージャーにリストされるようにします。

私は定期的にコマンドラインからこのようなことをしています。

mkdir -p central.profile && path/to/firefox -no-remote -profile $PWD/central.profile

nsITOolkitProfileServiceまたは、実際に削除されるまで使い続けてください。(それは私がおそらくすることです)。FWIW、(リモート)デバッガーのように、まだそれを使用している新しいコードさえあります。

また、彼らがコーディングしたスタンドアロンのプロファイル マネージャーも見てみる価値があるかもしれません。

于 2013-09-10T08:10:41.767 に答える
1

そのため、ask.mo の Neil によると、このサービスを使用しないようにというメッセージは、OS.File を作成したときに自動的にそこに置かれたとのことです。このページにそのメッセージを誤って追加しました。このサービスは利用できますが、OS.File を使用することをお勧めします。だから私はOS.Fileでそれを行うためにいくつかの関数を作成しました

トピックへのリンク: ask.mo: nsiToolkitProfileService の代わりに OS.File?

ここにあります: https://gist.github.com/yajd/9791029

これはまだ進行中の作業であり、アドオンの Profilist で行った微調整が必​​要です。すぐにリリースして、ここに投稿します。

于 2014-03-31T01:56:02.643 に答える