Facebook, приложение iframe, fb:форма запроса, проблема атрибута действия

Я делаю приложение facebook iframe

Я делаю форму запроса с моими собственными данными формы. Что мне делать, чтобы обработать данные?

Если я поставлю action="http://apps.facebook.com/[appName]/abc.php" , т.е.

<fb:serverfbml>
    <script type="text/fbml">
        <fb:fbml>
            <fb:request-form action="http://apps.facebook.com/[appName]/abc.php" method="post" type="abc" content="abc">
                <textarea name="pm" fb_protected="true" ></textarea>
                <fb:multi-friend-selector showborder="false" max="35" actiontext="test" email_invite="true" bypass="cancel" />
            </fb:request-form> 
        </fb:fbml>
    </script>
</fb:serverfbml>

Тогда результат будет забавным... Страница facebook внутри iframe приложения facebook!

но если я поставлю action="http://[my own domain / facebook connect url]/abc.php" , т.е.

<fb:serverfbml>
    <script type="text/fbml">
        <fb:fbml>
            <fb:request-form action="http://[my own domain / facebook connect url]/abc.php" method="post" type="abc" content="abc">
                <textarea name="pm" fb_protected="true" ></textarea>
                <fb:multi-friend-selector showborder="false" max="35" actiontext="test" email_invite="true" bypass="cancel" />
            </fb:request-form> 
        </fb:fbml>
    </script>
</fb:serverfbml>

Затем страница результатов будет отображаться БЕЗ шаблона facebook (это означает потерю всех верхних баннеров facebook и нижней панели facebook, таких как чаты facebook и т. д.).

Кто-нибудь знает, что случилось?

Большое спасибо за чтение


person Unreality    schedule 10.06.2009    source источник


Ответы (4)


Ключ к target="_top" заключается в том, что вы должны разместить его как в форме запроса, так и в селекторе нескольких друзей, чтобы он работал при отправке и отмене соответственно.

Для формы запроса требуется target="_top", чтобы форма загружалась в верхнем фрейме при отправке, но функция отмены контролируется селектором нескольких друзей, а не формой запроса. Следовательно, вам также нужно target="_top" для селектора с несколькими друзьями, чтобы действие отмены загружалось в верхнем кадре.

Теперь я просто хочу, чтобы Facebook разрешил действие «нет» для отмены, которое просто скрыло бы рамку...

person Ryan Wilson    schedule 25.03.2010

НОВЫЙ ответ: Facebook начал поэтапный отказ от FBML и настоятельно рекомендует разработчикам перейти на Requests 2.0. Используя новый FB.ui({method:'aprequest',...}); в JavaScript SDK — это более простой способ сделать это. Он также поддерживает страницы вне Facebook http://af-design.com/blog/2011/02/17/using-facebook-requests-to-promote-a-website/

СТАРЫЙ ответ: я обнаружил, что передача FBML в качестве атрибута для fb:serverfbml работает. ‹fb:serverfbml fbml=" {HTML Escapeed FBML Here} " >‹/fb:serverfbml> Я разместил свои выводы здесь: http://af-design.com/blog/2010/11/23/fbserverfbml-on-canvas-iframe/

person Erik Giberti    schedule 23.11.2010

Я справился с этим так, чтобы моя страница обработчика форм не выводила ничего, кроме «‹ fb: redirect >», указывающего на основное приложение.

person Mike Heinz    schedule 10.06.2009
comment
Спасибо! Я также обнаружил, что использование [facebook connect url] сделает невозможным получение параметров формы... у вас есть опыт в этом? - person Unreality; 11.06.2009

Как вы использовали это ‹ fb:redirect>?

хорошо, я нашел, попробуйте добавить target="_top"

http://apps.facebook.com/myapp' label='Присоединяйтесь сейчас' />" action="http://apps.facebook.com/myapp" target="_top" инвайт="true">

person Community    schedule 18.08.2009