2010-11-07 11 views
6

Sul mio sito ho implementato il pulsante di login di Facebook e funziona bene su tutti i browser tranne IE. Non so perché su IE non funziona bene. Lo si può vedere rotto sulla pagina principale del mio sito http://colnect.com con il seguente errore Javascript:<fb: login-button> problemi con IE8 (Internet Explorer) solo

Message: Unknown runtime error 
Line: 43 
Char: 729 
Code: 0 
URI: http://connect.facebook.net/en_US/all.js 

In altre due pagine con lo stesso identico codice FBML http://colnect.com/en/account/create e http://colnect.com/en/sfGuardAuth/signin appare il pulsante e funziona bene.

Qualche idea?

+0

Grazie, non era a conoscenza del segno di spunta bello. Qualche risposta a questa domanda? – Collector

risposta

4

Ho avuto lo stesso problema perché ho inserito "fb: login-button" all'interno di un tag "a". Se hai il pulsante fb all'interno di un altro elemento, prova a lasciarlo.

+0

Com'è diverso nelle due pagine che ho inviato? Non è all'interno di un tag "a" e si trova all'interno di altri elementi perché tutto è sempre all'interno di altri elementi. Grazie. – Collector

+0

Quando ho aperto http://colnect.com il mio browser mi ha reindirizzato su http://colnect.com/ca e tutto funzionava perfettamente in IE. Ho provato ad aprire http://colnect.com/en ma non eseguire il rendering del pulsante perché la pagina non ha il "div" con id = "fb-root" –

+1

mi hai appena salvato ore di caccia e eseguire il debug del peck. Questo l'ha risolto! Molte grazie. –

16

Aggiungi questo al documento:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 
+0

Questo è stato lì da molto tempo prima che la domanda fosse posta. – Collector

+1

ha funzionato per me. Grazie! – Jeff

2

Ho appena visto la stessa cosa < tag curse_m $ _ie> ed è stato in grado di risolvere il problema con la corretta collegare un file di canale. Da https://developers.facebook.com/docs/reference/javascript/:

Channel File

The channel file addresses some issues with cross domain communication in certain browsers. The contents of the channel.html file can be just a single line:

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

Ok, quindi penso che lo scopo di aggiungere un http: nella parte anteriore che, in ogni caso, questo è quello che ci voleva per me per farlo funzionare. Allora avete bisogno di fare riferimento al file canale nella FB.init - beh, vedere la loro pagina per questo, ma è generalmente:

<script> 
window.fbAsyncInit = function() { 
FB.init({ 
appId  : 'YOUR_APP_ID', // App ID 
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File 
... 

Spero che questo è utile a chi sta tirando i capelli in questo momento. E spero che funzioni per gli altri oltre a me!

Oh, anche appena trovato questo link sul tema: http://blog.tiecliphq.com/2011/06/ie8-facebook-xd-proxy-fix.html

+1

Avrebbero lasciato deliberatamente l'http - // gli consentiva di funzionare sia su http che su https. – benz001

+0

buona chiamata. mi mancava - anche se credo che gli esempi di FB avessero http in là, in più potrebbero ora richiedere https per tutte le connessioni. non sono sicuro. – Eskim0