我目前正在开发一个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