Hoe kan ik JavaScript-melding niet meer weergegeven na het indrukken van ok

stemmen
3

Ik wil een waarschuwing te laten zien als ik iets in mijn Facebook-inbox hebben. Ik denk dat het gemakkelijk kan worden bereikt met behulp van userscripts ... dit is wat ik tot nu toe (met dank aan de jongens op het 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);

Dit werkt prima, met uitzondering van de boodschap vast komt te zitten in een lus na het klikken op OK, en houdt opduiken. Is er een manier om de boodschap te stoppen nadat ik klik ontslaan de waarschuwing?

De vraag is gesteld op 29/04/2009 om 22:55
bron van user
In andere talen...                            


2 antwoorden

stemmen
3

Voeg een variabele die bijhoudt hoeveel berichten er zijn voor het laatst bij de les houdt, en niet tonen als die variabele niet is veranderd.

Zoiets als:

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.

Ook zou ik het schrijven van code te voorkomen dat alles in een dergelijke, zoals u in uw originele post gedaan. Het maakt het moeilijker om te lezen en te wijzigen indien nodig.

antwoordde op 29/04/2009 om 22:59
bron van user

stemmen
0

Stel een aangepaste koekje met behulp document.cookie om de telling te redden, dan doe je regelmatige controles

antwoordde op 29/04/2009 om 23:18
bron van user

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