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');
    }
};
js中 onreadystatechange 和 onload的区别的更多相关文章
- JS中isPrototypeOf 和hasOwnProperty 的区别          -------          js使用in和hasOwnProperty获取对象属性的区别
		JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ... 
- (网页)Angular.js 中 copy 赋值与 = 赋值 区别
		转自st.gg Angular.js 中 copy 赋值与 = 赋值 区别 为什么用 $scope.user = $scope.master; $scope.master 会跟着 $scope.use ... 
- js中的substr和substring区别
		js中的substr和substring区别 Substring: 该方法可以有一个参数也可以有两个参数. (1) 一个参数: 示例: var str=“Olive”: str.substring( ... 
- JS 中的require 和 import 区别整理
		ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使 ... 
- 浅谈JS中的!=、== 、!==、===的用法和区别  JS中Null与Undefined的区别   读取XML文件   获取路径的方式  C#中Cookie,Session,Application的用法与区别? c#反射  抽象工厂
		浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ... 
- [转]html js中name和id的区别和使用分析
		js中web页面元素的调用可以有两种识别方法:id和name 自己在用的过程中总结一下id和name的使用区别. 一,使用范围 除 BASE, HEAD, HTML, META, SCRIPT, ST ... 
- 浅谈js中null和undefined的区别
		在JS中,null和undefined是经常让人摸不着头脑的东西,尤其是在数据初始化以及处理的过程中,经常稍微不注意,就会让页面在渲染时出现报错,下面来细说下,这两者之间的区别: null 表示一个对 ... 
- js中的call,apply,bind区别
		在JavaScript中,call.apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向. call.apply.bind方法的共同点和区别:app ... 
- js中eval()和$.parseJSON()的区别
		之前自己一直对ajax不是特别的熟悉,所以一般都很少用这个去写功能,但是最近这个项目中用到了,用ajax异步传数据,json传数据这个时候就需要去解析传过来的数据了,eval()和$.parseJSO ... 
随机推荐
- rxjs学习笔记
			api List Rx.Observable.amb(...args) -存在竞争关系,amb里的流只能触发一个,并且忽略其他未处理的流. eq: <body> <input id= ... 
- 洛谷P2375 动物园
			我要死了.这是我做过的最恶心的题之一. 天下第一的大毒瘤.有gay毒. 我不如熊猫好多年... 题意:给定字符串,求g[i],表示:[0, i]中满足该子串既是前缀又是后缀还不重叠的子串数. 解:题面 ... 
- 2050 Programming Competition (CCPC)
			Pro&Sol 链接: https://pan.baidu.com/s/17Tt3EPKEQivP2-3OHkYD2A 提取码: wbnu 复制这段内容后打开百度网盘手机App,操作更方便哦 ... 
- Mock3 moco框架的http协议post方法Mock的实现
			新建一个 startupPost.json [ { "description":"模拟一个post请求", "request":{ &quo ... 
- template specifiers not specified in declaration of ‘template<class Key> class hash’
			尝试写显示特化样例的时候,写了如下代码 #include <iostream> #include <cstddef> using namespace std; #define ... 
- 网页性能工具:webpage使用
			老大要求优化首页的加载时间,让测试给个详细数据. 轻松用了webpage 参考介绍: http://www.cnblogs.com/strick/p/6681692.html 测试网址: http:/ ... 
- django模版之过滤器
			过滤器,变量的显示形式的改变 一.形式:小写 {{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 <p> 标签 {{ my_text|escape|line ... 
- jmeter jsr223脚本引用变量的问题
			发现jmeter的一个问题不知道算不算bug. 具体表现为,在脚本中通过"${varName}"的方式引用前面使用vars.put("varName",&quo ... 
- TCP详解——连接建立与断开
			一.报文结构介绍 在开始讲TCP连接过程时,还是先看看TCP报文的格式如图1所示.IP数据报此时由IP头部+TCP头部+TCP数据组成.不带选项的TCP头部是20字节长,而带选项的,TCP头部最长可达 ... 
- Yarn常用命令总结
			Yarn常用命令总结 1>.查看任务列表 [root@storage101 ~]# yarn application -list :: INFO client.RMProxy: Connecti ... 
