【问题标题】:Can't show some websites in iframe tag无法在 iframe 标记中显示某些网站
【发布时间】:2011-10-03 13:02:32
【问题描述】:

我正在尝试开发一个页面,我可以在其中一次显示 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,但在 iframe 中不显示 Facebook。

【问题讨论】:

  • FWIW,你应该关闭你的第一个 IFRAME 标签,而不是让它自动关闭。
  • EricLaw-MSFT-关闭 iframe 标签不起作用,它类似于 facebook 不希望将自己包含在任何其他网站的 iframe 标签中。

标签: html http iframe


【解决方案1】:

可以使用对象标签:
&lt;object data = "https://facebook.com"&gt;&lt;/object&gt;

【讨论】:

    【解决方案2】:

    facebook 不希望您在框架中加载他们的主站点

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

    width="200" height="300"可以相应调整。*

    这样做是在框架中加载移动版 facebook,而不是在主站点中。

    Reference

    【讨论】:

    • 感谢您的回复.. 但是有什么办法可以解决吗?我可以确定哪些网站会阻止这种行为
    【解决方案3】:

    您必须检查这些站点的 HTTP 响应标头 X-Frame-Option。如果其值为“DENY 或 SAMEORIGIN”,则无法在 iframe 中加载这些网站。

    DENY = 没有人可以在 iframe 中加载网站。即使是同一个域页面也无法加载。 SAMEORIGIN = 只有同域的页面才能在 iframe 中加载该网站。

    【讨论】:

    • 它是“X-Frame-Options”而不是“X-Frame-Option”。
    【解决方案4】:

    由于某些网站已决定禁用将它们嵌入 iframe,因此您无法使用纯 html 解决方案。您可以创建一个服务器端脚本(在 PHP 中),通过您的网络服务器拉取目标站点,然后使用 html 等。

    我能想到的唯一能让您检查网站是否已加载的方法是在 iframe 中搜索目标网站上存在的特定元素(例如 Facebook 上具有特定 id 或类的 div首页)。原因可能是不同的网站可以以不同的方式处理嵌入到 iframe 中,而有些网站可能会显示一些内容,有些可能什么也不显示等,唯一确定的方法是检查真实元素。

    【讨论】:

    • 赞发:感谢您的回复。我想没有特定的方法可以确定哪些网站允许自己嵌入 iframe 中,除非我手动检查一些真实元素,例如我希望输入来自用户,即网站名称,但这是不可能的。有解决办法吗??
    • @Nikhil Sharma 不幸的是,我无法想到这将是 100% 准确的(因为您真的不知道“整页”是什么样的,因为它可能是任何页面)。再说一次,在大多数用例中,在 iframe 正文元素上具有 onload 函数来检查是否有任何内容就足够了。总之,我认为这个解决方案适用于大多数情况,你不应该担心这会成为一个严重的问题。我建议将此作为初步解决方案实施,如果确实出现问题,请再次查看,也许会找到更好的解决方案。
    【解决方案5】:

    您将无法做到这一点,您只能像按钮一样使用 iframe...其他而不是整个网站。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 2015-07-21
    • 2020-09-12
    相关资源
    最近更新 更多