2

我正在使用 Firefox Add-on 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 中有两个函数,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 回答