我已将所有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):
答案 0 :(得分:3)
浏览器从上到下进行解析。由于浏览器事先解析了所有内容,因此在加载DOM时,在HTML文档末尾的任何脚本都会在加载DOM时执行。
如果需要将事件处理程序绑定到窗口的加载事件,请在脚本中执行此操作,以通过window.onload
或window.addEventListener('load')
或更优选的跨浏览器事件系统延迟它们。 / p>
如果您需要在DOM准备好之前执行javascript,请提前将脚本移至<head>
以便首先读取。
如果你能真正澄清,那将是很好的,因为问题是有点令人困惑,尽管有一个你需要的真实世界的例子。
编辑:您在加载DOM后放置脚本。图像并非全部加载,只是在窗口的load
事件期间。
在图片加载后你真的没有理由加载这些脚本...我猜想99.99%使用js / jquery的网站拥有与你现在相同的加载顺序..
如果你真的需要这个,只需在窗口的load
事件上使用脚本注入方法。