Javascript onload, onunload
De considérer les éléments suivants extrait de code HTML contenant du javascript en utilisant prompt
et unload
. Le prompt()
méthode fonctionne très bien mais je veux alerter quelque chose comme au Revoir, l'utilisateur lors du rechargement ou de quitter la page. Toute aide est grandement appréciée.
<body onload="promptName()" >
<script type="text/javascript">
function promptName()
{
var userName = prompt("What's your name ?", "")
return userName;
}
function goodBye()
{
alert("Goodbye, " + promptName() + "!");
}
window.onunload = goodBye();
</script>
</body>
Quel navigateur êtes-vous tester contre? Selon le MDN, onbeforeunload se comporte différemment selon les navigateurs: developer.mozilla.org/en/DOM/window.onbeforeunload
chrome et IE8 navigateurs
chrome et IE8 navigateurs
OriginalL'auteur George | 2012-03-28
Vous devez vous connecter pour publier un commentaire.
Vous devriez l'écrire comme ceci:
Aussi, vous pouvez envisager d'utiliser l'événement onbeforeunload dans certains navigateurs:
Lorsque vous écrivez
window.onunload = goodBye();
vous assigner ce gestionnaire est retourné à partir degoodBye
à launload
événement. Puisque rien n'est retourné, il n'y aura pas de gestionnaire d'événements. Vous avez besoin de faire référence à la fonction à la place:window.onunload = goodBye;
OriginalL'auteur David Hellsing
Vous ne pouvez pas assing de cette façon: de la fenêtre.onunload = au revoir();
Si vous voulez assing de cette façon, vous avez trois façons:
ou
Et mon préféré, car il vous permet d'ajouter plus de fonctionnalités:
Quel exemple? 1,2,3?
addEventListener
n'est pas dispo dans IE8-ce qui dans mon exemple n'est pas disponible dans IE8?
Je ne suis pas sûr que je peux l'expliquer mieux que mon précédent commentaire. developer.mozilla.org/en/DOM/...
OriginalL'auteur Javier Cobos
Comme on le voit ICI
ou
Bien que je vous suggère d'économiser le nom d'utilisateur à un glob par paramétrer une var à l'extérieur de vous charger func qui reçoit le nom d'utilisateur après la première invite, alors vous n'avez pas à les inciter à leur nom lorsqu'ils quittent
OriginalL'auteur SpYk3HH
onbeforeunload
voir ma réponse, vous devez faire référence à la fonction, de ne pas l'exécuter.
Mise à jour de la réponse ci-dessus
OriginalL'auteur PraveenVenu
Vous pourriez faire quelque chose comme ceci:
c'était juste pour vous montrer l'événement. vous devez modifier votre code de cette fonction au revoir() { return ("au Revoir", " + userName + "!"); }
OriginalL'auteur hennson
Cela fonctionne pour moi, mais l'on a accepté la réponse ne l'est pas. Cela prend également en charge plus de navigateur d'événements.
Cela peut aussi être utilisé avec diverses
onbeforeunload
etbeforeunload
scripts.OriginalL'auteur kochauf