我目前正在開發一個Facebook應用程序,其中有一個iFrame。 iFrame加載一個Java小應用程序(因此,FBML頁面只是頁眉頁腳和FBML功能的一個包裝)。從iFrame(本地頁面)與父母(Facebook的FBML頁面)通信
當前情況是,例如,Java applet有一個事件(用戶完成玩遊戲),並在iFrame頁面上執行javascript調用。然後它需要在父窗口(Facebook.streamPublish())中調用一個JavaScript,以便用戶能夠發佈他的分數/事件/勝利/損失。在FBML頁面
的iFrame代碼:
<fb:iframe id='appletIframe' frameborder='0' resizable='true' scrolling = 'no' name='appletIframe' src='appletPage.php'></fb:iframe>
每次我嘗試與父母溝通,我得到一個拒絕訪問,因爲它是一個跨域調用。我想知道是否有可能與Facebook.connect或其他技術打電話給家長,或者如果有任何其他方式。如果用戶完成遊戲,則iFrame呼叫和Parent呼叫之間應該有最小的延遲。
我之所以這樣做的iFrame的小程序,因爲小程序是通過deployJava(類由Sun分佈式)部署,如果我在一個網站FBML頁面運行,JavaScript的Navigator類將得到追加(a_navigator)和它不會運行。
我希望我的描述足夠清晰,任何人有任何想法?
在此先感謝您的幫助,
邁克爾
有沒有辦法,如果你的iframe是另一個域來訪問父頁/窗口。也許Facebook有另一種機制,通過它你可以啓動「streamPublish()」... – James 2009-11-28 00:35:05
我擔心這是不可能的,謝謝把最後的釘子放在棺材裏。 – Talonzor 2009-11-30 14:24:24