ブラウザの戻るボタンから履歴ページに戻りたくありません。どうすればこれを行うことができますか?
5 に答える
私はあなたが間違った問題を解決しているというダミアンのここでの指摘に同意します。これについてブログ記事を書きました
Web開発者は、サーバーコードを完全に制御できますが、スクリプトに関してはクライアントの制御が制限されます。クライアントにスクリプト機能があることを保証することさえできません(ユーザーはサイトを信頼するまでスクリプトを無効にすることができます)。したがって、クライアントの観点からサイトの動作を設計しないでください。つまり、ブラウザーの戻るボタンを無効にしようとします。
代わりに、ログアウトしたユーザーが戻るボタンをクリックしたときにログインページにリダイレクトされるように動作を実装する必要がある場合は、これが発生するようにサイトを設計する必要があります。サーバー側の設計は、クライアントの動作を促進する必要があります
完全なブログ投稿はここにあります-http://www.dylanmorley.com/blog/post/Web-Development-Disabling-the-back-button.aspx
javascriptを使用して目的の結果を達成することはできますが、すべてのモードですべてのデバイス間で一貫した動作を保証することはできません(例:スクリプトを無効にしたモバイルブラウジング)
サーバー側のコードを正しく設計すると、スクリプトが有効になっているかどうかに関係なく、戻るボタンの期待される動作を損なうことなく、クライアントの動作が正しくなります。
HTML5 history API を使用して無効にすることができます。これについては、Jordan Hollinger による素晴らしい記事があります。
キャッシュを期限切れにして、この機能を実現できます。
Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
あなたはそれを行うことができますが、@Ahrenがそうすべきではないと言いました。
SPA(シングルページアプリケーション)を開発するだけです。その場合、Web サーバーへの非同期リクエストのみが発生し、ページが部分的に更新されます。タグでわかるように、開発にはasp.netを使用しています。そのため、asp.net の公式 Web サイトでその方法を確認できます: Samples: A Tour through SPA
サイトからログアウトした後ですか?もしそうなら、これがあなたを助けると思います:リンク