用户按下刷新按钮或后退按钮时重定向

时间:2011-03-17 13:18:48

标签: javascript python html django-nonrel

用户按下刷新或浏览器后退按钮后,我想将用户重定向到其中一个页面以重启应用程序。我的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.";
     }
  }

3 个答案:

答案 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