Internet Explorer 11 では旧バージョンと比較してコンテンツの表示までに時間が掛かる場合がある

現象

Internet Explorer 11 で大きなテーブルを表示する場合、旧バージョンの Internet Explorer と比較しコンテンツの表示までに時間が掛かる場合があります。

Web サーバーから静的なコンテンツとして大きなテーブルを受信する、もしくは以下のようなスクリプトによってコンテンツ内に大きなテーブルを作成するように実装していると現象が発生します。
この例では、window.onload イベントにて、1000 × 1000 のテーブルを動的に作成します。
<!DOCTYPE html>
<html>
<head>
<title>sample</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<script type="text/javascript">
window.onload = function() {
var div = document.getElementById("div1");
var tableSize = 1000;
var val = "<table>";
for (var i = 0; i < tableSize; i++) {
val = val + "<tr>";
for (var j = 0; j < tableSize; j++) {
val = val + "<td>" + ("0000" + i).slice(-4) + "-" + ("0000" + j).slice(-4) + "</td>";
}
val = val + "</tr>";
}
var val = val + "</table>";
div.innerHTML = val;
}
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>

原因

この現象は、Internet Explorer 11 で実装されたテーブル用データベースを構築していることに起因します。
このデータベースは、テーブルの内容を動的に変化させるような Web ページでのパフォーマンス向上を目的に実装された機能です。テーブルのスタイルなどを動的に更新するスクリプトを実装している場合、このテータベースの効果で処理スピードが向上しますが、テーブル読み込み時にすべてのセルの位置やスタイルなどの情報をデータベース化するための時間が必要になります。
  • 静的なコンテンツか、動的に作成されるコンテンツかに関係なくデータベースを構築しますので、常にこの現象が発生します。
  • テーブルを作成時のみではなく、途中でテーブルを拡大するときにもデータベースは更新されます。

状況

この動作は仕様です。

詳細

データベースはテーブルの大きさによらず構築されますが、構築時間はテーブルの大きさに比例します。
プロパティ

文書番号:2967614 - 最終更新日: 2016/09/30 - リビジョン: 1

フィードバック