在所有内联<script>之前或之后是否已经加载$ .ready?</script>

时间:2011-06-01 01:14:03

标签: javascript jquery events

核心,这是一个javascript问题,但我正在使用jQuery连接事件。

以下是一个示例案例:

<html>
  <head>
    <script src="waiting_on_ready.js" />
  </head>
  <body>
    <script src="http://somewhere.com/not_cached.js"></script>
  </body>
</html>

waiting_on_ready.js中的$ .ready回调是否必须等待加载not_cached.js?是否等待执行not_cached.js?

4 个答案:

答案 0 :(得分:10)

是的,是的。

使用HTML5 "async" attribute时,<script>元素的执行与同步,但除外。需要同步执行JavaScript(除非另有要求不要),因为JavaScript可以通过document.write等修改文档流(但是,实际获取资源可能是并行的。)

快乐的编码。

答案 1 :(得分:7)

当所有DOM元素都准备好进行操作时,就会触发。

当浏览器遇到一个脚本元素时,DOM解析会一直停止,直到脚本执行完毕,所以由于它的工作原理,它会在加载所有脚本后触发。

答案 2 :(得分:1)

在加载并执行$(document).ready()之前不会触发

not_cached.js(假设not_chached.js中的执行是同步的)

答案 3 :(得分:0)

$.ready脚本在页面完全加载后执行as the onload event does,但是如果找到内联脚本,则执行该脚本。