【问题标题】:IE 11 is Unresponsive when loading thousand of data to table将数千个数据加载到表时,IE 11 无响应
【发布时间】:2018-10-15 17:09:06
【问题描述】:

为公司制作仪表板,但用户使用 Internet Explorer 11 作为浏览器。问题是,当 IE 试图用数据库中的数千个数据填充表时,IE 变得无响应并且只挂起几秒钟,直到所有数据都加载完毕。我什至添加了一个加载 div,它适用于 chrome,但是当 IE 变得无响应时,加载 div 就被冻结了。

有没有办法在加载数据时保持 IE 响应? 谢谢!

【问题讨论】:

  • 你是如何加载数据的?您的意思是您要动态地将数千行添加到 <table> 元素? “几”是多少秒?
  • 不要一次加载上千条数据,使用分页或者服务端分页,前端获取的数据少
  • 你能分享你的代码吗?你是如何加载数据的?是否使用 REST API/JSON?
  • 在通过 JavaScript 添加表格时,它对构建表格的方式也有很大影响。在任何浏览器中,1 个 1 的插入 dom 节点都非常慢。但即便如此,我看不出有什么好的理由一次性加载数千行。
  • 数据正在加载到带有分页的DataTable插件的表中,加载大约需要8秒,

标签: javascript jquery html internet-explorer-11


【解决方案1】:

IE 的渲染引擎比其他浏览器慢几个数量级,您对此无能为力。您需要更改呈现或加载数据的方式。

最好的做法是在您的表格中引入良好的老式分页。您可以在服务器端或客户端执行此操作。

如果您无法更改服务器代码,那么您就只能使用客户端解决方案。您不是一次渲染整个表,而是对数据记录数组进行切片,以便只渲染一部分。您还需要保留对当前加载的部分的引用,以便您可以提供用于加载下一页和/或上一页的接口。

如果您使用插件来渲染表格并且该插件不支持分页,则您不能将该插件用于您的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多