2012-05-10 140 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)應用程序或交互內容的集成點。