大量のデータを含むjquerymobileを使用しています。ajaxを使用してデータを読み込んでいます。問題は、すべてのデータを読み込んだ後、上にスクロールしてヘッダーの検索ボックス(入力タイプのテキスト)をクリックすると、応答に時間がかかりすぎることです。問題を解決するのを手伝ってください
2 に答える
この問題に対処する通常の方法は、一度に DOM にロードするデータを減らすことです。一度にレンダリングするレコード数を減らし (たとえば 50)、ページングを追加します (または、前/次など)。
jQuery Mobile では、前へ/次へなどのボタンやリンクをページに追加することでこれを実現できます。ボタンのイベント ハンドラーでは、リストビューを新しいレコード セットで更新できます。完全なスタイルと動作をリストビューに復元するには、.listview('refresh') を呼び出す必要があります。
レコードの一部のみを表示するのは理想的ではないかもしれませんが、モバイル デバイスの限られたハードウェア パフォーマンスを考慮すると、許容できるパフォーマンスを得るために必要な場合があります。
ここで私の答えからこれらのいずれかを試してください
send
your records asenhanced markup
= サーバー側で 500 レコードに対して Jquery Mobile が行うことを行います (これにより、転送するデータ量が増加します!)data-enhance=false
(プラス構成) ORを使用don't listview("refresh")
して、JQM が既に強化されたコードを強化するのを停止しますサーバー側で手動で
gzip your ajax
応答して、ファイルサイズを再度縮小します
このようにして、JQM が 500 個のリスト アイテムを拡張するのを防ぎ、転送されるファイル サイズを最小限に抑えます。