首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 判断文档加载 完成

在JavaScript中,判断文档加载完成通常使用DOMContentLoaded事件或window.onload事件。

一、基础概念

  1. DOMContentLoaded事件
    • 当HTML文档被完全加载和解析完成后触发,不需要等待样式表、图像和子框架的加载。
  • window.onload事件
    • 当整个页面(包括所有依赖的资源如样式表、图像等)都加载完成后触发。

二、相关优势

  • DOMContentLoaded
    • 优势在于可以更快地执行脚本,因为它不需要等待所有资源加载完成。
  • window.onload
    • 优势在于确保所有资源都已加载,适用于需要在所有资源加载完成后执行的操作。

三、应用场景

  • DOMContentLoaded
    • 适用于DOM操作,如初始化插件、绑定事件等。
  • window.onload
    • 适用于需要在页面完全加载后执行的操作,如图片尺寸调整、页面滚动效果等。

四、示例代码

  1. 使用DOMContentLoaded
代码语言:txt
复制
document.addEventListener('DOMContentLoaded', function() {
    console.log('文档加载完成');
    // 在这里执行DOM相关的操作
});
  1. 使用window.onload
代码语言:txt
复制
window.onload = function() {
    console.log('页面完全加载完成');
    // 在这里执行需要等待所有资源加载完成的操作
};

五、常见问题及解决方法

  1. 事件未触发
    • 确保脚本在文档加载前执行,可以将脚本放在<head>标签内,并使用defer属性,或者将脚本放在<body>标签的底部。
    • 检查是否有语法错误或其他脚本错误阻止了事件的绑定和触发。
  • 事件触发顺序
    • DOMContentLoaded总是在window.onload之前触发,如果需要确保某些操作在所有资源加载完成后执行,应使用window.onload

通过以上方法,可以有效地判断文档加载完成,并在适当的时候执行相应的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • js判断iframe加载是否成功的方法

    今天木槿来探讨一下js判断iframe加载是否成功的方法,并且兼容多种浏览器。...这时,我们就要考虑是否可以等iframe加载完后再执行后边的操作,当然,各种浏览器早就为我们考虑到啦,看下面:ie浏览器IE的每个elem节点都会拥有一个onreadystatechange事件,这个事件每次在...添加一个 onreadystatechangeiframe.attachEvent("onreadystatechange", function(){//此事件在内容没有被载入时候也会被触发,所以我们要判断状态...;其他浏览器:Firefox,Opera,chrome等在其他非IE的浏览器上 Firefox,Opera,chrome等 iframe 都会拥有一个 onload 事件,此事件只要触发就说名内容已经加载完毕...(iframe.attachEvent){iframe.attachEvent("onreadystatechange", function() {//此事件在内容没有被载入时候也会被触发,所以我们要判断状态

    2K20

    JS魔法堂:精确判断IE的文档模式by特征嗅探

    一、前言                                 苦逼的前端攻城狮都深受浏览器兼容之苦,再完成每一项功能前都要左顾右盼,生怕浏览器不支持某个API,生怕原生API内含臭虫因此判断浏览器类型和版本号成了不可绕过的一道关卡...+[1,];就是判断是否处于IE5678的文档模式下的特征嗅探。...三、判断IE当前的文档模式 // 判断是否为IE var isIE = navtigator.userAgent.toLocaleLowerCase().indexOf('msie') !...所以可直接通过document.documentMode来判断当前文档模式。...四、总结                                       由于本篇重在代码实现上,结合《JS魔法堂:浏览器模式和文本模式怎么玩?》也许会更易理解本篇内容。

    1.5K90

    js如何控制一次只加载一张图片,加载完成后再加载下一张

    今天看到一个面试题,是关于img图片加载方面的,有必要记录一下。其实关于这个问题,只要知道图片什么时候加载完成就能解决了。...通过onload事件判断Img标签加载完成 实现逻辑:新建一个Image对象实例,为实例对象设置src属性等,在onload事件中添加此实例对象到父元素中,然后将图片地址数组中的第一个元素剔除,继续调用此方法直到存储图片地址的数组为空...HTML文档渲染解析,如果解析到img标签的src时,浏览器就会立刻开启一个线程去请求图片资源。...一个属于HTML标签,另一个属于css样式,加载机制和解析顺序也不同。...一个完整的页面是由js、html、css组成的,按照解析机制,html元素会优先解析,尽管css样式是放在head标签内的,但也不意味着它会优先加载,它只有等到html文档加载完成后才会执行。

    14310

    Java加载js

    Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true Android(Java)与JavaScript(HTML)交互有四种情况...: 1) Android(Java)调用HTML中js代码 2) Android(Java)调用HTML中js代码(带参数) 3) HTML中js调用Android(Java)代码 4) HTML中js...脚本设置 Android(Java)与js(HTML)交互的接口函数是: mWebView.addJavascriptInterface(getHtmlObject(), "jsObj");     /.../ jsObj 为桥连对象 Android容许执行js脚本需要设置: webSettings.setJavaScriptEnabled(true); (2) js(HTML)访问Android(Java...Java)访问js(HTML)代码 Android(Java)访问js(HTML)端代码是通过loadUrl函数实现的,访问格式如:mWebView.loadUrl("javascript: showFromHtml

    8.8K80

    如何动态加载js?

    第三方的js文件,自己写的js文件,js越来越多了怎么办? 提出问题: 1、js文件太多了,每个页面都写太麻烦。 2、如果路径变化了,或者js名称变化了怎么办?...3、如何约束js文件的加载顺序?a.js定义了一个函数,b.js要调用,但是b.js先加载了,a.js还没加载完成,造成函数未定义,无法调用。 4、js文件的合并。...5、加载js完毕之后,要可以执行回调函数。  解决问题: 如何解决这些问题呢?我想到的办法是——动态加载js。就是通过js代码的方式来加载。...弄了好久才发现,原来是js文件会被加载多次。 为什么被加载了多次呢?原因在于 onreadystatechange 和 onload 。为什么这两个事件都调用了callback?...老办法,判断浏览器类型。 如果是IE10,那么只设置onload。然后,世界安静了。当然这里浏览器的类型判断还不完全。浏览器太多了,遇到不兼容的在考虑吧,俺js其实很烂的。

    12.8K50

    JS懒加载实现

    标签呈现在当前浏览器可视窗口时,动态设置img标签的src属性 相关API document.documentElement.clientHeight:获取屏幕可视区域的高度 element.offsetTop:获取元素相对于文档顶部的高度...document.documentElement.scrollTop:滚动条滚动的距离 图示 图片来源 【https://zhuanlan.zhihu.com/p/55311726】 当图片的距离文档顶部的高度...i<images.length;i++){ if(images[i].offsetTop - S < H){ console.log(`第${i}个图片触发了懒加载...window.onload = window.onscroll = function(){ lazyImg(imgs) } 上述代码已经实现了一个基本的懒加载,但是存在性能问题 我们使用防抖函数优化一下...delay); } } window.onload = window.onscroll = debounce( function(){ lazyImg(imgs) },1000) 到此完成图片懒加载实现

    8.8K30
    领券