拒绝在框架中显示,因为它将“X-Frame-Options”设置为 DENY facebook fb.ui 共享方法

Posted

技术标签:

【中文标题】拒绝在框架中显示,因为它将“X-Frame-Options”设置为 DENY facebook fb.ui 共享方法【英文标题】:Refused to display in a frame because it set 'X-Frame-Options' to DENY facebook fb.ui share method 【发布时间】:2014-06-26 15:52:07 【问题描述】:

在控制台中收到此消息:拒绝在框架中显示,因为它将“X-Frame-Options”设置为 DENY

当网站在移动版本中显示时会发生这种情况,如果用户代理是移动设备,它只是提供了一组不同的 html 和资产。

它确实在控制台错误消息中显示 m.facebook.com。

FB.ui(

    method: 'share',
    href: 'https://www.espn.com/mlb',
,
    function(response) 
        if (response && !response.error_code) 
          console.log('shared_post');
          //facebook_post_to_fanpage(access_token_data, link_id, song);
          return true;
         else 
          return false;
        
    
);      

我可以在网站的移动版本上使用 FB.api,以及登录和 getauth 没有任何问题,但是当我尝试使用 FB.ui 时,它让我很合适,分享和提要方法.

我想如果我使用的是 facebook javascript sdk,我会很清楚。

【问题讨论】:

您使用的是哪个版本的 Facebook API?在Facebook API changelog 中可以找到可用的版本号。您可以在调用 FB.init() 时指定版本号。 2.0.我认为问题是,当我应该使用检查其当前状态的功能时,我正在调用 FB.login,如果它们未连接,则触发登录功能。我想我正在调用登录并试图同时触发 fb.ui 提要/共享对话框。 Refused to display in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'的可能重复 【参考方案1】:

我从这篇文章中得到了解决方案:Loading Iframe Facebook (Load denied by X-Frame-Options)

当我使用 target="_top" 作为链接时,我遇到了同样的问题,它得到了修复,现在它可以正常工作了。

【讨论】:

【参考方案2】:

您必须在 FB 开发者仪表板中允许您的移动应用程序域。当用户未登录 FB 时,我遇到了 FB.ui - 'share' 的问题。

我发现这个视频很有帮助:https://www.youtube.com/watch?v=7CNpLgwa0-c

【讨论】:

【参考方案3】:

可能是 FB 中的一个或部分共享内容是视频。

您可以考虑将其隐藏或将视频网址更改为embed type

【讨论】:

【参考方案4】:

在 Mac 用户安装 Kaspersky Security Cloud 之前,我们的网站上就发生过这种情况。防病毒软件以某种方式干扰 Facebook iframe 加载并导致其无限期停止,抛出错误 Refused to display https://www.facebook.com... in a frame because it set X-Frame-Options to 'deny'

禁用卡巴斯基并刷新浏览器为遇到问题的用户解决了这个问题。

【讨论】:

【参考方案5】:

我不确定这是最近的实际情况,但在 Angular 8 中,我在发送对话框中遇到了同样的问题。

在我的情况下,解决方案是:添加display: 'popup' to FB.ui...

【讨论】:

以上是关于拒绝在框架中显示,因为它将“X-Frame-Options”设置为 DENY facebook fb.ui 共享方法的主要内容,如果未能解决你的问题,请参考以下文章

拒绝在框架中显示,因为它将“X-Frame-Options”设置为“SAMEORIGIN”

拒绝在框架中显示“https://www.google.co.in/”,因为它将“X-Frame-Options”设置为“sameorigin”

自定义搜索引擎拒绝在框架中的iframe中显示,因为它将“X-Frame-Options”设置为“sameorigin”

Django 拒绝在 iframe 中显示 YouTube 视频,因为它将“X-Frame-Options”设置为“SAMEORIGIN”

拒绝在框架中显示网站,因为它的“X-Frame-Options”

拒绝在框架中显示 LOCALHOST,因为“X-Frame-Options”设置为“sameorigin”