我知道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>
對話結束了包含幾個層次與數百里的嵌套列表。