我知道IE浏览器的JavaScript性能比FF和Chrome糟糕,但我的大多数用户使用IE8。我没有注意到FF(惊喜)中的性能问题。我正在使用Jquery和Jquery-ui来提供对话功能。JQuery UI对话缓慢加载IE8(第一次加载)
基本上,我有大量的链接,我加载到一个对话框使用Ajax。第一次点击按钮调出非常快速加载的对话框(〜0.1s)。但是,当我关闭对话框并重新启动它时,显示时间会更长。
数据库和ajax调用不是问题。数据被追加到对话框中,我使用简单的逻辑来确保函数不被再次调用。随后试图打开对话框应该更快。
使用IE8的探查我注意到,有几万电话:
"hidden" "curCSS" "JScript - window script block"
这些函数调用不来,我第一次打开对话框。我因为某个原因而处于亏损状态。
很明显,在第一次加载对话框时,没有任何脚本发生在对话框中的单个元素上,但为什么在随后的调用中这会发生变化?
一些代码:
$(文件)。就绪(函数(){
$("#dialog").dialog({
autoOpen: false,
resizable: false,
draggable: false,
closeText: "",
width: "auto",
dialogClass: "ddx",
});
$("#button").click(function (e) {
e.preventDefault();
//Check if "this" is empty, if not, data is already loaded
if ($.trim($("#dialog").html()).length > 0) {
$("#dialog").dialog("open");
}
else {
$.ajax({
url: baseUrl,
dataType: "text",
success: function (data) {
$("#dialog").append(data);
}
});
$("#dialog").dialog("open");
}
});
});
HTML体内:
<div id="dialog" title="Test Dialog" class="ddx"></div>
对话结束了包含几个层次与数百里的嵌套列表。