2010-04-01 17 views
5

he creado una aplicación de Facebook y he configurado el siguiente:facebook-app: ¿cómo puedo cambiar el alto de una aplicación iframe redimible?

Tamaño IFrame: tamaño variable lienzo Ancho: 760px (sin utilizar FBML)

parece que no importa cómo configurar mi página HTML, el iframe la altura es 800px. mi aplicación necesita más que eso, ¿cómo puedo configurar el iframe de la aplicación de Facebook para que tenga una altura mayor?

gracias!

Respuesta

10

Configuración de la opción Tamaño de lienzo en Tamaño variable El marco flotante no hace que el lienzo cambie el tamaño automáticamente para ajustarse a su contenido. Hay un par de cosas más que tienes que hacer. Consulte la página wiki Resizable IFrame para obtener instrucciones completas.

Básicamente tiene que crear una página HTML conocida como "receptor de dominios cruzados" (que es tan simple como copiar y pegar su archivo de ejemplo) y luego copiar un fragmento de código JavaScript en la parte inferior de su aplicación páginas. El Javascript realizará un cambio de tamaño del iframe una vez que el contenido se haya cargado.

La página wiki ha mejorado desde la última vez que la usé, así que espero que sea bastante sencilla. Si tiene problemas para hacerlo funcionar, asegúrese de verificar que ha modificado el fragmento de JavaScript de manera adecuada para que apunte a la página del receptor entre dominios.

Actualización ene 2011 - Algunos comentarios entraron, así que pensé en actualizar. Creo que esta respuesta es más o menos correcta, aunque la documentación ha cambiado. Facebook se ha alejado de FBML y ha actualizado sus SDK de Javascript. El método actual para cargar el Javascript SDK se encuentra en el main Javascript SDK page, y en la parte inferior se encuentran los métodos que puede usar para cambiar el tamaño del lienzo, FB.Canvas.setAutoResize() y FB.Canvas.setSize(). Aún debe configurar su lienzo como redimensionable en la configuración de desarrollador de la aplicación. Parece que pueden haber reemplazado la necesidad de un archivo entre dominios con el nuevo SDK, pero aún no lo he probado.

+1

La página del wiki se ha ido. – Andrei

+0

¿Sigue siendo esta la respuesta correcta? –

+0

no sé si sigue siendo la respuesta correcta porque me mudé a FBML. con FBML realmente no tenía que preocuparme por nada de eso. – ufk

0

Facebook han introducido recientemente una nueva "fluido" ajuste para la anchura de la lona y la altura, permitiendo así lona tamaños que exceden de la normal 760px ancho http://developers.facebook.com/blog/post/538/ (12ª agosto de 2011).

Para cambiar el ajuste:

1) Ir a la página de configuración de la aplicación de Facebook.

2) Elija Avanzado.

3) Bajo lona Ajustes, juego lienzo Ancho de fluido. Esto permite que la aplicación ocupe casi todo el ancho de la pantalla.

Lo mismo se puede realizar para la altura.

extra: Se especula que esto era en respuesta a los propios esfuerzos de Google en el terreno de juego http://tutorial-on.blogspot.com/2011/08/facebook-features-new-gaming-canvas-and.html

2

me quedé este código en el final de mi archivo de contenido HTML iFrame justo antes de la etiqueta de cierre y funciona ahora bien.

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId : 'YOUR_APP_ID', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    oauth : true // enable OAuth 2.0 
    }); 
    FB.Canvas.setAutoResize(); 
</script> 

Obviamente, poner su APPID allí ... :)

2

FB.Canvas.setAutoGrow()

Nota: este método sólo se activa cuando la altura del lienzo se ajusta a " Corregido a (800) px "en el Tablero de aplicaciones.

Inicia o detiene un temporizador que hará que su iframe crezca para ajustarse al contenido cada pocos milisegundos. El tiempo de espera predeterminado es 100 ms.

Solía ​​conocerse como FB.Canvas.setAutoResize.

http://developers.facebook.com/docs/reference/javascript/FB.Canvas.setAutoGrow/

Cuestiones relacionadas