どのようにして、デスクトップクロムとios safari(iframeコンテンツを制御しないと仮定)の両方で適切に動作する、反応性の高いページを含むiframeを持つことができますか?簡単な例を考えてみましょう:ios SafariとデスクトップChromeの両方で垂直方向にスクロールして反応するIframe?
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
html, body, iframe {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<iframe src='https://en.wikivoyage.org/wiki/S%C3%A3o_Paulo/Northeast'></iframe>
</body>
</html>
これは非常に単純です:でフルおよびフルハイトのiframeがmiscの大規模な、応答性のページで指摘しました。私が見る行動:
- デスクトップクロム:良い。ウィキアクティビティページはデスクトップサイズでスクロール可能です。
- iphoneエミュレーションモードのデスクトップクロム:good。ウィキアクティビティページのサイズが変更され、スクロール可能です。
- 実際のIos Safari(物理電話機とxcode iphoneシミュレータの両方):bad。ウィキボヤージュページが応答し、それは当然のことながら、ページの横オフの方法を伸ばしIFRAME、内部のデスクトップスタイルのページを示していresize-ていません。今すぐ
、私はその最後の問題を修正することができますスタックオーバーフローの質問の数で提案されているようにはiframeにscrolling='no'
を追加することによって:
<iframe src='https://en.wikivoyage.org/wiki/S%C3%A3o_Paulo/Northeast' scrolling='no'></iframe>
これはiphone + iOSシミュレータ上で正しく動作:ウィキボヤージュページがスクロールし、それに応じてサイズを変更しています。しかし、それは予想外に、デスクトップクロムを破ります:ウィキアクティビティのページはそこでは垂直にスクロールできません。それは理にかなっています - 私たちはただスクロールしないように言いました。
私はちょうどthis oneのような関連する質問で何かを見逃している可能性がありますが、受け入れられた解決策はスクロールを壊すばかりのscrolling='no'
を使用するように示唆されています。 :(
TLDR:どのように私は縦にスクロール可能ですIFRAMEを取得し、両方のiOS SafariやデスクトップのChromeの応答でき