-1

プロセスが終了していないことを確認するために、html ページの送信ボタンをクリックしている間はブラウザの戻るボタンを無効にする必要があります。

ブラウザで戻るボタンを無効にするコードを次に示しますが、onload イベントでのみ機能します。これをonclickイベントで使用しようとすると、機能しません。

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>New event</title>
</head>
<SCRIPT type="text/javascript">
window.history.forward();
function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
onpageshow="if (event.persisted) noBack();" onunload="">
<a href='page2.html' >Page 2</a>
</body>
</html>

HTMLページの送信ボタンをクリックしているときにブラウザの戻るボタンを無効にする方法を誰でも知っていますか

4

4 に答える 4

3

クリックすると、ナビゲーションの前に実行されるため、機能しません。つまり、存在しない「進む」ページに移動します。

使用するonbeforeunload

var submitFlag=false;
//set submitFlag to true on onclick of submit button
window.onbeforeunload=function(e){ 
 if(submitFlag){
  return false;
 }
 return "Are you sure you want to leave?"

 }

ただし、これはユーザーを強制することはできません。ユーザーに戻らないように強制することはできません。そうしないと、大きなセキュリティ上の問題が発生する可能性があります。

于 2012-05-02T12:21:28.523 に答える
1

やらないでください。戻るボタンの機能を壊さないことを強くお勧めします。

ブラウザの「戻る」ボタンを無効にするを参照してください

于 2012-05-02T12:19:36.017 に答える
0

ブラウザの戻るボタンを無効にすることはできません。JavaScript などではありません。サーバー側では、送信ボタンが押されたかどうかを追跡し、それに応じてアクションを実行できます。

于 2012-05-02T12:20:22.657 に答える
0

ブラウザの戻るボタンを無効にすることはできません。

あなたが与えるコードスニペットは、戻るボタンを「無効」にしません。私はあなたがそれが何をするのか理解しているとは確信していません.

機能:

  1. script タグで、「進むボタン」( window.history.forward()) のクリックをシミュレートします。ユーザーが戻るボタンを押した場合、元の場所に戻る可能性があります。

  2. ページが読み込まれ (そのため、前のハックは機能しませんでした)、ページが履歴キャッシュから読み込まれた場合 ( event.persisted)、[進む] ボタンのクリックをシミュレートします。

戻るボタンが無効になることはありませんでした。代わりに、次のページのバック動作を中断するページを作成しました。

代わりにonbeforeunloadイベントを使用することをお勧めします。

于 2012-05-02T12:23:49.030 に答える