下面是一个说明,我所面临的问题小提琴(jsfiddle.net/salman/RQBra/show/)。这些iframe在所有浏览器(包括适用于Windows的Safari 5)中按预期显示。但当我在两台iOS设备(iPad和iPhone)上浏览页面时,iframe的内容溢出并覆盖了iframe右侧的整个区域。下面是一个使用类似iframe网页截图:IFRAME内容的iframe外显示在iOS
我怎样才能解决这个问题?
下面是一个说明,我所面临的问题小提琴(jsfiddle.net/salman/RQBra/show/)。这些iframe在所有浏览器(包括适用于Windows的Safari 5)中按预期显示。但当我在两台iOS设备(iPad和iPhone)上浏览页面时,iframe的内容溢出并覆盖了iframe右侧的整个区域。下面是一个使用类似iframe网页截图:IFRAME内容的iframe外显示在iOS
我怎样才能解决这个问题?
嗯,尝试换不同iframe中的div,而不是由他们自己限制iframe的宽度和高度。
您可以在一个div修复它,但在iPhone上也不会没有一些JavaScript滚动。我做了一个小提琴,演示了如何修复iframe的大小。
基本上,你包在一个包装你的iframe,并给它一些CSS:
#wrapper {
position:relative;
z-index:1;
width:400px;
height:400px;
overflow:scroll;
}
我里面的iFrame猜测有一个HTML文件,所以在HTML将内容封装在包装div中
#wrapper {
position: relative;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
它的尺寸是wil l条相对于HTML的身体,比viewportSizes可能会如你所愿 第二行是处理闪烁iframe广告点击,发生在IOS' ......
一种特定情况下的解决方法是通过更换 <embed>
元素。
<embed src="..." type="text/html" width="400" height="400"></embed>
它将具有在Safari移动所需的效果和剪辑内容以指定width
和height
尺寸代替自动调整大小它。 Hoewever,嵌入不是专门为HTML内容设计和滚动,contentWindow
和不同的环境(它不一定呈现本身)的交易时,可能会导致不希望的效果,因此,在生产中使用它之前测试的情况。
W3C:
的元素表示为外部 (通常是非HTML)应用程序或交互内容的集成点。