0

我正在使用 Facebook 查看所有使用此特定应用程序的朋友。现在在我的应用程序中,我可以查看使用相同应用程序的朋友的个人资料图片,但在点击个人资料照片应用程序时,他们将分别重定向到他们的 Facebook 页面。单击时,我想重定向到 Facebook 页面以外的其他链接。可能吗 ?如何 ?

我的代码是

<script>
FB.init({
    appId  : '********', //App ID
    channelUrl : 'http://www.***.in/', // Channel File
    status : true, 
    cookie : true,
    xfbml  : true 
});
FB.getLoginStatus(function(response) {
    if (response.session) {

        globaluserid=response.session["uid"];
        //fetching friends uids from 'friend' table. We are using FB.api syntax
        FB.api(
                {
                method: 'fql.query',
                query: 'SELECT uid1 FROM friend WHERE uid2='+globaluserid
                },
                function(response) {
                //once we get the response of above select query we are going to parse them
                for(i=0;i<response.length;i++)
                {
                //fetching name and square profile photo of each friends
                    FB.api(
                    {
                        method: 'fql.query',
                        query: 'SELECT name,pic_square,username FROM user WHERE uid='+response[i].uid1
                    },
                    function(response) {
                        //creating img tag with src from response and title as friend's name
                        htmlcontent='<img src='+response[0].pic_square+' title='+response[0].name+' alt='+response[0].username+' />';


                    }
                    );
                }
            }
        );
        } else {
            // no user session available, someone you dont know
            top.location.href="../kfb_login.php";
        }
    });
</script>
<div class="just_trying">
<div class="fb-login-button" data-show-faces="true" data-width="200" data-max-rows="1">    </div> </div>
4

1 回答 1

1

在您提供的代码示例中,您的 FB.api 实际上并没有对它检索到的信息做任何事情。您正在将它分配给一个htmlcontent变量,但是您没有使用此变量将内容注入到 HTML 的任何地方。您看到的朋友照片列表来自 Login Button 标签,data-show-faces="true"这意味着 Login 按钮将显示由 Facebook 代码专门生成的Facepile 。

因此,您希望设置data-show-faces为 false 并将您的 Javascript 代码修改为:

function(response) {
  //creating img tag with src from response and title as friend's name
  htmlcontent = document.createElement('img');
  htmlcontent.src = response[0].pic_square;
  htmlcontent.title = response[0].name;
  htmlcontent.alt = response[0].username;
  document.getElementsByTagName('body')[0].appendChild(htmlcontent);
}

为简单起见,如果您使用的是 jQuery,那么您可以将其修改为:

function(response) {
  //creating img tag with src from response and title as friend's name
  htmlcontent = '<img src='+response[0].pic_square+' title='+response[0].name+' alt='+response[0].username+' />'
  $('body').append(htmlcontent);
}
于 2012-11-07T12:41:31.500 回答