2011-08-23 21 views
8

¿Hay alguna manera de redireccionar de mi página de lienzo de Facebook a mi sitio web externo? He visto blogs y respuestas stackoverflow del formulario:Redirigir de la página de lienzo de Facebook al sitio web

<script> 
window.top.location = 'http://www.yoursite.com/'; 
</script> 

Lamentablemente, este tipo de soluciones nunca funcionan. He intentado top.location.href, window.location y location.href también ... nada funciona. ¿Facebook eliminó la posibilidad de redirigir desde javascript analizando este tipo de código? ¿Hay alguna forma de redirigir aún?

ACTUALIZACIÓN: Lo que pasa es los actos de páginas web como nunca hubo una instrucción de redirección javascript. Y de hecho, cuando miro el código fuente a través de firebug no veo redireccionamientos de javascript.

ACTUALIZACIÓN 2: Me sale el siguiente errores de javascript forman mi página de la lona cuando intento window.top.location = 'http://www.yoursite.com/'; y las otras variaciones anteriores. Parece Facebook no permite el acceso a la ventana, la parte superior o ubicación variables JavaScript globales:

Uncaught ReferenceError: a217374027657_location is not defined 
Uncaught ReferenceError: a217374027657_window is not defined 
Uncaught ReferenceError: a217374027657_top is not defined 

Curiosamente, document.location = 'http://www.yoursite.com/'; obras en que no hay excepciones ... pero por supuesto la página web no consigue redirigir.

ACTUALIZACIÓN 3: ¡Lo descubrí! La redirección de Javascript solo funciona con lienzos de iframe. Tuve que cambiar mi configuración en la pantalla avanzada para usar iframe en lugar de FBML.

+0

Cuando dice que no funciona, lo que no sucede? – shanethehat

+0

No pasa nada. La página web de lienzo no se redirige, simplemente se sienta allí. –

+0

@at: gracias por su ACTUALIZACIÓN. Ahora entiendo lo que está mal. –

Respuesta

8

¿qué tal con el siguiente código:

<script type='text/javascript'> 
    top.location.href = 'http://www.yousite.com'; 
</script> 
+0

No, yo ya lo había intentado también ... –

1

Desde mi guión

<script type='text/javascript'> 
      top.location.href = 'http://riseofkings.net/fb.php?setcook&cook=cookhere'; 
    </script> 

Y siempre trabajado. ¿Lanza algún error, excepción o más?

Si puede utilizar PHP, trata de die() después de este código javascript

+0

¿Eso funciona en su página de lienzo en este momento? Aunque es interesante, en realidad obtengo una excepción de JavaScript cuando elimino el comentario de la declaración top.location.href: "Unbeught ReferenceError: a217374027657_top no está definido". Ni idea de lo que eso significa... –

+0

@at: No tengo ni idea, pasé de esta a la solución directa EDITAR: sí: http://apps.facebook.com/riseofkings_login – genesis

+0

hmm, cuando fui a su página de lienzo, me redirigió a acepta tu solicitud Acepté su solicitud y luego pude ser redirigido a su sitio web. Me pregunto si los redireccionamientos de JavaScript deben ser solo para las personas que han aceptado su aplicación. –

-2

Esto no es posible, Facebook deshabilitado esta funcionalidad a propósito. Tendría que permanecer en su lienzo, abrir una ventana emergente (si es posible) o simplemente crear un enlace para que el usuario haga clic en.

1

Acabo de hacer esto en mi aplicación:

 
    if(window.top.location.href != window.location.href){ 
    window.top.location.href = window.location.href; 
    } 
Simplemente colóquelo en la parte superior de su página de lienzo. Si la href superior no coincide con la URL de la que se extrae el contenido de su lienzo, lo redirige a su sitio.

5

cuidado, redirigir al usuario a un sitio externo puede violar la platform policy

The primary purpose of your Canvas or Page Tab app on Facebook must not be to simply redirect users out of the Facebook experience and onto an external site.

Cuestiones relacionadas