2

FirefoxアドオンSDKを使用してアドオンを作成していますが、アドオンのインストール時にいくつかの操作を実行する必要があります。アドオンインストーラーをカスタマイズする方法はありますか?そうでない場合は、アドオンが最初にロードされたときにこれらの操作を実行できます。どうすればそれができますか?

4

2 に答える 2

2

いいえ、インストーラーは単に拡張機能をインストールするだけで、特別なことは何もありません。install()拡張機能ののメソッドを呼び出しますbootstrap.jsが、アドオンSDKはその機能をアドオンに公開しません。

したがって、何かを初期化する必要がある場合は、すでに初期化されているかどうかを確認してください。たとえば、最初の実行時にファイルを作成する必要がある場合:拡張機能の起動時にファイルがすでに存在するかどうかを確認します。そうでない場合は作成します。

拡張機能が初期化されているかどうかを簡単に検出できない場合は、設定を使用できます。このようなもの:

var {prefs} = require("simple-prefs");
if (!prefs.firstRunDone)
{
  prefs.firstRunDone = true;
  // Your first-run code goes here
}
于 2012-08-29T07:12:43.387 に答える
0

main.jsには2つの関数がありexports.mainexports.onUnloadアドオンが実行される前とアンロードされる前にそれぞれ呼び出されます。次のようにオーバーライドできます。

exports.main = function(options, callbacks)
{
    if (options.loadReason == 'install') {
        // init stuff
    }
}

exports.onUnload = function(reason)
{
    if (reason == 'uninstall') {
        // uninit stuff
    }
}

より多くのフィールドがoptionsあり、複数の考えられる理由があります。ソース

于 2013-08-09T09:22:02.003 に答える