31

私はfbログイン機能を使用して作成していますが、ページメディアの読み込みが完了する前にfbログインボタンをクリックすると、fbログインのポップアップがブロックされますが、イベントの読み込みに1秒経過した後にfbloginをクリックすると問題が発生します作品

これが私が使用している機能です:

function fb_login() {
var email='';
console.log(loginClassbackQueue);
// console.log('user wants to login with fb');
FB.getLoginStatus(function(response) {
    if(response.status!='connected'){
        FB.login(function(response) {
            // console.log(response);
            if (response.authResponse) {
                // console.log('user logged in successfully');
                // console.log(response);
                email = update_f_data_login(response);
                $('#fb_login_popup, #popup_overlay').hide();
                // loginme(email);
                } 
            else {
                    loginClassbackQueue = [];
                // console.log('user failed to login');
                }
                // console.log('fb login completed successfully');
            }, {scope:"email,user_birthday,user_likes,user_location,friends_likes,publish_actions"}
        );
        }
    else{
    // console.log('logged in and connected');
    email = update_f_data_login(response);
    $('#fb_login_popup, #popup_overlay').hide();
    }

});

}

このサイトhttp://fab.com/で同じアクションを実行すると、ポップアップが常に開かれ、ポップアップがブロックされることはありません。

4

4 に答える 4

56

FB.loginのコールバックから呼び出すことはできませんFB.getLoginStatus

ブラウザーは、ユーザーのクリック アクションの直後の結果としてポップアップが生成されないポップアップ ウィンドウをブロックする傾向があります。

呼び出しを行い、その応答を呼び出すため、この呼び出しの結果として開くポップアップはFB.getLoginStatusブロックされます。ajaxFB.login

問題の解決策はFB.getLoginStatus、ページの読み込み時に呼び出し、fb_login()メソッド内で応答を使用することです。

于 2013-05-15T08:02:54.653 に答える
13

statustrueに設定してください。これにより、ポップアップ ブロッカーの問題が修正されます。

window.fbAsyncInit = function() {
  FB.init({
    appId      : '{your-app-id}',
    cookie     : true,  // enable cookies to allow the server to access 
                        // the session
    xfbml      : true,  // parse social plugins on this page
    version    : 'v2.5', // use graph api version 2.5
    status     : true // set this status to true, this will fixed popup blocker issue
  });
于 2016-06-16T03:04:53.363 に答える