等待head.ready()和$(document).ready(),然后执行

时间:2012-12-19 18:48:45

标签: javascript jquery document-ready head.js

我希望在文档准备好并且所有脚本加载完成后执行一些代码。我使用head.js加载脚本:

$(document).ready(function () {
    head.js("script1.js", "script2.js", function() {
        // code to execute
    });
});

这样做可以开始加载脚本等待$(document).ready()。看起来最好尽快开始加载脚本以避免性能下降。

在执行代码块之前,是否有更好的方法确保文档和脚本完全加载?

4 个答案:

答案 0 :(得分:1)

交换代码更好。

head.js("script1.js", "script2.js", function() {
    $(document).ready(function () {
        // code to execute
    });
});

脚本立即开始加载,然后当它们完成时,它们会等到文档准备好然后开始执行。

如果将脚本移动到结束体标记之前并将domready处理程序全部移除,那就更好了。

答案 1 :(得分:0)

您可以先使用.load加载所有内容然后执行所有内容:

$(window).load(function () {
    head.js("script1.js", "script2.js", function() {
    // code to execute
    });
});

答案 2 :(得分:0)

将$(document).ready()代码放在所有其他脚本上?!

答案 3 :(得分:0)

你正在变得太复杂了。如果您希望首先加载文档,然后加载脚本然后执行一些代码,然后在</body>之前将脚本标记放在文档的末尾,如下所示:

<head>
</head>
<body>

Your regular HTML content here
<script src="script1.js"></script>
<script src="script2.js"></script>
<script>
// Put code here that you want to execute when document and scripts are ready
</script>
</body>

对于您所描述的简单原因,您不需要使用回调进行动态加载。