在Windows Phone上授予权限后,Facebook登录显示空白页

在Windows Phone上授予权限后,Facebook登录显示空白页,facebook,mobile,Facebook,Mobile,我正在建立一个移动网站,用户必须能够使用其facebook帐户登录,如上所述。它可以在Iphone和Android设备上运行,但在Windows Phone上则不行。情况就是这样: 当我按下登录按钮时,我会进入facebook页面,在那里我必须授予使用我的facebook帐户的权限 在我发出承诺后,它会重定向到“https://www.facebook.com/dialog/permissions.request“并显示一个空白页。在Android上调用“window.FB.login”回调(见

我正在建立一个移动网站,用户必须能够使用其facebook帐户登录,如上所述。它可以在Iphone和Android设备上运行,但在Windows Phone上则不行。情况就是这样:

  • 当我按下登录按钮时,我会进入facebook页面,在那里我必须授予使用我的facebook帐户的权限
  • 在我发出承诺后,它会重定向到“https://www.facebook.com/dialog/permissions.request“并显示一个空白页。在Android上调用“window.FB.login”回调(见下面的代码),在那里我可以获取信息并重定向用户,但在Windows Phone上它只显示空白页面。当我转到我的facebook页面时,我的站点已在应用程序列表中注册。因此,注册确实正确
  • 当我尝试登录示例页面时也会发生同样的情况:

    有人知道如何让它在Windows Phone上工作吗?甚至可能吗?因为我发现了很多这样的网站

    这是我的代码:(这同样适用于Android和Iphone设备)

    var fbApi={
    init:函数(){
    $.getScript(document.location.protocol+'//connect.facebook.net/en_US/all.js',函数(){
    如果(window.FB){
    window.FB.init({
    appId:MY_APP_ID,
    状态:正确,
    曲奇:是的,
    xfbml:false,
    真的,
    });
    }
    });
    },
    登录:函数(){
    /// 
    ///点击登录facebook按钮
    /// 
    日志(“点击登录facebook按钮”);
    如果(window.FB){
    //Windows phone不输入此方法,Android和Iphone则输入
    window.FB.login(函数(响应){
    如果(响应状态){
    日志('表示用户已允许与facebook通信');
    fbAccessToken=response.authResponse.accessToken;
    api('/me',函数(响应){
    //获取facebook用户的信息。
    loginService.subscribeSocialUser(response.id、response.first_name、response.last_name、fbAccessToken、“、”FaceBook”、FBSuccess、fbFail);
    });
    }否则{
    日志('用户取消登录或未完全授权');
    }
    },
    {范围:'电子邮件'
    });
    }
    }
    };
    
    我用了这里描述的另一种方式:

    有同样的问题,不知道客户端Javascript SDK是否在WAP登录对话框中显示的设备上工作
        var fbApi = {
          init: function () {
          $.getScript(document.location.protocol + '//connect.facebook.net/en_US/all.js', function () {
            if (window.FB) {
                window.FB.init({
                    appId: MY_APP_ID,
                    status: true,
                    cookie: true,
                    xfbml: false,
                    oauth: true,
                });
    
            }
        });
        },
        login: function () {
        /// <summary>
        /// Login facebook button clicked
        /// </summary>
        log("login facebook button clicked");
    
        if (window.FB) {
    
            //Windows phone does not enter this method, Android and Iphone do
            window.FB.login(function (response) {
    
                if (response.status) {
                    log('it means the user has allowed to communicate with facebook');
    
                    fbAccessToken = response.authResponse.accessToken;
                    window.FB.api('/me', function (response) {
                        //get information of the facebook user.
                        loginService.subscribeSocialUser(response.id, response.first_name, response.last_name, fbAccessToken, "", "FaceBook", fbSucces, fbFail);
    
                    });
                } else {
                    log('User cancelled login or did not fully authorize.');
    
                }
            },
            { scope: 'email'
            });
        }
    
    }
    };