Displaying Facebook in an Iframe on my website

╄→尐↘猪︶ㄣ 提交于 2019-11-29 08:50:53

This is the code facebook embedded in its pages.

if (top != self) { try { if (parent != top) { throw 1; }

This code checks if its embedded in iframe its blocks loading other data rather loads the the link to which you can click with an image.

<script type="text/javascript">
        /* <![CDATA[ */if (top != self) { 
           try { if (parent != top) { throw 1; } 
           var disallowed = ["apps.facebook.com","\/pages\/","apps.beta.facebook.com"];
            href = top.location.href.toLowerCase(); 
              for (var i = 0; i < disallowed.length; i++) {
                  if (href.indexOf(disallowed[i]) >= 0) { throw 1; } 
              } 
          } catch (e) {
             setTimeout(
                   function() {var fb_cj_img = new Image(); 
                      fb_cj_img.src = "http:\/\/error.facebook.com\/common\/scribe_endpoint.php?c=si_clickjacking&m=on\u002509&t=8183";}, 5000); 
        window.document.write("\u003cstyle>body * { display:none !important; }\u003c\/style>\u003ca href=\"#\" onclick=\"top.location.href=window.location.href\" style=\"display: block !important; padding: 10px\">\u003ci class=\"img sp_8dfqpl sx_d67a9a\" style=\"display:block !important\">\u003c\/i>Go to Facebook.com\u003c\/a>");

  /* XRCm4Hhw */ }}/* ]]> *

  </script>
gsbabil

Theoretically it should be possible to do it in the following steps:

  1. Fetch the Facebook.com's html with AJAX.
  2. Remove the undesired javascript what Zimbabao pointed or add new javascript that overrides undesired function.
  3. and then do a document.write to release the modified HTML for the browser to parse and render.

This is the same principle how Javascript-function-overriding works with GreaseMonkey [1]. In [2, 3], you will find how functions can be overridden with Javascript.

I think that Facebook is blocking its usage within an iframe tag.

Use Facebook API to get your wall posts, and then display them where you like. http://developers.facebook.com/

it makes really no sense to display facebook in an iframe on your website.

if you want to display facebook content on your page use Facebook Badges

Andy

Iframe your facebook content like this:

<iframe src="http://www.facebook.com/plugins/likebox.phpid=YOURUNIQUEID&amp;width=158&amp;connections=5&amp;stream=true&amp;header=false&amp;height=555" 
        scrolling="no" 
        frameborder="0" 
        style="border:none; overflow:hidden; width:158px; height:555px;" 
        allowTransparency="true">
</iframe>

<div class="fb-like" 
     align="center" 
     data-href="https://www.facebook.com/YOURFBADDRESS" 
     data-send="true" 
     data-width="500" 
     data-show-faces="false" 
     data-font="verdana">
</div>

This question is old. Now all the posts on FB have a embed with iframe, or direct link

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!