XD代理在Facebook Connect登录时挂起

时间:2012-02-15 23:39:32

标签: javascript facebook

我最近在尝试通过Facebook Connect通过公共网站登录时,在所有浏览器中都遇到了同样悬挂的“XD代理”,并且前一天才遇到这种情况。

当尝试通过“登录”按钮通过Facebook Connect按钮正常登录时,我们会在地址栏中遇到挂起对话框弹出窗口。

XD代理弹出窗口地址栏的网址如下:

https://s-static.ak.fbcdn.net/connect/xd_proxy.php?version=3#cb=feac6ba71b83ac&origin=https%3A%2F%2Fwww.example.com%2Ff29dcc19c684c1c&relation=opener&transport=postmessage&frame=f366e3c5d4f85d2&access_token=AAAAAQXuZAol4BAFcZBEZBPNw1qFN7liSfzgd8brqPstvo1yFiVbG4xymW9CEIohr6vczV20CK27xEP6JUYOObgZCLzxWPDKoxbtvi4vSdnYMr8QZAc4P2&expires_in=6819&signed_request=4i2nufVfL0dZkQS0K8gbPeKfT5LOviSk89Kpaxunfs4.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImNvZGUiOiJBUUJvUzBHaHVlVEhmNWMzTEd5bW9TT21jSlYtblJ4eEViX3Q5WjlWTDVCZDBCMk4tZThYeG9lZ2VwUDJGQ3JnTFZZS0FINU1wSUY5cTVLNEFkR0JHMmpjNFdLVW80OHEwbG5ITG83eE9LaGM1M0tic0lXd2VsVFU5Mkhzejh1V2dxOFRRTjA4YVhpRVdfTFRsQ29oZFpfU090MnVWY3l3Zzh2LTQ1c0lwSHVkdC1SSENEc3hmeWtISm9feWMtNUNaNmciLCJpc3N1ZWRfYXQiOjEzMjkyODk1ODEsInVzZXJfaWQiOiIxNjgyNjI3MjU3In0

以下是代码片段是我的'Init'代码:

  $(document).ready(function () {

        window.fbAsyncInit = function () {
            FB.init({
                appId: ConfigAppID, // App ID
                channelURL: '//exampleurl/channel.html', // Channel File (note I have not put http: or https: here as this was suggested by a user on the facebook bug forum pertaining to this issue
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                oauth: true, // enable OAuth 2.0
                xfbml: true  // parse XFBML
            });

            // Additional initialization code here
        };

        // Load the SDK Asynchronously
        (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_GB/all.js";
            d.getElementsByTagName('head')[0].appendChild(js);
        } (document));

    });

我的身份验证码片段如下:

 <input type="image" src="assets/images/btn_enter.gif" class="button" value="Enter Competition" onclick="fb_authorise()" />

fb_authorise()的定义如下:

function fb_authorise() {

    FB.login(function (response) {

        if (response.authResponse) {

            console.log('fb_authorise() - authorsied ');
            window.top.location.href = 'www.facebook.com/pages/exampleTestPage/171655142343955?sk=app_242716140284588';

        } else {
            console.log('fb_authorise() - not authorsied');
        }

    }, { scope: 'email' });

    return false;
}

我可以100%确认我的代码没有黑客或解决方法(此代码在2天前一直有效)

在应用上面的代码片段后,我清除了我的浏览器缓存以确保浏览器重新加载所有资源(Facebook用户在facebook bug论坛上的建议),但是我仍然得到挂起的对话框。

我们在所有浏览器上遇到此问题(挂起弹出窗口)。

有没有人为此找到解决方案?我知道截至2012年2月9日,Facebook已经有一位支持人员正在研究这个问题。但是,我们需要一个紧急的解决办法来欢迎任何早期的永久修复建议!

2 个答案:

答案 0 :(得分:0)

发生在我身上的一次,我取出了channelUrl并修复了它

答案 1 :(得分:0)

我发现重置Chrome对我有用。在这里找到解决方案。 http://www.google.com/support/forum/p/Chrome/thread?tid=310bc994b12d2750&hl=en&fid=310bc994b12d27500004b99649c0e573

  • 删除了所有扩展程序:工具&gt;扩展
  • 删除了所有应用:打开新标签&gt;应用。右键单击并删除
  • 重新启动Chrome

XD代理窗口不再在我的应用程序中挂起。

试图找到解决方案2天。很高兴这很有效。