javascript - 在javascript中计算网页完全加载的元素

标签 javascript html dom

有什么方法可以通过 javascript 找出网页中将加载多少元素?
例如,我将向访问者展示如下内容:

3 objects loaded, 10 ones remain! please wait.

最佳答案

如果“元素”指的是 DOM 元素,则不是。在加载之前您不知道它们存在,而且在加载完成之前尝试执行 DOM 查询也不是很可靠。

如果您指的是“图像”或类似的内容,您可以在页面上放置如下内容:

<div id="loadingMessageContainer"></div>

并将其放在页面底部(</body>下方)

<script type="text/javascript">
var imageCount = 0;
var imagesLoaded = 0;

//a function to execute when each image is loaded ("event handler")
function handleImageLoad() {
    imagesLoaded++;
    updateImageDisplay();
}

//a function which updates your message in the page
function updateImageDisplay() {
    var displayContainer = document.getElementById('loadingMessageContainer');
    var remaining = imageCount - imagesLoaded;
    displayContainer.innerHTML = imagesLoaded + ' objects loaded, ' + remaining + ' remain. Please wait.';
}

//get # of images on page and attach the OnLoad event handler
var images = document.getElementsByTagName('img');
imageCount = images.length;
for(var i=0;i<images.length;i++) {
    images[i].onload = handleImageLoad;
}
</script>

关于javascript - 在javascript中计算网页完全加载的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728017/

相关文章:

html - 如何使用 XSL 创建 HTML 属性?

javascript - DOM Storage 可以存储什么?

javascript - 模态弹出扩展程序中的运行时错误

javascript - 如何在页面加载时通过 Firebug 注入(inject) JavaScript 片段?

javascript - 使用 br 将项目排列到 html

html - Bootstrap 表格单元格中的垂直居中复选框

javascript - JavaScript 中的 getAttribute(attr) 方法返回属性的先前值

javascript - 可以使用带有 int 参数的 jQuery outerHeight 函数吗?

javascript - 从 javascript 在 div 标签内生成 DOM

javascript - $scope.form.$setSubscribed 不是函数