是否可以检测 HTML 何时在页面上完成加载和呈现?如果是这样,怎么做?
该页面由 HTML、ajax 调用、从 ajax 调用接收数据、大量 javascript 内容和一些图像组成。我想检测一切何时完成。我不能做的是在最后加上一个函数调用,因为我不知道什么时候结束。
例如,页面有很多用户可以选择的ajax 样式元素,即用户1 的元素数量可能与用户2 不同,甚至顺序也不同。
所以我不能用last函数来模拟HTML渲染的结束,因为我不知道哪个函数会是最后一个函数。
是否可以检测 HTML 何时在页面上完成加载和呈现?如果是这样,怎么做?
该页面由 HTML、ajax 调用、从 ajax 调用接收数据、大量 javascript 内容和一些图像组成。我想检测一切何时完成。我不能做的是在最后加上一个函数调用,因为我不知道什么时候结束。
例如,页面有很多用户可以选择的ajax 样式元素,即用户1 的元素数量可能与用户2 不同,甚至顺序也不同。
所以我不能用last函数来模拟HTML渲染的结束,因为我不知道哪个函数会是最后一个函数。
回答您的问题的问题在于最后几句话,您说由于用户选择,您不知道终点在哪里。您可以将 JavaScript 绑定到两个自动事件。jQuery 调用$(document).ready()
的内容意味着 DOM 已准备好进行操作(在加载图像之前以及加载外部脚本和 CSS 之后)以及更常见的称为 body onload
(在 jQuery 中可以写为$(window).load()
) 在获取所有静态资产后运行。至少在 DOM 准备好之后,您的 Ajax 调用将全部触发,并且没有定义所有事件之后发生的事件。为此,您需要自己跟踪它们。您可以使用“最后一匹马走出谷仓”的方法。在 Ajax 调用的末尾添加一点逻辑,看看它是否是最后一个并引发一个名为“reallyAllDone”的自定义事件
$(文档).ready
将帮助您了解 dom 何时完成其事件并准备就绪