用户按下刷新或浏览器后退按钮后,我想将用户重定向到其中一个页面以重启应用程序。我的javaScript代码如下:
var workIsDone = false;
window.onbeforeunload =confirmBrowseAway;
function confirmBrowseAway()
{
if (!workIsDone) {
alert("You are moving to choice page");
window.location.href="/choice_page/";
}
}
function abc(){
workIsDone=true;
}
//.
//.
<div align="center"><input class="button blue" type="Submit" value="Next" onClick="abc()"></div>
但我不知道为什么它不起作用。我不想使用确认框。
跟进: 我稍微更新了代码。它将用户带到选择页面并要求保留在选择页面上或继续进行工作。但是当用户单击“确定”继续工作时,将再次提交上次提交的数据。
function confirmBrowseAway()
{
if (!workIsDone) {
window.location.href="/choice_page/";
return "Since you pressed refresh or back button, you are on start page again.";
}
}
答案 0 :(得分:0)
你可以尝试这个,但它只适用于IE(我测试的ie8):
<script language="javascript">
function document.onkeydown() {
if (event.keyCode == 116) {
alert("MOVING AWAY");
window.location.href="/choice_page/";
event.keyCode = 0;
event.cancelBubble = true;
return false; }
}
</script>
答案 1 :(得分:0)
Here是如何检测刷新
答案 2 :(得分:0)
在这里做一些变化的解决方案window.onbeforeunload may fire multiple times为我工作。 谢谢你们, Sunil Chauhan