2011-11-14 10 views
1

私は2つのJSP:page1.jsppage2.jspを持っています。閲覧履歴にページを含めることを避ける方法

page1.jspの出力は、いくつかのcircunstances下であってもよい:層(フィルター)は、すべてのリンクのURLを書き換え、Webアプリケーションでありますので、

<a href="page2.jsp" id="hiddenlink" style="display:none;" >not displayed</a> 
<script>this.location.href=document.getElementById("hiddenlink").href;</script> 

この奇妙な方法でリダイレクトを行うには理由があります読めない文字列に変換する。ブラウザは<a href="_YerwfwTWEf5YH34njtyRX"...>のようなものになります。

この場合、page1.jspがブラウザの履歴に保存されないようにする方法(メタやヘッダーなど)はありますか?

おかげ

答えて

2

唯一の方法は、Javascriptを経由location.replaceを使用することです。他の方法(リンク、リダイレクトなどをクリックする)は、履歴に新しいエントリを追加します。

+0

私はそれを試してみましょう、Iそれを「置き換える」方法を知らなかった。 –

0

の代わりにこの:

this.location.href=document.getElementById("hiddenlink").href; 

これだけpage2.jspは歴史になり、ブラウザの履歴に現在のページを置き換えるために、これを使用します。

window.location.replace(document.getElementById("hiddenlink").href); 
+0

JSを無効にしている人は誰でも自分の履歴に元のページが残っていることに注意してください。 – Matt

+0

JSが無効になっている場合、質問で使用されたリダイレクトはまったく機能しません。この質問で使用されるクライアント側のリダイレクトメカニズムにはjavascriptが必要です。 javascriptがなければ、ページはpage1.jspになり、履歴にはそのページが表示されます。 – jfriend00

+0

はい、JSは私のために "そこにいる"ので、それは問題ではありません。 anwserのおかげで –

関連する問題