我不确定我是否需要询问jQuery或者Facebook,但是我现在的网站社会宣传允许用户邀请他们的朋友参加赞助。所以我用了下面的代码,效果很好.除了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或调试),我只是尝试了一些警告(),并看到:
response是一个对象response.data是未定义的(其他浏览器,如Chrome,则返回对象列表)$.each行最后,IE不加载当前用户的好友列表,我也不知道是什么。我是不是错过了IE所需要的功能,而没有其他浏览器?
发布于 2012-07-05 15:22:59
我敢打赌response.error已经设置好了,并且告诉您您没有使用有效的访问令牌。
而且,我也很肯定,这又是源自古老的第三方饼干问题…。
发布于 2012-07-06 07:27:36
安恩德。关着的不营业的。我的问题解决了,事实上,它从来没有存在过。我正在使用Linux,所以对于IE版本,我借用了一位同事的Windows pc,最后发现(通过在另一位同事的pc上试用,一切都很好),第一个程序以一种我不理解的方式阻止每个Facebook请求,也不知道是怎么做的。那是因为data和error并不存在。
https://stackoverflow.com/questions/11343271
复制相似问题