他的脚本适用于同步请求
HTML HERE
window.fbAsyncInit = function() {
FB.init({appId: 'XXXXXXXX', status: true, cookie: true, xfbml: true});
console.log('in');
FB.getLoginStatus(function(response) {
console.log(response);
if (response.session) {
// logged in and connected user, someone you know
code here
}
} else {
// no user session available, someone you dont know
code here
}
});
};
HTML HERE
我最近想要对网站进行调整, 当我创建一个XMLHttpRequest将它附加到页面上时(使用JQuery的加载简写为ajax GET req。)javascript方法FB.getLoginStatus不会被执行。
让我分享控制台结果:
synchronous: in , response (object) asynchronous: in
任何人都可以帮忙吗?
答案 0 :(得分:0)
我遇到的问题就像facebook制作图书馆一样,你不能使用FB.init({});再次,所以我们必须找到一种方法来摧毁它并再次创建它!使用内置函数可能更简单,但这是绝对有效的方法。我已经做了这个购买删除整个FB对象,我会在找到最佳解决方案时回发!
<强>更新强> 好的就是,找到了内置函数来解析新元素 ...... 解决方案:
FB.XFBML.parse(document.getElementById('idOfElementContainingFBML'));
//你想使用包含xfbml的最少一代父元素来获得最佳性能,在jQuery加载的情况下,它将是这样使用的元素:
$('#result').load('ajax/test.html', function() {
FB.XFBML.parse(document.getElementById('result'));
});