document.onLoad的触发时间

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

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

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

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

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

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

None.gif < body  onLoad ="mytest()" >

重新打开页面,此时才是页面加载完成后才调用mytest。不知道什么原因,呵呵。

转载于:https://www.cnblogs.com/baoposhou/archive/2007/04/05/701061.html

猜你喜欢

转载自blog.csdn.net/weixin_33834075/article/details/93320714
今日推荐