首页 > 解决方案 > Facebook登录弹出关闭按钮事件

问题描述

我在我的网站中使用 facebook 登录弹出窗口。我正在展示一个用于 api 响应的加载器。但是当用户点击 facebook 登录窗口的关闭按钮 (X) 时,我的加载器显示无限。所以我想在用户单击关闭按钮时获得该事件。我正在使用以下代码进行 facebook 登录弹出窗口。

 window.fbAsyncInit = function() {
  FB.init({
    appId      : '###',
    cookie     : true,
    xfbml      : true,
    version    : 'v3.1'
  });

  FB.AppEvents.logPageView();   

  window.checkLoginState = function() {
    FB.getLoginStatus(function(response) {
      document.getElementById('loader-response').classList.add('show');
      statusChangeCallback(response);
    });
  }

  function statusChangeCallback(response) {
    if (response.status === 'connected') {
      getProfile();
    } else {
      window.localStorage.setItem('facebook',false);
    }
  }  
};

(function(d, s, id){
   var js, fjs = d.getElementsByTagName(s)[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement(s); js.id = id;
   js.src = "https://connect.facebook.net/en_US/sdk.js";
   fjs.parentNode.insertBefore(js, fjs);
 }(document, 'script', 'facebook-jssdk'));      

标签: facebook-javascript-sdk

解决方案


我已经编辑了你的代码。

只需document.getElementById('loader-response').classList.add('show');FB.getLoginStatus(function(response)函数后添加即可。


推荐阅读