![](/img/trans.png)
[英]Facebook SDK for Javascript, FB.login() callback not firing (async call never gets a response?)
[英]Facebook Javascript SDK response callback not firing
我正在使用Facebook Javascript SDK将其发布到用户Facebook墙。 他们发布后,我想使用响应回调在页面上显示/隐藏一些div。
我的问题是没有触发callback(response)函数。 我在控制台中没有收到任何错误,我也尝试使用Facebook的调试来调试代码。 仍然没有喜悦。 这是我第一次使用Facebook Javascript SDK,所以(希望)我只是错过了一些非常简单的东西。
这是我的代码:
我在页面顶部紧靠body标签之后有这个:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : '647542748631249', // App ID from the App Dashboard
status : true, // check the login status upon init?
xfbml : true // parse XFBML tags on this page?
});
};
// Load the SDK asynchronously
(function(){
// If we've already installed the SDK, we're done
if (document.getElementById('facebook-jssdk')) {return;}
// Get the first script element, which we'll use to find the parent node
var firstScriptElement = document.getElementsByTagName('script')[0];
// Create a new script element and set its id
var facebookJS = document.createElement('script');
facebookJS.id = 'facebook-jssdk';
// Set the new script's source to the source of the Facebook JS SDK
facebookJS.src = '//connect.facebook.net/en_US/all.js';
// Insert the Facebook JS SDK into the DOM
firstScriptElement.parentNode.insertBefore(facebookJS, firstScriptElement);
}());
</script>
我在页面底部有以下代码:
function shareToWall(){
var obj =
{
method: 'feed',
name: 'The 1001 Albums Quiz',
caption: '',
description: (
'I scored '+numberOfChecked+' out of '+totalCheckboxes+' in the Great 1,001 Albums Quiz. Can you do better?'
),
link: 'https://apps.facebook.com/albumsquiz/',
picture: 'https://mydomain.co.uk/wp-content/themes/facebook1001/images/testimg.png'
};
function callback(response) {
if(response && response.post_id) {
console.log('Post was published.');
jQuery('#quiz').hide();
jQuery('#score').append(numberOfChecked);
jQuery('#total').append(totalCheckboxes);
jQuery('#results').show();
} else {
console.log('post not published');
}
}
FB.ui(obj, callback);
}
单击页面上的按钮将调用功能“ shareToWall”。 Facebook对话框似乎很好。 我可以成功贴到墙上。 对话框关闭后,什么都没有发生-这是我需要响应回调触发的时候。
任何帮助将不胜感激。 我花了很长时间试图找到解决方案。
因此,我将回答我自己的问题:
onclick="shareToWall();return false;"
“返回假”解决了我的问题,回调现在成功触发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.