各浏览器对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 相关文章推荐
让checkbox不选中即将选中的checkbox不选中
Jul 11 Javascript
jQuery提示插件alertify使用指南
Apr 21 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
Aug 21 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
基于JavaScript实现点击页面任何位置返回
Aug 31 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
Sep 19 Javascript
使用JavaScript实现一个小程序之99乘法表
Sep 21 Javascript
p5.js实现斐波那契螺旋的示例代码
Mar 22 Javascript
解决vue props 拿不到值的问题
Sep 11 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 Javascript
详解Vue 换肤方案验证
Aug 28 Javascript
JS定时器如何实现提交成功提示功能
Jun 12 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
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
centos下更新Python版本的步骤
2013/02/12 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
python实现机器学习之多元线性回归
2018/09/06 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
周年庆促销方案
2014/03/15 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
三方合作意向书范本
2015/05/09 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
Python安装使用Scrapy框架
2022/04/12 Python