2012-08-24 21 views
6

JavaScriptを使用して別のJavaScriptファイルを非同期的にダウンロードする方法。非同期に読み込まれたスクリプトがJavaScriptで読み込みを終了したかどうかを確認する方法

これは、ファイルURLにsrc属性が設定されたページに新しいスクリプトタグを挿入することによって実現できると私は理解しています。

スクリプトのダウンロードが完了したら、コードを実行する必要があります。私はこれにyepnopeを使用しており、スクリプトのダウンロードと実行が完了したときに実行される「コールバック」を提供しています。

これはどのように達成されましたか?

ありがとうございます!

答えて

3

ほとんどのJSローダーは、DOMへ<script>タグを注入し、あなたの提供する機能にそのonloadイベントを結合することによりこれを行います。

yepnopeも同様のアプローチを使用しており、単にsource codeからそれを観察することができます。機能injectJssrcsetAttributeを使用して他の必要な属性を設定し、doc.createElementを使用してDOM要素を作成し、提供するコールバックにonreadystatechange & onloadイベントを結合し、そして最終的にドキュメントに要素を挿入します。

3

yepnope.injectJs(scriptSource [, callback ] [, elemAttributes ] [, timeout ]); ストレートオフtheir website:コールバックの成功に必要なコードを実行するだけです。

// Example 
yepnope.injectJs("jquery.js", function() { 
    console.log("It is finished loading and I can do whatever I need to here"); 
}, { charset: "utf-8" }, 5000); 
+0

ご回答いただきありがとうございます。問題は、私はこのためにイープノープを使うことができないということです。 –

+0

@ChrisDutrowなぜこの質問を 'yepnope'タグでタグ付けしますか? – jessegavin

+0

@ jessegavin - 私は質問でyepnopeを述べたので、そのようにタグ付けしました。 –

1

uは、Jquery.getScript()

チェックアウト、それはそれについての詳細な情報を提供するリンクを、それを使用する場合は、このは、jqueryのを使用して行うことができます。

関連する問題