ユーザーがデータベースを変更するさまざまな操作を実行できるWebページがあります。また、このWebアプリケーションは、時間とともに変化し続けるデータベースのさまざまなフィールドを追跡する必要があります。数秒ごとにページを更新することは、これを実装する最良の方法ですか?たとえば、スクロールが必要なページに長いリストがある場合、ページは更新のためにリセットし続けるため、リストを表示するのは困難です。スクロールの位置を保持する方法はいくつかあります。しかし、もっと効率的なものを使用できますか?
AJAXタイマーを使用します。これを使用して、ページの特定の部分を更新できます。
ヘッドタグの下に置きます
<meta http-equiv="refresh" content="5">
これにより、5秒ごとにページが更新されます。
他のオプションについては リンクテキスト を参照してください
このタスクは、htmlヘッダーセクションのコードに従って非常に簡単に使用できます。
<head> <meta http-equiv="refresh" content="30" /> </head>
30秒後にページが更新されます。
短い答えはノーです。あなたはajaxを使って必要なコンポーネントを更新できます。これにより、読み込み時間が短縮され、ページがリセットされなくなります。
リバースAJAXは現在コメットとして知られています。サーバー/データベースからデータをポーリングするブラウザーの代わりにサーバーがクライアントにデータをプッシュすることです。 http ://en.wikipedia.org/wiki/Comet_(programming) の導入が優れており、このパターンをサポートするフレームワーク(DWR、ICEFacesなど)はすでに多数あります。
タイマー付きAJAX
詳細に触れずに、一般に、JavaScriptを使用してAjaxスタイルの方法でHTMLを動的に生成することを検討します。正しく行うのはかなり困難ですが、ユーザーエクスペリエンスの観点から見ると、正しい方法です。
ガイダンスと支援については Yahoo user-interface library を確認してください。手作業ですべてを行うよりも、はるかに簡単です。
以下は、ヘッダーに更新コマンドを使用した良い解決策だと思います。
HttpSuccess関数を呼び出すとき、これを使用してみてください:
server.httpSuccess("text/html","Refresh: 30\r\n");
これは、FlashまたはSilverlightアプリケーションに適した機能のように思えます。精巧なAJAX=ソリューションを使用することは、あなたよりも少し効率的かもしれませんが、実際は、Webページがライブコンテンツのためのひどい媒体を作ることです。
ページ全体を自動更新する場合は、ページヘッダーでメタHTMLタグを使用します。ただし、ロード時間の弾力性を回避するために、AJAXを使用してページの指定部分を自動更新することをお勧めします