javascriptはどうやってブラウザの後退ボタンを無効にしますか?


1、
 
<script language="JavaScript">
javascript:window.history.forward(1);
</script>
は、JSを利用して、後退機能を相殺する「前進」の動作を生成し、この方法は最も簡潔であるべきであり、ユーザが2回連続または何回も「後退」することを考慮する必要がない場合、欠点は、ユーザ側がJavaScriptを無効にした後に失効することである。2、
 
<A HREF="logout.do" onclick="javascript:location.replace(this.href); event.returnValue=false; ">
Logout (Back Disabled)
</A>
はlocations.replaceで一つのページから別のページに移動します。この方法の原理は、現在の履歴を新しいページのURLで置き換えることであり、このように履歴を閲覧すると1ページだけになり、後退ボタンは永遠に利用可能になることはない。これは多くの人が探している方法だと思いますが、この方法はまだどんな場合でも一番いい方法ではありません。この方法の欠点は、Reponse.Redirectを簡単に使うともはや有効ではないということです。これは、ユーザがページから別のページに移るたびに、クライアントコードでlocation.historyをクリアしなければならないからです。また、この方法がクリアされるのは、すべてのアクセス履歴ではなく、最後のアクセス履歴です。3、キーボードが後退ボタンを押すと、ブラウザが自動的に後退することは禁止されているが、パスワード、1行テキスト、複数行テキスト入力ボックスなどに影響を与えないキャンセル操作
 
<script type="text/javascript">

// (Backspace) 、
function banBackSpace(e){
var ev = e || window.event;// event
var obj = ev.target || ev.srcElement;//

var t = obj.type || obj.getAttribute('type');//

//
var vReadOnly = obj.getAttribute('readonly');
var vEnabled = obj.getAttribute('enabled');
// null
vReadOnly = (vReadOnly == null) ? false : vReadOnly;
vEnabled = (vEnabled == null) ? true : vEnabled;

// Backspace , 、 ,
// readonly true enabled false ,
var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")
&& (vReadOnly==true || vEnabled!=true))?true:false;

// Backspace , 、 ,
var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")
?true:false;

//
if(flag2){
return false;
}
if(flag1){
return false;
}
}

// Firefox、Opera
document.onkeypress=banBackSpace;
// IE、Chrome
document.onkeydown=banBackSpace;

</script>
以上の方法はいずれも「後退」ボタンに対する反応であり、クライアントブラウザはJavaScriptコードを開く必要がある。4、キャッシュ
 
<%

response.setHeader("Cache-Control", "no-cache");

response.setHeader("Cache-Control", "no-store");

response.setDateHeader("Expires", 0);

response.setHeader("Pragma", "no-cache");
%>
を禁止するこのような方法はサーバ端末のスクリプトを使用して、ブラウザに強制的に再アクセスして、キャッシュからページをダウンロードしないで、struts jspページの「logic」タブと結合して、リダイレクトを実現する。以上の様々な方法には一定の制限があります。5、
 
<script language="JavaScript">

function logout(){

window.close(true);

window.open("logout.do");

}
</script>
<button onClick="logout()">Logout</button>
は怠けています。ブラウザを消して再開します。私のテストを通して視覚的にはほとんど遅延を感じません。同時にバックボタンが使えないことを保証しました。閉じたり開いたりするブラウザのウィンドウのサイズは違っていますが、ユーザーはこのプロセスを明らかに見抜き、操作に影響を与えます。次に、同じです。これはJavaScriptの方法です。