一、测试代码
如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>IE9/10同时支持script元素的onload和onreadystatechange事件</title>
<script src="http://code.jquery.com/jquery.min.js" onload="alert(1)" onreadystatechange="alert(2)"></script>
</head>
<body>
</body>
</html>
二、结果
IE6/7/8 : 弹出2
IE9/10 : 弹出2,1
Firefox/Safari/Chrome/Opera : 弹出1
测试结果可以看出,IE9后已经开始支持script的onload事件了。一直以来我们判断js文件是否已经加载完成就是用以上的两个事件。很久以前就知道IE中使用onreadystatechange事件,事件handler中使用readyState的值判断是否加载完成。其它浏览器使用onload事件。
三、测试教程
在火狐浏览器中有一个插件可以模拟IE浏览器
我们将测试代码保存为ceshi.html使用无插件的火狐浏览器访问,弹窗1,执行onload事件
火狐浏览器加载插件,模拟IE浏览器
右键选择使用IE Tab浏览此页面
弹窗2,执行onreadystatechange事件