如何查找该应用程序是在脸书内运行还是在脸书外运行


How to find if the app is running within facebook or outside of facebook

如果facebook应用程序在facebook内运行或作为网站在facebook外运行,我们如何使用PHP或Javascript。不确定检查的标准是什么?

做了一些检查。以下答案有效:

if(isset($_REQUEST["signed_request"]){
// Opened in facebook
}else{
//opened outside facebook.
}

检查签名请求是不够的。如果有更多的页面,导航就在框架中,并且会丢失signed_request参数。

首先在第一个页面中检查signed_request,然后在会话中放入一个bool变量并对此进行控制。

这种方法有一个问题:如果你打开另一个选项卡并访问Facebook中的应用程序(或viceversa),你将共享会话:)