Comunidad de diseño web y desarrollo en internet online

Facebook: Ocultar el Scrollbar de un iframe

Citar            
MensajeEscrito el 27 Jun 2011 02:11 am
Hace unos meses, Facebook cambio la posibilidad de crear aplicaciones y box (los que se incluyen dentro de los fan pages) dentro de su plataforma, pasando de usar FBML a ser incluidas vía iframe.

Ahora, esto es una gran ventaja ya que se pueden crear aplicaciones y box mas avanzados sin las limitaciones que el FBML traia (tales como la carga de estilos, scripts y demas)

Sin embargo, no todo es color pony rosa, ya que algunas veces, al colocar un nuevo box/app via iframe en Facebook, no se muestra todo su contenido sino que aparece un scroll vertical (a veces horizontal también), que obviamente, queda muy feo.

Esto sucede porque el tamaño de un box en facebook esta establecido a 520 x 800px por defecto, mientras que en las aplicaciones el ancho puede llegar hasta 760px.



Entonces, el problema viene cuando el contenido nuestra app o box supera el alto establecido (o el ancho). Facebook colocará automaticamente las nada agradables barras de desplazamiento.

SOLUCIÓN: Añadir los scripts necesarios para “ampliar” el canvas de Facebook.
(Solo se puede ampliar el canvas en lo alto. El ancho es un tamaño fijo y no puede expandirse)

Primero, configura tu app, de tal manera que en la zona de “Integracion con Facebook” actives la opción Autosize:



En un mundo perfecto, con solo activar esta opción la magia deberia funcionar y todos ser felices, pero no. Hace falta un poquito más.

Segundo, agrega en tu html el siguiente script inmediatamente después de la etiqueta <body> (suponiendo que el alto que deseas es de 950px) :

Código Javascript :

<script src="http://connect.facebook.net/en_US/all.js"></script>

<div id="fb-root"></div>

<script type="text/javascript">
FB.init({
   appId : '<tu APP ID>',
   status : true,
   cookie : true,
   xfbml : true
   });
</script>

<script type="text/javascript">
        FB.Canvas.setSize({ width: 520, height: 950 });

   window.fbAsyncInit = function() {
           FB.Canvas.setSize();
   }

   function sizeChangeCallback() {
      FB.Canvas.setSize();
   }

</script>

Y listo, esto permitirá que el canvas de Facebook sea reajustado al alto que deseas.

En "appId", coloca el id de tu app.
En "FB.Canvas.setSize" seteas el alto al tamaño que deseas, en mi caso le coloqué 950px.

Ojo: como solo se puede cambiar el alto de la app (box) asegurate que el contenido no exceda los valores de ancho.

Espero les ayude.

C ya!

Por Camuss

498 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Lima City - Perú

firefox
Citar            
MensajeEscrito el 27 Jun 2011 10:11 am
Muy bueno el aporte. Leí un poco sobre los cambios en las boxes pero no le preste mucha atencion. Con tu aporte me has animado a jugar un poco con estas opciones, gracias por ahorrarnos horas de sudor y sangre :)

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 27 Jun 2011 04:17 pm
Estamos para eso... :)

Por Camuss

498 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Lima City - Perú

firefox
Citar            
MensajeEscrito el 26 Feb 2012 11:27 pm
Este código me ha servido perfecto cuando lo testeo en firefox, pero en chroma me sigue generando un tamaño no deseado. ¿Será un problema del navegador o algo similar? ¿Quién sabe? Por lo demás el código funciona un 10 muchisimas gracias!

Por leobiscuits

10 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.