2012-07-10 35 views
2

基本上我正在尋找通過javascript最有效地加載1000行X 100列表的方法。 This fiddle使用DomDocumentFragment來實現這一點。它在Chrome和FireFox中工作得足夠快,但在IE中速度很慢。有人能夠發現IE瀏覽器緩慢的原因嗎?還有更好的解決方案嗎?解決方案可以使用jQuery。通過javascript加載大表的最優化方式

+1

爲什麼要在瀏覽器中一次加載並顯示所有這些內容?如何分頁或延遲加載行? – Tejs 2012-07-10 14:13:44

+1

我不知道你的特定用例是什麼,但100列和1000行似乎是一個非常荒謬的數據量來呈現用戶,或許你應該問問自己是否有更好的方法來做你想做的事情。 – 2012-07-10 14:14:19

+0

@Tejs淑女裝絕對是一種選擇。什麼是實現這一目標的最佳方式? – Inquisitive 2012-07-10 14:16:29

回答

1

innerHTML可以比DOM操作更快。而replaceHTML可以比innerHTML更快。

http://www.quirksmode.org/dom/innerhtml.html

http://blog.stevenlevithan.com/archives/faster-than-innerhtml

更新:在評論中指出,這實際上取決於你在尋找什麼瀏覽器和版本。因人而異。

+0

內存要求是什麼? – Inquisitive 2012-07-10 14:17:52

+1

這個頁面很老 - 看起來4歲。現在,DOM操作通常比瀏覽器中的innerHTML更快:http://jsperf.com/innerhtml-or-dom/9。正如表格所描述的,在一些IE版本中,'innerHTML'似乎仍然更快,所以它取決於你的目標版本。對於這些IE版本,您可以改用innerHTML(也可以在文檔片段中)。 – ZER0 2012-07-10 14:21:29

0

這裏是一個小提琴,它的行爲比原來快得多,通過直接爲您的表體生成innerHTML代碼而不是構建DOM節點。

http://jsfiddle.net/zAVLV/6/

+0

內存要求是不是也採用這種方法呢?在任何時間我們都可以有多個這樣的表格。 – Inquisitive 2012-07-10 14:34:28