Ver Mensaje Individual
  #8 (permalink)  
Antiguo 13/11/2020, 13:06
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ¿Se dispara algún evento al activar una solapa del navegador?

Cita:
Iniciado por Integer78 Ver Mensaje
Si! Lo quiero hacer con Ajax, se programar con Ajax. Lo que no me doy cuenta es cómo detectar cuando el usuario cierra la pestaña del formulario y regresa a la original. Pensé que tal vez existía algún evento que se produzca al activar una pestaña del navegador y entonces ahí disparar mi código para actualizar la tabla. Esa es puntualmente mi duda.
Puedes apoyarte con el evento visibilitychange de la API Page Visibility. Cuando la pestaña está activa, el valor de la propiedad visibilityState del documento será visible.

Código Javascript:
Ver original
  1. document.addEventListener("visibilitychange", function() {
  2.     if (document.visibilityState == "visible") {
  3.         //Hacer algo
  4.     }
  5. });

En este caso, podrías actualizar la pestaña luego de que vuelva a tomar el foco, pero ten en cuenta que eso no se supeditará a si cierras o no otra pestaña. Otra forma de hacer esto de una manera más eficiente es mediante el empleo de websockets, así, cuando se modifiquen datos en la base de datos tanto en otra pestaña como en otro navegador e incluso en otro ordenador o dispositivo móvil, los datos que se muestran en la pestaña se actualizarán automáticamente.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand