JavaScriptデカップリング
920 ワード
二つのページA、Bがあります.ページAはページBを呼び出します.Bページはまた、非同期的なロード方式でJavascipt(例えば、Class HeaderEvaaluation.js)ファイルを含んでいます.問題シーン:Aページは、非同期的な要求方式でBを要求し、BのClass HeaderEvaaliations.jsファイルのロードが完了したら、Class Header Evaaluation.jsのメソッドを呼び出して、どのように実現しますか?
考え方1:
ループ待ちを使用して実現し、疲れないようにします.
考え方2:
Bページでは、隠しコントロールを追加します.例えば、idは:Class Header Evaaluation loaddivで、ページBのコードを修正します.
ここで、ページAはページBをロードする際に、BページのコントロールClass Header Evaaluation loaddivをコールバック関数で割り当てられ、その後、操作はBページ自身によってロードされ実行される.
考え方1:
ループ待ちを使用して実現し、疲れないようにします.
考え方2:
Bページでは、隠しコントロールを追加します.例えば、idは:Class Header Evaaluation loaddivで、ページBのコードを修正します.
<script type="text/javascript">
$.getScript('Scripts/Student/ClassHeaderEvaluation.js', function () {
var targetObj = $("#ClassHeaderEvaluationloaddiv");
if (targetObj.length > 0)
{
var val = targetObj.val();
if (val.length > 0) {
eval(val);
}
}
});
</script>
ここで、ページAはページBをロードする際に、BページのコントロールClass Header Evaaluation loaddivをコールバック関数で割り当てられ、その後、操作はBページ自身によってロードされ実行される.