Creare il file install.js
- Autore: Omar De Donato
- Versione: 1.0
- E-mail: switch[at]gxware[dot]org
- Ultimo aggiornamento: 01-02-2006
In questa guida verrà spiegato come creare un file di installazione estensione (install.js). Questo può essere particolarmente utile per tutte quelle estensioni che non sono "fornite" di tale file e che quindi non possono essere installate su una versione di FireFox inferiore alla 0.9.x o su Mozilla Suite. Dopo aver creato un file vuoto, chiamato per l'occasione "install.js" occorrerà editarlo con un qualsiasi editor di testo, sia esso Blocco Note o EditPlus passando per PSPad.
Codice del file install.js
Il codice di un file di installazione js è abbastanza semplice da capire e completare, ovviamente vi proponiamo un codice pulito e che va totalmente riempito con i dati dell'estensione che volete ricompattare per poterla far partire su Mozilla Suite o Firefox < 0.9.x
Il file in questione conterrà queste stringhe:
/* ***************
Desc: Installation script For Mozilla Suite, Firefox prior to 0.9
Author: eXtenZilla.org (info@extenzilla.org)
****************** */
const author = "Autore";
const contributor = "Chi ha contribuito alla realizzazione";
const displayName = "Nome esetnsione visualizzato";
const name = "nome estensione";
const version = "versione";
var contentFlag = CONTENT | PROFILE_CHROME;
var error = null;
var folder = getFolder("Profile", "chrome");
var localeFlag = LOCALE | PROFILE_CHROME;
var skinFlag = SKIN | PROFILE_CHROME;
var jarName = name + ".jar";
var existsInApplication = File.exists(getFolder(getFolder("chrome"), jarName));
var existsInProfile = File.exists(getFolder(folder, jarName));
const SUCCESS_MESSAGE = " e' stato installato correttamente";
initInstall(displayName, name, version);
// If the extension exists in the application folder or it doesn't
//exist in the profile folder and the user doesn't want it installed
//to the profile folder
if(existsInApplication || (!existsInProfile && !confirm("Vuoi installare "
+"questa estensione nella cartella del tuo profilo?\n(Premendo Cancel questa "
+"estensione verra' installata nella cartella principale del tuo Browser)")))
{
contentFlag = CONTENT | DELAYED_CHROME;
folder = getFolder("chrome");
localeFlag = LOCALE | DELAYED_CHROME;
skinFlag = SKIN | DELAYED_CHROME;
}
setPackageFolder(folder);
error = addFile(author, version, 'chrome/' + jarName, folder, null);
// If adding the JAR file succeeded
if(error == SUCCESS)
{
folder = getFolder(folder, jarName);
registerChrome(contentFlag, folder, "content/nomeestensione/");
registerChrome(localeFlag, folder, "locale/en-US/nomeestensione/");
registerChrome(localeFlag, folder, "locale/it-IT/nomeestensione/");
registerChrome(skinFlag, folder, "skin/classic/nomeestensione/");
error = performInstall();
// If the install failed
if(error == SUCCESS || error == 999)
{
alert(displayName+" "+version+" e' stata installata con successo.\n");
}else{
alert("Installazione non riuscita. Codice errore:" + error);
cancelInstall(error);
}
}
else
{
alert("L'installazione della estensione non e' riuscita.\n" + error
+ "\n Non sono riuscito a creare " +jarName+ " \n"+"Controlla di avere "
+"tutti i permessi per effettuare tale operazione");
cancelInstall(error);
}




