2012-05-07 5 views
2

Я пытаюсь реализовать «Войти в Facebook» с помощью API Open Graph. Пока это работает в FF, Chrome, Safari, но не в IE. Тестирование на IE9.Facebook API, Войти с Facebook не работает только на IE

В IE я могу открыть диалоговое окно для входа в систему. Я могу успешно войти в Facebook, но потом ничего не происходит. В других браузерах перенаправление страниц и данные пользователя fb хранятся в базе данных.

Я пробовал оба доктрины FB в отдельных случаях, а не удачи.

xmlns:fb="http://ogp.me/ns/fb#" 
xmlns:fb="http://www.facebook.com/2008/fbml" 

Редактировать: Я удалил материал FB.api, чтобы включить окно предупреждения для тестирования. Работает над всем, кроме IE.

<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
     appId : '<?php echo $AppID; ?>', 
     channelUrl : '//www.mysite.net/channel.php', // Channel File 
     oauth : true, 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 

    }; 

function fb_login(){ 
    FB.login(function(response) { 

     if (response.authResponse) { 
      console.log('Welcome! Fetching your information.... '); 
      //console.log(response); // dump complete info 
      access_token = response.authResponse.accessToken; //get access token 
      user_id = response.authResponse.userID; //get FB UID 

      FB.api('/me', function(response) { 
    alert(response.id); 
      }); 

     } else { 
      //user hit cancel button 
      console.log('User cancelled login or did not fully authorize.'); 
     } 
    }, { 
     scope: 'email,publish_actions' 
    } 
    ); 
} 
    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 
+0

Важно: укажите, какие версии IE вы тестируете. – Spudley

+0

Спасибо за напоминание ... используя IE9. – user1373779

ответ

1

Попробуйте удалить/закомментировать ваш console.log() участки кода, я знаю, что это безумие, но в последний раз я попробовал те, в IE, они жаловались, не могу назвать войти на неопределенное ... I желание IE догонит время.

В любом случае, просто дайте ему шанс, это определенно стоит попробовать для потенциально простого исправления. Пожалуйста, поверьте, я знаю, что это звучит глупо, но это было источником ошибок IE для меня в прошлом!

+0

Я не могу в это поверить ... это действительно сработало! – user1373779

+0

:) Я говорю вам, IE заслуживает того, чтобы больше не существовать, поскольку так далеко отстает от такой тенденции. Я очень рад услышать, что это сработало для вас: D Просто дополнительная неудачная нота, НИКОГДА не приходите в производство с этими бревнами, или IE будет есть ваш сайт bwainz – Bryan

+0

Спасибо за подсказку. Я узнал свой урок :) – user1373779

Смежные вопросы