0

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

3 回答 3

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>
于 2011-03-17T14:19:10.010 回答
0

是检测刷新的方法

于 2011-03-17T14:20:14.437 回答
0

在解决方案 window.onbeforeunload 中在这里和那里做一些更改可能会触发多次对我有用。谢谢大家,苏尼尔·乔汉

于 2011-03-18T04:36:56.773 回答