13

是否可以检测 HTML 何时在页面上完成加载和呈现?如果是这样,怎么做?

该页面由 HTML、ajax 调用、从 ajax 调用接收数据、大量 javascript 内容和一些图像组成。我想检测一切何时完成。我不能做的是在最后加上一个函数调用,因为我不知道什么时候结束。

例如,页面有很多用户可以选择的ajax 样式元素,即用户1 的元素数量可能与用户2 不同,甚至顺序也不同。

所以我不能用last函数来模拟HTML渲染的结束,因为我不知道哪个函数会是最后一个函数。

4

3 回答 3

10

回答您的问题的问题在于最后几句话,您说由于用户选择,您不知道终点在哪里。您可以将 JavaScript 绑定到两个自动事件。jQuery 调用$(document).ready()的内容意味着 DOM 已准备好进行操作(在加载图像之前以及加载外部脚本和 CSS 之后)以及更常见的称为 body onload(在 jQuery 中可以写为$(window).load()) 在获取所有静态资产后运行。至少在 DOM 准备好之后,您的 Ajax 调用将全部触发,并且没有定义所有事件之后发生的事件。为此,您需要自己跟踪它们。您可以使用“最后一匹马走出谷仓”的方法。在 Ajax 调用的末尾添加一点逻辑,看看它是否是最后一个并引发一个名为“reallyAllDone”的自定义事件

于 2012-09-28T07:52:10.510 回答
0

<body onload="load()">

这将检测何时加载正文的内容。

于 2012-09-28T07:36:13.793 回答
-2

$(文档).ready

将帮助您了解 dom 何时完成其事件并准备就绪

于 2012-09-28T07:36:25.930 回答