【问题标题】:Performance Issues in IE8 while using JSF datatable使用 JSF 数据表时 IE8 中的性能问题
【发布时间】:2012-12-14 06:13:34
【问题描述】:

在我的应用程序中,我在某些页面中使用 JSF 数据表,在某些页面中使用 primefaces 数据表。 我的数据非常大,大约 3000 行。它在 IE9 和其他浏览器中运行良好,但在 IE8 和更低版本中非常慢。 首先我认为这是由于一些 javascript 问题,但我认为 Datatable 本身存在一些问题,因为我读到了这个http://code.google.com/p/primefaces/issues/detail?id=4698

你能澄清一下吗?

我的 xhtml 文件很大,所以不能粘贴在那里。如果您需要它来回答这个问题,请让我知道。

谢谢! 塔伦玛丹

【问题讨论】:

  • 我认为渲染太大的数据表不是一个好主意,最好的方法是使用过滤器。如果您有一个大表,通常这是用于导出即 csv 或 excel 文件。
  • 我知道这不是一个好主意,但我没有任何选择。我需要一次性显示竞争数据表,而且不需要分页或过滤或类似的东西..所以只想确认 IE8 中的问题..因为它在 IE9 中工作正常
  • 如果您不需要 PrimeFaces 的扩展功能,请使用普通的 h:dataTable 它将减少浏览器的负载!
  • 在相同的页面上我不需要扩展功能,所以使用了 h:datatable 但在某些页面上我需要使用 p:datatable 但它既不工作
  • 顺便说一句,什么样的用户会理解 3000 行的表?

标签: performance jsf internet-explorer-8 datatable primefaces


【解决方案1】:

这是“正常的”。众所周知,IE6-8 的 HTML <table> 渲染引擎效率非常低。无论是否是 JSF,即使使用“普通 HTML”页面,它仍然会占用超过 1000 个单元格。除了升级/更换浏览器之外,真的没有什么可做的(如果有必要,你可以推荐客户这样做;现在 IE8 绝对不再“现代”了)。

最好的办法是引入分页。 PrimeFaces supports it out the boxEven with lazy loading 这使得服务器端部分也更加高效。例如,谷歌也不会在一个页面中显示所有数以万计的结果,这使其速度非常快。 Google 还通过单个搜索输入字段对结果使用非常智能的过滤算法。 PrimeFaces offers table filtering as well.

【讨论】:

  • 感谢 BalusC。我理解 IE8 的邮件效率非常低的事实。但是它是否记录在某个地方,以便我们可以与客户共享它。到目前为止,它们还很难支持 IE 7 和 8。
  • 这个相关的答案可能会有所帮助:stackoverflow.com/questions/4313494/… 至于你的具体问题,我真的建议引入分页。一次显示 3000 条记录是非常幼稚和原始的。你应该提供过滤和分页。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
相关资源
最近更新 更多