html输出阻塞浏览器


Choking browser on html output

我有一个BIG表要输出到HTML和浏览器中。当表格是200行时,这很好,但当它是20000行时,它会阻塞浏览器。我将所有内容输出到一个带有$html .= '<td> and <th>'的变量中,最后输出echo $html。在我的新Mac上,有SSD和32 GB ram,一个20000行的表需要大约6秒才能加载,但会停止所有操作。彩色的死亡之球旋转,音乐停止播放,然后这个东西出现了,一切照常进行。

问题是:如何在浏览器中输出一个大表而不让它窒息?

注意,正如弗雷迪·墨丘利所说,我想要一切,我现在就想要。所以,请不要告诉我一次制作20行的分页表。我知道怎么做,但我不想这么做。无论如何,要做到这一点,你必须加载所有的行,并且只显示20行,这会导致同样的窒息!

无论如何,要做到这一点,你必须加载所有的行,并且只显示20行,这会导致同样的窒息!

这绝对是个坏主意。我会在你的模型中写一个方法,得到下n个记录。您可以在初始页面加载时通过Ajax调用此方法,然后在每次用户单击"Next N Entries"链接并更新页面时再次调用。

你肯定不想加载20K项目的HTML,并使用jQuery一次隐藏和显示n条记录;DOM遍历将在好的浏览器中永远存在,并将完全崩溃IE。

您是否可以让内容只显示前20行,然后在滚动时通过ajax拉入附加信息,类似于Facebook和Pintrest的工作方式?您可以"最终"获得所有数据,但不要试图通过一次加载所有数据来实现。