尽管从$ .Ready()中删除了我的所有代码,但jquery.validate.unobtrusive.js
似乎在加载代码上调用了一些问题,这导致我们的DOMContentLoaded事件的启动时间为300毫秒。
我们确实有一个非常大的DOM,但肯定不应该花那么长时间吗?
答案 0 :(得分:2)
虽然在我正在处理的产品上处理一些性能龙,但似乎我的DOMContentLoaded事件在IE 9中占用了700毫秒(我们有一个非常大的DOM - 这也在我的列表中解决)
禁用所有OnReady代码后 - 我将其缩小
parse(selector)
中的 jquery.validate.unobtrusive.js
找到后:
$(selector).find(":input[data-val=true]").each(function () {...}
我立刻知道Find()方法中选择器的结构,这将进入sizzle引擎,而不是使用Document.QuerySelectorAll()
。
- 根据@CharlesC的评论进行编辑 -
将选择器稍微更改为:
$(selector).find("input, select, textarea").filter("[data-val=true]")
导致IE内的性能提升300ms。