私は以下の設定をしています:Javascriptファイル(Ajaxが新しいDivに入れるGoogleビジュアライゼーション機能を含む)とvbscriptファイル(タグ内にGoogle視覚化javascriptを書き込むAjax呼び出しの実装機能を含む)。Javascriptでは、機能がHTML <script>タグに存在するかどうかチェックできますか?
javascriptファイルのAjax呼び出しでは、Ajax呼び出しの内容を新しいdivに入れて、これをコンテナdivに追加します。私は、Ajax呼び出しがhtmlに追加している新しいコンテンツである、Googleのjavascript関数の1つを呼び出します。
GoogleのJavaScript関数呼び出しの前に警告またはsetTimeOut()がある場合、それは機能します。私はすぐにそれをdoesntの関数を呼び出す場合。新しいAjaxが追加されたJavaScriptコードが認識されるまでには若干の遅延があるようです。
タイムアウトなしで関数を呼び出す方法はありますか?新しい追加されたノードが見つかるまでループを維持するためにwhileループを書きましたが、関数呼び出しはまだ認識されませんでした。
function ProcessAjaxCall(DivID, ResponseText)
{
var NewDiv = document.createElement("div");
NewDiv.id = "myscript";
NewDiv.innerHTML = ResponseText;
document.getElementById(DivID).appendChild(NewDiv);
//alert('Function below only works when this outputs');
MyGoogleJSFunction('Arg');
}
MyGoogleJSFunctionは、Ajax呼び出しで作成されたコードの一部であり、NewDiv内にあります。
jQueryのようなフレームワークを使用してみてください。これにはAjaxを使用したコールバック関数があります。ですから、あなたは 'onSuccess();'と言うことができます。 – Marnix