私は現在、iFrame を含む Facebook アプリケーションを開発しています。iFrame は Java アプレットをロードします (つまり、FBML ページはヘッダー フッターと FBML 関数の単なるラッパーです)。
現在の状況は、たとえば、Java アプレットにイベント (ユーザーがゲームのプレイを終了) があり、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 の呼び出しと親の呼び出しの間に最小限の遅延が発生するはずです。
iFrame でアプレットを実行する理由は、アプレットが deployJava (Sun によって配布されたクラス) によって展開され、Facebook FBML ページでそれを実行すると、Javascript ナビゲーター クラスが追加され (a_navigator)、実行されないためです。
説明が十分に明確であったことを願っています。誰かアイデアがありますか?
助けてくれてありがとう、
マイケル