1

タイトルとして:現在のページがブラウザの履歴をナビゲートするか、リンクをたどるか、またはポストバックによって表示されるかどうかをクライアント側で知る方法はありますか?

4

2 に答える 2

3

技術的には、ユーザーのブラウザ履歴を読み取ることはできません。これはプライバシーの懸念を超えています。ただし、ユーザーがページリファラーを介してページに移動したかどうかを判断するために何かを行うことができます。ポストバックの場合は、サーバー側の変数を出力できます。

javascriptでリファラーを取得するのはとても簡単です

var referrer = document.referrer;

それがポストバックであるかどうかを判断するには(C#で)

var isPostback = <%= IsPostBack %>

歴史の問題はもう少し複雑です。それを回避する最善の方法は、ページをすぐに期限切れにするように設定することです。

Response.Cache.SetNoServerCaching();
Response.ExpiresAbsolute = DateTime.Now;

しかし、これらは比較的緩い解決策です。なぜこの動作が必要なのですか?

于 2009-10-22T14:44:18.163 に答える
2

すべてのページに日付スタンプを追加できます。タイムスタンプが離れすぎている場合は、ユーザーが [戻る] ボタンを使用した可能性があります。ただし、ブラウザがキャッシュからページをロードしていない場合、これは機能しません。

URL にタイムスタンプを追加することもできます。次に、ページのタイムスタンプとリファラー URL のタイムスタンプを比較します。

Cookie を使用した解決策を考えていますが、現在取得できません。誰か?

于 2009-10-22T14:59:01.930 に答える