我正在尝试使用 JSF 中的 HtmlDataTable 动态生成一个表。当我给出的行数和列数均大于 25 时,某些单元格仅在 IE 中不会填充,并且速度变得非常慢。但是,我可以在使用 Firebug 调试代码时看到该值。它在 Firefox 和 Chrome 中运行良好。
这是如何引起的以及如何解决?
众所周知,Internet Explorer 的表格渲染器非常差。特别是当列和表嵌套过度时。
除了通过引入延迟加载和分页来缩小表格大小之外,没有其他解决方案,这样一次只会显示 10~100 行。如有必要,添加搜索过滤器。额外的好处是它也更加用户友好。例如,谷歌也不会在没有过滤和分页的情况下在巨大的表格中显示所有无数的网站链接。
如果您碰巧使用 PrimeFaces,请使用<p:dataTable> with LazyDataModel.
也可以看看:
Update根据评论,如果您无法更改服务器端代码,则实际上没有其他选择。您最好的选择可能是通知最终用户他/她应该使用真正的浏览器。
E.g.
<script>
var ie = /*@cc_on!@*/false;
if (ie) {
window.location = 'some_page_which_recommends_different_browser.xhtml';
}
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)