Saltar al contenido

Cómo llamar a una función antes de salir de la página con Javascript

Mantén la atención ya que en esta división hallarás la respuesta que buscas.

Solución:

Siempre puede llamar a su función antes de salir de la página.

function myfun()
     // Write your business logic here
     console.log('hello');

antes de descargar:

window.onbeforeunload = function()
  myfun();
  return 'Are you sure you want to leave?';
;

O con jQuery:

$(window).bind('beforeunload', function()
  myfun();
  return 'Are you sure you want to leave?';
);

Esto solo le preguntará al usuario si desea abandonar la página o no, no puede redirigirlo si elige permanecer en la página. Si seleccionan irse, el navegador irá a donde le dijeron que fuera.

Puede usar onunload para hacer cosas antes de que se descargue la página, pero no puede redirigir desde allí (Chrome 14+ bloquea las alertas dentro de onunload):

window.onunload = function() 
    myfun();
    alert('Bye.');

O con jQuery:

$(window).unload(function()
  myfun();
  alert('Bye.');
);

Simplemente llame a su función desde dentro window.onbeforeunload. Tenga en cuenta que algunos navegadores restringen lo que puede hacer aquí (p. ej., no redirecciones ni alertas). Consulte: https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload para obtener más información.

También he añadido el código apropiado para los lectores que hacer desea mostrar un cuadro de diálogo de confirmación.

function doSomething()
    //do some stuff here. eg:
    document.getElementById("test").innerHTML="Goodbye!";

function showADialog(e) window.event).returnValue = confirmationMessage;     // Gecko and Trident
    return confirmationMessage;                                // Gecko and WebKit

window.addEventListener("beforeunload", function (e) 
    //To do something (Remember, redirects or alerts are blocked here by most browsers):
    doSomething();    
    //To show a dialog (uncomment to test):
    //return showADialog(e);  
);

Simplemente presione ‘Ejecutar’ para probar: http://jsfiddle.net/2Lv4pa9p/1/

valoraciones y comentarios

Si para ti ha resultado provechoso nuestro artículo, sería de mucha ayuda si lo compartieras con otros seniors de esta manera contrubuyes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *