2011-10-27 3 views
2

私はJSONとPHPを使用して10,000以上の非常に大きなテーブルを返します。Javascript、大規模な非常に大きなテーブルをDOMに追加する最良の方法

問題は、innerHTMLを使用してDOMにテーブルを追加することですが、これは15秒以上かかることがあり、ブラウザがクラッシュすることがあります。何とかこれを最適化するソリューションはありますか?テーブルは既にPHPの1つの文字列にあらかじめ組み込まれているので、追加するだけです。

+0

何もできないことは、怠惰なHTMLテーブルをレンダリングすることができますが、それは多くの作業を必要とします。 – Raynos

+0

さらに、あなたはajaxを介してクライアントにHTMLを送るべきではありません。 JSONを送信して、クライアントに表を作成させる必要があります。 – Raynos

+0

テーブルはMySQLから来ているので、クライアントでビルドする方法はありません。 HTMLをajax経由で送信するのが悪いのはなぜですか? – Ray

答えて

2

ベストプラクティスはおそらくページネーションの小さいテーブルを使用することです(誰かが実際に10k +行をスクロールしたいとは思っていません)。

このような大きなテーブルを堅持しているのであれば、HTMLを行のまとまりに分割するか(または<tbody>要素でグループ化することもできます)、次にタイマーを使用してDOM。

+0

のようにテーブルを分割してPHPの小さな部分10個に分割し、その部分をビルドするためにjavascriptでタイマーを設定することができます。私はもっ​​と簡単な方法があると思った。 – Ray

+1

@レイ:その設定のウェブサイトでは、5MB以上のダウンロードが行われました。おそらくあなたが望むものではありません。私は正直なところ、おそらく他のアプローチを考えなければならないと思います。 – pimvdb

+0

申し訳ありませんが、ありがとうございます。どのくらいダウンロードされているかをどのように知ることができますか?私はHTML/Javascriptの面ではあまりよくありません。私は火の虫がインストールされているが、実際の機能はほとんど分からない。 – Ray

関連する問題