Problema:
Soy nuevo en JavaScript. Y quiero dar un mensaje como "¡hoy tienes xxx obras abajo!",
cuando mis usuarios cierran el navegador. Busqué en google/stackoverflow y obtuve algunas soluciones en Preguntar al usuario antes de cerrar el navegador.
PERO, cuando pruebo el código de la siguiente manera, solo muestra el mensaje predeterminado del navegador, no el mío. ¿Cómo puedo resolverlo?
Código:
function test(evt) { var message = 'Did you remember to download your form?'; if (typeof evt == 'undefined') { evt = window.event; } if (evt) { evt.returnValue = message; } return message; }¿Hay algunas API o soluciones útiles para mí?
Editar (2021.9.22) Pruebo los consejos publicados por @NiceBooks como
window.addEventListener('beforeunload', function (e) { window.alert("ready to exit"); window.confirm("just a test"); e.returnValue = ''; });IE y FireFox muestran su mensaje predeterminado. Si e.returnValue no está configurado, no hay un cuadro de aviso cuando hago clic en el botón Salir. antes de descargar dice:
'En algunos navegadores, las llamadas a window.alert(), window.confirm() y window.prompt() pueden ignorarse durante este evento. Consulte la especificación HTML para obtener más detalles. '
Tal vez es la razón por la que fracasé. Pero, ¿realmente no hay solución?
Puede probar con la window.confirm(msg) .
https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm
Úselo junto con el evento beforeunload en el objeto de la window :