2013-10-29 153 views
6

這裏是問題,我有和需要的iframe網頁。此iframe必須具有一定的大小和寬度/高度。這在iOS中不起作用,因爲可愛的iOS決定忽略幀的高度屬性並強制顯示所有內容(混蛋!)。iFrame和移動Safari(iPad/iPhone)

你怎麼去了解使它作爲一個正常的iframe?

回答

8

我找到了一種方法,如果你擁有這樣做還是有機會獲得修改這兩個框架頁。

如果你正在的iFrame在網頁的控制,我發現一個方式,效果很好就是圍繞整個內容(而不是IFRAME)直接與一個DIV中的iFrame網頁。所以就在標籤後面,你會放置你的標籤。

然後,測試Safari瀏覽器的移動,如果它的iframe。

browser_=/iPhone|iPad/i.test(navigator.userAgent); 
isInIframe = (window.location != window.parent.location) ? true : false; 

如果滿足這些條件,然後設置放置到框架式網頁什麼的iframe的高度應,並設置div來自動溢出div的高度。這會產生一個錯覺,即它是一個iframe。

現在,最後但並非最不重要的包裹iframe標籤在

<div style="-webkit-overflow-scrolling:touch; overflow: auto;"> 

如果你有使用的jQuery(窗口)或類似的東西,一定要切換它使用DIV,因爲代替窗口元素( iframe)自動擴展它不是很有用,因爲iframe已經擴展了。

1

努力奮鬥之後,終於讓我找到一種方法,使iframe的滾動在ios.Do,如下所示:

只需將一個iframe在DIV(DIV喜歡它作爲容器元素) 並應用樣式,跟隨和這完美的作品。

.iframe { 
    overflow: scroll !important; 
    width: 100%; 
    height: 100%; 
    border: none; 
} 

.div { 
    overflow: hidden; 
    width: 100%; 
    height: 100%; 
    border: none; 
    background-color: #FFF; 
} 

因爲我在GWT工作,對於GWT人來說,這裏是建議。 在GWT的情況下,只需在ScrollPanel(div)中放置一個iframe並應用上面的樣式。

0

首先我用下面的代碼會爲iframe,這項工作的所有網站和android一個MobileApp,iPad的除了iphone。而在iPhone按鈕點擊不工作答案受到干擾。

<iframe class ="holds-the-iframe" src="http://stackoverflow.com" style="width:100%; height:100%;" seamless="seamless" ></iframe>

然後我們使用高度在像素這是最大,我們從2000像素STRAT它和縮小的靜止它的工作,並設置寬度= 100%。這是所有設備的工作。

<iframe src="http://stackoverflow.com" style="width:100%;height:1500px;"></iframe>