【问题标题】:Html data bind complete [duplicate]Html数据绑定完成[重复]
【发布时间】:2014-09-05 20:44:12
【问题描述】:

我正在做一个项目,我必须在下拉更改事件中将大量数据从服务器绑定到 HTML 页面的一部分。我想显示一个微调器,直到 HTML 完成渲染为止。我如何知道 HTML 渲染何时完成?有什么可以使用的事件吗?我知道 $(document).ready 适用于整个 HTML 页面。

【问题讨论】:

  • 您是否使用 AJAX 加载此数据?如果是,则使用回调。
  • 如果您通过 ajax $.ajaxStart 加载,$.ajaxComplete 可能会有所帮助
  • 数据从服务器快速传来,但 HTML 绑定需要大量时间,因为它每行有 40 列,接近 2000 行。 IE中的性能真的很差。它是部分页面更新而不是整个页面
  • 能否给我们看一张你的页面截图?
  • 它在顶部有一个下拉列表和一个 HTML 表格,简单来说,它会在下拉列表更改时加载

标签: javascript jquery html


【解决方案1】:

您必须测试浏览器的多个绘画和渲染实例,并检查哪种形式的 CSS 操作将占用最少的时间。可能工作得最快的是固定占位符,其中包含隐藏或不隐藏(隐藏或不透明)的动画 GIF 或 SVG。最好避免的是 HTML 在该加载程序部分中一直折叠和增长。这将触发 HTML 引擎的绘制程序不断刷新和完全重绘。

最后,您可以通过研究 jQuery 和原始 JavaScript 处理调用的方式来剥离 AJAX 请求的一些字节。 jQuery 变体非常易于使用,但显然增加了一些开销。在您的情况下(有数千个调用),开销可能意味着很大。

这主要是对您使用的功能和工具进行研究,并找出在哪里可以获得最大的性能提升。

【讨论】:

  • 如果我在渲染开始前 10 毫秒使用 setTimeout 事件,它会起作用吗?
  • 最好不要使用setTimeoutsetInterval。他们使用邪恶的eval 功能并导致您运行的JavaScript 代码的整个范围被重新分析。您可能也想对此进行研究。在这个问题上你可能看起来完全不同。让后端脚本循环收集所有数据,并在每个 X-miliseconds 的大 JSON 块中提供它。这样,您可以更好地细化 HTML/JS 端,并更好地控制流入的数据。
  • OK 渐进式数据加载和 HTML 绑定。谢谢
猜你喜欢
  • 1970-01-01
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多