J'ai ce code jQuery;La fenêtre avant la connexion affiche deux boîtes de dialogue
$(function() {
$(window).unbind("beforeunload");
$(window).bind("beforeunload", function() {
return confirm("Really?");
});
});
Quand je ferme ma fenêtre je reçois la demande de confirmation et si je frappe « Annuler » Je reçois une deuxième confirmation qui dit;
"Êtes-vous sûr de vouloir quitter cette page?"
« Faux »
« Appuyez sur OK pour continuer ou Annuler pour rester sur la page en cours. » Pourquoi est-ce que j'obtiens une deuxième boîte de dialogue et y a-t-il un moyen de la supprimer?
modifier
ont changé le code à;
$(function() {
$(window).bind("beforeunload", function() {
return "slappy?";
});
});
Mais le message de confirmation n'apparaît pas. L'événement se déclenche parce que je peux mettre une alerte là-bas et voir l'alerte.
modifier 2
ont changé le code pour cela;
window.onbeforeunload = function() {
var txtBlog = $('#tbxNote').val();
if (txtBlog != "")
return "You have not saved your blog entry.";
}
cela fonctionne mais il y a d'autres textes au-dessus et au-dessous de mon message;
"Êtes-vous sûr de vouloir quitter cette page?"
"Vous n'avez pas enregistré votre entrée de blog."
"Appuyez sur OK pour continuer ou sur Annuler pour rester sur la page actuelle."
Cela se passe sur IE8. N'a pas vérifié FF – griegs
Vous pouvez raccourcir cela en faisant '$ (window) .unbind (" beforeunload "). Bind (" beforeunload "), ...' mais cela dépend entièrement de vous. –
Re edit 2: Comme Cory mentionné ci-dessous, il n'est pas possible de modifier ou de supprimer ce texte supplémentaire - sinon des sites Web malveillants pourraient dérouter les gens en affichant un message trompeur. –