2012-01-18 7 views
15

私は他の起源(異なるドメイン)のページを表示する必要があるiPad html5ウェブページを開発しています。iOs5のスクロールでIframeコンテンツがレンダリングされないiPad/iPhone

これらのページをiframeにロードし、iframeをスクロールするには、iOS5の新しいスクロール機能を使用してください(下のコードを参照)。

<div id="myDiv" style="height: 1185px; width: 100%; overflow:scroll; -webkit-overflow-scrolling: touch;"> 
    <iframe id="myIframe" src="http://http://css-tricks.com/forums/discussion/11946/scrolling-iframe-on-ipad/p1"></iframe> 
</div> 

問題は、(フレームが空白である)、それにスクロールするときにオフスクリーンのiframeのコンテンツが可視になっていないことです。

この問題を解決し、スクロール可能なiframeソリューションを提供するにはどうすればよいですか?

+0

解決済み、後で返信します。 – roee

+1

これまでの回答は? – BreakPhreak

答えて

11

OK。解決策が見つかりました。 明らかに、メイン文書の高さがスクロールされたiframeよりも短い場合、問題が発生します。 ドキュメントの高さを超えるiframeページの部分はレンダリングされません。

だから、私のニーズの下で、私は(jQueryを使って)、そのようなJSを追加することによってこの問題を解決することができ、コード:

<script> 
$(function() { 
    var iframe = $("#myIframe");  
    iframe.load(function() { 
     $("body").height(iframe.height()); 
    }); 
}); 
</script> 
+0

ExtJSまたはネイティブJSでこれを行う方法を知っている人はいますが、そこでjQueryを使用することはできません。 – YvesR

3

あなたはiFrameの本体へのアクセス権を持っている場合は、その内容に一部transform3dを適用します。 私の場合、メインラッピングdivに-webkit-transform: translate3d(0, 0, 0);を追加すると、ジョブが実行されました。

+0

これは私のために働いた。私の場合は、CSSで 'height:100%'を設定したフレームにこのスタイルを設定する必要がありました。 –

関連する問題