2011-08-24 85 views
6

我想使用iframe在我的网站上显示一个页面的内容,但我想“剪掉”页面的页眉(顶部)部分,而忽略它的导航栏,所以用户只能看到它下面的内容。删除一些iframe的src内容

代码:

<div id="content"> 
    <div style="height:800px;"> 
     <iframe id="optomaFeed" src="http://www.optomausa.com/company/press-releases/" scrolling="auto" 
      frameborder="0" height="100%" width="100%"></iframe> 
    </div> 
</div> 

有什么办法,我可以去这样做? Tyvm〜

+0

http://stackoverflow.com/questions/5676672/how-do-i-crop-the-contents-of-an- iframe-to-show-a-part-of-a-page 是你希望得到的答案 – pashute

回答

13

我想出如何使用CSS属性clip做到这一点:

<div id="content"> 
    <div style="height:800px;"> 
     <iframe id="optomaFeed" src="http://www.optomausa.com/company/press-releases/" scrolling="no" 
      frameborder="0" height="100%" width="100%" style="position:absolute; clip:rect(190px,1100px,800px,250px); 
      top:-160px; left:-160px;"></iframe> 
    </div> 
</div> 
+1

这似乎很适合页面的顶部和底部,但它没有宽度的方式,当我调整浏览器窗口...(FYI我在IE8测试,所以我可以看到什么70%+世界将会看到) – DaveRandom

+0

当然,我还没有尝试调整窗口的大小,现在我在FF中执行它。它在IE中没有正确显示,所以我做了一些调整。在正确的轨道虽然:)感谢您的输入 –

+0

什么剪辑让你,负面的顶部不? – httpete

0

如果导航栏容器有一个id,您可以通过javascript获取对它的引用,然后在其上调用parentNode.removeChild()。这意味着每次在iframe中更改页面时,导航栏可能会闪烁一秒。

或者,您可以通过加载它的服务器端脚本传递iframe的加载,去除导航栏的HTML,然后输出结果。这可能会减慢用户与页面的交互,因为这意味着所有需要加载两次的有效内容。如果你打算采取这种方法,你可能需要添加一个<base>标签,以免破坏CSS/JS。

+0

我试着第一个建议atm。我希望有一个更简单的解决方案。像使用div和样式或东西来剪裁iframe本身 –

+0

@Shredder我想不出任何实际的方法来做到这一点,没有滚动条,保证页面在框架内的正确位置,你看不到导航,但你可以看到你想要的内容。我刚刚尝试了第一个想法,但它不起作用,因为当iframe中的页面未从您的域加载时,浏览器禁止访问“contentWindow.document”。周围没有我能想到/发现的工作。唯一的选择是我认为的代理脚本... – DaveRandom

+1

我想明白了<_ <;检查我的答案 –