2011-01-21 19 views
2

同じセッション内のWebページ間で情報を保持するメカニズムを実装する必要があります。クライアント側にはたくさんの情報があり、リクエストを渡ってサーバに前後に渡すことは避けたいものです。 HTML5ローカルストレージは1つのオプションです。隠しフレームを使用してページ間でデータを格納または渡す

もう1つのオプションは、「データが保存される隠しフレームを使用する」ことでした。私はこのオプションが本当に何を意味するのか分かりません。

  • ページリクエスト間でデータを保持する隠しフレームを保持することは意味しますか?
  • これはどのように達成されますか? jqueryプラグインやサンプルコードがありますか?
  • 利点と欠点は何ですか?私はあなたがメインページにデータを保持し、データを永続化するために、隠しiframe/frameを使用することができる方法を認識していないです

答えて

1

。これは、一度メインページをリロードすると(別のページに移動すると)、iframe内のすべてが失われるためです。

基本的にメインページをデータ保管場所として使用します。メインページの上に、iframeをスーパーインポーズします。ユーザーはiframeを通じてサイトとやりとりします。ユーザーの観点からは、違いはありません。親フレーム(メインページ)に書き込むことで情報を保持することができます。メインページは決してリロードされないので、内部にデータを保持することができます。

私はこれを行うJavascriptライブラリについて認識していません。私は一見を取る。

これは、SEOやナビゲーション(戻る/進むボタンではない)に影響する可能性があることに注意してください。 Guffa氏によれば、アドレスバーのURLは決して変更されないため、ユーザーはページへのリンクを共有できません(すべての対話はiframe経由)。だからあなたのユーザーが誰かにリンクを送ると、彼らは最初のページに終わるでしょう。

+0

※ユーザーの観点からは1つの違いがあります。ロケーションバーのURLは変更されないため、表示される内容は反映されません。 URLを使用して誰かとページを共有しようとすると、代わりに開始ページが表示されます。 – Guffa

+0

@Guffa良い点。 SEOについて書きましたが、追加するのを忘れてしまいました。編集します。 –

+0

簡潔にするため、セキュアなアプリケーションであり、ユーザーがサーバーに状態を保存することなく、ページへのリンクを共有できないと仮定します。 – Thimmayya

0

フレームを別のページに保持することはできません。そのためには、フレームをウィンドウで覆い、フレーム内の実際のページをロードするしかありません。そうすれば、置き換えられない周辺のページにデータを保存することができます。

これは、実際にページを離れないことを意味します。コンテンツが変更されると、ロケーションバーのURLは変わらないので、特定のページをブックマークしたり、他のユーザーと共有することはできません。検索エンジンはフレームの代わりにコンテンツページにリンクするため、そのようにページを見つけた者は機能しないフレームページになります。

関連する問題