2010-10-24 109 views
0

我目前正在使用Adobe Facebook API構建一個應用程序,我遇到了登錄方法Facebook登錄彈出窗口顯示的問題,但是在做Facebook分享/發佈時彈出窗口被阻止。Adob​​e Facebook API Facebook.login VS Facebook.ui彈出窗口

此代碼工作正常,並顯示我沒有問題(Firefox)的一個Facebook登錄彈出:

var permissions:Array = ['publish_stream']; 

Facebook.login(onFacebookLogin, { perms:permissions.join(',') }); 

然而,在同一個應用程序中運行下面的代碼拋出了一個彈出窗口攔截器(再次火狐):

Facebook.ui("stream.publish", "popup", params); 

有沒有人知道圍繞這個問題的工作,使共享彈出窗口就像登錄彈出?

回答

1

您是否因爲用戶操作而調用該方法?例如,點擊一個按鈕?否則,這就是彈出式窗口攔截器攔截它的原因。如果是的話,通過調用FB API的JS函數從Flash發佈到牆上是一種解決方法。這就是我與其他Flash開發者合作的方式。我爲FB API中的各種東西創建JS或PHP函數,並且他們從Flash中調用它們,對PHP使用amfphp(http://amfphp.sourceforge.net/)並直接調用Js。

此外,Chrome恰好阻止了大多數彈出式窗口,即使這些彈出窗口是從Flash中單擊按鈕/鏈接的結果。

+0

嗨。感謝那。這兩個操作都是通過點擊按鈕觸發的。這也發生在Flash中,所以我懷疑瀏覽器可能會導致錯誤。我認爲這個庫的實現者只是通過打開Facebook.ui調用的彈出窗口和Facebook.login的窗口而犯了一個錯誤。 – Luke 2010-10-24 22:23:20

+0

Flash SDK中存在問題,我認爲它甚至不是來自FB,因此您可能需要使用Javascript + Flash解決方案;這也不能解決您的問題100%,但仍然... – Claudiu 2010-10-24 22:32:13

+0

此SDK來自Adobe。我認爲它最初是Adobe似乎擁有的一個社區項目。我認爲這就是它結束的地方... – Luke 2010-10-24 23:29:19

0

試試看:

Facebook.ui(「stream.publish」,「iframe」,params);