2010-07-06 23 views
13

Ich war bewusst, mehrere Scroll-Bibliotheken (TouchScroll, iScroll) für das iPhone/iOS aufgrund seiner Unfähigkeit (???), Überlauf zu unterstützen: Scroll. Allerdings war mir nicht bewusst (und ich bin auf der Suche nach Bestätigung), dass IFRAMEs auch nicht wirklich funktionieren. Offenbar respektiert der Iframe keinen Versuch, ihm eine feste Größe zu geben und passt sich immer nur an seinen Inhalt an. Habe ich Recht damit? Ist die einzige Möglichkeit, ein IFRAME durchzuscrollen, um es in ein Blockelement mit der Überlauf-CSS-Eigenschaft zu setzen und dann eine Lib wie die oben genannte zu verwenden?iframe Scrollen auf dem iPhone

+0

ich ohne Erfolg versucht haben, einen Scroll-iframe auf dem iPhone zu erreichen, und auch festgestellt, dass die iframe jeder ignoriert Versuch, seine Größe einzustellen e. Sie erwähnen das Platzieren des iframe in einem Blockelement in Kombination mit einer Scroll-Bibliothek - funktionierte das für Sie als Workaround? Ich hatte bisher keinen Erfolg mit irgendeinem Ansatz. – James

+0

James, ist es immer noch so, dass Sie "ohne Erfolg versucht haben, einen scrollenden Iframe auf dem iPhone zu erreichen"? Ich experimentiere und suche nach Lösungen, auch ohne Erfolg. (Anmerkung: ein iframe funktioniert, aber nicht einmal wenn ich ihn mit iscroll/touchscroll/etc kombiniere) –

Antwort

1

Sie können einen beliebigen Inhalt blättern, die zum Überlauf gesetzt ist: durch Auto mit zwei Fingern zu berühren und ziehen. Setzen Sie iFrame nicht in ein div mit Überlauf: auto und setzen Sie stattdessen den iframe auf overflow: auto selbst. Leider iframe Scrollen ist sehr abgehackt, unabhängig von Inhalt oder Gerät, so die beste Lösung ist, einen Weg zu finden, um Ihren Inhalt in eine lange Seite passen, mit "top" & "unten" Ansicht divs gesetzt, um das Ansichtsfenster zu folgen (Wenn dies der Effekt ist, den Sie anstreben.)

-4

Flippante Antwort: Verwenden Sie keine IFRAMES mehr.

+5

-1 html-editoren (wie tinymce, ckeditor, usw.) brauche iframes – Thariama

0

Der folgende Code funktioniert für mich (danke an Christopher Zimmermann für seinen Blogpost http://dev.magnolia-cms.com/blog/2012/05/strategies-for-the-iframe-on-the-ipad-problem/). Die Probleme sind: 1. Es gibt keine Scrollbalken sind weiß der Benutzer zu lassen, dass sie blättern 2. Benutzer Zwei-Finger-Scrollen 3. Die PDF-Dateien verwenden haben, werden nicht (immer noch daran zu arbeiten) zentriert

<!DOCTYPE HTML> 
    <html> 
    <head> 
     <title>Testing iFrames on iPad</title> 
     <style> 
     div { 
     border: solid 1px green; 
     height:100px; 
     } 

    .scroller{ 
     border:solid 1px #66AA66; 
     height: 400px; 
     width: 400px; 
     overflow: auto; 
     text-align:center; 

    } 
    </style> 

</head> 

<body> 

    <table> 
     <tr> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     </tr> 
     <tr> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     <td><div class="scroller"> 
     <iframe width="400" height="400" src="http://www.supremecourt.gov/opinions/11pdf/11-393c3a2.pdf" ></iframe> 
    </div> 
     </td> 
     </tr> 
    </table> 
    <div> Here are some additional contents.</div> 
</body> 
</html> 
7

einfaches Hinzufügen ...

overflow-y:auto; 
-webkit-overflow-scrolling:touch; 

auf ein div um meine iframe arbeitete für mich

+0

funktioniert für mich, danke – user1532587