美文网首页
DOMContentLoaded的使用和兼容处理

DOMContentLoaded的使用和兼容处理

作者: 尤樊容 | 来源:发表于2017-03-25 16:22 被阅读164次

说DOMContentLoaded就不得不先说window.onload,根据我自己的理解,window.onload是等DOM和文件全部加载完以后,才会执行window.onload里面的内容,而DOMContentLoaded是DOM加载完以后就开始执行了,所以比window.onload的效率高。
使用DOMContentLoaded必须要事件绑定,而事件绑定需要处理兼容,且ie68不支持DOMContentLoaded事件,所以要针对ie68做兼容性处理。
下面是封装的domReady:

function domReady(fn){
    if(document.addEventListener){
        document.addEventListener('DOMContentLoaded',function(){
            fn&&fn();//处理事情
        },false);
    }else{
        /*监控资源情况,ie8及以下不支持addEventListener*/
        document.onreadystatechange=function(){
            /*dom加载完成的时候*/
            if(document.readyState=='complete'){
                fn&&fn();//处理事情
            }
        };
    }
}

以上是JavaScript实现domReady,在jQuery中有封装好的ready方法,直接用就行:

$(document).ready(function{
  //code
]);

$(function{
  //code
});

相关文章

网友评论

      本文标题:DOMContentLoaded的使用和兼容处理

      本文链接:https://www.haomeiwen.com/subject/ltscottx.html