Hvordan stoppe javascript varsling fra viser etter å ha trykket ok

stemmer
3

Jeg ønsker å vise et varsel hvis jeg har noe til min Facebook-innboksen. Jeg tror det kan enkelt gjøres ved hjelp av Userscripts ... dette er hva jeg har så langt (takk til gutta på de Userscripts fora):

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);

Dette fungerer bra, bortsett fra meldingen blir sittende fast i en løkke etter å ha klikket OK, og dukker opp. Er det en måte å stoppe meldingen etter at jeg klikker avvise varselet?

Publisert på 29/04/2009 klokken 21:55
kilden bruker
På andre språk...                            


2 svar

stemmer
3

Legg til en variabel som holder styr på hvor mange meldinger det var siste varsel, og viser ikke hvis den variabelen ikke har endret seg.

Noe som:

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.

Dessuten ville jeg unngå å skrive koden på én liker, som du gjorde i det opprinnelige innlegget. Det gjør det vanskeligere å lese og endre om nødvendig.

Svarte 29/04/2009 kl. 21:59
kilden bruker

stemmer
0

Angi en egendefinert cookie bruke document.cookie å redde teller, så gjør dine regelmessige kontroller

Svarte 29/04/2009 kl. 22:18
kilden bruker

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