Javascript 当移动浏览器上没有设置facebook cookie时,FB.login url将提供空白页面

Javascript 当移动浏览器上没有设置facebook cookie时,FB.login url将提供空白页面,javascript,mobile,facebook-javascript-sdk,Javascript,Mobile,Facebook Javascript Sdk,当starange试图在mobile Safari和Android浏览器上使用javascript SDK登录facebook时,发生了一些事情。当我清除“历史记录”和“cookies和数据”并尝试使用FB.login方法登录Facebook时,Safari和Android浏览器会打开一个带有auth url的新选项卡,但保持空白。在所有的桌面浏览器中,一切正常 奇怪的是,当我清除我的“历史记录”和“cookies和数据”,然后访问facebook.com(不登录或其他任何东西),关闭网站,打开

当starange试图在mobile Safari和Android浏览器上使用javascript SDK登录facebook时,发生了一些事情。当我清除“历史记录”和“cookies和数据”并尝试使用FB.login方法登录Facebook时,Safari和Android浏览器会打开一个带有auth url的新选项卡,但保持空白。在所有的桌面浏览器中,一切正常

奇怪的是,当我清除我的“历史记录”和“cookies和数据”,然后访问facebook.com(不登录或其他任何东西),关闭网站,打开我的网站,然后尝试登录到FB时,它实际上是正常工作的

因此,这看起来像是facebook.com设置了一个cookie,使认证URL成功加载

我已经到处寻找这个问题的解决方案,但找不到任何东西,因此我的第一个stackoverflow帖子

作为补充,以下是我用于初始化FB SDK的代码:

window.isFacebookSDKLoaded = false;
window.onFacebookSDKLoaded = function () {}; //is injected with a function from another js app on the site

window.fbAsyncInit = function() {
    FB.init({
        appId      : '{{ appID }}', // App ID
        channelUrl : '{{ baseUrl }}channel.php', // Channel File
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
    });
    window.isFacebookSDKLoaded = true;
    window.onFacebookSDKLoaded();
};

(function(d){
 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
 js = d.createElement('script'); js.id = id; js.async = true;
 js.src = "//connect.facebook.net/en_US/all.js";
 d.getElementsByTagName('head')[0].appendChild(js);
}(document));
在我的应用程序中的其他地方,我只需执行以下操作: (使用谷歌闭包)


如果有人有解决办法。。。提前谢谢mm.controller.facebook.DoFBLogin.prototype.doLogin = function () { FB.login( goog.bind( this.loginResult, this ), { scope: app.Config.getFBPermissions() } ); } mm.controller.facebook.DoFBLogin.prototype.loginResult = function ( result ) { // logged in };