2012-05-10 143 views
0

下面是一个说明,我所面临的问题小提琴(jsfiddle.net/salman/RQBra/show/)。这些iframe在所有浏览器(包括适用于Windows的Safari 5)中按预期显示。但当我在两台iOS设备(iPad和iPhone)上浏览页面时,iframe的内容溢出并覆盖了iframe右侧的整个区域。下面是一个使用类似iframe网页截图:IFRAME内容的iframe外显示在iOS

iframe overflowing on x-direction on iOS

我怎样才能解决这个问题?

回答

0

嗯,尝试换不同iframe中的div,而不是由他们自己限制iframe的宽度和高度。

1

您可以在一个div修复它,但在iPhone上也不会没有一些JavaScript滚动。我做了一个小提琴,演示了如何修复iframe的大小。

http://jsfiddle.net/RQBra/29/

基本上,你包在一个包装你的iframe,并给它一些CSS:

#wrapper { 
position:relative; 
z-index:1; 
width:400px; 
height:400px; 
overflow:scroll; 
} 

0

我里面的iFrame猜测有一个HTML文件,所以在HTML将内容封装在包装div中

#wrapper { 
position: relative; 
-webkit-tap-highlight-color: rgba(0,0,0,0); 
} 

它的尺寸是wil l条相对于HTML的身体,比viewportSizes可能会如你所愿 第二行是处理闪烁iframe广告点击,发生在IOS' ......

1

一种特定情况下的解决方法是通过更换 <embed>元素。

<embed src="..." type="text/html" width="400" height="400"></embed> 

它将具有在Safari移动所需的效果和剪辑内容以指定widthheight尺寸代替自动调整大小它。 Hoewever,嵌入不是专门为HTML内容设计和滚动,contentWindow和不同的环境(它不一定呈现本身)的交易时,可能会导致不希望的效果,因此,在生产中使用它之前测试的情况。

W3C

的元素表示为外部 (通常是非HTML)应用程序或交互内容的集成点。