我有一個腳本調用CGI來檢索XML,解析它,創建一個表並向用戶顯示此表。這很簡單..腳本性能 - 腳本崩潰瀏覽器
我的問題是,當這個XML太大,因爲它有時會崩潰用戶的瀏覽器。 所以我想要你對我的功能有什麼改進的意見。
該功能確實如此:
[1]。它解析XML:
var xmlDoc = req.responseXML;
var rows = xmlDoc.getElementsByTagName('row');
var columns = rows[0].getElementsByTagName('column');
然後我遍歷列創建我的表。
[2]。我正在創建表連接字符串,如下所示(遍歷每行中的每列):
tableCells += '<td style="text-align:left">' + value + '</td>';
[3]。而結束,我這樣做:
document.getElementById('results').innerHTML = resultsTable;
document.getElementById('results').style.display = "";
我檢查的時間是如何進行這些步驟(與Chrome和Firefox +螢火蟲紋):
- 我刪除了所有的串聯和[3]。功能花了0.5秒。
- 我只刪除了[3]。該功能耗時1.5秒。
- 但是,如果我添加[3]我的功能需要15.5s(!!!)。
我該怎麼做才能改善它?
謝謝!
關於VASH的解決方案,頻繁的DOM樹的修改花費更多的時間和可能推出大量的事件。 – Mikhas
根據瀏覽器有關這個問題的不同,看看這裏:http://andrew.hedges.name/experiments/innerhtml/ – Alex
事實上。我也會使用文檔根目錄以外的其他節點添加此節點。 – Mikhas