我最近在尝试通过Facebook Connect通过公共网站登录时,在所有浏览器中都遇到了同样悬挂的“XD代理”,并且前一天才遇到这种情况。
当尝试通过“登录”按钮通过Facebook Connect按钮正常登录时,我们会在地址栏中遇到挂起对话框弹出窗口。
XD代理弹出窗口地址栏的网址如下:
以下是代码片段是我的'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已经有一位支持人员正在研究这个问题。但是,我们需要一个紧急的解决办法来欢迎任何早期的永久修复建议!
答案 0 :(得分:0)
发生在我身上的一次,我取出了channelUrl并修复了它
答案 1 :(得分:0)
我发现重置Chrome对我有用。在这里找到解决方案。 http://www.google.com/support/forum/p/Chrome/thread?tid=310bc994b12d2750&hl=en&fid=310bc994b12d27500004b99649c0e573
XD代理窗口不再在我的应用程序中挂起。
试图找到解决方案2天。很高兴这很有效。