【问题标题】:How to display part of a webpage using iframes?如何使用 iframe 显示网页的一部分?
【发布时间】:2011-04-10 06:53:25
【问题描述】:

如何制作只显示部分 iframe 网页的 iframe?

让我们以 youtube 为例。 iframe 如何只显示 youtube 视频播放器?

谢谢,

奥德

【问题讨论】:

  • 你真的不能那样做,你能不能运行一些服务器端代码把你想要的部分从页面中拉出来,然后推送到 iframe 中?
  • (如果是 YouTube,你会使用他们的嵌入代码。)

标签: html iframe


【解决方案1】:

这是不可能的:iframe 将始终显示完整的文档。同源政策将阻止您参与其中。

唯一的解决方法是从您的服务器获取 Youtube 的 HTML 数据(使用服务器端语言),然后翻译页面中包含的所有相关引用,并将其作为服务器上的页面输出。然后,您可以从中隔离特定元素,因为您处于自己域的上下文中。这称为设置服务器端代理。

然而,这是一个高度不完美和艰难的过程,并且几乎(有时完全)在不破坏东西的情况下不可能做到正确,尤其是使用 JavaScript 和视频。另外,这很可能是非法的,至少在 YouTube 的情况下是这样。

【讨论】:

    【解决方案2】:

    如果您专门寻找 YouTube,您可以为您所关注的视频动态获取嵌入代码并以这种方式显示。如果您正在寻找一个通用的解决方案,那么您需要与目标站点的 HTML 进行长时间的会话。例如,如果您发现您的内容都在 <div id='content-you-want'> 中,那么您可以执行以下操作:

    $.get('proxy.php?url=' + urlEncode("http://my-target-url.com"), function(result_data) {
      $("#target-element").html($(result_data).find("#content-you-want").html());
    }
    

    如果您使用的是 jQuery。但是,如果您想要的东西不能方便地全部包含在divid 中,那么仍有大量工作要做。而且你需要 proxy.php 来击败同源策略。

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2023-03-16
      • 2017-12-08
      • 2019-10-04
      • 2017-04-10
      • 1970-01-01
      相关资源
      最近更新 更多