核心,这是一个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?
答案 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
,但是如果找到内联脚本,则执行该脚本。