Не могу показать некоторые сайты в теге iframe - PullRequest
12 голосов
/ 12 июля 2011

Я пытаюсь создать страницу, на которой я могу показать более 3 сайтов одновременно, как показано ниже:

<ul>
   <li>
      <iframe src="http://www.facebook.com/" /><p> iframe is not supported</p>
   </li>
   <li>
      <iframe src="http://www.yahoo.com/"></iframe>
   </li>
   <li>
      <iframe src="http://www.google.co.in"></iframe>
   </li>
</ul>

Проблема в том, что он показывает yahoo.com и google.co.in, но не отображает Facebook в iframe.

Ответы [ 5 ]

22 голосов
/ 18 июля 2012

Вы должны проверить заголовок ответа HTTP X-Frame-Option этих сайтов. если его значение "DENY или SAMEORIGIN", вы не можете загрузить эти веб-сайты в iframes.

DENY = Никто не может загрузить сайт в iframe. Даже одна и та же страница домена не сможет быть загружена. SAMEORIGIN = только страница, которая находится в том же домене, может загрузить этот сайт в iframe.

5 голосов
/ 12 июля 2011

Поскольку некоторые веб-сайты решили отключить их встраивание в iframes, вы ничего не можете сделать с чистыми html-решениями.Вы можете создать серверный скрипт (на PHP), который будет перенаправлять целевой сайт через ваш веб-сервер, а затем использовать html и т. Д.

Единственный способ, который я могу придумать, - это проверить, загружен ли сайт,для поиска в iframe определенного элемента, который существует на целевом веб-сайте (например, div с определенным идентификатором или классом на главной странице Facebook).Причина может заключаться в том, что разные веб-сайты могут по-разному обрабатывать встраивание в iframes, а некоторые могут отображать некоторый контент, некоторые могут ничего не отображать и т. Д., И единственный способ убедиться в этом - проверить наличие реальных элементов.

3 голосов
/ 12 июля 2011

Facebook не хочет, чтобы вы загружали туда основной сайт в фреймах

<iframe src="http://m.facebook.com/" width="200" height="300" scrolling="auto" frameborder=0></iframe>

width = "200" height = "300" можно настроить соответствующим образом.

Для этого нужно загрузить мобильную версию Facebook в рамку вместо основного сайта.

Ссылка

0 голосов
/ 16 июня 2013

Использование http://devilishdb.koding.com/proxy?facebook.com это прокси-система, которую я сделал.Я проверил его на Google, и он работает.Надеюсь, это поможет

0 голосов
/ 12 июля 2011

Вы не сможете сделать это, вы можете только вставить кнопку «Мне нравится» ... другой сайт, а не весь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...