2011-04-13 34 views
0

これはAjaxで可能かどうか知らせてくれますか?私は外部サイトをページにロードしてから、jQuery、jScript、PHP、またはいくつかのメソッドを使用して、ちょうどロードした外部サイトページのクリックをシミュレートします。クリックをシミュレートするAjax

サイトでは、伝統的なポスト/取得

<script type="text/javascript" language="javascript"> 
//<![CDATA[ 
    function FriendCenterObject() { 
     var fcAction = function(actionUrl, gamerTag, responseHandler) { 
      responseHandler = responseHandler || function(response) { 
       if (response.status != 0) { 
        DisplayMessageDialog('Error', response.view, 'Close', null, MessageLevelType.Error); 
       } 
       else { 
        DisplayMessageDialog('Message', response.view, 'Close', FriendCenter.RefreshContentAction); 
       } 
      } 
      $.post(actionUrl, { 'gamerTag': gamerTag }, responseHandler); 
     }; 
     this.AddFriend = function(gamerTag) { 
      gamerTag = $.trim(gamerTag); // trim leading and trailing whitespaces 
      if (gamerTag != "") { 
       fcAction('/en-US/FriendCenter/SendFriendRequest', gamerTag); 
      } 
      return false; 
     }; 
     this.RefreshContentAction = function(){}; 
    }; 
    var FriendCenter = new FriendCenterObject(); 
//]]> 
</script> 

を許可しません、これは私はいくつかのより多くのinvestagatingとその間違いなく使用してなかった私は、ユーザーが

<a href="#" onclick="FriendCenter.AddFriend('mirco')">Add to Friends List</a> 

をクリックできるようにしたいのリンクですContent-Typeのコンテンツタイプを持つPostメソッド:application/json

+0

これを必要とする答えにもう少し詳しく。あなたはあなたのスクリプトを含むページに外部サイトを "読み込んでいます" - これはiframeかAJAXの何らかの要求ですか? –

+0

あなたのドメイン内ですか?もしそうでなければ、あなたはできないはずです。外部サイトのクリックを自動化する必要がある場合は、http://seleniumhq.org/ – Chris

+0

をご覧ください。私はそれに似た何かをする必要があるときにそれを使いました。 http://stackoverflow.com/questions/2149867/webbrowsing-in-c-libraries-tools-etc-anything-like-mechanize-in-perl – Jason

答えて

1

私は非常に簡単です。 $.ajax()を使用してページを取得し、それをDOMに配置します(コンテナ要素を選択し、.html()または.append()を使用して、Ajaxが返すものを追加します)。その後、クリックするアイテムを選択しますDOM)と.click()を呼び出すあなたは具体的な例が必要な場合は、コードを与える

+1

質問の「外部」部分に注意してください。 xhrは外部ドメインに対してx-browserを動作させることはありません。 – redsquare

0

でサイトをロードしてみてください。インラインフレームに外部サイトをロードした後

jQuery("#iframeID").src = "path/to/site"; 

、あなたが試すことができます:

//getting the content window html tag. 
var iFrame = document.getElementById("iframeID").contentWindow; 
jQuery(iFrame.body).find("#someID").click(); 
+2

ドキュメントが別のドメインのものであれば、それはできません。 – Shakakai

+0

ドキュメントがjquery、php、ajaxなど他のドメインにある場合は正しくありませんか? – acctman

関連する問題