XSS之onreadystatechange事件

一、测试代码

如下:

 
<!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事件
XSS之onreadystatechange事件_第1张图片
火狐浏览器加载插件,模拟IE浏览器
右键选择使用IE Tab浏览此页面
XSS之onreadystatechange事件_第2张图片
弹窗2,执行onreadystatechange事件
XSS之onreadystatechange事件_第3张图片

你可能感兴趣的:(XSS)