Приложение Facebook Canvas, перенаправляющее на логотип Facebook

Я использую гем OmniAuth для разработки приложения холста Facebook, и когда я нажимаю «Войти», он просто перенаправляет меня на пустую страницу с логотипом Facebook, а затем вам нужно снова щелкнуть ее. Есть ли способ сделать так, чтобы он переходил прямо на страницу разрешений?


person Kevin    schedule 22.04.2011    source источник


Ответы (1)


Я думаю, что проблема, с которой вы столкнулись, заключается в том, что когда перенаправление выполняется с использованием Javascript, вы фактически перенаправляете iframe, а не всю веб-страницу. Это приводит к тому, что страница facebook отображается внутри iframe, который обнаруживается и вместо этого появляется логотип + пустая страница. Что вы хотите, так это выполнить перенаправление на всю страницу. Этого можно достичь с помощью:

window.top.location = somelocation;
person julx    schedule 22.04.2011
comment
Спасибо, это сработало, я добавил это в функцию, как только ссылка для входа в систему нажмет function redirect(url) { return window.top.location.replace(url); } - person Kevin; 23.04.2011
comment
Этот window.top.location работает, но затем, когда приложение перенаправляется обратно в корень, оно переходит в корень URL-адреса и не загружает корень внутри iframe facebook. - person Kevin; 23.04.2011
comment
Да, у меня была аналогичная проблема. Вы должны установить обратный адрес перенаправления на apps.facebook.com/yourapp/path/inside/your/app. - person julx; 23.04.2011