如何检查DOM元素是否已完全加载
How to check if DOM element is fully loaded?
我正在加载一个包含数千个元素的非常大的网页。如何测试节点是否已完全加载,包括它自身和所有它的子元素,但我不想等待整个页面加载。例如,让我们有这个页面:
<html>
<head>
<script>
var cnt = 0;
var id = setInterval(function test() {
var e = document.querySelector('#content')
if (!e) return;
// how to test is "e" fully loaded ?
if (cnt == e.childNodes.length) {
clearInterval(id);
} else {
cnt = e.childNodes.length;
console.log(cnt);
}
}, 10);
</script>
</head>
<body>
<div id="content">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>
<!-- ... add 30k div elements -->
</div>
</body>
</html>
这将在控制台上打印类似的内容:
4448
9448
14448
19448
24948
30000
我认为load event
将是您问题的一个更合适的答案。它可以被附加到ellement,并在加载所有内容(包括图像和其他资源)时启动。
你可以在这里找到一些例子。
https://developer.mozilla.org/en-US/docs/Web/Events/loadhttps://www.w3schools.com/jsref/event_onload.asp
但如果你不关心资源,你可能会想看看这个。
https://developers.google.com/speed/docs/insights/rules
表示您希望在加载div#内容后发出警报。如果您将javascript放在div的结束标记之后,那么它将在加载脚本之前的所有html之后运行。
<div id="content">
// your content
</div>
<script type="text/javascript">
alert("finished loading until this point");
</script>
相关文章:
- 如何检测是否加载了iframe
- 如何知道是否加载了JavaScript(脚本)
- 如何在jsoup的帮助下跟踪我的网站是否加载到android设备上
- 如何检查iframe是否加载在JavaScript中
- jQuery或Javascript检查是否加载了图像
- 如何检查<对象>是否加载失败
- 如何确定聚合物元素是否加载
- 如何检测动态加载时加载的jquery是否加载
- 检查 WebGL 纹理是否加载到片段着色器中
- 如何检查是否加载了所有图像?(请不要使用jQuery)
- 如何检查外部javascript是否加载失败
- 有没有办法检查html是否加载在Iframe上
- jQuery:如何检测是否加载了LI元素
- 如何检查我所有的 html 内容是否加载在 angularjs 中
- 如何查看页面上是否加载了jQuery文件
- 检查iframe是否加载在$(document).ready中
- 如何检查元素是否加载
- 我如何检查iframe内容是否加载和可见
- 如何检测网站是否加载在移动设备上的iframe中
- 是否有一种方法来确定是否加载了所有本地JavaScript资源