我不确定我是否要询问jQuery或Facebook,但是: 我当前的网站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或调试),我只是尝试了一些alert()并看到:
response
是一个对象response.data
未定义(其他浏览器,如Chrome,会返回一个对象列表)$.each
行所以最后,IE不加载当前用户的朋友列表,我不知道是什么。我错过了IE需要的功能而不是其他浏览器吗?
答案 0 :(得分:0)
我下注表示已设置response.error,并告诉您没有使用有效的访问令牌。
而且,我也很确定,再次源于古老的第三方cookie 问题......
答案 1 :(得分:0)
Annnd ......关闭。我的问题解决了,事实上它从未存在过。我正在使用Linux,所以对于IE版本我借了一个同事的Windows PC并最终发现(通过尝试另一个同事的电脑,一切正常)第一个以我不理解的方式阻止每个Facebook请求,也没有这是什么行为。那是data
而error
并不存在。