如何解决IE中的Facebook权限导致无限Facebook循环
| 我正在尝试获取正在制作的Facebook应用程序的权限,但是每次尝试在IE8中运行该应用程序时,都无法显示权限框。我已经在firefox中测试了该应用程序,它可以很好地打开,并且可以很好地获得所有权限(我不要求任何特殊权限)。 当我在IE8中运行调试器时,我看到程序一旦打入FB.getLoginStatus(function (response) {
(请参见下面的代码),便进入Facebook编写的代码的无限循环。
我认为问题是由于我如何进行权限调用。我有一个用于登录的表单,一旦用户尝试登录该站点,该表单将调用权限方法。这是我使用的表单中的表单和按钮:
<form id = \"membershipInfo\" method = \"post\" action = \"Login.aspx\">
<input type = \"button\" id = \"submitInfo\" class = \"MemberInfo\" value = \"Take Me There!\" onclick = \"authorize(acceptPermissions,rejectPermissions)\"/>
这是我使用的auth方法:
function authorize(successCallback,failureCallback) {
FB.getLoginStatus(function (response) {
//****** DOES NOT MAKE IT PAST HERE *******//
if (response.session) {
// logged in and connected user,carry on
session = response.session;
//Set access token
accessToken = response.session.access_token;
//Call success callback
successCallback();
} else {
// no user session available,Lets ask for perms
FB.ui(
{
method: \'permissions.request\',perms: permissionString //(equals \"\" )
},function (response) {
if (response && response.session != null) {
//Get session
session = response.session;
//Set access token
accessToken = response.session.access_token;
//Call success callback
successCallback();
} else {
//Call failure callback
failureCallback();
}
});
}
});
当用户接受权限时,他们将移到此处的成功回调方法中(到目前为止没有实现):
function acceptPermissions() {
//Code done before moving on
$(\'#submitInfo\').submit();
}
有人看到任何问题吗?
解决方法
看起来应该对我有用,因此可能是向Facebook提交错误报告的好机会。
也就是说,我认为您可以使用FB.login代替http://developers.facebook.com/docs/reference/javascript/FB.login/来清理代码
FB.login(function(response){
if(response.session){
// logged in and connected user,carry on
session = response.session;
//Set access token
accessToken = response.session.access_token;
//Call success callback
successCallback();
}
else{
failureCallback();
}
},{perms: permissionString});
,所以这是一个问题:您是否安装了Flash? IE8可能就是这样,它试图加载基于Flash的XD,然后静默失败。如果您安装Flash(并/或为此安装了一个门锁),它是否有效?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。