web-dev-qa-db-ja.com

'X-Frame-Options'をfacebook fb.ui共有メソッドの拒否に設定したため、フレームに表示することを拒否しました

コンソールでこのメッセージを受信: '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を使用していた場合、私は明確になるだろうと考えました。

24
Brad

私はこの投稿から解決策を得ました: Iframe Facebookの読み込み(X-Frame-Optionsによって拒否された読み込み)

リンクにtarget = "_ top"を使用すると、同じ問題が発生し、修正されました。現在は完全に機能しています。

31
RuHa

FB開発者ダッシュでモバイルアプリドメインを許可する必要があります。 FB.uiでこの問題が発生しました-ユーザーがFBにログインしていないときに「共有」しました。

このビデオは非常に有用であることがわかりました: https://www.youtube.com/watch?v=7CNpLgwa0-c

4
Vojtiik

これは、MacユーザーがKaspersky Security Cloudをインストールする前にサイトで発生しました。アンチウイルスはFacebookのiframeのロードを何らかの形で妨害し、無期限に停止させ、エラーRefused to display https://www.facebook.com... in a frame because it set X-Frame-Options to 'deny'をスローします

カスペルスキーを無効にしてブラウザを更新すると、問題のあるユーザーにとっては解決しました。

0
Mike Griffith

FBの共有コンテンツの1つまたはいくつかがビデオである可能性があります。

非表示にするか、ビデオのURLを embed type で変更することを検討できます。

0
Chetabahana