【问题标题】:Refused to display in a frame because it set 'X-Frame-Options' to DENY facebook fb.ui share method拒绝在框架中显示,因为它将“X-Frame-Options”设置为 DENY facebook fb.ui 共享方法
【发布时间】: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,我会很清楚。

【问题讨论】:

标签: javascript facebook facebook-graph-api cross-domain


【解决方案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{...}

          【讨论】:

            猜你喜欢
            • 2017-06-15
            • 1970-01-01
            • 1970-01-01
            • 2013-04-20
            • 2016-08-25
            • 2023-01-31
            • 2019-03-09
            • 2016-08-15
            • 2019-02-24
            相关资源
            最近更新 更多