Refused to display in a frame because it set '

2019-01-24 00:31发布

问题:

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.

回答1:

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.



回答2:

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



回答3:

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.