2009-09-09 4 views
0

Je sais que cela doit être fait avec javascript. Mais je ne suis pas sûr de savoir comment le faire.Comment demander un retour lorsque l'utilisateur ferme le navigateur?

Scénario:

Lorsque l'utilisateur fermer le navigateur, j'invite un message s'il/elle veut laisser un commentaire/commentaires ou non. S'il clique oui, alors affichez (ou peut-être window.opn/popup), sinon fermez le navigateur normalement.

J'ai essayé d'utiliser la fonction onload, mais il ne fonctionne pas dans Firefox

JS

<script type="text/javascript"> 

function unloadPage() 
{ 
alert("unload event detected!"); 
} 
</script> 

HTML

<body onunload="unload();"> 

J'ai aussi essayé le onbeforeunload

window.onbeforeunload = test; 
function test() { 
return "Submit your feedback to us :)"; 
} 

Mais ça s'appelle ars cela, il invite juste comme un window.alert normal. Il a "Ok" et "Annuler" le bouton. Je ne peux pas faire beaucoup de là. Pouvons-nous faire une vérification, si l'utilisateur clique sur "OK", nous effectuons/rediriger/popup nouvelle fenêtre, et si l'utilisateur clique sur Annuler, nous fermons simplement le navigateur?

J'ai toujours les problèmes de compatibilité, travaille parfois dans IE, mais pas dans FF

+1

Je sens que je ne veux pas répondre à cela, parce que je ne voudrais jamais voir cette solution mise en place n'importe où. Ça me ferait probablement chier. Vous pourriez envisager d'avoir un lien de rétroaction sur votre page à la place. Jetez un oeil à www.uservoice.com – peirix

+1

Ugh, pas une autre page Web qui essaie de m'empêcher de fermer mon navigateur ... –

+0

cette question est répondue [ici] (http://stackoverflow.com/questions/1299662/prompt- user-for-unsaved-changes-when-leaving-page web/1299671 # 1299671). – KB22

Répondre

1

Pouvons-nous faire un chèque, si l'utilisateur clique sur « OK », nous effectuons/redirect/fenêtre pop-up fenêtre

Utilisez un onbeforeunload et définissez un délai juste avant de renvoyer la chaîne 'Voulez-vous bla bla'. Si le délai d'attente se déclenche, l'utilisateur clique sur 'Annuler' pour rester sur la page et vous pouvez effectuer une autre action, par exemple ajouter un formulaire ou effectuer une redirection. Les fenêtres pop-up seront généralement bloquées normalement.

Ce comportement est très désagréable. Si vous le faites, vous risquez des poursuites en vertu de la Loi sur les crimes graves par le Web et sont passibles de peines pouvant aller jusqu'à la mort ou de trois mois d'emprisonnement avec seulement Netscape 4 comme navigateur. (Je prendrais la mort.)

+0

Êtes-vous sérieux? Ajouter une fonction dans la fermeture d'un navigateur va finir en prison ou la mort? Tellement sérieux??? –

+0

Non, évidemment. Mais si ça arrête de faire un onunload-gémir alors oui. :-) – bobince

+0

Mon patron insiste sur le fait. Je n'ai pas le choix .. grrr ... Je ne sais pas pourquoi il ne peut pas laisser un lien/bouton feedbank, pourquoi doit effectuer après la fermeture du navigateur? sacrément irritant !! –

Questions connexes