为什么我的浏览器首先获得js?

时间:2011-01-30 09:36:36

标签: javascript

我已将所有js文件放在html的底部但是当我用firebug(在firefox中)查看时,js会在html文档之后调用。

任何解决方案?我可以用onLoad加载js但我想先知道这个问题。

谢谢, 克劳迪乌

更新: 我有

[html]

 [head]

   //stuf with no js files included

 [/head]

 [body]

   //content

   [script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"][/script]

    [script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"][/script]

    [script src="js/script.js" type="text/javascript"][/script]

 [/body]

[/html]

但首先加载javascript(如图所示 - firebug - net):

enter image description here

1 个答案:

答案 0 :(得分:3)

浏览器从上到下进行解析。由于浏览器事先解析了所有内容,因此在加载DOM时,在HTML文档末尾的任何脚本都会在加载DOM时执行。

如果需要将事件处理程序绑定到窗口的加载事件,请在脚本中执行此操作,以通过window.onloadwindow.addEventListener('load')或更优选的跨浏览器事件系统延迟它们。 / p>

如果您需要在DOM准备好之前执行javascript,请提前将脚本移至<head>以便首先读取。

如果你能真正澄清,那将是很好的,因为问题是有点令人困惑,尽管有一个你需要的真实世界的例子。

编辑:您在加载DOM后放置脚本。图像并非全部加载,只是在窗口的load事件期间。

在图片加载后你真的没有理由加载这些脚本...我猜想99.99%使用js / jquery的网站拥有与你现在相同的加载顺序..

如果你真的需要这个,只需在窗口的load事件上使用脚本注入方法。