J'ai besoin de votre aide,En attente de fonction pour terminer avant de fermer la fenêtre à l'aide window.onbeforeunload
Il semble que quand je ferme la fenêtre (IE 11), la boîte de confirmation apparaît et que je clique sur le bouton OK , la fonction veut s'exécuter, mais la fenêtre se ferme avant que la fonction ait une chance de terminer (enregistrer un enregistrement dans une base de données). Comment le code peut-il être modifié de telle sorte qu'il donne à la fonction imts_save_changes() une chance de finir ses opérations de DB avant de fermer la fenêtre?
Voici le balisage:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
</style>
<script type="text/javascript">
window.onbeforeunload = function() { return test() }
function test() {
if (confirm("would you like to run the last function before closing the window?")) {
imts_save_changes()
alert("record saved")
}
}
</script>
</head>
<body></body>
</html>
Le code en question:
window.onbeforeunload = function() { return test() }
function test() {
if (confirm("would you like to run the last function before closing the window?")) {
imts_save_changes()
alert("record saved")
}
}
Vous devez simplement annuler la navigation et utiliser la fonction onbeforeunload avec leur message normal. – epascarello
Javascript n'est pas possible d'empêcher la fermeture de la fenêtre. C'est une fonctionnalité de sécurité, un logiciel malveillant utilisé pour garder la fenêtre ouverte jusqu'à ce que l'utilisateur l'autorise à faire ses dégâts. – Barmar
@barmar HTAs ne se soucient pas beaucoup de la sécurité ... – Teemu