Общение с родителем (Facebook FBML Page) из iFrame (Локальная страница)
В настоящее время я занимаюсь разработкой приложения для Facebook, в котором есть iFrame. IFrame загружает Java-апплет (поэтому страница FBML является просто оболочкой для нижнего колонтитула и функций FBML).
Текущая ситуация, например, в том, что у апплета Java есть событие (пользователь закончил играть в игру), и он выполняет вызов javascript на странице iFrame. Затем ему нужно вызвать javascript в родительском окне (Facebook.streamPublish()), чтобы пользователь получил возможность публиковать свои результаты / события / выигрыши / проигрыши в любом случае.
Код iFrame на странице FBML:
<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 facebook, класс навигатора Javascript будет добавлен (a_navigator), и он не запустится.
Надеюсь, я был достаточно понятен в описании, у кого-нибудь есть идеи?
Заранее спасибо за помощь,
Майкл
2 ответа
Старая проблема... но вот очень хороший ресурс http://softwareas.com/cross-domain-communication-with-iframes
Здравствуйте, я только что столкнулся с этой проблемой и хотел сделать что-то вроде вас, и я чувствовал себя взломанным. Но то, что я сделал, это использовал его yourApplet.getAppletContext().showDocument(url,"_parent");
Это помогает мне перенаправить в другое окно, где у меня есть скрипт для публикации. В этом новом окне у меня есть кнопка для публикации через javascript рассказа. Эта кнопка не может быть необходимой
Важно использовать "_parent", чтобы вы могли перенаправить родительское окно.
Я желаю, чтобы это помогло