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

.load最初にすべてをロードしてから、すべてを実行するために使用できます。

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

$(document).ready()コードを他のすべてのスクリプトに配置しますか?!

于 2012-12-19T18:56:35.120 に答える
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 に答える