25

Receiving this message in the console: Refused to display in a frame because it set 'X-Frame-Options' to DENY

This happens when the site is being shown in the mobile version, its just a different set of html and assets served up if the user agent is a mobile device.

It does display m.facebook.com in the console error message.

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;
        }
    }
);      

I am able to use the FB.api on the mobile version of the site, as well as login and getauth without any problem, but it gives me fits when I try to use FB.ui, both the share and feed methods.

I figured I'd be in the clear if I was using the facebook javascript sdk.

Brad
  • 11,181
  • 42
  • 112
  • 178
  • Which version of the Facebook API are you using? Available version numbers are found in the [Facebook API changelog](https://developers.facebook.com/docs/apps/changelog/). You can specify a version number in your call to [`FB.init()`](https://developers.facebook.com/docs/javascript/reference/FB.init/v2.0). – Tyler Eich May 15 '14 at 11:06
  • 2.0. I think the problem was, I was calling FB.login when I should of used the function that checks their current status, if they're not connected, then fire the login function. I think I was calling login and trying to fire the fb.ui feed/share dialog at the sametime. – Brad May 15 '14 at 15:14
  • possible duplicate of [Refused to display in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'](http://stackoverflow.com/questions/20498831/refused-to-display-in-a-frame-because-it-set-x-frame-options-to-sameorigin) – Dan Dascalescu Feb 20 '15 at 20:47

5 Answers5

32

I got my solution from this post: Loading Iframe Facebook (Load denied by X-Frame-Options)

I got the same issue, and it got fixed, when i used target="_top" for the link , and it is now working perfectly.

Community
  • 1
  • 1
RuHa
  • 473
  • 6
  • 10
5

You must allow your mobile app domain in the FB developers dash. I had this issue with FB.ui - 'share' when the user wasn't logged into FB.

I found this video quite helpful : https://www.youtube.com/watch?v=7CNpLgwa0-c

Vojtiik
  • 2,538
  • 1
  • 14
  • 21
1

This has happened on our sites before when a Mac user has Kaspersky Security Cloud installed. The anti-virus is somehow interfering with the Facebook iframe load and causes it to stall indefinitely, throwing the error Refused to display https://www.facebook.com... in a frame because it set X-Frame-Options to 'deny'

Disabling Kaspersky and refreshing browser solved it for the user having the issue.

Mike Griffith
  • 1,192
  • 10
  • 17
1

I am not sure it is recent actual but in angular 8 I have faced the same problem with Send dialog.

In my case the solution was: added display: 'popup' to FB.ui{...}.

isherwood
  • 46,000
  • 15
  • 100
  • 132
0

It could be that one or some of the shared content in FB is video.

You may consider either hide it or change the URL of video with embed type.

Chetabahana
  • 7,806
  • 2
  • 50
  • 70