Comment arrêter javascript alerte de montrer après avoir appuyé sur OK

voix
3

Je veux montrer une alerte si j'ai quelque chose dans ma boîte de réception Facebook. Je pense qu'il peut être facilement accompli en utilisant userscripts ... c'est ce que j'ai jusqu'à présent (grâce aux gars aux UserScripts forums):

document.addEventListener(DOMNodeInserted, function() {
  var count;
  if ((count=parseInt(document.getElementById(fb_menu_inbox_unread_count).textContent)) > 0)
  alert(You have +count+ new message+(count==1 ?  : s)+.);
}, true);

Cela fonctionne très bien, sauf le message est bloqué dans une boucle après avoir cliqué sur « OK », et ne cesse d'apparaître. Y at-il un moyen d'arrêter le message après que je clique sur Rejeter l'alerte?

Créé 29/04/2009 à 22:55
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
3

Ajouter une variable qui conserve la trace de combien de messages il y avait la dernière alerte, et ne montrent pas si cette variable n'a pas changé.

Quelque chose comme:

document.addEventListener(
  "DOMNodeInserted", 
  function() { 
    var count = parseInt(document.getElementById("fb_menu_inbox_unread_count").textContent);
    if (count > 0 && count != lastCount) {
      alert("You have "+count+" new message"+(count==1 ? "" : "s")+"."); }, true);
    }
    lastCount = count;  // Remember count to avoid continuous alerts.

En outre, je voudrais éviter d'écrire du code tout en un comme, comme vous l'avez fait dans votre message original. Il rend plus difficile à lire et modifier le cas échéant.

Créé 29/04/2009 à 22:59
source utilisateur

voix
0

Initie un cookie personnalisé à l'aide document.cookie pour enregistrer le décompte, puis effectuez vos contrôles réguliers

Créé 29/04/2009 à 23:18
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more