Пиша добавка с Firefox Add-on SDK и трябва да извърша някои операции, когато добавката е инсталирана. Има ли някакъв начин да персонализирате инсталатора на добавката? Ако не, бих могъл да извърша тези операции при първото зареждане на добавката. Как бих могъл да направя това?
Персонализиране на инсталатора на добавки
Отговори (2)
Не, инсталаторът просто ще инсталира разширението, нищо особено. Той ще извика метода install()
в bootstrap.js
на разширението, но SDK на добавките не излага тази функционалност на добавките.
Така че, ако трябва да инициализирате нещо - просто проверете дали вече е инициализирано. напр. ако трябва да създадете файл при първото стартиране: проверете дали файлът вече съществува, когато вашето разширение се стартира. Ако не, тогава го създайте.
Ако не можете лесно да откриете дали вашето разширение е инициализирано, тогава можете да използване на предпочитание. Нещо като това:
var {prefs} = require("simple-prefs");
if (!prefs.firstRunDone)
{
prefs.firstRunDone = true;
// Your first-run code goes here
}
Има две функции, налични в 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
и множество възможни причини. Източникът.