0

機能するには、次の 2 つのシナリオが必要です。

シナリオ 1: ユーザーがhttp://example.com/items/3をクリックするか、URL バーに URL を入力すると

それらは、item:id 3 がオーバーレイに表示されている Web ページに誘導されます。

オーバーレイの x をクリックすると、/items インデックス ページ (ログインしている場合) またはサインアップ ページ (ログインしていない場合) が表示されます。

item:id 3 がオーバーレイで表示される場合、バーの URL は /items/3 になります /items が表示される場合、URL は /items になります

シナリオ 2: ログインしているユーザーが /items インデックス ページにいます。

/items/3 リンクをクリックします。リダイレクトする代わりに、item:id 3 がオーバーレイに表示されます。

オーバーレイの x をクリックすると、/items インデックス ページに戻ります。

item:id 3 がオーバーレイで表示される場合、バーの URL は /items/3 になります /items が表示される場合、URL は /items になります

私が達成したいこと:

どちらのシナリオも、特にログインしているユーザーのルック アンド フィールは同じです。唯一の違いは、フローの開始点です。

シナリオ 1 は /items/3 から始まります。シナリオ 2 は /items から始まります。

どちらのシナリオでも、オーバーレイがオンかオフかによって、URL バーの URL を変更する必要があります。

私がすでに行ったこと:

シナリオ 2 は、ajax を使用してデータを取得し、オーバーレイに入力するようにしました。

ただし、表示内容に関係なく、URL は変わりません。

シナリオ 1 はまったく完了していません。どうやって始めればいいのかもわかりません。

シナリオ 1 を表示する例を見つけました

Facebook フィードでは、通常、URL は www.facebook.com です。

写真をクリックすると、写真のオーバーレイが表示され、URL が次のように変わります。

オーバーレイを閉じると、フィードに戻り、URL が www.facebook.com に戻ります。

私の質問

目的を達成するための基本的なアーキテクチャ ソリューションは何ですか?

4

1 に答える 1

0

簡単な答えは、HTML5 History API を使用することです。

http://diveintohtml5.info/history.html

長い回答については、すぐに詳細を記入します。

于 2012-10-28T23:53:40.587 に答える