Come fermare javascript avviso da mostrare dopo aver premuto ok

voti
3

Voglio mostrare un avviso se ho qualcosa nella mia casella di posta di Facebook. Penso che possa essere facilmente realizzato utilizzando userscripts ... questo è ciò che ho finora (grazie ai ragazzi ai userscripts forum):

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

Questa grande opera, ad eccezione del messaggio si blocca in un ciclo dopo aver fatto clic su OK, e continua a comparire. Esiste un modo per fermare il messaggio dopo clicco respingere l'avviso?

È pubblicato 29/04/2009 alle 22:55
fonte dall'utente
In altre lingue...                            


2 risposte

voti
3

Aggiungere una variabile che tiene traccia di quanti messaggi ci sono stati lo scorso avviso, e non mostrare se tale variabile non è cambiato.

Qualcosa di simile a:

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.

Inoltre, vorrei evitare di scrivere codice tutto in uno, come, come avete fatto nel vostro post originale. Si rende più difficile da leggere e modificare se necessario.

Risposto il 29/04/2009 a 22:59
fonte dall'utente

voti
0

Impostare un cookie personalizzato utilizzando document.cookie per salvare il conteggio, poi fare il vostro controlli regolari

Risposto il 29/04/2009 a 23:18
fonte dall'utente

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