下面是一個說明,我所面臨的問題小提琴(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)應用程序或交互內容的集成點。