Bonjour tout le monde,

Bon, je ne savais pas trop o� poster ma question car elle concerne le
d�veloppement d'une toolbar sur Firefox. Les langages en jeux sont
donc XML (XUL) et JS mais le moteur est en JS.

Mon extension marche. Rassurez-vous, je ne vais pas vous demander
comment d�velopper une extension FF ! J'ai simplement besoin d'aide
sur un �v�nement...

Alors voil�, sur les tutoriels que j'ai pu lire, concernant le d�veloppement
d'extension FF, on recommande toujours de cr�er son objet JS (pour
son extension), par exemple :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var MaToolbar =
{
  Attr1 : 0,
  Attr2 : new Array(),
 
  Load : function()
  {
    // code du chargement de la toolbar
  },
 
  Fct1 : function(p1, p2) { /* ... */ },
 
  Fct2 : function() { /* ... */ }
}
puis, dans le JS principal, faire un :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
window.addEventListener('load', function()
{
  MaToolbar.Load();
}
Ceci marche tr�s bien, � l'ouverture de FF, le code du chargement est bien appel�. Mais maintenant, pour effectuer des traitements
sp�cifiques � chaque page ouverte par exemple, j'ai trouv� sur le net
qu'il fallait attacher (au premier chargement) un �v�nement nomm� "DOMContentLoaded"
sur l'�l�ment "appcontent", comme ceci (ma fonction Load) :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
Load : function()
{
  var appcontent = document.getElementById('appcontent');
  if (appcontent)
    appcontent.addEventListener('DOMContentLoaded', MaToolbar.PageChargee, true);
}
Voici le code de MaToolbar.PageChargee :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
PageChargee : function()
{
  alert('Page chargée : ' + content.document.location.host);
}
Mon probl�me est le suivant. Je ne comprends pas
pourquoi cet �v�nement est appel� non pas une fois mais bien plusieurs fois � chaque chargement de page
. Cela varie en fonction
de la page, entre 2 et 5 fois par page en moyenne... Je pense qu'il est appel� au chargement de la page visit�e, �� c'est certain, mais
�galement de "fragments" (XUL ou je ne sais quoi) charg�s eux aussi par le navigateur ?

Je pense qu'il est possible de trouver un �v�nement plus int�ressant �
�couter. Un �v�nement qui ne se d�clencherait vraiment qu'une fois lorsque une page est ouverte. Connaitriez-vous cet �v�nement ou
une meilleur fa�on d'�couter ?


Et enfin, derni�re question. Connaitriez-vous un �v�nement qui notifie
le changement d'onglet "Je clique sur un autre onglet" ?


Merci d'avance pour votre aide.