/ / Ventana emergente cuando llega un nuevo mensaje - php, javascript, ajax

Aparece una ventana emergente cuando llega un nuevo mensaje: php, javascript, ajax

Tengo un sistema de mensajería totalmente funcional en mi sitio web. Quiero evolucionar esto al tener un cuadro emergente que altera a los miembros cuando tienen un nuevo mensaje.

Diría algo como "Tienes un nuevo mensaje, ¿te gustaría verlo?". Podrías hacer clic en Sí o No.

¿Cómo haría para hacer esto? ¡Nunca antes había probado algo así!

Gracias

ACTUALIZAR. Soy muy inexperto usando las tecnologías requeridas aquí. ¿Cómo haría para garantizar que esto funcione en cada página? ¿Qué código incluiría? ¡Esto es algo que necesito mejorar ya que abre muchas más posibilidades!

Respuestas

1 para la respuesta № 1

Puede tener una llamada AJAX en bucle en elantecedentes que verifica cada pocos minutos. Si el servidor devuelve una URL (o algo que se distingue de "no hay mensajes"), aparecerá la ventana emergente y, si presionan Aceptar, se enviarán a la URL (usando un diálogo básico de confirmación () en Javascript).

Sin embargo, tenga cuidado, la paciencia de los usuarios se agotará si usted mastica la potencia de su CPU en esto.


0 para la respuesta № 2

Tendría que verificar regularmente con el servidor si unhay un nuevo mensaje para el usuario, usando un temporizador en su javascript (código del lado del cliente). Debido a la naturaleza de HTTP (sin estado) no es posible enviar esta notificación desde el servidor.


0 para la respuesta № 3

En primer lugar, debe mirar lo siguiente:

http://stanlemon.net/projects/jgrowl.html

debe cargar jQuery + jGrowl y crear una función de latido que sondee el servidor cada X segundos como.

Cuando el servidor recibe una solicitud del JavaScript, verifica en la base de datos los últimos mensajes marcados como un_notificado (no leer)

Compila una lista y la marca como notificada, y luego envía la lista al JavaScript nuevamente, esto a su vez pasa a jGrowl y se muestran las notificaciones,


0 para la respuesta № 4

Tienes 3 opciones:

  1. Muestra el mensaje cada vez que el usuario vuelve a cargar la página. Fácil y rapido.
  2. Muestre el mensaje enviando solicitudes AJAX al servidor. Puede ser realmente malo cuando tienes muchos usuarios, así que asegúrate de que la respuesta tome muy poco tiempo.
  3. Envíe el mensaje desde el servidor usando WebSocket. La tecnología más actualizada, pero solo es compatible con algunos navegadores, así que verifique los problemas de compatibilidad antes de implementarla.

Yo personalmente usaría el # 1, si no necesito una reacción instantánea del usuario. # 2 es bueno para chatear en la web. # 3 es universal, pero rara vez se usa todavía.

Normalmente, tendría un script AJAX en segundo plano, ejecutándose con un tiempo de espera prolongado (más de 30 segundos) y una funcionalidad que muestra el mensaje después de la recarga de la página. Esto combina # 1 y # 2.