• [^] # Re: Greasemonkey

    Posté par . En réponse à la dépêche Sortie de Mozilla Firefox 1.5. Évalué à 2.

    Perso je me suis mis à faire un script greasemonkey depuis cette version 0.6 donc pas de problème ...
    Mais je suis abonné à la mailing-list et, oui, apparemment beaucoup de scripts sont cassés ...
    Ensuite pour la version 0.6.3 il suffit d'aller dans les archives de la mailing-list, une p'tite recherche et c'est trouvable ...
    Au pire je peux retrouver l'adresse exacte si ça intéresse quelqu'un ...
    Pour addEventListener, je ne sais pas si c'est dans ton lien, mais en fait le mieux est de le wrapper dans son propre gestionnaire d'évènement, car les évènements ajoutés de cette manière ne sont pas libérés, et donc s'empile au fur et à mesure des pages ... Ce qui peut conduire firefox à être très très gourmand, j'ai eu ce problème pour mon script, je ne connaissais pas ce bug, et au bout de 2h d'utilisation (c'est pour un forum, sur lequel je suis assez actif, et j'ajoutais pas mal d'évènements), fx me prenait 300 Mo de mémoire 8)
    Donc 2 solutions :
    1. Le nombre d'évènement ajouté est fixe et les objets sont pleinement connus, il suffit de faire un removeEventListener de tous ces objets dans une fonction appelé en unLoad et c'est bon.
    2. Le nombre n'est pas fixe (ce qui est mon cas), et dans ce cas là, le mieux est de faire une fonction "myAddEventListener" qui va stocker ces évènements et d'ajouter une fonction en unLoad qui se servira de ce stockage pour les enlever.
    Le code peut être trouvé sur la mailing-list également, sinon je peux en fournir un morceau ...

    Ce bug a apparemment été corrigé récemment (le mois dernier), mais au moment où cela a été découvert on ne sait/savait pas si ce serait intégré à fx 1.5, et je pense que ce n'est pas le cas, donc ce mécanisme est encore nécessaire ...