2010-01-20 61 views
0

我在服務器端使用jQuery 1.4作爲AJAX,MVC。本地計算機上的一切工作都很快。 包含數據的表格被編譯並以HTML文檔的形式發送(我正在測試大表,超過100KB的系統)。當我通過互聯網下載同一頁面時,所有事情都會慢5-10倍,或者只是在等待。jQuery。本地和通過互聯網的不同表現

我檢查了Forefox調試器。 AJAX發送查詢並快速收到數據(我可以看到收到的響應和正確的數據)。但是它很慢地將數據插入到DOM中,下面的指令特別慢: $(「#oldtable」)。replaceWith(newtable);和空() 它在IE6,8中運行速度極慢(本地機器上3秒,通過互聯網約1分鐘)。 我從DOM中刪除數據作爲一個對象並插入整個表格。插入的html代碼中沒有錯誤。

請你能推薦如何使它工作更快?可能我應該使用另一個庫,比如Prototype。 我無法理解以下內容:Javascript在客戶端執行,數據已經上傳。 電腦是一樣的。爲什麼執行時間差異如此之大? 謝謝 伊戈爾

+0

如果您相信很多統計信息,切換到另一個JavaScript庫不可能幫助您,因爲jQuery 1.4被報告爲比其他大多數庫更快地移除和附加DOM節點操作。把它帶回到香草JavaScript可能證明更有利 – 2010-01-20 07:35:59

回答

0

許多問題在這裏:

1)快速插入和排空數據,jQuery是有時不是像.innerHTML直JavaScript函數慢。儘管這些功能不是標準的一部分,但有時它們的快速性能使其具有吸引力。

2)jquery是javascript,所以它在客戶端運行。除非你的.js文件真的很大,否則如果你從互聯網上的本地主機或服務器上下載它們,它們應該沒有太大的區別。

3)AJAX功能是對服務器的請求。因此,如果您從本地主機與服務器下載大量數據,則會產生巨大差異。