2009-04-03 40 views
6

Actualización 4/8/09 - Estoy en una nueva semana sin progreso y sin respuestas de los foros de Facebook. No hay una respuesta por allá, que es bastante decepcionante. Tampoco puedo encontrar la manera de darle una recompensa a esta pregunta, pero realmente me encantaría resolver este problema.IE8 Win7 Facebook Connect Problema


He consultado muchas publicaciones para ver si esto se publicó antes, y no fue así. Aquí está la versión corta:

Estoy repasando el ejemplo del tutorial de FB Connect (v1) y no puedo hacer que funcione en IE8 en Win7. Funciona como se esperaba en FF3 en Win7.

Versión larga:

Me sorprendió que las cosas no estaban funcionando, ya que tenía más o menos la copia y pegado sobre el contenido. Me salté el bit con la llamada javascript de alerta(), así que puse eso para ver si el analizador estaba llegando a eso. Puse el siguiente código en:

[my raw html] 
Or use, <fb:login-button length="long" onlogin="alert('yo!!!');"></fb:login-button> 
[/my raw html] 

La alerta no aparece en IE8. Funciona en FF.

Cuando cambio volver a llamar a la update_user_box(), mi HTML se parece a:

Or use, <fb:login-button length="long" onlogin="update_user_box();"></fb:login-button> 

<script type="text/javascript"> 
    function update_user_box() { 
     var user_box = document.getElementById("user"); 
     user_box.innerHTML = 
      "<span>" 
      + "<fb:profile-pic uid='loggedinuser' facebook-logo='true'></fb:profile_pic>" 
      + "Welcome, <fb:name uid='loggedinuser' useyou='false'></fb:name>." 
      + "You are signed in." 
      + "</span>" 

     FB.XFBML.Host.parseDomTree(); 
    } 

    FB.init("23e24c73feed7ca0f6afd876575842de", "../../Connect/xd_receiver.htm", { "ifUserConnected": update_user_box }); 
</script> 

Una vez más, esto funciona en FF3 bien. Mi imagen aparece y todo. En realidad, me molesta más que funcionara en FF3 que una situación completa de no trabajo.

Aquí es el comportamiento observado en IE8:

  1. Cuando hago clic en el botón FBConnect. la ventana Javascript aparece y carga la página de inicio de sesión correcto

  2. enfoque cambia de nuevo a la ventana principal (la que tiene mi aplicación)

  3. La ventana principal de Internet Explorer 8 (aquel en el que hice clic en el botón de conexión) ahora muestra una página de inicio de sesión de Facebook.

  4. Cuando entrada mis credenciales en el FB Javascript ventana, la página se carga una URL en blanco doc de esa página: http://localhost:55994/Connect/xd_receiver.htm?fb_login&fname=_opener&session=%7B%22session_key%22%3A%223.A4DpHk4nrKHooB7K_Q6EiA__.86400.1238796000-623225%22%2C%22uid%22%3A%22623225%22%2C%22expires%22%3A1238796000%2C%22secret%22%3A%22HtjtJS_xg8dX7TR7lLggew__%22%2C%22sig%22%3A%22ae12c0f98d4567612b70861314d42fbb%22%7D

Ver código fuente de esa página:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<body> 
    <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script> 
</body> 
</html> 

5 , Si cierro esa ventana y escribo mis credenciales en la ventana de la aplicación, la página se vuelve a cargar con el botón FBConnect.

Como dije, estoy obteniendo el comportamiento esperado en FF3, pero no en IE8. Incluso probé el modo de compatibilidad de IE8, pero tampoco funcionó. Alguien tiene alguna pista sobre lo que está sucediendo?

Mi etiqueta HTML se parece a:

así que sé que no es el problema.

+0

¿Qué versión de Win7? Si es build 7000, entonces tenía una versión bastante antigua de IE8, así que bien podría estar bien en IE8 final. –

+0

Estoy ejecutando build 7068. No he probado IE7 u 8 en Vista. Supongo que debería probar eso también, pero estoy ejecutando localmente en mi máquina de desarrollo. –

+0

En cuanto a las recompensas: http://stackoverflow.com/faq#bounty –

Respuesta

7

que tenían el mismo problema - Asegúrate de que tienes la configuración de espacio de nombres HTML de la página principal:

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

http://forum.developers.facebook.com/viewtopic.php?id=23412

Además, he hecho un poco de bootstrapping para evitar un error nulo:

FB.Bootstrap.requireFeatures(["Connect"], function() 
{ 
    FB.init("--api-key--","domain/xd_receiver.htm"); 
    FB.Connect.ifUserConnected(your_function_here); 
}); 
1

IE8 y Facebook Connect Simple.

En mi Facebook Connect Sitio estoy desarrollando los widgets de Facebook simplemente no cargar

Por supuesto, debes tener javascript habilitado en IE8 (mucho otra información sobre esto), que me aseguré.

Todavía no va.

Entonces el post anterior por Darrent Newton ....

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

hace el truco! Gracias Darren.

0

he tenido algunos problemas para conseguir facebook conectarse a trabajar con los nuevos métodos de autenticación Javascript SDK - funcionó bien en Chrome y FF pero no IE8.0

Después de algunos retoques alrededor descubrí que se necesitaba <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">.

También tuve que editar la configuración de la aplicación: Cambio Conectar URL a algo como: http://XXX.example.com.org:8006/XXXX/ y cambiar de dominio base a algo como: example.com

Nota: Como pongo a prueba en una máquina local estableciendo la base el dominio a una dirección IP no funcionó. método Render: iframe

Javascript para referencia:

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

<script> 

    FB.init({appId: '{{facebook_app_id}}', status: true, cookie: true, xfbml: true}); 
    FB.Event.subscribe('auth.sessionChange', function(response) { 
    if (response.session) { 
     // A user has logged in, and a new cookie has been saved 
     window.location.reload(); 
    } else { 
     // The user has logged out, and the cookie has been cleared 
    } 
    }); 

</script> 
0

Tengo un problema muy similar. En IE7-8 Win7 aparece "La página no se puede mostrar". La ventana emergente está vacía.

En Fiddler no pasará una llamada segura a CONNECT (host).

Estoy usando la API JavaScript SDK de Facebook con API.ui/stream.Publish. He configurado 2 aplicaciones. Uno para el dominio francés, uno para el dominio inglés. El dominio en inglés responde correctamente, el francés no. Ambos dominios urls/base de conexión se configuraron correctamente.

Esto funciona en todas las demás combinaciones de navegador/os.

He intentado los fb xmlns, no hay resultados.

0

Un poco tarde pero esto SALVE mi piel !! Espero que esto ayude a otros!

FB Connect display blank popup on login in IE8,IE9 Solution:

Use Custom Channel URL

1.Add channelUrl parameter in FB.init session.

FB.init({ appId : 'YOUR APP ID', status : true, cookie : true, xfbml : true, channelUrl: "http://yourdomainname/fbtest/channel.html" //Add this file in your website.
});

2.The contents of the channel.html file should be this single line:

3.Test your FB login...Enjoy...

Ver http://forum.developers.facebook.net... para el hilo completo del foro.