我用下面的方法加載外部HTML文件到一個DIV:在後臺線程中將HTML加載到Div中?
var docName = name + ".html";
$("#displayPanel").load(docName);
然後我打電話getScript加入的JavaScript文件控制的是HTML文件,像這樣:
docName = name + ".js";
$.getScript(docName, function(data, textStatus, jqxhr) {
if (textStatus==="success") {
lightItUp(); //load method
}
});
它加載正確。
問題是,對於大型HTML/JS文件,DOM被凍結,用戶交互被禁用,直到加載完成。是否有可能將div加載到「後臺線程」並收到完成通知?
聽起來像[Web Worker]的工作(https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers)。您可以讓Web Worker解析HTML,然後使用消息批量將HTML注入父網頁 – CodingIntrigue
我相信jQuery.getScript()是異步的,並在「後臺線程」中加載腳本。 – blue
你是否設置全局ajax同步或什麼? '.getScript()'不應該凍結用戶界面,看起來問題來自'lightItUp()'而不是顯然你錯誤地解釋了你看到的行爲。順便說一句,你不需要檢查'textStatus',你已經在成功回調中設置了代碼。編輯:我不知道你期望有關'textStatus'檢查 –