2012-08-28 187 views
2

我正在使用Firefox附加組件SDK編寫加載項,並且在安裝加載項時必須執行一些操作。有沒有什麼辦法來自定義加載項安裝程序?如果沒有,我可以在第一次加載插件時執行這些操作。我怎麼能這樣做?自定義加載項安裝程序

回答

2

不,安裝程序只會安裝擴展,沒什麼奇特的。它將調用擴展的bootstrap.js中的install()方法,但附加SDK不會將該功能公開給附加組件。

所以,如果你需要初始化一些東西 - 只要檢查它是否已經初始化。例如。如果您需要在第一次運行時創建文件:請檢查您的擴展啓動時文件是否已存在。如果它沒有,然後創建它。

如果您無法輕易檢測到您的擴展是否已初始化,那麼您可以使用use a preference。事情是這樣的:

var {prefs} = require("simple-prefs"); 
if (!prefs.firstRunDone) 
{ 
    prefs.firstRunDone = true; 
    // Your first-run code goes here 
} 
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和多種可能的原因。 The source