0

ユーザーが更新またはブラウザの戻るボタンを押すと、アプリケーションを再起動するためにユーザーをページの1つにリダイレクトしたいと思います.My 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>

しかし、なぜそれが機能していないのかわかりません。確認ボックスを使用したくありません。

フォローアップ: コードを少し更新しました。ユーザーを選択ページに誘導し、選択ページにとどまるか、作業を続行するかを尋ねます。ただし、ユーザーが [OK] をクリックして作業を続行すると、最後に送信されたデータが再度送信されます。

  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

更新を検出する方法は次のとおりです

于 2011-03-17T14:20:14.437 に答える
0

ソリューションwindow.onbeforeunloadのあちこちでいくつかの変更を行うと、複数回起動する可能性があります。ありがとう、スニル・チャウハン

于 2011-03-18T04:36:56.773 に答える
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 に答える