0

jQuery について質問する必要があるのか​​、Facebook について質問する必要があるのか​​ わかりませんが、そうです: 私の現在の Web サイトであるSocial Promoでは、ユーザーが友人を招待してスポンサーに参加することができます。だから私は以下のコードを使用し、それはうまく動作します...IEを除いて。

function load_friends() {
    if($('#fb_friendbox').is(':empty')) {
        FB.api('/me/friends', function(response) {
            $.each(response.data, function(index,friend) {
                var nextFriend = '<div class="fb_friend" onclick="resend_invite('+friend.id+');return false;"><div class="fb_picture"><img src="https://graph.facebook.com/'+ friend.id +'/picture" /></div><div class="fb_name"><span>'+ friend.name +'</span></div></div>';
                $('#fb_friendbox').append(nextFriend);
            });
            $('.ajax-load').css('display','none');
        });
    }
}

IE の js コンソールが (フランス語から) 教えてくれますCan't get value of 'length', object is null or undefined。私は IE をあまり使用しないので (私の知る限り、console.log や debug は使用できません)、alert() をいくつか試してみたところ、次のようになりました。

  • responseオブジェクトです
  • response.dataは定義されていません (Chrome などの他のブラウザーでは、オブジェクトのリストが返されます)
  • $.each行までのコードフローは問題ありません

結局、IE は現在のユーザーの友達のリストをロードしません。IE が必要としているが、他のブラウザには必要のないこの機能の何かを見逃していませんか?

4

2 に答える 2

0

response.errorが設定されており、有効なアクセストークンを使用していないことを示しているに違いありません

そして、それはまた、昔からのサードパーティのCookieの問題に起因していると確信しています…</ p>

于 2012-07-05T15:22:59.620 に答える
0

閉店しました。私の問題は解決され、実際には存在しませんでした。私は Linux で作業しているので、IE バージョンでは同僚の Windows PC を借りて、最終的に発見しました (別の同僚の PC で試してみると、すべて正常に動作しました)。何がこの動作をしているのか。それはdataありerror、存在しませんでした。

于 2012-07-06T07:27:36.303 に答える