Facebook的OAuth对话框在IE 11中无法正常关闭

时间:2015-01-27 10:38:18

标签: facebook internet-explorer facebook-oauth

我正在使用FB Client Api for Oauth authentication

登录后所有必要的数据都会在验证对话框变为空白时收到,并且在成功验证后不会关闭。此行为仅适用于IE 11.其余浏览器成功关闭Oauth对话框。

这是FB SDK的初始化代码:

(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'));
},

这是我的FB登录的初始代码

function fbAsyncInit() {
        FB.init({
            appId: options.applicationId, // App ID
            status     : true,
            xfbml      : true
        });

        FB.getLoginStatus( callback );
    }

window.fbAsyncInit = window.fbAsyncInit || fbAsyncInit;

最后但并非最不重要的是:授权功能

authorize = function() {
    var dfd = new $.Deferred();
    FB.Event.subscribe( "auth.authResponseChange", function( response ) {
        if ( response.status === "connected" ) {
            dfd.resolve();
            return;
        } else {
            FB.login(function() {
                dfd.resolve();
            });
        }
    });
    FB.getLoginStatus(function( response ) {
        if ( response && response.status === "connected" ) {
            dfd.resolve();
            return;
        }
        FB.login();
    });

    return dfd.promise();
};

再一次 - 我收到所有必要的事件,问题是成功验证后对话框没有关闭。

0 个答案:

没有答案