1

HTML に事前環境があり、Javascript を使用して大きな文字列を挿入しています。

$my_environment.innerHTML = my_large_text;

文字列の長さは約 100,000 文字です。文字列がきれいなテキストのみで構成されている場合は、すべて問題ありません。ただし、多くの文字 (約 1/3 程度) に色を追加しようとすると、個々の文字を

<span style="background-color:some-color;"></span>

顕著な遅延があり、その間ブラウザ ウィンドウ (Firefox の場合はブラウザ全体) が動かなくなります。

事前環境自体はサイズが制限されており、オーバーフローを使用するため、テキストの変更中に実際にペイントする必要があるのはそのごく一部だけです。

遅延の原因は何ですか?また、それを修正できるものはありますか?

  1. pre の代わりに別の環境を使用できるかもしれませんが、使用したくありません。
  2. 色は同時ではありません。色を付ける必要のある文字がランダムに分布していると考えてください。
  3. 文字を単にスパン環境でラップするのではなく、文字に色を割り当てるより良い方法を検討したいと考えています。
4

1 に答える 1

0

最適化のステップの 1 つは、おそらく「style」タグではなく「class」タグを使用することです。事前定義された css クラスを使用すると、正確なシナリオによっては、レンダリング時間を短縮できます。

別のアプローチは、すべての文字をモノクロでレンダリングするが、id を持つスパン要素にすることです。次に、Javascript を使用して、変更が必要な文字に色を付けることができます。

于 2012-04-17T12:48:07.917 に答える