Cette couche est développée sous forme de scripts. Deux langages de script bien
sûr sont utilisables : Javascript et Python.
Cette partie du framework est la plus accessible aux utilisateurs. Ne s'agissant que de scripts, aucune
compilation n'est demandée à l'utilisateur
pour son plus grand bonheur.
Imaginons que je travaille sur une page XUL, et que je modifie son contenu (le texte d'un bouton par
exemple) : je n'ai qu'à fermer cette fenêtre et la rouvrir pour que les changements soient pris en compte !
C'est exactement comme si je rechargeais une page d'un site Internet.
Cette couche permet ainsi d'accéder, via des scripts, aux couches précédentes : Gecko et XPCOM.
Voici un exemple de la méthode pour appeler une composant XPCOM depuis Javascript.
Ici, je déclare une variable "sound" qui va instancier le composant
"@mozilla.org/sound;1"
var sound =
Components.classes["@mozilla.org/sound;1"].
createInstance();
Sur cette instance, nous allons lui associer l'interface voulue : "Components.interfaces.nsILocalFile"
qui correspond à l'interface développée par Mozilla.
sound.QueryInterface
(Components.interfaces.nsILocalFile);
Désormais, je peux jouer un son depuis le Javascript, avec la méthode "play()"
du composant. La variable "url" est récupérée d'après le composant "@mozilla.org/network/standard-url;1".
url.spec = 'http://jslib.mozdev.org/test.wav';
sound.play(url);
Génial. Je peux jouer des sons dans mon application et de manière universelle
en 6 lignes de code ! Cela paraît tellement simple que je vous propose maintenant
de comprendre comment associer des évènements utilisateurs (souris, clavier
)
à ces scripts.