document.onLoad的触发时间

昨天在写一个网页特效时,总是提示错误。一直到今天通过一个示例才知道原因。

我一直认为使用javascript的document.onLoad指定一个函数,跟在Body标签中加入onLoad是一样的
不过能过今天的示例发现,document.onLoad并不是在页面加载完成时引发。
示例代码如下:(测试环境Win2003 + IE7)

 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 2<html>
 3<head>
 4<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 5<title>无标题文档</title>
 6<script language="JavaScript">
 7function mytest(){
 8    alert(document.getElementById("my2"));
 9}

10document.onLoad = mytest();
11
</script>
12</head>
13
14<body>
15<id="my2">测试内容</p>
16</body>
17</html>

打开示例中的htm文件时,在页面没有完全显示,即白屏的时侯就弹出提示对话框了。说明mytest在页面没有显示完成时就被调用。

注释掉document.onLoad这句,然后修改body标签为

<body onLoad="mytest()">

重新打开页面,此时才是页面加载完成后才调用mytest。不知道什么原因,呵呵。
posted @ 2007-04-05 11:32  Allen Zhang  阅读(13128)  评论(28编辑  收藏  举报