Ir al contenido

Introducción

tabus-js es una librería TypeScript sin dependencias que permite enviar y recibir eventos tipados entre pestañas o ventanas del mismo navegador (o entre múltiples instancias dentro del mismo proceso).

Usa la API nativa BroadcastChannel cuando está disponible, y si no lo está (SSR, entornos sin soporte, Node) cae automáticamente a un bus en memoria dentro del mismo proceso.

Casos de uso típicos:

  • Sincronizar estado entre pestañas: por ejemplo, cerrar sesión en una pestaña y reflejarlo en todas las demás.
  • Notificaciones cross-tab: avisar a otras pestañas que ocurrió un evento (nuevo dato guardado, carrito actualizado, etc.).
  • Detectar presencia de otras pestañas: saber cuántas pestañas de la app están abiertas, usando los eventos tab:join / tab:leave.
  • Coordinar acciones: evitar que dos pestañas hagan la misma tarea en paralelo (locks simples, líder/seguidor).
  • SSR-safe: funciona en el servidor sin lanzar errores, porque usa el fallback en memoria cuando BroadcastChannel no existe.

Continúa con Instalación para agregar tabus-js a tu proyecto, o salta directo a Inicio rápido para ver el uso básico paso a paso.