2012-10-01 17 views
12

頁不是我有允許在iFrame內變焦,但在iOS的

<meta name="viewport" id="extViewportMeta" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> 

上有一個簡單的頁面,一切大小很好地顯示在iPhone上。

但是,當我在該頁面上放置iframe時,iFrame內的所有內容都不可縮放,並且縮放到父頁面的大小。

如何才能允許在iframe中縮放,而不會弄亂頁面的其餘部分?

回答

11

不幸的是,你所要求的是不可能的。

首先,在您的「視口」元標記中,您的「內容」屬性指定您的網站用戶無法縮放。這就是'user-scalable = no'的規定。

此外,您最大規模和最小比例設置爲1,所以即使你刪除了「用戶可升級=否」時,變焦會的事實,你沒有脫屑範圍禁用用戶可以放大。

因此,要啓用用戶縮放功能,您必須刪除user-scalable = no並設置不同的最小和最大比例值。

請參閱此鏈接,以便更好地瞭解其設置的「視」 meta標籤:

https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

其次,由於你的「視」元標記設置你的「父」頁面上,這些設置應用到該頁面內的任何內容,即iframe。 iframe是否具有指定不同設置的不同meta'viewport'標記並不重要,因爲它位於父級的設置中並且遵守其設置。

+2

這是可以通過jQuery。綁定縮放和平移事件,以便在縮放和平移外部的縮放和平移之外不執行任何操作。然後對於想要允許縮放和平移的div,可以使用像[Panzoom](http://timmywil.github.io/jquery.panzoom/demo/)這樣使用「CSS3變換和矩陣函數」的插件,以允許縮放和平移。 – geoyws

+0

我們可以禁用父設置應用於特定的子元素嗎? –

0

這是不可能的,因爲iOS不允許縮放 - 您只需滾動瀏覽iFrame即可。 這是您擁有的外部網站嗎?如果是這樣,請更改CSS代碼並將其添加到視口中,就像在頂部的問題中一樣。
或者,您可以使用PHP加載數據。您一定會爲您的問題找到解決方案 - 如果沒有,請隨時提出後續問題。

+0

但是,這是事情 - 它*允許縮放。這是捏和縮放的關鍵。 – Alfo

+0

我不能說爲什麼他們不允許。如果你是一個用戶,我認爲這很奇怪,很難。如果你在一個網站上並且這個網站允許縮放(你不允許縮放,但是iOS沒有區別)並且iframe填滿了整個屏幕,你不能出去(如果你知道我的意思)。它是一個網站的網站。希望我已經理解你的評論(如果不再評論)) – Kitzng

+0

我還是很困惑。 iOS Safari允許縮放。在iPhone上訪問像http://newspaperclub.com這樣的網站,您可以愉快地進行縮放。 – Alfo

4

這是可以通過jQuery。綁定縮放和平移事件,以便在縮放和平移外部的縮放和平移之外不執行任何操作。然後,對於想要允許縮放和平移的div,可以使用插件,如Panzoom,它們使用「CSS3變換和矩陣函數」來允許縮放和平移。

+1

Panzoom非常輕鬆地與Cordova應用程序協同工作。 – raider33

+0

這真棒!謝謝! – kaiserkiwi