Отображение Facebook в iframe на моем веб-сайте

Я хочу отображать веб-страницу Facebook на моем сайте?

<html>
<body>
    <iframe src="http://www.facebook.com/" name="iframe_a"></iframe>
</body>
</html>

Это просто показывает мне изображение Facebook, но не фактический контент. Как я могу это сделать ?

Я пробовал и использовал Php, а затем повторил контент на экране, который каким-то образом работал, но в этом случае я не могу понять, как мне войти в facebook. Когда я вхожу в систему, он перенаправляется на главный сайт.


person Yahoo    schedule 23.02.2011    source источник


Ответы (7)


Это код facebook, встроенный в его страницы.

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

Этот код проверяет, встроен ли он в iframe, его блоки, загружающие другие данные, скорее загружают ссылку, на которую вы можете щелкнуть с изображением.

<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>
person Zimbabao    schedule 23.02.2011
comment
Я пробовал и использовал Php, а затем повторил контент на теге DIV, который кое-как работал, но в этом случае я не могу понять, как мне войти в facebook. Когда я вхожу в систему, он перенаправляется на главный сайт - person Yahoo; 23.02.2011
comment
Вы не можете отключить то, что html / js / css facebook генерирует на своих серверах. - person Zimbabao; 23.02.2011

Теоретически это можно сделать в следующие шаги:

  1. Загрузите HTML-код Facebook.com с помощью AJAX.
  2. Удалите нежелательный JavaScript, на который указал Зимбабао, или добавьте новый JavaScript, который отменяет нежелательную функцию.
  3. а затем выполните document.write, чтобы освободить измененный HTML-код, который браузер сможет проанализировать и отобразить.

Это тот же принцип, по которому переопределение функций Javascript работает с GreaseMonkey [1]. В [2, 3] вы узнаете, как функции могут быть переопределены с помощью Javascript.

person gsbabil    schedule 23.02.2011
comment
Звучит здорово! просто попробую :) - person Yahoo; 24.02.2011

Я думаю, что Facebook блокирует его использование в теге iframe.

person Nans    schedule 23.02.2011
comment
Да, вот что я думаю, вот почему я попытался использовать Php для вывода эха на экран - person Yahoo; 23.02.2011

Используйте Facebook API, чтобы получать сообщения на стене, а затем отображать их там, где вам нравится. http://developers.facebook.com/

person Ivan    schedule 23.02.2011
comment
Спасибо! но я действительно хотел поделиться своей Стеной с Другими. Я попробовал Php Curl и повторил его. Это сработало, но когда я вхожу в систему, он перенаправляется на главный сайт. - person Yahoo; 23.02.2011
comment
С помощью API вы можете получить все свои сообщения на стене, чтобы потом вы могли делать с ними все, что захотите. Взгляните на Graph API на developers.facebook.com/docs/reference/api вы увидите, что с помощью php легко получить все сообщения на стене, а затем отобразить их на своем веб-сайте. - person Ivan; 23.02.2011

действительно нет смысла отображать facebook в iframe на вашем веб-сайте.

если вы хотите отображать содержимое Facebook на своей странице, используйте значки Facebook

person felixsigl    schedule 23.02.2011
comment
Я хочу показать свою стену на другом сайте. Этот значок просто показывает маленький значок профиля - person Yahoo; 23.02.2011
comment
так не пойдет. facebook не позволяет показывать вашу стену на другом сайте - неспроста. - person felixsigl; 23.02.2011

Поместите свой контент в фейсбук в рамку следующим образом:

<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>
person Andy    schedule 29.01.2013
comment
Объяснение было бы полезно. - person kev; 20.10.2016

Это старый вопрос. Теперь у всех постов в FB есть встраивание с iframe или прямая ссылка

person Vitalicus    schedule 03.05.2019