各浏览器对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 相关文章推荐
获取当前网页document.url location.href区别总结
May 10 Javascript
JavaScript Timer实现代码
Feb 17 Javascript
js style动态设置table高度
Oct 21 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
移动端横屏的JS代码(beta)
May 16 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
jquery easyui DataGrid简单示例
Jan 23 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
Feb 19 Javascript
浅谈vue-lazyload实现的详细过程
Aug 22 Javascript
node(koa2) web应用模块介绍详解
Mar 29 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
Apr 28 Javascript
关于uniApp editor微信滑动问题
Jan 15 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扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
深入浅析javascript继承体系
2017/10/23 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python 元组(Tuple)操作详解
2014/03/11 Python
python处理圆角图片、圆形图片的例子
2014/04/25 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python 调用c语言函数的方法
2017/09/29 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
事业单位绩效考核实施方案
2014/03/27 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
《春笋》教学反思
2014/04/15 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
家长反馈意见及建议
2015/06/03 职场文书
导游词之天津古文化街
2019/11/09 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
goland 设置project gopath的操作
2021/05/06 Golang
python非标准时间的转换
2021/07/25 Python
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript