Я создаю страницу входа для своего приложения в PHP. В моем приложении используется fconnect для входа в систему. Теперь,Как вы узнаете, открывается ли ваше веб-приложение внутри Facebook (canvass) или снаружи (автономно)?
Если я открою автономное веб-приложение (www.acdef.com), он должен показать логин fconnect. , если он открыт внутри facebook (apps.facebook.com/myapp), он не должен показывать логин fconnect и в зависимости от того, какой пользователь должен показывать разрешения fb или целевую страницу приложения. Вот что я сделал
if((isset($_SERVER['HTTP_REFEREER']) && strpos($_SERVER['HTTP_REFEREER'], "facebook.com") !==false) || (isset($this->request->get['ref']) && strpos($this->request->get['ref'], "facebook.com") !==false))
{
// I am in canvass
}
{
// I am not in canvass
}
Однако он не работает всегда. Много раз даже в то время как в холсте, я вижу кнопку fblogin.
Какое оптимальное решение?
-Ajay
Это должно ответить на ваш вопрос. Facebook использует iframes. http://stackoverflow.com/questions/5859358/checking-if-my-page-is-embedded-in-an-iframe –