Cum de a opri JavaScript alertă afișarea după apăsarea butonului OK

voturi
3

Vreau să arăt o alertă dacă am ceva în cutia mea poștală Facebook. Cred că poate fi ușor realizată folosind userscripts ... asta este ceea ce am până acum (datorită tipii de la userscripts forumuri):

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

Această fabrică mare, cu excepția mesajul devine blocat într-o buclă după ce faceți clic pe „OK“, și păstrează popping sus. Există o modalitate de a opri mesajul după ce fac clic respingerea alerta?

Întrebat 29/04/2009 la 22:55
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
3

Adăugați o variabilă care ține evidența numărului de mesaje au fost acolo ultima alertă, și nu arată în cazul în care variabila nu sa schimbat.

Ceva asemănător cu:

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.

De asemenea, aș evita scrierea de cod într-un singur cum ar fi, așa cum ați făcut-o în post-ul original. Aceasta face mai dificil de citit și de a schimba dacă este nevoie.

Publicat 29/04/2009 la 22:59
sursa de către utilizator

voturi
0

Setați un cookie personalizat folosind document.cookie pentru a salva numărul de, apoi face verificări obișnuite

Publicat 29/04/2009 la 23:18
sursa de către utilizator

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