2012-12-14 93 views
3

在我的應用程序中,我在一些頁面中使用JSF的數據表和一些頁面中的primefaces。 我的數據在3000行左右相當大。它在IE9和其他瀏覽器中工作正常,但在IE8和更低版本中速度非常慢。 首先我認爲這是由於一些javascript問題,但我認爲在Datatable本身有一些問題,因爲我讀到這http://code.google.com/p/primefaces/issues/detail?id=4698在使用JSF數據表時IE8中的性能問題

請你澄清一下嗎?

我的xhtml文件很大,所以不粘貼在那裏。讓我知道你需要它來回答這個問題。

謝謝! Tarun Madaan

+0

我不認爲這是一個好主意,渲染過大的數據表,最好的辦法是有一個過濾器。如果你有一個大表,通常這是用於導出,即csv或excel文件。 –

+0

我knw這不是一個好主意,但我沒有任何選擇。我需要一次性顯示競爭的數據表,也沒有分頁或過濾器或類似的東西..所以只是想確認問題在IE8 ..因爲它在IE9中工作正常 –

+0

如果你不需要從PrimeFaces擴展功能,使用普通的h:dataTable會減少瀏覽器的負載! –

回答

1

這是「正常的」。已知IE6-8具有效率非常低的HTML渲染引擎。 JSF與否,即使是一個「普通的香草HTML」頁面,它仍會支持超過1000個單元格。除了升級/更換瀏覽器之外,沒有什麼可以做的(如果必要的話,你可以推薦客戶這麼做; IE8現在絕對不是「現代」的)。

最好的辦法是引入分頁。 PrimeFaces supports it out the boxEven with lazy loading這使得服務器端部分也更高效。例如,Google也不會在單個頁面中顯示所有的數十項結果,因此速度非常快。 Google通過單個搜索輸入字段也對結果使用了非常智能的過濾算法。 PrimeFaces offers table filtering as well

+0

感謝BalusC。我明白IE8的郵件效率非常低。但它是否記錄在某個地方,以便我們可以與客戶分享。到目前爲止,他們還很難支持IE 7和IE 8。 –

+0

這個相關的答案可能會有所幫助:http://stackoverflow.com/questions/4313494/how-to-code-html-for-fast-rendering-in-ie至於你的具體問題,我真的很推薦介紹分頁。一次顯示3000條記錄是非常天真和原始的。你應該提供過濾和分頁。 – BalusC