iframe不显示某些页面

时间:2012-01-14 14:18:18

标签: php html iframe

在iframe中显示某些网站时出现问题。 Live example of code

这个有效。

  <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 个答案:

答案 0 :(得分:1)

您不能使用iframe谷歌或其他网站,因为他们的X-Frame-Options通过标头发送。您的浏览器会尊重此并拒绝显示您尝试链接的页面。

答案 1 :(得分:1)

谷歌和其他许多人禁止通过Javascript(使用top.location检测当前框架)和Grzegorz Grzybek提出的X-Frame-Option标题(禁止为兼容浏览器构建框架)来检索内容。

如果你想要捕获内容,你必须编写一个解决方法页面,该页面执行file_get_content()或cURL调用以获取页面代码并稍微修改代码(使URL绝对,删除不需要的脚本)然后将代码回显到本地页面。