各浏览器对link标签onload/onreadystatechange事件支持的差异分析


Posted in Javascript onApril 27, 2011

1,onload事件

<!DOCTYPE HTML> 
<HTML> 
<HEAD> 
<meta charset="utf-8" /> 
<title>Link Element onload</title> 
<link type="text/css" rel="stylesheet" href="http://i3.sinaimg.cn/rny/webface/login/css/login101021_min.css" onload="alert(this)"/> 
</HEAD> 
<BODY> 
</BODY> 
</HTML>

IE6/7 :

各浏览器对link标签onload/onreadystatechange事件支持的差异分析

IE8/9 :

各浏览器对link标签onload/onreadystatechange事件支持的差异分析

Opera :

各浏览器对link标签onload/onreadystatechange事件支持的差异分析

即IE6/7/8/9/Opera都支持onload事件, Firefox/Safari/Chrome不支持。

注:用JS创建link标签再添加到head中,情况如上。
2,onreadystatechange事件

<!DOCTYPE HTML> 
<HTML> 
<HEAD> 
<meta charset="utf-8" /> 
<title>Link Element onreadystatechange</title> 
<link type="text/css" rel="stylesheet" href="http://i3.sinaimg.cn/rny/webface/login/css/login101021_min.css" onreadystatechange="alert(this)"/> 
</HEAD> 
<BODY> 
</BODY> 
</HTML>

IE6/7/8/9中弹出了两次,其它浏览器均没有弹。说明只有IE支持link元素的onreadystatechange事件。弹出两次分别是readyState为loading,complete状态。可使用readyState来判断载入情况。我们再使用JS动态创建link元素试试,
<!DOCTYPE HTML> 
<HTML> 
<HEAD> 
<meta charset="utf-8" /> 
<title>Link Element onreadystatechange</title> 
</HEAD> 
<BODY> 
<script> 
function createEl(type, attrs){ 
var el = document.createElement(type), 
attr; 
for(attr in attrs){ 
if(attrs.hasOwnProperty(attr)){ 
el.setAttribute(attr, attrs[attr]); 
} 
} 
return el; 
} 
var link = createEl('link', { 
href : 'http://i3.sinaimg.cn/rny/webface/login/css/login101021_min.css', 
rel : 'stylesheet', 
type : 'text/css' 
}); 
link.onreadystatechange = function(){ 
alert(this) 
} 
document.getElementsByTagName('head')[0].appendChild(link); 
</script> 
</BODY> 
</HTML>

IE6/7/8/9中仍然弹出了2次。Firefox/Safari/Chrome仍然没弹。貌似一切正常,但神奇的是这次在Opera中弹出了一次,说明Opera支持动态创建link元素时的onreadystatechange事件。

相关:

https://developer.mozilla.org/en/HTML/Element/link
http://msdn.microsoft.com/en-us/library/ms535848%28v=VS.85%29.aspx
http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-35143001

Javascript 相关文章推荐
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
纯JS实现旋转图片3D展示效果
Apr 12 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
AngularJS入门教程中SQL实例详解
Jul 27 Javascript
原生JS:Date对象全面解析
Sep 06 Javascript
创建一般js对象的几种方式
Jan 19 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
Feb 27 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
基于angular实现模拟微信小程序swiper组件
Jun 11 Javascript
JavaScript你不知道的一些数组方法
Aug 18 Javascript
详解Chart.js轻量级图表库的使用经验
May 22 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
Apr 27 #Javascript
js实时监听文本框状态的方法
Apr 26 #Javascript
Javascript中的window.event.keyCode使用介绍
Apr 26 #Javascript
Javascript中正则表达式的全局匹配模式分析
Apr 26 #Javascript
说明你的Javascript技术很烂的五个原因
Apr 26 #Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
Apr 26 #Javascript
用jquery实现自定义风格的滑动条实现代码
Apr 26 #Javascript
You might like
PHP在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
PHP中路径问题的解决方案
2006/10/09 PHP
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
php实现登陆模块功能示例
2016/10/20 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
Python struct模块解析
2014/06/12 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
python+pygame实现坦克大战
2019/09/10 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
Python中and和or如何使用
2020/05/28 Python
python判断变量是否为列表的方法
2020/09/17 Python
python代码实现猜拳小游戏
2020/11/30 Python
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
VC++笔试题
2014/10/13 面试题
战友聚会主持词
2014/04/02 职场文书
应聘教师求职信
2014/07/19 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis