我正在尝试获取我正在制作的 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)"/>
这是我使用的身份验证方法:
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();
}
有人看到任何问题吗?