El problemabeforeunload rarezas
Usando $(window).bind("beforeunload", ...[snip]
para preguntar si un usuario desea salir de la página produce algunos resultados extraños en algunos navegadores. El diálogo aparece y le pregunta si desea permanecer en la página o salir de la página. Si hace clic en la opción de permanecer en la página, Google Chrome (último - 13.0.782.215 m) y WinIE7 muestra la última página de historial en el botón "Atrás".
Para ilustrar este punto, la historia sesión actual consiste en visitar las siguientes páginas:
- Page 3
- Página 2
- Página 1
decide abandonar la página 3 y el evento beforeunload
se desencadena. Eliges permanecer en la página actual.
Vuelve a hacer clic en el botón Atrás y esta vez decide abandonar la página. Debería encontrarse en la página 2, pero en su lugar se encuentra en la página 1. Sin embargo, puede navegar de nuevo hacia la página 2.
La pregunta
¿Cómo puedo evitar que el navegador desde la eliminación de estas páginas desde el botón de retroceso cuando elegimos la opción "permanecer en la página actual"? ¿Es posible?
Ejemplo del problema
El uso de Google Chrome, en una nueva ventana, la cabeza a http://stackoverflow.com y navegar por una serie de preguntas sin tener que volver. Luego presiona el botón Preguntar. Comience a escribir en el cuadro de diálogo. Presiona Atrás en tu navegador. Seleccione permanecer en la página. Vuelva a presionar en el navegador y esta vez seleccione la opción de dejar la página. Ahora has retrocedido dos páginas en la historia. En esencia, puede volver a varias páginas si hace clic en permanecer en la página más de una vez.
¿Por qué esto importa ?!
No quiero confundir a mis usuarios. No son del tipo experto en informática.
Mi código (no es que sea relevante)
$(window).bind("beforeunload", function(){
if (in_edit > 0){
return "You are currently editing this job.\n\nAre you sure you wish to exit the page?";
}
});
Interesante - Puedo reproducir esto en Chrome 11 (por ejemplo), pero no en Canarias (versión 15). Supongo que esto es/era un error, pero no puedo encontrarlo en http://www.crbug.com. –
Pude reproducirlo en Canarias. crbug.com id 93858 – dan
Acabo de probar en Canary otra vez y la primera vez que pienso * Logré que salga mal, pero ahora no puedo reproducir :( –