2009-06-10 21 views
6

estoy haciendo una aplicación iframe facebookFacebook, aplicación iframe, fb: Solicitud forma, la acción problema atributo

estoy haciendo un formulario de solicitud con mis propios datos del formulario. ¿Qué debo hacer para procesar los datos?

Si pongo action = "http://apps.facebook.com/[appName]/abc.php", es decir

<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> 

entonces el resultado es divertido ... Una página de Facebook dentro de la ¡iframe de la aplicación de Facebook!

pero si pongo action = "http: // [mi propio dominio/Facebook Connect url] /abc.php", es decir

<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> 

A continuación, la página de resultados será interpretado sin plantilla facebook (que significa perder todo el banner superior de Facebook y la barra inferior de facebook como los chats de Facebook, etc.)

¿Alguien sabe qué pasa?

Muchas gracias por leer

Respuesta

1

La forma en que manejé esto iba a tener mi página de procesador de forma no emiten de salida, excepto una "< fb: redirigir>" que apuntaba de nuevo a la aplicación principal.

+0

THX! También encontré que al usar [facebook connect url] no podrá recibir los parámetros del formulario ... ¿tiene alguna experiencia con esto? – Unreality

+0

Lo siento, no he trabajado con Facebook Connect. –

1

¿Cómo usaste esto < fb: redirigir>?

bien lo encontré intente añadir target = "_ top"

http://apps.facebook.com/myapp' etiqueta = 'Únete ahora'/> " action =" http: // apps. facebook.com/myapp" target = '_ top' invitar = 'true'>

5

la clave para el target = '_ top' es que usted tiene que colocarlo tanto en el formulario de solicitud y el multi-amistad selector para que funcione en enviar y cancelar, respectivamente.

El formulario de solicitud necesita target = "_ top" para que el formulario se cargará en el marco superior cuando se envíe, pero la funcionalidad de cancelación se controla mediante el selector de múltiples amigos, no el formulario de solicitud. Ergo, necesita target = "_ top" en el selector de múltiples amigos también para que la acción de cancelación se cargue en el marco superior.

Ahora, sólo desearía Facebook permitiría una acción de "ninguna" para cancelar eso sería simplemente ocultar el marco ...

+0

gracias por eso !!target = "_ top" funciona como un regalo – daidai

3

NUEVO Respuesta: Facebook ha comenzado la eliminación gradual de FBML y está alentando fuertemente a los desarrolladores para cambiar a Solicitudes 2.0. Usando el nuevo FB.ui ({method: 'apprequest', ...}); en JavaScript SDK es una forma más fácil de hacer esto. También es compatible con las páginas fuera de Facebook http://af-design.com/blog/2011/02/17/using-facebook-requests-to-promote-a-website/

OLD Respuesta: Encontré que pasar el FBML como un atributo para fb: serverfbml funcionó. < fb: serverfbml fbml = "{HTML escapado FBML Aquí}"> </fb: serverfbml> he publicado acerca de mis resultados aquí: http://af-design.com/blog/2010/11/23/fbserverfbml-on-canvas-iframe/

+0

muchas gracias! – stoefln

Cuestiones relacionadas