2011-12-03 16 views
7

Estoy desarrollando una aplicación web, en la que quiero desconectarme del usuario, solo cuando cierra todas las 'pestañas' de mi aplicación o el usuario cierra el navegador.detectar si todas las pestañas de la aplicación están cerradas

¿Alguien sabe cómo hacerlo?

+1

Esto ha aparecido antes, y la única manera realista es realizar un seguimiento de cuántos están abiertos y "devolviendo el sonido" de forma regular, posiblemente con una señal de 'onunload' para indicar que se ha cerrado. Aunque no puedes detectar las pestañas reales en JavaScript. No tienes acceso a pestañas en Javascript. Puede usar un ping desde el navegador para mantener viva la sesión, con un tiempo de espera de sesión agresivo (1-3 minutos, por ejemplo). –

+0

Consulte aquí: http://stackoverflow.com/questions/1921941/close-kill-the-session-when-the-browser-or-tab-is-closed – Devnook

Respuesta

0

Pruebe la respuesta aquí: Javascript Communication Between Browser Tabs/Windows. Las cookies son la forma habitual de hacer esto. Combine ésos con el evento "onunload" y debería poder lograr lo que necesita.

Sería más fácil, simplemente configurar su cookie de inicio de sesión como "sesión" estableciendo la duración en 0. Esto se comparte entre pestañas en la mayoría de los navegadores que he utilizado y se borra cuando se cierra la ventana. El único problema es que Internet Explorer tiende a no borrar las cookies de sesión a menos que la ventana esté cerrada, no cuando todas las pestañas de un sitio web están cerradas.

Cuestiones relacionadas