2015-04-02 86 views
2

我有FB.ui工作得很好,我可以分享我需要分享的任何信息。然而,問題在於,它正在被捲入一個Web應用程序(這個「添加到主屏幕」)的iPad。只要對話框打開,它就會全屏打開,一旦共享,就無法關閉打開的對話框。Facebook的FB.ui對話框iOS 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.'); 
    } 
    } 
); 
} 

我已經將「顯示」屬性更改爲所有可能的值,但文檔說它默認爲web應用程序中的「觸摸」顯示。

此外,爲了使它更令人沮喪,響應不會在Web應用程序模式下觸發。只在瀏覽器窗口中。

任何想法?

回答

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 
    } 

這樣你可以有一個重定向URL,你可以發的帖子ID回到您的應用程序,如果你需要它。如果你仍然沒有找到解決辦法,希望這可以回答你的問題。

相關問題