这个脚本中首先加载什么?

时间:2011-07-01 14:50:56

标签: javascript jquery html http

就加载顺序而言,此脚本中发生了什么?在jquery库完成加载之前,divLoading div标签是否完成加载?并且,在用户屏幕上创建divLoading div标签之前,库是否开始加载?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>
    </head>

    <body>
        <div id="divLoading">loading...</div>
        <img src="http://goes.gsfc.nasa.gov/pub/goes/060619_fulldisk_color.jpg" />
    </body>
</html>

4 个答案:

答案 0 :(得分:3)

JS正在阻止,因此在加载脚本时HTML解析会暂停。

答案 1 :(得分:0)

请求Jquery,请求jQuery UI。您没有任何JavaScript代码等待页面呈现或任何内容。您可以使用Firebug来调查加载的内容,时间和持续时间:

http://getfirebug.com/

答案 2 :(得分:0)

脚本按引用顺序连续运行。所以,首先加载jQuery,然后加载jQuery UI。 (浏览器可能同时下载两个,可能会也可能不会先完成另一个下载,但处理将先进/先出。)

JavaScript也是阻塞的(页面上没有任何其他内容会加载),因此在浏览器甚至考虑body标签中的内容之前,脚本将被完全下载和处理。

答案 3 :(得分:0)

不要重申已发布的内容,但js将首先加载并阻止下载任何其他元素,因此如果您使用的话,最好将所有脚本移到页面底部jquery,比我假设你正在使用document.ready listener来包装你的所有动作。如果是这种情况,那么在DOM准备就绪之前不会发生任何操作,因此w(sh)在移动文件时不会有任何损害。

http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_5/

这是一个很好的问题,因为它提出了HTTP客户端/服务器交互的基本概念。