0

これが問題です!外部 Web サイトをロードする iframe があります。スクロールバーが表示されないように、コンテンツの高さに基づいて iframe のサイズを 100% に変更します。iframe の高さを 100% に設定しても機能しません。

私は2つの解決策を思いつきました:

  1. 両端の document.domain プロパティを同じドメインに設定します。これにより、iframe コンテンツが親ウィンドウにアクセスできるようになります。サイズ変更メソッドは、iframe 内から開始できます。
  2. HTML5 postMessage API を使用して、適切なアクションを実行してください。2 つの iframe 間の通信に使用します。

これらのアプローチはどちらも複雑です。この問題に対するより簡単なアプローチはありますか?

4

3 に答える 3

0

より簡単な解決策は、この小さなプロジェクトを github で使用することです。

https://github.com/davidjbradshaw/iframe-resizer

于 2014-03-12T21:11:00.293 に答える
0

iframe に別の iframe を埋め込むことができます。その iframe のソースが最上位の iframe と同じドメイン、プロトコル、およびポートからのものである場合、parent.parent を介してアクセスできます。

于 2012-06-28T22:22:14.493 に答える
0

私は昨年同じ問題に遭遇し、このブログで私に合った解決策を見つけました: http://solidgone.org/Set-IFRAME-height-based-on-size-of-remotely-loaded-content

その方法の更新版は、彼のフォローアップ記事で見つけることができます: http://solidgone.org/Redux-Set-IFRAME-height-based-on-size-of-remotely-loaded-content

ジャックが説明するように、実装には、同じ親ドメインのソースを持つページに埋め込まれた iframe が必要です。

FFで小さな問題がありました。解決策は、フォローアップ記事のコメントにあります。

お役に立てれば!

于 2012-07-17T12:54:24.770 に答える