2010-09-13 10 views

Respuesta

21

No puede establecer el texto en "sí"/"no" (será "Aceptar"/"Cancelar" en la mayoría de los navegadores), pero puede solicitar (tenga cuidado al usar esto) al salir del página de ninguna manera el uso de window.onbeforeunload, así:

window.onbeforeunload = function() { 
    return "Are you sure you wish to leave the page?"; 
} 

Sólo utilice esta opción si tiene una buena razón, no molestar a sus usuarios. Dicho esto, esto le indicará al salir de la página, que incluye el historial de retroceder, reenviar, actualizar, cerrar la ventana/pestaña, hacer clic en un enlace para navegar o enviar un formulario, etc. Por lo tanto, es probable que desee llamar a esto cuando ir a un lugar que no debe provocar:

window.onbeforeunload = null; 

Por ejemplo, la presentación de una forma de información, que le desea preguntar al salir/perder los datos, pero no cuando en realidad la presentación de la misma.

+0

@suraj: Por ejemplo, comience a escribir una respuesta a continuación y luego trate de abandonar la página. :-) StackOverflow hace exactamente lo que Nick describe. –

+1

* "Así que probablemente quieras llamar a esto cuando vayas a un sitio que no debería pedirte ..." * O usa una bandera o marca la función, en lugar de desconectarla. Si la función no devuelve una cadena, no avisa al usuario. –

+1

@suraj: Ejemplo: http://jsbin.com/aquse4 –

Cuestiones relacionadas