iframe在iphone上滚动

时间:2010-07-06 17:19:16

标签: iphone iframe scroll

我知道iPhone / iOS有多个滚动库(TouchScroll,iScroll),因为它无法支持溢出:???滚动。但是,我不知道(我正在寻找确认)IFRAME也没有真正起作用。似乎iframe不尊重任何尝试给它一个固定的大小,并且总是只调整自己的内容。我对此是否正确?是滚动IFRAME以将其置于具有溢出CSS属性设置的块元素内的唯一方法,然后使用如上所述的lib吗?

5 个答案:

答案 0 :(得分:8)

只需添加...

overflow-y:auto; 
-webkit-overflow-scrolling:touch;

围绕我的iframe工作的div

答案 1 :(得分:1)

您可以滚动任何设置为溢出的内容:自动 用两根手指触摸并拖动 。不要将iFrame放在带溢出的div中:auto,而是将iframe设置为overflow:auto本身。不幸的是,无论内容或设备如何,iframe滚动非常不稳定,所以最好的解决方案是找到一种方法使您的内容适合一个长页面,“top”& “bottom”视图div设置为跟随视口(如果这是你想要的效果。)

答案 2 :(得分:0)

你有没有给Joe Hewitt的Scrollability库?

您可以在此处详细了解:

Scrollability, New iOS Physics Project from Facebook for iPhone Creator, Joe Hewitt

希望这有帮助。

答案 3 :(得分:0)

下面的代码对我有用(感谢Christopher Zimmermann的博客文章http://dev.magnolia-cms.com/blog/2012/05/strategies-for-the-iframe-on-the-ipad-problem/)。问题是: 1.没有滚动条让用户知道他们可以滚动 2.用户必须使用双指滚动 3. PDF文件不居中(仍在使用)

    <!DOCTYPE HTML>
    <html>
    <head>
      <title>Testing iFrames on iPad</title>
      <style>
      div {
        border: solid 1px green;
        height:100px;
      }

    .scroller{
        border:solid 1px #66AA66;
        height: 400px;
        width: 400px;
        overflow: auto;
        text-align:center;

    }
    </style>

</head>

<body>

    <table>
      <tr>
        <td><div class="scroller">
        <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe>
    </div>
        </td>
        <td><div class="scroller">
        <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe>
    </div>
        </td>
      </tr>
      <tr>
      <td><div class="scroller">
        <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe>
    </div>
        </td>
        <td><div class="scroller">
        <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe>
    </div>
        </td>
      </tr>
    </table>
    <div> Here are some additional contents.</div>
</body>
</html>

答案 4 :(得分:-4)

轻率回答:不再使用IFRAMES了。