1

Facebook ニュース フィードの写真をクリックすると、ウィンドウの位置が変わり、写真が表示されますが、前のページのコンテンツがまだ写真の後ろにあることに気付きました。フォトビューアーの背景が透明なので見えます。

これはどのように達成できますか?

4

2 に答える 2

1

上手。URLは次のように変更されます:/photo.php?fbid=10150643780577073&set=a.446526812072.240769.709452072&type=1&theater

クエリ文字列には、ユーザーがどのページから来たかを知るのに十分な情報があります。この情報は、写真を前景に表示し、元のページを背景に含めるために使用されます。したがって、両方のページで、Facebookのバックエンドコードを使用してhtmlフロントエンドを生成し、photo.phpページの場合は、前景の画像と必要なcssおよびスクリプトを追加します。

于 2012-04-09T20:04:48.710 に答える
0

将来的には、HTML5 の history API を使用する予定です。ただし、ブラウザー間の互換性と後方互換性のためにhistory.jsライブラリを使用してください。

HTML5 より前の場合、ページを更新せずに場所を設定する方法は、アンカー位置に移動したかのように、URL に # アンカー位置を追加することです (伝統的に、ページ上の特定の段落に移動してリンクするために使用されます)。 )、例えばurl/to/page#someposition

これは、アンカーでページの状態を表すことに一般化されます。たとえば、gmail の特定のメッセージには URLhttps://mail.google.com/mail/?shva=1#inbox/2h42c4ahe7fge7などがあります。

history.js を使用している場合は、広くサポートされるようになったときに、pushState などに簡単にアップグレードできるはずです。

于 2012-04-10T20:09:03.403 に答える