有没有办法让iframe在Mobile Safari中正常运行?

时间:2019-01-11 16:41:31

标签: html css cordova mobile-safari

我有一个要求,客户希望将现有的Web应用程序放置在cordova应用程序内的iframe中,他们会向我寻求帮助。现有的Web应用程序使用绑定到视口的css(位置:固定,高度:100vh,无限滚动等)

在台式机/ android系统中,此行为的行为符合预期-该页面为iframe分配了一个矩形区域,然后该iframe用作占据该区域的页面内的页面。不幸的是,它在移动safari中的工作方式完全是疯狂的-safari忽略了框架的width和height指令,并在包含页面中扩展了其内容-它的行为更像是带有overflow:visible的div。 (注意:在响应式设计模式下为桌面运行safari时,代码会正常运行-即:自20年前问世以来,我们一直期望iframe能够正常运行)

我已经阅读了多个答案,建议我将框架包装在div内,并调整其大小并正确滚动(例如:how to properly display an iFrame in mobile safari),但这对我不起作用,因为iframe包含一堆绑定的元素到视口,因此UI完全被破坏了。

我的问题是:

为什么他们会改变如此完善的行为?

是否有一种方法可以强制iframe以我不知道的传统方式在移动Safari中显示? (我只能认为,任何有理智的工程师更改已存在20年的东西的默认行为,都必须提供一个后备功能-也许是iframe'noExpand'的属性还是类似的东西?)

0 个答案:

没有答案