2011-10-31 5 views
0
$.ajax({ 
     url: "test.html", 
     context: document.body, 
     success: function(){ 
     $(this).addClass("done"); 
     } 
    }); 

test.html内でjavascriptを実行して動作させるにはどうすればよいですか? Abhinabファイルと呼ばれるajax内でjavascriptを実行する方法は?

+0

これはあまり意味がありませんが、それ以外は 'success:function(response)'を使ってください。返されたhtmlは 'response'なので、操作することができます。 – yoda

+2

[ajaxレスポンスで返されたスクリプトタグ内でjavascriptを実行する方法](http://stackoverflow.com/questions/978101/how-to-execute-javascript-inside-a-script-tag-returned-by -an-ajax-response) – kojiro

+0

サーバーからブラウザに送信される前に、test.htmlでjavascriptを実行できるかどうかを確認していますか?もしそうなら、答えは簡単です。できません。 – Tomm

答えて

0
function call_recursive(){ 
    var pages ["test1.html", "test2.html", "test3.html" ]; 

    while(pages.length() > 0){ 
     page = pages.pop();   
     $.ajax({ 
      url: page, 
      context: document.body, 
      success: function(){ 
       $("div#logger").append("<p>" + page " loded </p>"); 
      }, 
      error: function(){ 
       $("div#logger").append("<p class'error'>" + page " is not loded </p>"); 
      }, 
     }); 
    } 
} 

はちょうどそれは本当にそのように動作しませんcall_recursive

+0

こんにちは、返信いただきありがとうございます。しかし、ループ内で複数の関数を実行したいのですが、実際にPHPファイルになるtest.htmlのように..多くのページが含まれています。 on div ...ページ1がロードされました..ページ2がロードされました 私は自分自身を明確にしたいと思います。 あなたはこれで私を助けることができると思います:) おかげ ABHINAB – abnab

+0

を、あなたはちょうどあなたが堪能なAJAX成功ステップに追加し、それらのAJAXページではJavaScriptを必要としません。私は1分で私の答えを更新します –

1

を実行

感謝。ページ内のJavascriptは、ページがロードされたときにブラウザによって解釈されます。この場合、ブラウザにページを読み込んでいないので、あなたはAjaxレスポンスのページを取得しているだけです。その応答HTMLは、<スクリプト>要素を含んでいる可能性がありますが、何もそれを行うことはありません。

私もこれを言うことを躊躇していますあなたがあなた自身のページのDOMに探しているものは何でも追加し、スクリプトのすべての要素を見つけるために、あなたの成功の機能に応答を解析できます。そのため、スクリプトを取得して評価する必要があります。 本当にの臭いがあるので、私はそれに言及することを躊躇する。私の開発者の誰かがこれをやったとすれば、私たちは厳しい会話をしているでしょう。 ;-)

あなたの目標を達成するためのよりエレガントな方法があるかもしれないので、あなたが達成しようとしているものについて詳述するのに役立つかもしれません。

関連する問題