在ios

时间:2016-01-26 14:39:31

标签: html ios css iframe resize

我找到了很多关于这个问题的线索,但没有一个像我一样有类似的问题,但无论如何我都试过这些解决方案而且都失败了。

我的情况:我正在尝试使用iframe将滚动网站合并到另一个网站。通过这个基本代码,除了iOS之外的所有设备上的正常设置都可以正常运行:

<iframe src="http://example.com/" frameborder="0"></iframe>
<style>
iframe{
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   border:none;
}
</style>

在iOS上,他们显然正在强迫自动调整大小。因此,iframe会自动调整页面长度。

由于这种行为,只需使用1个手指即可滚动浏览页面,但是当点击使用js进行动画滚动的锚链接时,会失败。

我终于发现这是由iOS的自动调整大小引起的。因为iframe中内容的高度正在匹配,所以iframe本身没有滚动条,但是父项具有滚动条。并且该网站的javascript将无法控制父窗口,而只是它自己的DOM(仅限于iframe,因为两个网站都位于不同的域中)。

我发现有关自动调整iframe大小的所有“解决方案”,其中使用div来约束iframe的可见高度,并添加滚动到该div或添加scrolling =“no”属性。第二个选项导致根本没有滚动条,禁用iframe内的正常滚动行为,但在正面,锚链接确实有效。

是否有任何解决方案允许两者兼而有之? 或者我只是坚持这一点,我们真的可以认为这是ios-safari中的一个错误吗?

0 个答案:

没有答案