如果facebook应用程序在facebook内运行或作为网站在facebook外运行,我们如何使用PHP或Javascript。不确定检查的标准是什么?
做了一些检查。以下答案有效:
if(isset($_REQUEST["signed_request"]){
// Opened in facebook
}else{
//opened outside facebook.
}
检查签名请求是不够的。如果有更多的页面,导航就在框架中,并且会丢失signed_request参数。
首先在第一个页面中检查signed_request,然后在会话中放入一个bool变量并对此进行控制。
这种方法有一个问题:如果你打开另一个选项卡并访问Facebook中的应用程序(或viceversa),你将共享会话:)