facebook登录按钮javascript onclick事件

时间:2014-02-08 17:18:01

标签: javascript jquery facebook facebook-graph-api facebook-javascript-sdk

我正在尝试创建一个简单的FB登录,它将请求电子邮件权限... 使用 按钮选项#2 第二块 工作正常 但使用 按钮选项#1 第二块 不会调用 authUser() 功能,
&安培;当我尝试使用 第一个块 获得相同的结果时,它也不起作用。

  1. 为什么 FIRST BLOCK 没有调用 authUser() 功能?
  2. 是否因为登录按钮类型?
  3. 如果是这样,我如何使用按钮选项#1以启用data-auto-logout-link="true"
  4. 第二块 中使用 按钮选项#2 onClick() 函数也未被调用...为什么?
  5. 我已经可以假设facebook按钮类型导致了这种情况并且在代码中查看了预先提交请求...

    • 两个块都在相同的<script type="text/javascript">标记

    第一个选项

    FB.init({
      appId      : 'YOUR_APP_ID',
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });
    
    
    // Check if the current user is logged in and has authorized the app
    FB.getLoginStatus(checkLoginStatus);
    
    // Login in the current user via Facebook and ask for email permission
    function authUser() {
      console.log("--- authUser ---");
      FB.login(checkLoginStatus, {scope : 'email'});
    }
    
    // Check the result of the user status and display login button if necessary
    function checkLoginStatus(response) {
      if(response && response.status == 'connected') {
        console.log('User is authorized');
    
      } else if (response.status === 'not_authorized') {
        console.log('User is not_authorized ... ');
    
      } else {
        console.log('User is not authorized');
        document.getElementById('loginButton').style.display = 'inline-block';
      }
    }
    
    • 按钮:

      <div class="fb-login-button" id="loginButton" data-max-rows="1" data-size="medium" data-show-faces="false" data-auto-logout-link="true" onclick="authUser();"></div>

    第二个选项

    window.onload = function() {
      document.getElementById('fb-login').onclick = function() {
      var cb = function(response) {
        console.log('FB.login callback', response);
        if (response.status === 'connected') {
          console.log('User logged in');
        } else {
          console.log('User is logged out');
        }
      };
      FB.login(cb, { scope: 'email' });
    };
    }
    
    • 有2个按钮选项:

      1. <fb:login-button id="fb-login" data-max-rows="1" data-size="medium" data-show-faces="false" data-auto-logout-link="true"></fb:login-button>

      2. <button id="fb-login">FaceBook Login</button>

        • 在实际代码中没有使用相同的按钮ID,这只是例如

    感谢名单。

2 个答案:

答案 0 :(得分:1)

我从未尝试过,但它可能会有所帮助。

Facebook for Developers

JavaScript的特殊部分:

Facebook for Developers - JavaScript

答案 1 :(得分:1)

你可以在这里找到一些解决方案

flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_float('network_nodes', [784, [5, 5, 32], [5, 5, 64], 1200, 10], 'The network structure')