我正在为我的应用程序在PHP中创建一个登录页面。我的应用程序使用fconnect登录。现在,您如何知道您的Web应用程序是在Facebook(Canvass)还是在外部(独立)内部打开?
如果我打开Web应用程序standalone(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使用iframe。 http://stackoverflow.com/questions/5859358/checking-if-my-page-is-embedded-in-an-iframe – 2013-02-27 04:55:05