2011-11-07 3 views
1

J'ai essayé de résoudre ce problème pendant environ 4 heures (recherche sur google et stackoverflow et prier aux dieux de la pluie, rien n'a fonctionné), donc j'espère vraiment quelqu'un ici pourrait aider.FB.Event.subscribe boucle infinie sur Internet Explorer

Je développe une application où les utilisateurs peuvent télécharger des photos, les voter et les commenter. Jusqu'à présent, il fonctionne correctement dans tous les navigateurs, à l'exception d'Internet Explorer, où l'application tombe dans une boucle infinie, rechargeant l'onglet dans la même «étape».

J'utilise l'exemple de code inclus dans le SDK (dernier sdk):

<fb:login-button scope="email,user_location"><img src="button image here">/fb:login-button> 

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'APP ID GOES HERE', 
     cookie: true, 
     xfbml: true, 
     oauth: true 
    }); 

    FB.Event.subscribe('auth.login', function(response) { 
     window.location.reload(); 
    }); 
    }; 
    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

Comme dans l'exemple de code inclus dans le sdk, j'utilise php pour vérifier si l'utilisateur a déjà accordé l'application pour les autorisations. Le fichier de l'application est appelé fotoapp.php et, si l'utilisateur a accordé des autorisations, est redirigé vers fotoapp.php? S = 2 (s = 1 est où j'inclus le bouton de connexion), si faux, alors il est redirigé vers fotoapp.php ? s = 1. La variable 's' est uniquement pour les fins d'inclusion de fichier. La seule chose que j'utilise fbjs est l'événement d'abonnement pour le rechargement de connexion.

Quelqu'un a-t-il une idée pour résoudre ce problème?

Merci beaucoup!

Répondre

3

J'ai finalement résolu. Il y a quelques temps, j'ai eu quelques problèmes avec les cookies dans Internet Explorer, après avoir cherché une solution, une question est arrivée à stackoverflow qui a résolu mes problèmes. J'ai collé le code "juste au cas où" dans mon application ... ET TRAVAILLÉ !! hahaha

Le code à ajouter est le suivant: header ('P3P: CP = "IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONI NOTRE IND CNT"');

est ici la réponse: PHP cookies problem, works in Firefox not in other browser

Merci pour la lecture: p

+0

bien fait! m'a conduit fou ... – handsomeGun

0

je, je pense, un problème similaire: Eternal reloading page with Internet Explorer

Où faites-vous exactement copier/coller la ligne de code header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); dans votre script?

Merci!

+0

c'est un code php et vous devez le coller comme la première ligne de votre script (ou avant toute sortie html) – Chuy

+0

Merci, mais cela ne résout pas mon problème. J'étais assez sûr que c'était la même question. – thomaus