$.Ready() からすべてのコードを削除したにも関わらず、jquery.validate.unobtrusive.js
負荷の高いコードを呼び出しているように見えます。その結果、DOMContentLoaded イベントが発生するまでに 300 ミリ秒のリード タイムが発生します。
かなり大きな DOM がありますが、それほど時間はかからないのではないでしょうか?
$.Ready() からすべてのコードを削除したにも関わらず、jquery.validate.unobtrusive.js
負荷の高いコードを呼び出しているように見えます。その結果、DOMContentLoaded イベントが発生するまでに 300 ミリ秒のリード タイムが発生します。
かなり大きな DOM がありますが、それほど時間はかからないのではないでしょうか?
私が取り組んでいる製品のいくつかのパフォーマンス ドラゴンに取り組んでいる間、DOMContentLoaded イベントが IE 9 で 700 ミリ秒かかっているように見えました (かなり大きな DOM があり、これも取り組むリストに含まれています)。
すべての OnReady コードを無効にした後、絞り込みました
parse(selector)
のjquery.validate.unobtrusive.js
見つけた後:
$(selector).find(":input[data-val=true]").each(function () {...}
Find() メソッドのセレクターの構造がすぐにわかりました。これはシズル エンジンに入り、Document.QuerySelectorAll()
.
-- @CharlesC からのコメントに従って編集 --
セレクターのマイナーチェンジ:
$(selector).find("input, select, textarea").filter("[data-val=true]")
IE 内でパフォーマンスが 300 ミリ秒向上しました。