Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

# Observer tous les clicks sur boutons

Envoyé par : LEK

Date : 03/01/2009 14:38

Bonjour,

j'essaye de réaliser une extension me permettant de logguer tous les clicks sur des boutons. J'aimerais en fait récupérer les informations suivantes :
- nom de frame si le bouton est situé dans une frame
- identifiant du bouton cliqué

J'ai essayé d'utilisé un script en ajoutant un listener sur le document avec addEventListener mais je n'arrive pas à voir si il ya des frames, ni à savoir si un click a bien lieu sur mon bouton. Est ce que vous pourriez me diriger dans la bonne direction ? Merci par avance,

Lek.

# Re: Observer tous les clicks sur boutons

Envoyé par : LEK

Date : 05/01/2009 18:45

J'ai un peu vancé sur le sujet, en utilisant le code suivant (https://developer.mozilla.org/fr/Extraits_de_code/Onglets_de_navigation) :

function examplePageLoad(event) { if (event.originalTarget instanceof HTMLDocument) {

   var doc = event.originalTarget;
   if (event.originalTarget.defaultView.frameElement) {
     // Le cadre au sein de l'onglet a été chargé. doc devrait être le document
     // racine du frameset. Si vous ne voulez rien faire quand les frames/iframes
     // ont été chargées dans cette page Web, décommentez la ligne suivante :
     // return;
     // Recherche du document racine
     while (doc.defaultView.frameElement) {
       doc=doc.defaultView.frameElement.ownerDocument;
     }

doc.addEventListener("click", function(e) { maFonc(e); }, true);

   }
 }

} // N'essayez pas d'ajouter un callback avant que la fenêtre du // navigateur n'aie été initialisée. On ajoute un callback à // l'onglet quand la fenêtre du navigateur est chargée. window.addEventListener( "load",

 function () {
   // Ajoute un callback à lancer chaque fois qu'un document se charge.// Notez que cela inclut les frames/iframes au sein du document
   gBrowser.addEventListener("load", examplePageLoad, true);
 },
 false);

...// Quand la détection n'est plus nécessaire gBrowser.removeEventListener("load", examplePageLoad, true); ...

Le problème c'est que l'appel à maFonc pour détecter les clicks marche sur une page sans frames, mais ne fonctionne pas lorque j'essaie d'intercepter les clicks faits sur une frame... Auriez-vous une idée ? Merci de votre aide,

Lek.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.