ログファイルの内容をフロントエンドに送信するJavaサーブレットがあります。バックエンドはファイルをHTMLで区切り線タグ、タブを4つの改行しない空白などとしてHTMLで送信します。コンテナdivにすべてのテキストを一度に追加するだけでしたが、ファイルが大きく(〜100 MB)それはしばしばIEでクラッシュしました。部分文字列を付加するとhtmlレンダリングが破損する
私は部分文字列としてデータを追加するためのループを書いており、パフォーマンスははるかに優れていました。しかし、部分文字列が最初の部分文字列がタグの一部を終端とし、残りの部分文字列がタグの残りの部分で始まるように部分文字列をテキスト内で分割すると、HTMLレンダリングがブレーク線などではなくリテラルテキストを壊して表示するようですループが完了した後にタグがレンダリングされるように、これを回避する方法やdivを再レンダリングする方法はありますか?
var i = 0;
var j = 6000;
$('#div_container').empty();
while(data.substring(i,j))
{
// Append to the container
$('#div_container').append(data.substring(i,j));
i += 6000; // Increment position
j += 6000; // Increment position
}
編集:
これが可能なの重複としてマークされていたが、私は、これは別の問題であると考えています。ここにはjsfiddleがあり、可能な重複した質問からの解決策の2つが問題を解決していません。
編集2:
私はHTMLタグが分割されていない確実にサーバー側のチャンキングとかなり簡単にこの問題を解決することができます。しかし、パフォーマンスに大きな影響を与えないフロントエンドソリューションを誰かが持っていれば、私はまだ不思議です。
[Chrome/Macで強制的にDOMを再描画/更新する]の複製があります(http://stackoverflow.com/questions/8840580/force-dom-redraw-refresh-on-chrome-mac) – user3528269
@ user3528269残念ながら私はドンしませんこれが重複しているとは思わない。私はこのスレッドでは役に立たないさまざまなソリューションを試しました。これは別の問題のようです。 –