Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript/jquery中用户离开页面之前提交表单_Javascript_Onbeforeunload - Fatal编程技术网

在javascript/jquery中用户离开页面之前提交表单

在javascript/jquery中用户离开页面之前提交表单,javascript,onbeforeunload,Javascript,Onbeforeunload,是否可以创建更定制的离开页面事件? 现在,我正在使用window.onbeforeunload事件在用户离开页面之前警告他们未保存的更改 不过,我真正想做的是,在离开页面之前,给用户一个选项,让其立即保存数据,可能会弹出一个按钮,然后继续重定向数据。我假设在显示我尝试过的消息之前,不可能让onbeforeunload做一些额外的工作 那么,我想要的是可能的还是好主意呢?大多数大型网站(包括stack)使用的模型只是警告用户他们有未保存的数据。我建议你复制这种行为。你不是第一个想要优雅地处理用户离

是否可以创建更定制的离开页面事件? 现在,我正在使用window.onbeforeunload事件在用户离开页面之前警告他们未保存的更改

不过,我真正想做的是,在离开页面之前,给用户一个选项,让其立即保存数据,可能会弹出一个按钮,然后继续重定向数据。我假设在显示我尝试过的消息之前,不可能让onbeforeunload做一些额外的工作


那么,我想要的是可能的还是好主意呢?

大多数大型网站(包括stack)使用的模型只是警告用户他们有未保存的数据。我建议你复制这种行为。

你不是第一个想要优雅地处理用户离开页面的人

不幸的是,onBeforeUnload是您可用的,也是您必须使用的


之所以只能显示消息,是因为其他恶意网站可能会尝试取消导航,以阻止用户离开页面。

如果使用PHP,可以使用onbeforeunload和ajax,如

<html>
<head>
<script type="text/javascript">
function close_logout() {
 var xmlhttp=new XMLHttpRequest();
 xmlhttp.open("GET", "logout_script.php", true);
 xmlhttp.send();
}
</script>
</head>
<body onbeforeunload="close_logout()">
U'r page and stuff
</body>
</html>

然后你可以在PHP站点上使用一些PHP函数等等。

这个问题可能更适合我,我决定就这样做。对于用户可能不太关心的事情来说,尝试自定义行为似乎太麻烦了。谢谢。保持用户熟悉的惯例很重要。