我搜索了幾個小時,發現許多相關的帖子,但沒有能夠解決我的問題。沒有用戶登錄時FB對話框出現問題
目標是使用FB JS SDK顯示一個簡單的「Post to your wall」對話框。在默認情況下,使用代碼here就像魅力一樣。
但是,因爲我打電話給我的對話框顯示了遊戲引擎中的函數(即沒有用戶單擊事件),所以上述wiki中的對話框被彈出窗口攔截器阻止。因此,我測試了使用display:'iframe',而且它工作。但問題在於沒有用戶登錄。在「彈出」模式下,用戶在顯示實際的「發佈到牆上」對話框之前,將顯示一個登錄對話框。但在'iframe'模式下,這個對話框永遠不會出現,而是有一個永遠持續的加載屏幕。
摘要:
彈出模式:工作,即使用戶沒有登錄,而是通過彈出窗口阻止程序阻止
的iFrame模式:失敗如果沒有用戶登錄,但不被彈出式窗口攔截器阻止
任何幫助將不勝感激!
tnx你的提示Abby。事實上,用戶點擊了一些東西,但在3D遊戲引擎(Unity3d)中。該點擊在包含遊戲的頁面上觸發一個JavaScript函數。這就是爲什麼彈出式窗口攔截器無法識別點擊,並且像在頁面加載或其他東西(並阻止它)一樣。 –
在這種情況下,也許你想做一個服務器端的圖形API請求,而不是顯示對話框?您可以在遊戲中創建自己的彈出窗口,以便爲用戶提供空間來添加他們的消息,並告訴他們您將發佈內容,然後使用圖形從服務器發佈:https://developers.facebook.com /文檔/參考/ API /#出版。這樣你就不必處理額外的javascript,瀏覽器兼容,彈出攔截器等。 – Abby
我想這是可行的,但是使用現有的FB對話框會更方便,因爲人們認識它們並知道如何處理它們。我正在考慮做一個解決方法,在遊戲界面頂部隱藏/顯示一個html按鈕,用戶可以按這個按鈕發佈到他的牆上。在這種情況下,我可以使用「彈出」顯示模式,這是工作。 –