Cómo detener la alerta de JavaScript para que no se muestre después de presionar ok

votos
3

Quiero mostrar una alerta si tengo algo en mi bandeja de entrada de Facebook. Creo que se puede lograr fácilmente utilizando los archivos de los usuarios ... esto es lo que tengo hasta ahora (gracias a los chicos de los foros de usuarios ):

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

Esto funciona muy bien, excepto que el mensaje se queda atascado en un bucle después de hacer clic en Aceptar, y sigue apareciendo. ¿Hay alguna manera de detener el mensaje después de hacer clic en cerrar la alerta?

Publicado el 29/04/2009 a las 22:55
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
3

Agregue una variable que realice un seguimiento de cuántos mensajes hubo la última alerta y no muestre si esa variable no ha cambiado.

Algo como:

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.

Además, evitaría escribir código todo en uno, como lo hiciste en tu publicación original. Hace que sea más difícil de leer y cambiar si es necesario.

Respondida el 29/04/2009 a las 22:59
fuente por usuario

votos
0

Establezca una cookie personalizada usando document.cookie para guardar el conteo, luego haga sus comprobaciones regulares

Respondida el 29/04/2009 a las 23:18
fuente por usuario

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