`

Dom加载判断,兼容所有浏览器

 
阅读更多

Dom加载判断,兼容所有浏览器

 

Dom 加载完毕,兼容所有浏览器

Firefox2、Firefox3、Safari3.1+、Opera9.6+ 浏览器都能很好的支持,但 IE6、IE7 却不支持。

IE6、IE7 我们可以使用 js.onreadystatechange 来跟踪每个状态变化的情况(一般为 loading 、loaded、interactive、complete)

当返回状态为 loaded 或 complete 时,则表示加载完成,返回回调函数。  
Opera 支持 onreadystatechange

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd ">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Untitled Document</title>
         <script language="JavaScript" type="text/javascript">
   if(document.attachEvent){
    document.onreadystatechange=function(){ 
                  if(document.readyState == 'loaded'||document.readyState=="complete"||document.readyState=='interactive'){  
                   document.getElementById("imgdivid").style.display="none";
                  Start();
                 }
    };
  }
  else{  
                      document.addEventListener("DOMContentLoaded",Start,false);   //非IE 
  }
  function Start(){
    alert("document.readyState=" + document.readyState + "\nYes,I'm running");
  }//]]>

  </script>
    </head>
    <body>
        <div align="center" id="imgdivid">
            <img src="wait.gif">
        </div>
    </body>
</html>

上面的代码若果不好,你可以封装自己的包里  底下是我写的类

dload2.js

/**
 * @author duping
 * Administrator
 */
 var  duduppp=function(){
   
           function  domReady(){
     var arr=new Array(); 
      if(arguments.length>0){
           for (var i = 0; i < arguments.length; i++) {      
       arr[i]= arguments[i];      
     }
      }
                   if(document.all){
         
          document.onreadystatechange=function(){       
      /*document.readyState=="complete"||document.readyState=='interactive'
       * 这样写会加载2次,先加载interactive 之后再加载complete
       * 如过要求效率的话写成interactive, opera  没有反应,opera 没有interactive 直接到complete
       * 所以 另写了
       */
      if(document.readyState=='loaded'||document.readyState=="complete"){            
      //  alert(arr[0]+"------------IE--------------------");
       Start(arr); 
                         
                           }         
      }
       }
       else{  
       // alert(arr[0]+"------------NO--IE--------------------");      
          document.addEventListener("DOMContentLoaded",Start(arr),false);
      }       
      function Start(arr){     
    for(var i=0;i<arr.length;i++){    
     if(typeof arr[i]=='function'){     
      arr[i]();
     }     
    }             
            }
              
            }
  
      return {domReady:domReady
               }
           }();

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd ">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Untitled Document</title>
  <script language="JavaScript" type="text/javascript" src="js/dload2.js"></script>
        <script language="JavaScript" type="text/javascript">
           function test1(){
       var name=document.getElementById("name").value;   
       alert("my  method is  right"+name);
     }
     function test2(){
      alert("生活需要激情!");
     }
            duduppp.domReady(test1,test2);
             
        </script>
    </head>
    <body>
     <input type="text" id="name" value="1234">
    </body>
</html>

 

转自:http://hi.baidu.com/duduppp/blog/item/a2fb4ad43849c313a18bb795.html

分享到:
评论

相关推荐

    完美弹出窗口 兼容所有浏览器

    标题中的“完美弹出窗口 兼容所有浏览器”意味着这个解决方案旨在确保在各种主流浏览器(如Chrome、Firefox、Safari、Edge和Internet Explorer)中一致的表现。跨浏览器兼容性是Web开发中的一个重要考虑因素,因为...

    弹出层兼容所有浏览器

    本项目"弹出层兼容所有浏览器"是基于jQuery实现的,旨在确保在各种不同的浏览器环境下都能正常工作。下面将详细讨论弹出层的基本概念、jQuery在其中的作用以及如何实现跨浏览器兼容性。 首先,弹出层通常包含对话框...

    兼容多浏览器js 日历控件大全

    此外,盒模型的差异也需要处理,确保在所有浏览器中元素的尺寸计算一致。 4. **日期和时间处理**:JavaScript的内置`Date`对象在处理日期和时间时可能在不同浏览器中表现不一。使用可靠的库,如`moment.js`,可以...

    兼容所有浏览器的旋转插件

    "兼容所有浏览器的旋转插件"这个主题就是针对这一问题的一个解决方案。它利用jQuery库和CSS技术来实现一个功能,使得元素能够在包括Internet Explorer 6及更高版本在内的各种浏览器上进行旋转展示。 首先,jQuery是...

    iframe自适应高度(兼容目前所有主浏览器)

    iFrame 自适应高度(兼容所有主浏览器) iFrame 自适应高度是前端开发中常见的问题,很多开发者在搜索引擎中搜索相关解决方案,但大多数文章只能解决静态高度的问题,而忽视了 JS 操作 DOM 之后的动态同步问题。...

    30多种上下左右滚动代码兼容各种浏览器

    例如,使用`window.onload`或`$(document).ready`确保DOM加载完成后再执行脚本;对于CSS,可以使用浏览器前缀(如 `-webkit-`,`-moz-` 等)来支持旧版本的浏览器;对于JavaScript,可以使用polyfill库,如Modernizr...

    兼容多浏览器的JS日期控件

    本文将深入探讨如何创建一个兼容多浏览器的JS日期控件,以及涉及的相关知识点。 首先,我们需要理解浏览器之间的兼容性问题。不同的浏览器可能对JavaScript的某些API或CSS样式处理有所不同,这给开发者带来了挑战。...

    兼容所有浏览器的点击复制功能(请在服务器上测试)

    标题 "兼容所有浏览器的点击复制功能(请在服务器上测试)" 涉及的核心技术是利用jQuery和Flash实现跨浏览器的文本复制功能。在Web开发中,由于浏览器的安全策略和差异,直接通过JavaScript操作剪贴板的功能并不总是...

    大图jQuery多屏首页焦点图代码,兼容主流浏览器

    标题"大图jQuery多屏首页焦点图代码,兼容主流浏览器"涉及到的是一个前端开发技术问题,特别是网站首页面设计。焦点图,也称为轮播图或幻灯片,是一种常见的网页元素,用于展示一组图片或内容,并在用户交互下自动或...

    兼容所有浏览器的 Jquery 圆角插件,可配置

    本文将详细介绍一个兼容所有浏览器的jQuery圆角插件的使用和实现原理。 **1. 插件介绍** 标题中的"兼容所有浏览器的jQuery圆角插件"指的是一个专门用于使HTML元素(如div)具有圆角效果的JavaScript插件。它利用...

    回到顶部和回到底部特效-jquery锚点移动兼容所有浏览器

    标题中的“回到顶部和回到底部特效-jquery锚点移动兼容所有浏览器”指的是在网页设计中,使用jQuery库实现的一种用户交互功能。这种功能允许用户快速地通过点击按钮或者使用其他交互方式,轻松地返回页面顶部或底部...

    js简单幻灯片 javascript简单幻灯片 兼容浏览器

    综上所述,创建一个兼容浏览器的JavaScript幻灯片涉及的知识点广泛,包括DOM操作、事件处理、CSS样式控制、浏览器兼容性处理以及性能优化等。通过这些技术,我们可以为用户提供一个既美观又实用的网页幻灯片展示效果...

    Jquery fixed插件兼容所有浏览器

    该插件的主要优势在于其对IE6的良好兼容性,解决了在旧版浏览器中常见的布局问题。 在使用传统的CSS fixed定位时,IE6往往会存在一些显示上的bug,例如元素在滚动时可能出现抖动或位置不准确的现象。jQuery fixed...

    js树形菜单,完全兼容

    - 使用懒加载策略,只在节点被展开时加载其子节点,减少初始加载的DOM数量。 - 采用递归或迭代的方式动态生成和更新DOM,避免一次性生成大量节点。 综上所述,实现一个在各种浏览器下兼容的JavaScript树形菜单...

    vue-print-nb 兼容低版本浏览器

    2. **传统DOM操作**:尽管Vue.js基于虚拟DOM,但为了保证在旧浏览器中的兼容性,`vue-print-nb` 可能会使用传统的DOM操作方法,如querySelector、innerHTML等,而非依赖于Vue的API。 3. **CSS前缀**:对于CSS3的新...

    寒羽枫js日历控件兼容所有浏览器(包括ie8)

    ### 寒羽枫JS日历控件兼容所有浏览器(包括IE8) #### 概述 在Web开发领域,实现一个跨浏览器兼容的日历插件是一项挑战性任务,尤其是在需要支持老旧浏览器如Internet Explorer 8 (IE8)时。本文将详细介绍如何对寒...

    JS+CSS的纯日历提醒插件(兼容所有浏览器)

    【标题】:JS+CSS的纯日历提醒插件(兼容所有浏览器) 是一款基于JavaScript和CSS技术构建的日历插件,旨在为用户提供一个轻量级、无依赖、全浏览器兼容的日期选择与提醒功能。这款插件充分利用了JavaScript动态交互...

    jq全宽屏翻滚焦点图实例(兼容所有浏览器)

    4. **兼容性处理**:由于目标是兼容所有浏览器,开发者需要确保使用的jQuery函数和CSS属性在老版本的浏览器(如IE8及以上)中也能正常工作。可能需要引入jQuery的polyfill或者使用特性检测来提供兼容性支持。 5. **...

    QQ在线客服悬挂右测带隐藏JS代码,兼容所有浏览器

    为了实现跨浏览器兼容性,开发者需要考虑不同的浏览器可能对CSS、DOM操作和事件处理有不同的实现。例如,IE(Internet Explorer)、Chrome、Firefox、Safari和Opera等浏览器可能在处理某些JS特性时存在差异。因此,...

    js换肤圆角代码兼容各个浏览器

    在网页设计中,实现元素的圆角效果以及动态换肤是常见的需求,尤其在JavaScript(JS)的帮助下,这些功能可以轻松地实现,并且能够确保在不同的浏览器之间具有良好的兼容性。"js换肤圆角代码兼容各个浏览器"这个主题...

Global site tag (gtag.js) - Google Analytics