web-dev-qa-db-ja.com

特定のサイトで戻る/進む/更新が許可されないのはなぜですか?

[〜#〜] irctc [〜#〜] のような多くのサイトで、これは私にとってフラストレーションの原因でした。オンラインバンキングサイトでは、戻る、進む、または更新できません。そうすると、ログアウトしてしまい、再度ログインする必要があります。私が理解していないのは、そのようなひどい「機能」を持っていることを彼らの心に考えていたのかどうかです。

7
Shubham

この「機能」の一般的な理由は、サイトがサーバー側で現在のセッションの状態を維持しようとすることです。

サーバー側で「会話」状態を追跡したいという願望は、ウェブ上にデスクトップのような「リッチクライアント」を書き込もうとすることから(ウェブを無秩序として受け入れるのとは対照的に)よくあります。公平に言うと、これはほとんど、リッチWebアプリケーションの概念が最近ほどよく理解されていなかったときに起こりました。

たとえば、サイトが複数ページのウィザードを提供し、正確にどこにいて、どのような回答を与えたかを追跡する場合、正常な方法でのバック/フォワードのサポートは複雑になります(一部の操作がサーバーにまったく通信されないため) 。

この合併症は、サイトが完全に前進/後退を禁止するほど遠い場合があります。お気づきのとおり、これには明らかなユーザビリティの問題があります。

15
Joachim Sauer

最新のWebアプリケーション(特に [〜#〜] mvc [〜#〜] で記述されているもの)では、プロセスフローが画面上のアセットによって駆動されるため、このようなナビゲーションメソッドは必要ありません。

ただし、最新のブラウザーのインターフェイスの多くは、コンテンツが静的であり、状態を維持する必要性があまりない Web 1. スタイルのWebサイトを対象としています。

上記のすべてが真実であることを知っていても、そのような機能が私たちにとって非常に自然なものになったときに、そのような機能を削除するのは難しいことだと私は同意します。

EnterキーとEscapeキーにボタンを割り当てることができるwinformsアプリと同様の方法で、将来のフレームワークにブラウザの戻る/進む/更新ボタンに画面上のアセットをフックするいくつかの方法があると思います。

別の方法としては、ブラウザーが(なんらかの理由で)基礎となるフレームワークを検出し、Webアプリケーションインターフェイスでサポートされていないボタンを非表示にすることができます。

1
Robbie Dee