« »
7/11/2008

Astuce (bookmarklet) Plurk pour activer tous les "mute"

Je ne sais pas vous, mais j'aime de plus en plus Plurk. La différence avec Twitter est réellement profonde bien qu'il manque quelques petites choses... Comme par exemple une fonction "mute all". En effet, sur chaque Plurk il est possible de désactiver les notifications sur les réponses relatives à ce Plurk.

Le problème une fois que vous avez beaucoup d'amis c'est qu'ils écrivent beaucoup et vous n'avez pas forcément envie, lors de votre connexion, de suivre les réponses aux précédents Plurk. C'est pour cela que j'ai l'honneur de vous présenter le bookmarklet ultime de tout bon Plurkien à savoir Mute All.

Mute All, une fois dans votre barre de favoris vas, en un clic, passer tout les Plurks actuellement sous vos yeux en "mute" ce qui veut dire que vous ne suivrez pas leurs réponses.

Si vous souhaitez utiliser Mute All, il vous suffit de déplacer ce lien [ Mute All ] dans votre barre de favoris.

Maintenant le côté technique, pour réaliser ce bookmarklet, je ne souhaitait pas charger JQuery (comme je l'avais fait afin de créer le bookmarklet pour ajouter une signature HTML sous Gmail) mais il me fallait la fonction getElementsByClassName mais une version qui soit compatible avec la majorité des navigateurs. Après une recherche, j'ai trouvé une fonction écrite par Robert Nyman (enfin une fonction que je n'ai pas eu besoin d'améliorer !) qui supporte l'appel multi-classe et qui permet de fonctionner sous Internet Explorer.

Voici donc un extrait du code de Mute All :

tnew = getElementsByClassName('plurk','div');
cm = tnew.length;
for(i=0;i<cm;i++)
{
    if(tnew[i])
    {
        tnew[i].onmouseover();
        tmute = getElementsByClassName('mute delete','a',tnew[i]);
        if(tmute[0] && tmute[0].className.indexOf('unmute') == '-1')
        {
            tmute[0].onclick();
        }
        tnew[i].onmouseout();
    }
}

Voici l'algorithme simplifié :

  1. On récupère tout les Plurks qui ont la classe "plurk"
  2. On les survoles afin d'activer/afficher le lien "mute"
  3. On vérifie que ce lien est bien un lien "mute" et non un lien "unmute"
    1. Si le lien est un lien "mute" alors
      1. On clic sur ce lien.
  4. On désactive le survole sur le Plurk.

Et voila !

« »
 
 
Made with on a hot august night.
http://bit.ly/1II1u5L