首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您如何知道您的web应用程序是在Facebook内部打开(canvass)还是在外部打开(独立)?

您如何知道您的web应用程序是在Facebook内部打开(canvass)还是在外部打开(独立)?
EN

Stack Overflow用户
提问于 2013-02-27 10:25:20
回答 2查看 812关注 0票数 1

我正在用PHP为我的应用程序创建一个登录页面。我的应用程序使用fconnect登录。现在,

如果我打开web应用程序独立(www.acdef.com),它应该显示fconnect登录。如果它是在facebook (apps.facebook.com/myapp)内打开的,它不应该显示fconnect登录,并且根据用户的不同,应该显示fb权限或应用程序登录页面。以下是我所做的

代码语言:javascript
复制
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

EN

Stack Overflow用户

发布于 2014-02-28 17:38:33

您可以检查应用程序是否在iframe (fb canvas)中,并按如下方式操作:

代码语言:javascript
复制
<script type="text/javascript"> 
    if(window==window.top){ 
        top.location.href = '<?=$redirect_url?>';
    } 
</script>
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15103114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档