0

javascriptを使用してページの動的部分をロードしながらキャッシュを実行するための最良の方法に関するサンプルコードを誰かに教えてもらえますか?

私の標準的な例には、ページの上部にあるユーザーのログインステータスとユーザー名以外は何も変更されないページが含まれます。jQueryとajaxリクエストを使用してこのテキストを変更するのは簡単ですが、私が行っているので、$(document).ready()すばやく見ると、ajaxリクエストが発生して更新する前に、「ここをクリックしてログイン」のようなページの読み込みを確認できます。ページのセクション。

明確にするために編集

ページ全体をキャッシュすると、次のようになります。

  1. ユーザーAがページをリクエストします
  2. ページはキャッシュされないため、アプリケーションは右上隅に「HiUserA」を含むhtmlを生成します
  3. ユーザーBがページをリクエスト
  4. ページはキャッシュされているので、アプリケーションはそのまま提供します-「HiUserA」ビットを含む<-これは動的に更新したい部分です。

理想的には、ステップ2で、ページは「Hi User A」ビットなしでキャッシュされるので、誰かがページを要求したときに、挨拶を取得するための単純なajax要求を行い、それをdomに押し込みます。

javascriptが進むべき道だと思いますが$(document).ready()、ページがより自然にレンダリングされるように待つよりも良い方法が必要だと思います。

それが重要な場合(静的htmlに適用されるソリューションは私が行っていることでも機能するため、そうすべきではないと思いますが)、私はrails2.3.xとjQueryを使用しています。

4

2 に答える 2

1

AJAX応答を生成するのと同じものを使用して、サーバーのメインページで最初にユーザーステータスをロードします。次に、ユーザーがステータスを変更したら、AJAXクライアント側を使用してステータスを更新します。

このように、最初のページのステータスは正しいですが、ユーザーがアクションを実行したときに変更される可能性があります。

getStatus()メソッドが、ユーザーの状態に関係なく正しいHTMLを生成するふりをします。ページには、<div>この情報を含むがあります。サーバー側、呼び出しgetStatus()(例としてPHPを使用):

<div id="status"><?php =getStatus() ?></div>

次に、AJAXリクエストを返しgetStatus()て、内容を更新し<div id="status">ます。

于 2010-12-22T21:10:18.177 に答える
0

あはは!私が望んでいることを正確に実行するrailscastがあります!

Rails-yの良さはここで見つけることができます:http://railscasts.com/episodes/169-dynamic-page-caching

于 2011-01-14T17:02:30.097 に答える