カラムナイザー jquery プラグイン ( https://github.com/adamwulf/Columnizer-jQuery-Plugin ) の軽く削除されたバージョンを使用して、使用する「列」に変換する大きなテキストが多数あります。別のプラグイン。Columnizer は、列化されるチャンク内にフローティング コンテンツがない限り、私の目的には問題ありません。
Chrome、FF、および IE10 はすべて、ほとんどの場合、純粋なテキストまたは画像とその他の単純な html が混在するテキストで同様のパフォーマンスを発揮します。ただし、フローティング コンテンツ (この場合は画像) を含めると、状況は劇的に変化します。
Big Book w/ Images、作成された約 700 列 試験条件 Firefox (秒) Chrome (秒) -------------------------------------------------- --------------- 通常のブック ビルド (イメージ、フロート) 31.5 1254.2 上記と同様、ただし画像なし 23.2 18.9 画像あり、フローティング画像なし 25.1 24.7 浮かせた画像が少ない 27.6 1010.9 「p」以外のすべての画像とタグを削除します 21.3 18.9
ご覧のとおり、それは非常に大きな違いです。(私はビルドをキャッシュしますが、ブラウザーと OS の組み合わせごとにレンダリングが若干異なるため、最初に「主要な」ブラウザーでそれぞれをビルドする必要があります。iPad 上の Safari でこれをビルドするのを待つまで、あなたは生きていません。こと -- Windows のクロム番号に 4 を掛けます。)
だから私の質問: firefox は尋ねられずに「正しく」行っていることは何ですか? また、他のブラウザーでそれを模倣するためにコラムライザーのコードを作り直すにはどうすればよいですか? Columnizer は、数千回 (この本の場合は 100,000 回以上だと思います) の追加を行うという点でかなり「汚い」ものであり、これは明らかにクールではありません。ドキュメントフラグメントを使用していますか? 他のトリック?
Columnizer では、スタイルを正しく適用できるように (つまり、"display:none" がなく、終了時にトグルする)、宛先コンテナー (コンテンツ フローを実行する場所) が dom 内にある必要があります。私の CSS では、推奨されるように、これを position:absolute、visibility:hidden に設定しています。FF は、この属性セットを他のブラウザーとは異なる方法で表示する必要があると考えています。または...?
プロセスの最後に、フォント レンダリングのわずかな違いを除いて、出力はブラウザー間で同じであることに注意してください。