iOS – iFrame中的原生滚动

所以我有一个iFrame显示Facebook页面,我试图启用本机“反弹”types的滚动,但无法获得任何工作。

我试过这个:

iframe { overflow-y: scroll !important; -webkit-overflow-scrolling: touch !important; } 

但迄今为止没有运气 – 在模拟器和真正的iOS设备上testing。

有任何想法吗?

这将是我的方法…

第1步。增加iframe的大小,直到滚动条消失,像这样: http : //davidjbradshaw.github.io/iframe-resizer/

第2步。使用David Walsh的技巧,使用滚动iframe的父div: https : //davidwalsh.name/scroll-iframes-ios

但我认为它会失败,因为缺乏跨域iFrames的身份validation。

更新:如果您将放大基于父div的滚动位置的iframe? 所以父div滚动100px,并使iframe 100px更大…(事实上,iframe有无限的高度,并假设其滚动条被隐藏)

当我们的团队在iOS上构buildepub3阅读器应用程序时,我遇到了同样的问题。

遵循EpubJS v0.3的例子 ,我们可以处理这个问题。

这里是一个例子:

 <div style="width:320px;height:570px;-webkit-overflow-scrolling:touch;overflow-y:scroll;"> <iframe scrolling="no" src="..." style="width:320px;height:8071px;"></iframe> </div> 

注意:您必须计算iFrame高度并设置CSS样式(例如: 8071px )。 使用JavaScript,你可以使用iframe.contentDocument.body.scrollHeight

你可能会问我why we have to set height style 。 接下来的一些build议并没有帮助我们处理dynamic内容的问题(你可以在这里看到问题)。 通过设置高度,我们可以dynamic添加或删除用户的高亮文本。

希望有所帮助,