お客様が独自のHTML Webページをホストし、これらのページのコンテンツの一部を埋め込みiframe
要素として提供しています。 (つまり、コンテンツとコンテンツのドメインが異なることを意味します)。通常、iframe
要素を含むdiv
要素を提供します。 (我々は唯一の私たちのiframe
コンテンツの上に自分のWebページのコンテンツを制御すること、持っていないことに注意してください。)iframeの親コンテナの幅をモバイルブラウザのiframe内で確認する
をiframe
が外側div
の寸法である必要があり、それは埋めることができる最大サイズを決定するJavaScriptコードが含まれています。この最大幅は、iframe
コンテンツ内のスクロール要素を制御(表示/非表示)するために使用されます。
問題は、一部のモバイルブラウザに、iframe
の内容が適切に親<div>
のサイズ/境界に制限(クリッピング)されていないということです。換言すれば、iframe
の寸法は、その親のdiv
よりも大きい(より広い)。 (これは、デスクトップブラウザ上の問題ではありません。)
だから質問はです:iframe
コードは、その親要素(特にクロスドメイン)の真の適切なサイズを決定するにはどうすればよいですか?私が得ることのできる最高のものは、iframe
とその子要素の見かけのサイズです。
div
が適切
div
境界を越えて延びる/クリップIFRAMEコンテンツ隠し親に
overflow:hidden
追加
が、iframe
コードがまだその寸法(幅)が実際に何であるかを判断することができません。 (繰り返しますが、これは明らかにデスクトップブラウザ上の問題ではありません。)
注:同様の質問(例えば、Detect the width of an iframe from within the iframe)はiframe
内からiframe
自体の寸法へのアクセスの問題に対処します。 iframe
の親コンテナのサイズにアクセスする必要があります。
SOLUTION
私は、独自のdiv
要素内iframe
要素を配置し、その含む要素の幅にアクセスすることになりました。 (iframe
がその親に直接アクセスする方法はありません)
iframeの仕組みがまだわかりませんその親要素の幅にアクセスします(特にドメイン間)。 –
あなたはそれを行うべきです:あなたのiframeページは、その幅(私の例ではwindowWidth();の関数)を言い、iframeWidthの変数からその幅を知る必要があります。 –