【问题标题】:Cutting out some of the iframe's src content剪掉一些 iframe 的 src 内容
【发布时间】:2011-11-03 05:38:07
【问题描述】:

我想使用 iframe 在我的网站中显示页面内容,但我想“剪掉”页面的标题(顶部)部分,省略其导航栏,因此用户只能看到下面的内容它。

代码:

<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> 

我可以采取哪些方法来做到这一点?泰姆~

【问题讨论】:

标签: html css iframe


【解决方案1】:

我想出了如何使用 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>

【讨论】:

  • 这似乎适用于页面的顶部和底部,但是当我调整浏览器窗口的大小时它不会宽度方向...(仅供参考,我正在 IE8 中进行测试,所以我可以看到什么世界上 70% 以上的人会看到)
  • 当然,我没有尝试调整窗口大小,我现在正在 FF 中进行调整。它在 IE 中无法正确显示,所以我需要进行一些调整。不过在正确的轨道上:) 感谢您的意见
  • clip 能给你带来什么,而负顶没有?
【解决方案2】:

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

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

【讨论】:

  • 我正在尝试首先建议 atm。我希望有一个更简单的解决方案。像使用 div 和样式或其他东西来剪辑 iframe 本身
  • @Shredder 我想不出任何实用的方法来做到这一点,没有滚动条来保证页面在框架内的正确位置,你看不到导航但你可以看到你想要的内容。我刚刚尝试了第一个想法,但它不起作用,因为当 iframe 中的页面未从您的域加载时,浏览器会禁用对contentWindow.document 的访问。没有我能想到/找到的解决方法。唯一的选择是我认为的代理脚本......
  • 我想通了<_>
猜你喜欢
  • 2014-07-17
  • 2011-06-16
  • 2012-02-28
  • 2013-02-10
  • 2013-08-05
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 2012-03-06
相关资源
最近更新 更多