Ajax模拟点击

时间:2011-04-13 04:43:22

标签: jquery ajax

有人可以通过Ajax告诉我这是否可行。我想将一个外部网站加载到页面上,然后使用jQuery,jScript,php或某些方法来模拟我刚刚加载的外部网站页面上的点击。

该网站不允许传统的帖子/获取

<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>

这是我希望用户能够点击的链接

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

我做了更多的投资,并且肯定使用内容类型为Content-Type的Post方法:application / json

2 个答案:

答案 0 :(得分:1)

我会说它非常简单。只需使用$.ajax()获取页面,然后将其放在DOM上(通过选择容器元素并在其上使用.html().append(),添加ajax返回的内容。之后,选择您要点击的项目(现在位于您的DOM中)并致电.click()。如果您需要特定示例,请提供代码。

答案 1 :(得分:0)

尝试使用以下网址加载网站:

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

将外部网站加载到iFrame后,您可以尝试:

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