各浏览器对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 相关文章推荐
javascript event 事件解析
Jan 31 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 Javascript
jquery 检测元素是否存在的实例代码
Nov 19 Javascript
JavaScript分析、压缩工具JavaScript Analyser
Dec 31 Javascript
jQuery中scrollLeft()方法用法实例
Jan 16 Javascript
jQuery搜索同辈元素方法
Feb 10 Javascript
动态的9*9乘法表效果的实现代码
May 16 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
Vue中在新窗口打开页面及Vue-router的使用
Jun 13 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
Nov 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
php画图实例
2014/11/05 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
微信小程序用canvas画图并分享
2020/03/09 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
基于Python中的yield表达式介绍
2019/11/19 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
机电一体化专业推荐信
2013/12/03 职场文书
寒假家长评语大全
2014/04/16 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
考试作弊检讨书
2014/10/21 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
详解Python中__new__方法的作用
2022/03/31 Python
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js