【问题标题】:how to detect facebook canvas app location如何检测 facebook 画布应用程序位置
【发布时间】:2014-04-21 03:09:13
【问题描述】:
我正在尝试在访问我的应用时检测用户的位置入口点。
如果用户是第一次访问apps.facebook.com/foobar,那么他们有一个signed_request,我可以设置一个会话变量。但现在会话变量说它们位于画布应用程序中。因此,如果他们访问 foobar.com,他们将被视为在画布应用程序中,我想避免这种情况。我试图找到一种方法,每次他们来到应用程序时,100% 确定地检查他们是否在 facebook 画布中。
【问题讨论】:
标签:
javascript
php
facebook
canvas
facebook-apps
【解决方案1】:
您可以使用JavaScript 执行此操作,试试这个:
// Store session for is located in the canvas app
var isLocatedInCanvas = <?php echo isset($_SESSION['isLocatedInCanvas']) ? 'true' : 'false'; ?>;
// Check if app is not in an iframe and isLocatedInCanvas is true
if (window.location == top.window.location && isLocatedInCanvas) {
// Now redirect the user to clear session page and unset or clear isLocatedInCanvas value
window.location = 'clear-session.php';
// After clearing the session send the user to home page (foobar.com)
}