2011-08-23 4 views
8

Esiste un modo per reindirizzare dalla pagina di tela di Facebook al mio sito Web esterno? Ho visto blog e risposte StackOverflow del modulo:Reindirizzare dalla pagina dell'area di lavoro di Facebook al sito web

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

Sfortunatamente questo tipo di soluzioni non funziona mai. Ho provato anche top.location.href, window.location e location.href .. niente funziona. Facebook ha rimosso la possibilità di reindirizzare da javascript analizzando questo tipo di codice? C'è un modo per reindirizzare ancora?

UPDATE: ciò che accade è gli atti delle pagine web come se ci fosse mai un'istruzione di reindirizzamento javascript. E infatti, quando guardo il codice sorgente tramite firebug, non vedo reindirizzamenti javascript.

UPDATE 2: ottengo i seguenti errori JavaScript Form mia pagina tela quando provo window.top.location = 'http://www.yoursite.com/'; e le altre variazioni di cui sopra. Sembra Facebook non consente l'accesso alla finestra, variabili JavaScript globali top o di localizzazione:

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

È interessante notare che, document.location = 'http://www.yoursite.com/'; opere in cui non ci sono eccezioni ... ma ovviamente la pagina web non viene reindirizzato.

UPDATE 3: capito! Il reindirizzamento Javascript funziona solo con le tele iframe. Ho dovuto modificare le mie impostazioni nella schermata avanzata per utilizzare iframe anziché FBML.

+0

Quando si dice che non funziona, che cosa succede? – shanethehat

+0

Non succede nulla. La pagina web della tela non viene reindirizzata, rimane semplicemente lì. –

+0

@at: grazie per l'AGGIORNAMENTO. Ora capisco cosa c'è che non va. –

risposta

8

come circa utilizzando il seguente codice:

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

No, l'avevo già provato anche io ... –

1

Dal mio script

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

Ed è sempre lavorato. Invia qualche errore, eccezione o così?

Se è possibile utilizzare PHP, provare a die() dopo questo codice javascript

+0

Funziona sulla tua pagina tela adesso? Interessante, tuttavia, ottengo un'eccezione javascript quando annullo l'istruzione top.location.href: "Uncaught ReferenceError: a217374027657_top non è definito". Non ho idea di cosa significhi ... –

+0

@at: non ne ho idea, mi sono spostato da questo alla soluzione diretta EDIT: sì: http://apps.facebook.com/riseofkings_login – genesis

+0

hmm, quando sono andato alla tua pagina tela, mi ha reindirizzato a accetta la tua domanda. Ho accettato la tua domanda e quindi sono stato in grado di essere reindirizzato al tuo sito web. Mi chiedo se i reindirizzamenti JavaScript debbano essere solo per le persone che hanno accettato la tua applicazione? –

-2

Questo non è possibile, Facebook disabilitato questa funzionalità di proposito. Dovresti rimanere nella tua tela, aprire un popup (se possibile) o semplicemente creare un link per l'utente su cui fare clic.

1

Ho appena fatto questo sulla mia app:

 
    if(window.top.location.href != window.location.href){ 
    window.top.location.href = window.location.href; 
    } 
Basta posizionarlo nella parte superiore della pagina della tela. Se l'href superiore non corrisponde all'URL da cui viene estratto il contenuto della tela, reindirizza al tuo sito.

5

Attenzione, reindirizzando l'utente a un sito esterno può violare 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.