1

我正在尝试使用 Facebook Javascript SDK 将 Facebook 登录添加到我的网站。一切似乎都正常,但是在请求权限时,登录弹出窗口会打开烦人的滚动条(我已经登录 Facebook)。我用 Firefox 16、IE 9 对其进行了测试。在弹出窗口中使用 Facbook 登录的其他站点在我的机器上没有相同的行为。

也许他们使用不同的方法?

这是我的代码.. 它非常简单,您只需复制/粘贴到 html 页面中即可对其进行测试。只需设置您的APP-ID。

 <html>
 <body>

    <img src="images/facebooklogin.png" id="login-fb" onclick="login();" />

    <script type="text/javascript">
 window.fbAsyncInit = function(){
     FB.init({
         appId : 'APP-ID',
         status : true,
         cookie : true,
         xfbml : false
     });
 };

      // 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));


 function login()
 {
     facebookPerms = [
         'user_photos', 'email', 'offline_access', 'user_relationships', 'read_stream',
         'user_about_me', 'user_birthday', 'user_education_history', //'publish_stream',
         'user_hometown', 'user_interests', 'user_location', 'user_likes',
         'user_religion_politics', 'user_activities', 'user_work_history'
     ];

     //Get the facebook login status
     FB.getLoginStatus(function(response) {
         if (response.session) {
             // logged in and connected user, someone you know
             ajaxLogin();
         } else {
             //Display the facebook login dialog
             FB.login(function(response) {
                 if (response.authResponse) {
                     // user is logged in and granted some permissions.
                     // perms is a comma separated list of granted permissions
                     ajaxLogin();
                 } else {
                     // user is not logged in, display the error dialog box
                     errorNotLogged();
                 }
             }, {
                 //Ask for permissions of Facebook
                 scope: facebookPerms.join(',')
             });
         }
     });
 }
 </script>

 </body>
 </html>
4

0 回答 0