我有FB.ui运作良好,我可以分享我需要分享的任何信息。然而问题是,它正在被用于ipad的Web应用程序(这个"添加到主屏幕")。每当对话框打开时,它都会全屏打开,一旦共享,就无法关闭打开的对话框。
<input type="button" onclick="share_prompt()" value="Share" />
function share_prompt()
{
FB.ui(
{
method: 'feed',
display: "iframe",
name: 'Facebook Dialogs',
link: 'http://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
message: 'Facebook Dialogs are easy!'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
}
我已经改变了&#34;显示&#34;属于一切可能的属性,但文档说它默认为&#34; touch&#34;在网络应用中显示。
另外,为了让它更令人沮丧,在网络应用模式下响应并不会激发。仅在浏览器窗口中。
有什么想法吗?
答案 0 :(得分:1)
这就是我解决这个问题的方法:
if(navigator.standalone){
new_url = 'https://www.facebook.com/dialog/feed?'+
'app_id=XXXXXXXXXXXXX'+
'&display=popup'+
'&caption='+fbName+
'&picture='+fbPicture+
'&description='+fbDescription+
'&link='+fbLink+
'&redirect_uri=http://myurl.com/mycontroller/#post_id';
window.open(new_url,'_self');
} else {
//do the normal way
}
这样您就可以拥有重定向网址,如果需要,可以将帖子ID发回给您的应用。希望如果你仍然找不到解决问题的方法,这可以回答你的问题。