Персонализиране на инсталатора на добавки

Пиша добавка с Firefox Add-on SDK и трябва да извърша някои операции, когато добавката е инсталирана. Има ли някакъв начин да персонализирате инсталатора на добавката? Ако не, бих могъл да извърша тези операции при първото зареждане на добавката. Как бих могъл да направя това?


person synack    schedule 28.08.2012    source източник


Отговори (2)


Не, инсталаторът просто ще инсталира разширението, нищо особено. Той ще извика метода install() в bootstrap.js на разширението, но SDK на добавките не излага тази функционалност на добавките.

Така че, ако трябва да инициализирате нещо - просто проверете дали вече е инициализирано. напр. ако трябва да създадете файл при първото стартиране: проверете дали файлът вече съществува, когато вашето разширение се стартира. Ако не, тогава го създайте.

Ако не можете лесно да откриете дали вашето разширение е инициализирано, тогава можете да използване на предпочитание. Нещо като това:

var {prefs} = require("simple-prefs");
if (!prefs.firstRunDone)
{
  prefs.firstRunDone = true;
  // Your first-run code goes here
}
person Wladimir Palant    schedule 29.08.2012

Има две функции, налични в main.js, exports.main и exports.onUnload, които се извикват съответно преди изпълнението на добавката и преди да бъде разтоварена. Можете да ги замените по следния начин:

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

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

Има повече полета в options и множество възможни причини. Източникът.

person Alec Mev    schedule 09.08.2013