0

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

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

这样做会使开始加载脚本等待 $(document).ready()。似乎最好尽快开始加载脚本以避免性能下降。

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

4

4 回答 4

1

最好交换代码。

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

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

如果您将脚本移到结束 body 标记之前并一起删除 domready 处理程序,那就更好了。

于 2012-12-19T18:56:40.577 回答
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>

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

于 2012-12-19T19:08:26.343 回答
0

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

于 2012-12-19T18:56:35.120 回答
0

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

$(window).load(function () {
    head.js("script1.js", "script2.js", function() {
    // code to execute
    });
});
于 2012-12-19T18:53:07.263 回答