2015-12-23 1 views
3

Mon site montre la fenêtre modale personnalisée avec une animation de chargement lorsqu'un utilisateur tente de naviguer vers une autre page:Comment savoir quand un utilisateur a annulé la page déchargement

window.onbeforeunload = function() { 
    w.modalForms.loading.show(true); // true stands for permanent 
}; 

Il fonctionne très bien, sauf pour le scénario suivant: pour Par exemple, l'utilisateur a cliqué sur un mauvais lien et a appuyé sur Echap (ou cliqué sur le bouton "Stop" du navigateur) pour annuler la navigation. Comme résultat, le chargement ne disparaîtra pas, et il devra mettre à jour la page pour pouvoir travailler avec le site.

Je veux savoir quand un utilisateur annule le déchargement \ la navigation.
Juste quelque chose comme:

window.onunloadcancelled = function() { 
    w.modalForms.loading.hide(); 
} 

Comment puis-je y parvenir?

Répondre

0

Peut-être que vous devriez essayer un délai d'expiration, une fois que la demande à la nouvelle page Web est renvoyée. Il n'y a aucune solution de navigateur croisé qui détecte quand l'utilisateur frappe un bouton d'arrêt.

Pour la touche esc, vous pouvez capturer l'événement et retirez le

$(document).keyup(function(e) { 
if (e.keyCode == 27) { 
    w.modalForms.loading.hide(); 
} 

});

Vous pouvez commencer à regarder la touche ÉCHAP après avoir affiché le modal. Et puis retirez l'écouteur pour le codage