Pregunta ¿Confirma el diálogo cuando cierro el navegador?


Necesito mostrar el cuadro de diálogo de confirmación antes de cerrar la ventana del navegador usando javascript o PHP. el cuadro de confirmación debe venir cuando hago clic en el botón de cerrar del navegador. de lo contrario, no muestra el cuadro de diálogo. por favor, ayúdenme.


10
2017-12-13 10:08


origen


Respuestas:


Debería manejar el evento onbeforeunload ...

function closeEditorWarning(){
    return 'Are you sure?'
}
window.onbeforeunload = closeEditorWarning;

O use jquery, window.attachEvent / window.addEventListener para hacerlo bien


22
2017-12-13 10:11



onunload no es muy útil (en mi opinión) ya que no puedes hacer nada con el confirmación que está solicitando (excepto tal vez intentar otra ventana nueva con window.open, asi que onbeforeunload es más útil para este caso.

Tu mejor apuesta es onbeforeunload, lo cual es genial, pero no funcionará en Opera (aunque esto generalmente no es un factor decisivo).

Como dijo la hiedra, se vería así:

<script>

    var userIsEditingSomething; // set this if something crazy happens
        oldOnBeforeUnload = window.onbeforeunload;

    window.onbeforeunload = function () {
        // attempt to handle a previous onbeforeunload
        if ('function' === typeof oldOnBeforeUnload) {
            var message = oldOnBeforeUnload();
            if ('undefined' !== typeof message) {
                if (confirm('string' === typeof message ? message : 'Are you sure you want to leave this page?')) {
                    return; // allow user to exit without further annoying pop-ups
                }
            }
        }
        // handle our own
        if (userIsEditingSomething) {
            return 'Are you sure you want to exit?';
        }
    };

</script>

1
2017-12-13 10:40



function doUnload()
{
  // use confirm dialog box here
   confirm("Window is closing...");

}

<body onunload="doUnload()">

-2
2017-12-13 10:11