Я разрабатываю приложение Facebook iframe с JavaScript ... проблема в том, что пользователь нажимает URL-адрес приложения. https://apps.facebook.com/projectanida/ Я хочу, чтобы пользователи видели главную страницу приложения, если они уже вошли в fb и если нет пользовательский сеанс доступен, тогда пользователь должен быть автоматически направлен на страницу FB с запросом учетных данных для входа в Facebook, чтобы использовать мое приложение.
Вот код:
var href = "https://projectafacebook.appspot.com/fb/";
var appliId = "165346656890746";
window.fbAsyncInit = function() {
FB.init({
appId: '165346656890746',
status: true,
// check login status
cookie: true,
// enable cookies to allow the server to access the session
xfbml: true // parse XFBML
// sizeChangeCallback();
});
FB.Event.subscribe('auth.sessionChange', function (response) {
if (response.session) {
//user is logged in!
alert("//user is logged in!");
// window.location = document.URL;
} else
{
alert("//user is not logged in!");
windows.top.location.href = 'https://graph.facebook.com/oauth/authorize?client_id=' + appliId + '&redirect_uri=' + href + '&display=page';
}
});
};
FB.getLoginStatus(function(response) {
if (response.session) {
//alert("session true");
//$("#fb-root").show();
} else {
top.location.href = 'https://graph.facebook.com/oauth/authorize?client_id=' + appliId + '&redirect_uri=' + href + '&display=page';
}
});
часть if работает нормально, но когда появляется другая часть, она показывает страницу входа в систему fb, но под синей полосой страницы fb показывает мое приложение и также доступна, даже если сеанс недоступен ... она отлично работает в chrome и IE8 иногда, но никогда не работает в Firefox.
и если мы войдем на эту страницу, она все еще будет перенаправлена на страницу моего приложения в fb, но размер холста будет зафиксирован, и мое приложение будет обрезано, где, как если бы я сначала авторизировался, а затем нажал на URL своего приложения, тогда приложения работают нормально и размер холста тоже хорошо. пожалуйста помоги!