繁体   English   中英

在HTML输出上阻塞浏览器

[英]Choking browser on html output

我有一个BIG表,可输出到HTML和浏览器。 表格为200行时可以,但是当表格为20,000行时,它会阻塞浏览器。 我将所有内容输出到带有$html .= '<td> and <th>'的变量中$html .= '<td> and <th>' ,然后最后, echo $html 在我的新Mac(带有SSD和32 gig ram)上,一个20,000线表的加载时间约为6秒,但会停止所有操作。 多彩的死亡球旋转,音乐停止播放,然后事物出现,一切继续正常进行。

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

请注意,正如Freddy Mercury所说的,我想要全部,现在想要。 因此,请不要告诉我同时制作20行的分页表。 我知道该怎么做,但我不想这样做。 无论如何,要做到这一点,您必须加载ALL THE ROWS,并仅显示20,这将导致相同的阻塞!

您可以让内容仅显示前20行,然后在滚动时通过类似于Facebook和Pintrest的工作方式通过ajax提取其他信息吗? 您可以“最终”获得所有数据,但不打算通过尝试一次全部加载来使其工作。

无论如何,要做到这一点,您必须加载ALL THE ROWS,并仅显示20,这将导致相同的阻塞!

那绝对是个坏主意。 我会在您的模型中编写一个获取下一个n条记录的方法。 您可以在初始页面加载时通过Ajax调用此方法,然后在用户每次单击“下一个N条目”链接并更新页面时再次调用此方法。

您绝对不想加载2万个项目的HTML,并不想使用jQuery一次隐藏和显示n条记录。 DOM遍历将永远在优秀的浏览器中进行,并且将完全导致IE崩溃。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM