2012-02-22 7 views
0

Facebookのアプリ開発が初めてです。以下は、facebookユーザーのアクセストークンを取得するためのHTMLとスクリプトコードです。Facebookのログイン認証iFrameがSafariブラウザに正しく読み込まれていない

私はチェックボックスをオンにしています。チェックボックスをオンにすると、ロードするfacebookログイン認証フォームが必要です。

<html xmlns:fb="https://www.facebook.com/2008/fbml"> 
<body> 
    <table> 
     <tr> 
      <td> 
       <input type="checkbox" value="Facebook" name="facebook" id="facebook" onclick="checkFacebookLoginCredentials(this,'fb')"/> 
       <div id="fb-root"></div> 
      </td> 
     </tr> 
    </table> 
</body> 

<script type="text/javascript"> 
    var userFBAccessToken=""; 

    function checkFacebookLoginCredentials(field, accountType) 
    { 
     loadFBAuthenticationWindow();  //Function to load the facebook login authentication window 
    } 

    function loadFBAuthenticationWindow() 
    { 
     window.fbAsyncInit = function() 
     { 
      FB.init({ 
       appId  : 'MY_APP_ID', // App ID 
       status  : true, // check login status 
       cookie  : true, // enable cookies to allow the server to access the session 
       xfbml  : true, // parse XFBML 
       oauth : true 
      }); 

      FB.login(function(response) 
      { 
        if (response.authResponse) 
        { 
        console.log('Welcome! Fetching your Facebook information....'); 
        userFBAccessToken = response.authResponse.accessToken; 
        console.log('userFBAccessToken: ' + userFBAccessToken); 
        FB.api('/me', function(response) 
        { 
         console.log('Good to see you, ' + response.name + '.'); 
         FB.logout(function(response) { 
          console.log('Logged out.'); 
         }); 
        }); 
        } else { 
        console.log('User cancelled login or did not fully authorize.'); 
        } 
      }, {scope: 'user_activities,user_notes,user_photos,user_videos,user_status,offline_access'}); 
     }; 

     // Load the SDK Asynchronously 
     (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> 

</html> 

私は上記のhtmlをロードしようとすると、私はiFrameの(Facebookのログイン認証フォーム)はChromeとFirefoxのブラウザで正しくロードされて見ることができます。

しかし、SAFARIで実行しようとすると、iFrameが読み込まれません。

誰も私が上記のコードで逃したと言うことはできますか?どんな提案もお願いします..

答えて

0

これはバグのように聞こえます。これはバグトラッカーでファイルしてください:http://developers.facebook.com/bugs

+0

いいえ..調査中、私はこの問題が私の間違ったスクリプトの配置に起因すると感じています。誰もこの問題に直面しない。だから誰も私に上記のスクリプトで何が間違っていることを示唆することができますか? – user1223367

+0

これはテストですか? – DMCS

関連する問題