我在我的网络应用中使用Facebook Graph API的 发送消息 功能。我想在用户点击Facebook API呈现的对话框的发送按钮后显示弹出成功对话框,但目前它正在与Facebook呈现对话框同时显示。
JavaScript代码 ..
function importfb(){
reasonForAddFriend = "importFacebook";
FB.login(function(response) {
// handle the response
// check whether user is logged in or not and ask for credentials if not.
FB.api('/me?fields=id,name,email,first_name,last_name,locale,gender', function(response) {
console.log('Successful login for: ' + response.name+" "+response.id+" "+response.email);
loginpassword = response.id;
loginemail = response.email;
});
// send message to facebook friends using send request dialog
FB.ui({
method: 'send',
link: 'http://www.google.com/',
});
}, {scope: 'email,public_profile,user_friends'});
confirmationIndex("Success","importfb called");
}
当前代码的输出 ..
我希望在我同时点击上面屏幕截图中的发送按钮后显示成功对话框。请帮助..
答案 0 :(得分:1)
请始终查看API的相关文档。 FB.ui
接受第二个参数,一个在对话框关闭时将被调用的函数。
https://developers.facebook.com/docs/javascript/reference/FB.ui#parameters
功能(响应)
这指定了被调用的函数 每当UI对话框关闭时,无论是成功,取消还是 错误。响应对象取决于所使用的对话框。 请参阅相关对话框自己的参考文档以查看响应 应该返回的对象。默认为null。
所以简单地传递一个回调函数并在那里调用你的对话框
FB.ui({
method: 'send',
link: 'http://www.google.com/',
},function(response){
//check 'response' to see if call was successful
confirmationIndex("Success","importfb called");
});