如何防止Safari滚动溢出:隐藏的iframe?

时间:2010-03-18 03:23:53

标签: html css iframe safari scroll

使用Safari,您可以通过设置style =“overflow:hidden;”来禁用大多数iframe滚动。在iframe上。但是,如果您单击iframe并移动鼠标,则无论如何都会滚动内容。

示例:

<html>
  <body>
    <iframe style="width: 100%; height:100px; overflow: hidden;" scrolling="no" src="scrollcontent.html">
    </iframe>
  </body>
</html>

scrollcontent.html:

<html scroll="no" style="overflow:hidden;">
  <body scroll="no" style="overflow:hidden;">
    <div style="background-color: green; height:100px;">A</div>
    <div style="background-color: red; height:100px;">B</div>
  </body>
</html>

在此示例中,iframe应仅显示绿色区域,并且无法显示红色区域。这基本上是正确的:没有滚动条,鼠标滚轮什么都不做,箭头键也没有。

但是,单击并拖动仍会滚动视图。选择文本时尤其明显。

有没有人知道阻止Safari这样做的任何技巧?

2 个答案:

答案 0 :(得分:2)

您可以添加执行window.onscroll的{​​{1}}方法。它不漂亮,但它应该工作。

答案 1 :(得分:2)

在最坏的情况下,我会尝试使用jquery load()加载内容 然后用<div style"overflow:hidden">your content...</div>

包装所有内容