iOS Safariでiframe内の要素のスクロール量が取得できない

iOS Safariのiframe内要素のスクロール量が取得できない問題

iframe内に別ページを表示させてフレーム付きページのようなものを作ろうとしています。
iframe内に表示させるページをそのまま表示するとうまく動作するjQueryが、iframe内に表示させると、scroll関連イベントが発火しない問題に悩まされています。
ChromeやIE、デスクトップ版のSafariでは想定通りに動作するのですが、iPhone Safariのみうまく動かないのです。

調べてみるとiframe内の要素はscrollTopが常に0でイベントも発生しないことから、iPhoneにとってはスクロールもしていないみたいです。
どうやら、iOS Safariでは親ページ基準でスクロール判定されている模様。
iframe自体はCSSでウィンドウサイズぴったりに合わせているので、中身だけがスクロールしていて、iframeそのものはスクロールしていないということなのでしょう。

解決策としてはiframeの外から要素指定してやることらしいですが、まだうまくいっていません…。
もう少しいろいろ試してみます。

コメント

タイトルとURLをコピーしました