【解決方法】ログアウトボタンをクリックした後、ブラウザの戻るボタン機能を無効にする


マスターページで以下のコードを使用しました

<script type="text/javascript">
        function noBack()
         {
             window.history.forward()
         }
        noBack();
        window.onload = noBack;
        window.onpageshow = function(evt) { if (evt.persisted) noBack() }
        window.onunload = function() { void (0) }
    </script>

それは私にとってはうまくいっていますが、まだ問題があります。
マスター ページにログアウト操作を設定したため、マスター ページに関連付けられたすべてのページでブラウザーの[戻る]ボタンが無効になります。これは、マスター ページに関連付けられたすべてのページに対してコードが実行されるためです。
ログアウトがクリックされた場合にのみ、ブラウザの戻るボタン機能を無効にする必要があります。

解決策 8

バック機能を無効にする代わりに、アプリケーションのページでユーザーの認証を確認する必要があります
(つまり、ユーザーがログイン ページからログインしているかどうか、およびユーザーが適切なキーを持っているかどうかを確認します) そうでない場合は、ログイン ページにリダイレクトする必要があります。
アプリケーションに適切な認証を適用することで、これを行うことができます。

詳細はこちら
http://msdn.microsoft.com/en-us/library/532aee0e(VS.71).aspx[^]

解決策 2

srikanthvuppula は次のように書いています: ログアウトがクリックされたときのみ、ブラウザの[戻る]ボタン機能を無効にする必要があります。

いいえ、ありません。 ユーザーが戻るボタンを押しても問題にならないように、アプリケーション ロジックを再考する必要があります。

ページを表示するときにログインしているかどうかはわかっているので、単純に「このページを表示するにはログインする必要があります」というメッセージを表示したり、一般的な非ユーザー固有の情報を表示したり、最悪の場合、ログインを強制したりしないでください。ログインしていないときにページを表示すると、リダイレクトされます。

ブラウザをいじろうとしないでください。 それは散発的にしか機能せず、その後は JavaScript が有効になっている場合にのみ機能し、ブラウザーを作成する人の気まぐれに左右されます。

解決策 3

やあ、

コードがすべてのブラウザでサポートされているわけではありません。 すべてのブラウザでチェックしてください。 このことをコードで処理する必要があります。 ブラウザの戻るボタンで時間を無駄にしないでください。

解決策 1

チェック これ[^] 騙す

解決策 5

ブラウザーのキャッシュを無効にすると、これが解決することが常にわかっています。 これは、ブラウザがサーバーからページを呼び出す必要があることを意味します。これにより、戻るボタンを使用した場合でも、適切に処理できます。 使用してみてください:

C#
Response.ExpiresAbsolute = DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0));
Response.Expires = 0;
Response.CacheControl = "no-cache";

C# コード サーバー側の Page_Load イベントで。

コメント

タイトルとURLをコピーしました