拒绝显示文档,因为 X-Frame-Options 禁止显示
Posted
技术标签:
【中文标题】拒绝显示文档,因为 X-Frame-Options 禁止显示【英文标题】:Refused to display document because display forbidden by X-Frame-Options 【发布时间】:2012-03-18 11:47:42 【问题描述】:我正在构建一个 Facebook 应用程序,我注意到当尝试使用他们的 javascript API 获取用户的登录状态时,我有时会收到错误:
“。”
我每次点击应用程序的“检查登录状态”页面时都能够重现这一点,同时使用 Facebook 作为页面,而不是我的用户帐户。这很容易避免,因为我知道这会导致问题,但显然我的用户可能不知道这一点。
有没有办法确定用户是否将 Facebook 用作主页?因为这似乎几乎毁了我的整个应用程序。
【问题讨论】:
您能否确认您的 channel.htm 文件是否按预期工作? Way to detect "Refused to display document because display forbidden by X-Frame-Options." error?的可能重复 【参考方案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/
移动应用似乎不是问题,只是桌面
【讨论】:
【参考方案2】:我也遇到了这个问题,解决了: 该应用程序将用户从 Facebook 重定向到登录屏幕(身份验证对话框),而用户已经登录。 所以我更改了代码,如果登录则重定向到成功页面,如果未登录则重定向到对话框。
【讨论】:
如果他不解释他是怎么做到的,为什么他会得到绿色支票?【参考方案3】:这个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);
【讨论】:
以上是关于拒绝显示文档,因为 X-Frame-Options 禁止显示的主要内容,如果未能解决你的问题,请参考以下文章
JSF inputFile 拒绝在框架中显示“mypage.xhtml”,因为它将“X-Frame-Options”设置为“拒绝”
谷歌浏览器拒绝显示谷歌地图框架,因为 X-Frame-Options 设置为拒绝
拒绝在框架中显示 LOCALHOST,因为“X-Frame-Options”设置为“sameorigin”
拒绝在框架中显示,因为它将“X-Frame-Options”设置为 DENY facebook fb.ui 共享方法
拒绝在框架中显示,因为它将“X-Frame-Options”设置为“SAMEORIGIN”
Django 拒绝在 iframe 中显示 YouTube 视频,因为它将“X-Frame-Options”设置为“SAMEORIGIN”