23

我正在构建一个 Facebook 应用程序,我注意到当尝试使用他们的 Javascript API 获取用户的登录状态时,我有时会收到错误消息:

“拒绝显示文档,因为 X-Frame-Options 禁止显示。”

每次我点击应用程序的“检查登录状态”页面时,我都能够重现这一点,只是在使用 Facebook 作为页面而不是我的用户帐户时。这很容易避免,因为我知道这会导致问题,但显然我的用户可能不知道这一点。

有没有办法确定用户是否将 Facebook 用作主页?因为这似乎几乎毁了我的整个应用程序。

4

3 回答 3

1

我也遇到了这个问题,解决了这个问题:应用程序正在将用户重定向到 Facebook 的登录屏幕(身份验证对话框),而用户已经登录。所以我更改了代码以重定向到成功页面(如果已登录)如果未登录,则进入对话框。

于 2012-05-03T07:24:02.533 回答
1

当 facebook 从 Web 浏览器重定向到您的应用程序然后您重定向到 facebook 授权登录时,这是一个问题。您必须确保表单替换页面并且不会加载到 facebook 画布中,因为它不喜欢它.

所以你必须像这样做一个干净的重定向 - 这是节点示例

res.send("<script> top.location.href='"+ "https://www.facebook.com/dialog/oauth?    
client_id=*********&redirect_uri=http://apps.facebook.com/myapp" + "'</script>");

看看这个 facebook 开发页面及其在第 3 步

https://developers.facebook.com/docs/howtos/login/server-side-login/

移动应用似乎不是问题,只是桌面

于 2013-02-21T13:35:02.087 回答
0

这个javascript有效吗?

document.write(isFacebookPage()?"YES, I'm in a Facebook Page!":"No, not a Facebook Page");

function isFacebookPage(){
    return (document.location.href.indexOf('/pages/')>0);
}
于 2012-04-04T17:19:45.570 回答