2009-04-03 7 views
6

Mise à jour 08/04/09 - Je suis dans une nouvelle semaine sans progrès et sans réponses sur les forums Facebook. Pas une réponse là-bas, ce qui est assez décevant. Je ne peux pas non plus trouver une solution à cette question, mais j'adorerais vraiment que ce problème soit résolu. J'ai regardé de nombreux messages pour voir si cela a été posté avant, et ce n'était pas le cas. Voici la version courte:IE8 Win7 Facebook Connect Problème

Je parcours l'exemple de tutoriel FB Connect (v1) et ne peux pas le faire fonctionner dans IE8 sous Win7. Il fonctionne comme prévu sur FF3 sur Win7.

Version longue:

j'été surpris de voir que les choses ne fonctionnaient pas depuis que j'avais à peu près copie et collé sur le contenu. J'ai ignoré le bit avec l'appel javascript alert(), donc j'ai mis ça dedans pour voir si l'analyseur arrivait même à ça. Je mets le code suivant dans:

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

L'alerte ne se déclenche pas sur IE8. Cela fonctionne sur FF.

Quand je change de nouveau d'appeler le update_user_box(), mon HTML ressemble à:

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> 

Encore une fois, cela fonctionne dans FF3 très bien. Ma photo apparaît et tout. En fait, cela me rend plus contrarié que cela a fonctionné dans FF3 qu'une situation de non-travail complète.

Voici le comportement témoin dans IE8:

  1. Lorsque je clique sur le bouton FBConnect. la fenêtre javascript apparaît et charge la page de connexion droite

  2. focus revient à la fenêtre principale (celle avec mon application)

  3. La fenêtre principale IE8 (celui où je cliqué sur le bouton de connexion) maintenant affiche une page d'ouverture de session facebook.

  4. Lorsque je saisis mes lettres de créance dans la FB fenêtre javascript, la page charge une URL doc vierge de cette page: 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

Afficher la source de cette page:

<!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 je ferme cette fenêtre et tapez mes informations d'identification dans la fenêtre de l'application, la page se recharge avec le bouton FBConnect.

Comme je l'ai dit, je reçois le comportement attendu dans FF3, mais pas IE8. J'ai même essayé le mode de compatibilité d'IE8, mais cela n'a pas fonctionné non plus. Quelqu'un at-il des indices sur ce qui se passe?

Mon balise HTML ressemble:

Je sais Donc, c'est pas la question.

+0

Quelle est la version de Win7? Si c'est la build 7000 alors il y avait une version assez ancienne de IE8 avec ça donc ça pourrait bien aller en finale d'IE8. –

+0

Je cours la construction 7068. Je n'ai pas essayé IE7 ou 8 sur Vista. Je suppose que je devrais essayer cela aussi, mais je cours localement sur ma machine de dev. –

+0

Concernant les primes: http://stackoverflow.com/faq#bounty –

Répondre

7

J'ai eu le même problème - Assurez-vous que la configuration de l'espace de nommage HTML sur votre page principale:

<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

Aussi, je fait quelques bootstrapping pour éviter une erreur nulle:

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

IE8 et Facebook Connect Simple.

Sur mon site Facebook Connect Je développe les widgets Facebook n'a tout simplement pas charger

Bien sûr, vous devez avoir JavaScript activé dans IE8 (beaucoup d'autres informations à ce sujet) que je me suis assuré.

Toujours pas d'action.

Puis le post ci-dessus par Darrent Newton ....

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

le tour est joué! Merci Darren.

0

J'ai eu des difficultés à obtenir facebook se connecter à travailler avec les nouvelles méthodes d'authentification SDK Javascript - il a bien fonctionné dans Chrome et FF, mais pas

IE8.0

Après quelques bricoler j'ai découvert que <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> était nécessaire.

Je devais aussi modifier mes paramètres d'application: changement Connect URL à quelque chose comme: http://XXX.example.com.org:8006/XXXX/ et changer de domaine de base à quelque chose comme: example.com

Note: Comme je l'ai testé sur une machine locale mise la base domaine à une adresse IP n'a pas fonctionné. méthode Render: iframe

Javascript pour référence:

<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

J'ai un problème très similaire. Sur IE7-8 Win7 je reçois "La page ne peut pas être affichée". La fenêtre contextuelle est vide.

Sur Fiddler, il n'ira pas passer un appel sécurisé à CONNECT (hôte). J'utilise l'API Facebook Javascript SDK avec API.ui/stream.Publish. J'ai mis en place 2 applications. Un pour le domaine français, un pour le domaine anglais. Le domaine anglais répond correctement, le français ne le fait pas. Les deux URL de connexion/domaine de base ont été correctement définis.

Cela fonctionne sur toutes les autres navigateurs/combinaisons. J'ai essayé les fx xmlns, aucun résultat.

0

Un peu en retard mais cela a sauvé ma peau !! J'espère que cela aide les autres!

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...

Voir http://forum.developers.facebook.net... pour le fil de discussion complet.

Questions connexes