J'ai un scénario dans lequel si l'utilisateur essaie de fermer la fenêtre courante du navigateur, il devrait afficher une boîte de confirmation. S'il confirme la fermeture de la fenêtre, cette fenêtre devrait se fermer et ouvrir la nouvelle fenêtre avec une URL différente.Ouvrir une nouvelle fenêtre de navigateur à la fermeture de la fenêtre en cours si l'utilisateur confirme la fermeture de la fenêtre en cours
J'ai essayé d'utiliser le code suivant par lequel je suis en mesure d'afficher la case de confirmation, mais je suis incapable de comprendre comment ouvrir la nouvelle fenêtre si l'utilisateur confirme la fermeture du courant.
var preventUnloadPrompt;
$('a').live('click', function() { preventUnloadPrompt = true; });
$('form').live('submit', function() { preventUnloadPrompt = true; });
$(window).bind("beforeunload", function() {
if (preventUnloadPrompt)
{ return; }
else {
return confirm("quit??");
}
});
Tout type d'aide est apprécié. Merci.
Il est impossible – Esailija
En théorie, il devrait être possible d'utiliser 'window.open', mais ce n'est pas une bonne idée car la plupart des navigateurs empêcheront probablement d'appeler' window.open' dans l'événement 'unload'. De quoi as-tu besoin pour faire ça? Sûrement si un utilisateur essaie de fermer l'onglet, alors ils veulent quitter le site, ne pas ouvrir un nouvel onglet ...? – ClarkeyBoy
En fait, il y a un ensemble de questions posées une par une à un utilisateur. Si l'utilisateur ferme cette fenêtre, je veux exécuter du code sur une page différente qui marquerait, que cet utilisateur a tenté l'ensemble des questions et l'empêchera donc de réessayer la question à nouveau. Normalement, cela se produit lorsque l'utilisateur a fini de tenter toutes les questions. –