如何制作仅显示iframe网页部分内容的iframe?
让我们以youtube为例。 iframe如何仅显示youtube视频播放器?
谢谢,
乌迪德
答案 0 :(得分:2)
这是不可能的:iframe
将始终显示完整文档。同源政策将阻止您参与其中。
唯一的解决方法是从服务器获取Youtube的HTML数据(使用服务器端语言),然后翻译页面中包含的所有相对引用,并将其输出为服务器上的页面。然后,您可以从中隔离特定元素,因为您位于您自己的域的上下文中。这称为设置服务器端代理。
然而,这是一个高度不完美和艰难的过程,几乎(有时完全)不可能在不破坏内容的情况下做到正确,尤其是使用JavaScript和视频。此外,它最有可能是非法的,至少在YouTube的情况下是这样。
答案 1 :(得分:1)
如果您正在寻找专门针对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。但是,如果你想要的东西不方便全部包含在div
id
中,那么还有很多工作要做。而且你需要proxy.php才能击败相同的原始政策。