使い勝手の良いシングルページアプリの仕組み
ページのユーザー エクスペリエンスと使いやすさを向上させたい場合は、ページ ハッシュ/フラグメントを使用する必要があります。他の人が行ったのと同じ (または類似した) コードを提供するつもりはありませんが、エクスペリエンスをアップグレードします。
では、そのUXはどうでしょうか
単一ページ Web アプリケーションは、作業のコンテキストを変更するたびにハッシュを変更する必要があります。これは、ユーザー インターフェイスまたはユーザーが UI で実行するビジネス プロセスによって定義される場合があります。また、ユーザーが以前のプロセス状態に戻る/戻る必要があると予想される場合は、そのようなプロセスの個々のステップによって定義される場合もあります。
このようにして、アプリケーションは、複数のページで構成される通常の Web アプリケーションと同様に機能し、ビジネス プロセスとその手順に基づいて新しい履歴エントリを作成します (この場合の手順は通常、ページ全体のポストバックです)。
したがって、ビジネス プロセスと、アプリケーションを通常のマルチページ アプリケーションと考えると、ページ フラグメントを変更する可能性がある場合に多くの有用なポイントが得られます。これを制御できるため、複数ページの Web アプリケーションよりも優れた粒度 (通常は小さい) を提供できます。
複数ページのアプリケーション履歴にポイントが多すぎる簡単な例
フォームの投稿は通常常に問題があるため、ユーザーが F5 キーを押して同じフォームを何度も再送信するため、ポストバック応答の後に履歴ポイントを持つことは常に悪いことです (ブラウザーは投稿データの再送信について尋ねますが、それでも悪い経験です)。
ページの断片化は進むべき道です。ログオンページに戻るのを防ぐだけでなく、さらに使用してください。
ログオン ページが履歴スタックに入るのを完全に防ぐには、iframe
. もちろん、認証されていないユーザーを検出し、iframe
自分自身を追加してログインをロードする必要があります。ユーザーが認証されたら、自分のページをリロードする必要があります。ただし、ログインの成功を検出するプロセスは簡単ではないことに注意してください。