Mozilla firefox ne fonctionne pas avec fenêtre.onbeforeunload
Je suis en utilisant window.onbeforeunload
pour afficher un message à l'utilisateur sur la fermeture des fenêtres, la fonction fonctionne bien avec chrome et IE mais ça ne fonctionne pas avec Firefox, j'utilise firefox version 26.0
j'ai essayé beaucoup, mais sans dire, quelqu'un a dit que ses un bug dans firefox dans ce post et un autre suggère quelques solutions dans ce post j'ai essayé toutes les solutions disponibles à l'aide de javascript et de jquery, mais ça ne fonctionne pas, maintenant, j'affiche une boîte de dialogue de confirmation, mais le navigateur par défaut de la boîte de dialogue qui apparaît après et je ne suis pas satisfaite du résultat, j'ai essayé aussi de prévenir le navigateur par défaut de la boîte de dialogue apparaissant à l'aide de preventDefault()
mais également sans dire!! si il y a une solution à ce problème, il sera bon, voici comment j'ai utilisé le window.onbeforeunload
:
<script>
window.onbeforeunload = confirmWinClose();
function confirmWinClose() {
var myVar ='${isFireFox}';
if(myVar=='true'){
return confirm(confirmExamClose);
}else{
return confirmExamClose;
}
}
<script>
Remarque:isFireFox
est une jsp variable que j'ai utilisé pour savoir le type de navigateur à l'aide de User-Agent
en-Tête et confirmExamClose
est le message que je afficher à l'utilisateur.
OriginalL'auteur Java Player | 2013-12-25
Vous devez vous connecter pour publier un commentaire.
Ici est solution de travail pour Firefox et Chrome. Je n'ai pas encore testé dans Safari et Opera.
c'est firfox comportement @Jim, firefox ne permet pas d'afficher de message personnalisé.
je ne veux pas shoq msg de confirmation, comment puis-je y parvenir?
Je ne l'obtenez pas, le code ci-dessus est pour afficher le message de confirmation, si vous ne voulez pas l'afficher ensuite commenté le code ci-dessus en vous html.
OriginalL'auteur faisale
En utilisant le code donné dans le MDN fonctionne pour moi sous firefox/chrome/IE11 (n'ai pas essayer d'autres navigateurs pour l'instant).
voici la doc : Mdn fenêtre.onbeforeunload doc
OriginalL'auteur vince4128
Pourquoi faites-vous du navigateur renifleurs ici? Le "Firefox" branche de votre code est de retour la valeur de retour de
window.confirm
, qui est un booléen. Mais un booléen n'est pas appelable, afin de l'affecter àwindow.onbeforeunload
est le même que l'affectation d'une valeur null.Ce que vous voulez probablement faire est de supprimer le navigateur renifleurs et il suffit de faire:
Exécuter le gestionnaire fonctionne très bien. Poser les boîtes de dialogue de beforeunload gestionnaires (en dehors de, en retournant false) n'est plus autorisée en raison de trop nombreux sites ont été abuser de cette.
Vous êtes de droite. bon appel à eux pour arrêter ce non-sens. C'était assez ennuyeux..
OriginalL'auteur Boris Zbarsky