zoukankan      html  css  js  c++  java
  • js中 onreadystatechange 和 onload的区别

    IE的script 元素只支持onreadystatechange事件,不支持onload事件。
    
    FF的script 元素不支持onreadystatechange事件,只支持onload事件。
    
    如果要在一个<script src="xx.js"> 加载完成执行一个操作,FF使用onload事件就行了,IE下则要结合onreadystatechange事件和this.readyState,

    以下是IE的一个例子:
    <script type="text/javascript" src="xx.xx" onreadstatechange="if(this.readyState=='load') alert('loaded');"></script>
    

      

    this.readyState的值为'loaded'或者'complete'都可以表示这个script已经加载完成.
    
    如何结合IE和FF的区别?参考一下jquery的源码:
    var script = document.createElement('script');
    
    script.src="xx.js";
    
    script.onload = script.onreadystatechange = function(){
    
         if(  ! this.readyState     //这是FF的判断语句,因为ff下没有readyState这人值,IE的readyState肯定有值
    
              || this.readyState=='loaded' || this.readyState=='complete'   // 这是IE的判断语句
    
        ){
    
              alert('loaded');
    
        }
    
    };
    

      

  • 相关阅读:
    jenkins GitHub 自动触发
    rabbitmq web管理
    系统编码,文件编码,python编码
    反转二叉树
    从右边看二叉树
    python pyenv
    js 闭包
    git review & devops过程
    centos7搭建自己的yum源
    优先级队列PriorityQueue 测试,会自动排序
  • 原文地址:https://www.cnblogs.com/cblx/p/9032075.html
Copyright © 2011-2022 走看看