javascript - ¿Cómo enviar señales (disparar eventos) a través de todas las pestañas del navegador usando JS o JQuery/marco de JS?
Tengo muchas pestañas de mi sitio web abiertas en el navegador. ¿Cómo puedo enviar señales (disparar eventos) a través de todas ellas? Tal vez alguien conozca un buen artículo o publicación en un blog sobre eso. Ejemplo: en una pestaña iniciaré sesión en el sitio, después de unos segundos la interfaz de usuario en otras pestañas debe cambiar. ¿Qué consejo es la mejor práctica para realizar este caso? Disculpen mi mal inglés, no soy hablante nativo.
Respuesta #1
Puedes usar localStorage, un almacén de datos en el navegador que se comparte entre todas las pestañas/ventanas que están viendo el mismo dominio. Hay un evento storage que se activa en todas las pestañas cuando cualquier pestaña realiza un cambio en el almacenamiento. Hay una demostración aquí: http://html5demos.com/storage-events
Respuesta #2
Lo que deberías hacer es que tu servidor maneje eso. (por ejemplo, notificas a tu servidor cuando inicias sesión y tu servidor comunica a las otras pestañas abiertas). NodeJS y websockets pueden hacer eso fácilmente, pero eso depende de lo que uses o con lo que te sientas cómodo para el lenguaje de tu servidor.