2010-08-30 8 views
5

Tengo un cliente que acaba de obtener el Apple Magic Mouse. Creamos un sitio web de recetas y ella se molesta mucho cuando ingresa toda la información para la receta, luego busca su nuevo mouse y se desplaza accidentalmente hacia la derecha y hará una exploración hacia atrás y se perderá toda su información. Entonces quiere advertir/mostrar para evitar que esto suceda en esa página.Prevenir un accidente Atrás Examinar

¿Alguna sugerencia o señalarme a algunos JS que hace esto?

Respuesta

11

Este es un script básico de "avisar antes de partir". Cuando el usuario pulsa una tecla en el área de texto, el usuario será notificado si (s) que está a punto de salir de la página:

<script type="text/javascript"> 
var changes = false; 
window.onbeforeunload = function(){ 
    if(changes){ 
     return "You're about to leave this page."; 
    } 
}; 
</script> 
<textarea onkeypress="window.changes=true">recipe here</textarea> 

Alternativamente, puede almacenar el contenido del campo de texto en una variable cuando la página cargas y compararlo después. Esto quitará algo de confusión cuando el visitante solo presione las teclas de flecha en el área de texto sin modificarlo realmente.

+0

+1 así es como lo hace también gmail, etc. –

+0

Sí, si hay valientes que son golpeados por el uso de este código heredado, WebKit (Google Chrome, Safari) no admite la carga previa con 'addEventListener'. – Lekensteyn

+0

La única manera confiable es configurar antes de descargar como una propiedad de la ventana. Como solo debe haber una para cada página, no hay ninguna razón por la que desee utilizar addEventListener de todos modos. –

0

Así que quiere advertir/hacer estallar para evitar que esto suceda en esa página.

Puede enganchar en el evento onBeforeUnload de su navegador y luego mostrar un mensaje de confirmación.

Cuestiones relacionadas