我正在使用facebook connect登录我的网站。
在我的html页面中,我写了代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test JOpenID </title>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId:'180065668680582',
cookie:true,
status: true,
xfbml:true
});
</script>
<fb:login-button perms="email,user_checkins">
Login with Facebook
</fb:login-button>
</body>
</html>
因此,当我点击“使用Facebook登录”按钮时,会弹出一个窗口并要求填写用户名和密码。直到这个时候一切正常。单击允许按钮进入目标网站时问题仍然存在。弹出窗口也会出现并消失。窗口的直到XD代理,在网址是::
根据我的要求,我需要在允许facebook之后才允许我进入我已经注册的目的地网站。但它只在一个窗口上,并在一秒钟内消失。
问题是什么以及如何解决详细说明......
由于
答案 0 :(得分:3)
不要使用
FB.init({ apiKey: 'API_KEY' });
并使用
FB.init({ appId: 'APP_ID', status: true, cookie: true, xfbml: true });
答案 1 :(得分:0)
要在Opera中修复它,只需在FB.init()之后执行以下操作:
if($.browser.opera ) // it uses jQuery library here!
{
FB.XD._transport="postmessage";
FB.XD.PostMessage.init();
}
答案 2 :(得分:0)
我在IE9中遇到过同样的问题,它似乎源于升级到Flash Player 10.自从找到open bug at Facebook覆盖它以来,我一直没有尝试修复它。但是Henson发布了an answer,为我修复了它。在我的网站主人的JavaScript中,我删除了行
FB.UIServer.setLoadedNode = function (a, b) {
//HACK: http://bugs.developers.facebook.net/show_bug.cgi?id=20168
FB.UIServer._loadedNodes[a.id] = b;
};
现在它有效。 (N.B.我没有检查IE8是否发布这些线路是为了克服回报。)