在chrome中window.onload事件的一些问题
更新时间:2010年03月01日 19:29:00 作者:
在写一些关于图片操作的代码的时候,一般都需要在图片加载完成之后再执行程序。然而在Chorme中(貌似Safari也是)对window.onload的理解与IE和FF有偏差。
假如我们有一个如下的页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<img src="/upload/2010-3/20100301192859481.gif" alt="" id="image">
<script type="text/javascript">
var init=function (){
var img=document.getElementById('image');
alert(img.offsetWidth);
}
window.onload=new init();
</script>
</body>
</html>
在IE和FF下运行的时候都是可以显示图片的真实大小的,即使我并没有显示的说明这个img的width和height。但是在chrome下,则显示的是0。
但是如果将window.onload后面的new init()改为
window.onload=init
或者
window.onload=function(){new init(){}}
就可以在图片加载之后读出图片的大小。
转载请保留以下信息
作者:北玉(tw:@rehawk)
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<img src="/upload/2010-3/20100301192859481.gif" alt="" id="image">
<script type="text/javascript">
var init=function (){
var img=document.getElementById('image');
alert(img.offsetWidth);
}
window.onload=new init();
</script>
</body>
</html>
在IE和FF下运行的时候都是可以显示图片的真实大小的,即使我并没有显示的说明这个img的width和height。但是在chrome下,则显示的是0。
但是如果将window.onload后面的new init()改为
window.onload=init
或者
window.onload=function(){new init(){}}
就可以在图片加载之后读出图片的大小。
转载请保留以下信息
作者:北玉(tw:@rehawk)
相关文章
JS如何获取未来n天的时间(返回日期:yyyy-mm-dd,并且判断是否是今天和星期)
开发中经常遇到获取时间的业务,将常用的方法做个笔记记录下,对JS如何获取未来n天的时间相关知识感兴趣的朋友一起看看吧2024-03-03
最新评论