2011-01-13 13 views
7

Estoy usando FB.getLoginStatus para una aplicación en Facebook. Esto funciona bien en todos los navegadores, incluido IE8. Pero no funciona para IE7. Mi código es:¿Por qué FB.getLoginStatus no funciona en IE7?

 FB.getLoginStatus(function(response) {    
      if (response.session) { 
       alert("logout"); 
      } 
      else{ 
       FB.Event.subscribe('auth.login', function(response) { 
        login(); 
       }); 
       alert("login"); 
      } 
     }); 

¿Alguien sabe por qué?

+3

Configuré channelUrl: 'example.com/facebook/' en FB.init y funcionó! – novellino

+0

+1 channelUrl funcionó para mí también! Estaba tirando de mi cabello en este. gracias –

+0

Solo una nota, también veo el mismo problema en IE8. La respuesta publicada a continuación resuelve el problema en IE7 e IE8 para mí. – DuckMaestro

Respuesta

10

De acuerdo con la documentación en http://developers.facebook.com/docs/reference/javascript/fb.init/, la solución adecuada es la de crear un archivo en el servidor web (por ejemplo channel.html) que contiene simplemente:

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

Y a continuación, especifica la URL absoluta a su canal. html en sus opciones de inicialización:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId : 'YOUR APP ID', 
    channelUrl : 'http://example.com/channel.html' // custom channel 
    }); 
</script> 

para facilitar la implementación, uso el siguiente para calcular mi channelUrl.

var curLoc = window.location; 
curLoc.protocol + "//" + curLoc.hostname + ":" + curLoc.port + "/channel.html" 
+0

funcionó para mí. ¡Gracias! – Jeff

+0

Un URL de archivo de canal no válido hará que esto falle en IE7, mientras que otros navegadores seguirán funcionando bien, incluido IE8. –

0

Actualmente esta API (FB.getLoginStatus) ya no funciona en los navegadores IE7.

Tome un vistazo aquí: getLoginStatus not Fired on IE7

Si intenta ejecutar el código en la siguiente página en Internet Explorer 7 no funciona: http://www.fbrell.com/auth/login-and-logout

parece que el arreglo "channelUrl" ya no está funcionando y el soporte de IE7 para Facebook Javascript SDK está comprometido.