Iframe не отображает некоторые страницы - PullRequest
0 голосов
/ 14 января 2012

Проблемы с отображением некоторых веб-сайтов внутри фреймов. Живой пример кода

Этот работает.

  <article class='nobackground'>
    <iframe src='http://en.wikipedia.org/wiki/<?php echo $myid ?>'></iframe>
  </article>

Этот не отображается.(ни youtube, ни google, ни facebook, хотя статический html выглядит нормально)

   <article class='nobackground'>
    <iframe src='http://www.google.ie/search?tbm=isch&hl=en&source=hp&biw=1280&bih=679&q=<?php echo $myid ?>'></iframe>
  </article>

Используемый CSS:

 iframe {
      width: 100%;
      height: 620px;
      background: white;
      border: 1px solid rgb(192, 192, 192);
      margin: -1px; 
 }

 article.fill iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      border: 0;
      margin: 0;
      border-radius: 10px;
      -o-border-radius: 10px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      z-index: -1;
 }

Ответы [ 2 ]

1 голос
/ 14 января 2012

Google и многие другие запрещают iframing контента через Javascript (используя top.location для определения текущего кадрирования) и заголовок X-Frame-Option, упомянутый Grzegorz Grzybek (который запрещает кадрирование для совместимых браузеров).

Если вы хотите захватить контент, вам нужно написать обходную страницу, которая выполняет вызов file_get_content () или cURL, чтобы извлечь код страницы и слегка изменить код (сделать URL-адреса абсолютными, удалитьнежелательные сценарии), а затем введите код на локальную страницу.

1 голос
/ 14 января 2012

Вы не можете встроить Google или другие сайты из-за их X-Frame-Options, отправленных с заголовком.Ваш браузер учитывает это и отказывается показывать страницу, на которую вы пытаетесь перейти.

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