<Div style="postion: absolute; width: 100%; height: 100%; z-index: 1000" ID="dv1"><table height="100%" width="100%"><tr><td height="100%" width="100%" align="center" valign="center">正在载入图片</td></tr></Table></Div>
<script Language="javascript">
document.body.onload = function() {
 dv1.style.display = "none";
}
</script>
<img src="img/1.jpg">
我起先认为是一步一步按照顺序来解释的,但是象这个代码的话,如果1.jpg很大的话,那不是要花很长的时间,前面也没有预读过,当然<script里的defer〉我也没有加。但是反过来再看效果,却不一样啊,有个loading的啊,也就是说先解释<html>后解释<javascript>的。但我以前做JS虚线框的时候,如果把JS写在中间的话,后面的就超连接就不行,一定要加defer。所以我就不好说了,如需要例子的话,也可以。

解决方案 »

  1.   

    这个不太清楚
    如果有顺序的需要的话
    建议你使用body的onload事件
    或者使用js的异常(catch-try)来处理
      

  2.   

    但是有一点不懂啊,象我这个代码,如果是按照顺序来处理的话。
    推想过程:
    那么他先读<div>把"正在载入图片"显示出来,然后读js把<div>隐藏了。最后去读这个<img>。
    按照我上面的分析的话,这个图片根本就没有被预读,因为没有这个过程,可实际呢?
    实际的过程:
    先读<div>然后读了JS但由于是document.body.onload和function的关系所以要把<img>读完了以后在去读js里的内容。请问大家我这样分析的对吗?IE是这样处理的吗?
      

  3.   

    onload 只涉及 html doc 本身,html所引用的资源如img是另外读取的(可能是多个线程并行也可能是逐个读取,甚至在某些浏览器设计中包含智能预读取之类的技术,总之都是用户透明的)。所以,你的分析是错误的。
      

  4.   

    那你的意思实际的过程:
    先读<div>然后读了JS但由于是document.body.onload和function的关系所以要把<img>读完了以后在去读js里的内容。是不是说这个也错了?
      

  5.   

    IE不能处理ASP,它只是发出请求,服务器端的脚本解释器处理以后发一个响应回来给浏览器~
      

  6.   

    那HTML和JS呢?哪个顺序呢?如果按照顺序,我那个例子又怎么说呢?
      

  7.   

    再解释一次:首先读取html(包括<script>标签中的脚本代码),顺序解析之(解析不等于执行)。
    html中引用的其他资源,如image,外部stylesheet,外部js是分别读取的(多数浏览器会给每一个资源起用一个独立的并发连接)。期间,会触发一些事件,例如document本身的onload是在html完全loading之后发生(而不管外部资源是否读取完毕)。