ホームページ > ウェブフロントエンド > CSSチュートリアル > クロスドメイン IFrame のサイズを変更するにはどうすればよいですか?

クロスドメイン IFrame のサイズを変更するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-08 04:48:11
オリジナル
385 人が閲覧しました

How Can I Resize a Cross-Domain IFrame?

クロスドメイン iFrame のサイズ変更

別のドメインから iframe のサイズを変更するタスクには、クロスドメインの制限により課題が生じます。 3 フレームのソリューションが提案されていますが、Chrome や Safari などの最新のブラウザーでは互換性の問題に直面しています。

提案されたソリューション

制限があるにもかかわらず、いくつかの方法は、クロスドメイン iframe を実現するために検討されていますresizing:

  • EasyXDM: このサードパーティ ライブラリは、異なるドメイン間の通信を可能にし、信頼性の高いソリューションを提供します。ただし、親ドメインと子ドメインの両方で統合が必要です。
  • postMessage: HTML5 postMessage API を利用して、子ドメインは必要な高さのメッセージを親ドメインに送信できます。親ドメインはそれに応じて iframe のサイズを変更できます。このアプローチはほとんどのブラウザーでサポートされており、クロスブラウザー ソリューションを提供します。
  • ScrollHeight: 子ドキュメントのscrollHeightプロパティを測定すると、理論的にはiframeの高さが得られます。ただし、クロスドメインの制限により、このプロパティへのアクセスは拒否されます。

課題と制限

クロスドメイン通信は、ブラウザのセキュリティ機能による制限に直面しています。

  • 計算されたスタイル: iframe 要素の計算されたスタイルによってその寸法が明らかになりますが、これらの値はクロスドメインからはアクセスできません。
  • ドキュメント プロパティ: HTML4 仕様では、document.element を通じて読み取り専用の値を公開することが規定されていますが、クロスドメインではアクセスできません。 - ドメイン アクセスが拒否されました。
  • プロキシ フレーム: サイトをプロキシ バックします。高さの計算は、ユーザーのログインまたは複数のページ要求が複雑になるまで機能します。

HTML5 ソリューション

HTML5 では、クロスドメイン通信を容易にする次のような機能が導入されています。

  • postMessage: 前述したように、postMessage は次のとおりです。この目的に使用されます。
  • WebSocket: HTML5 WebSocket は、クロスドメイン通信のための堅牢なチャネルを提供します。

結論

クロスドメイン iframe のサイズ変更は依然として技術的に困難な作業ですが、postMessage API とHTML5 の進歩により、実行可能なソリューションが提供されます。 easyXDM の実装により、HTML5 非準拠ブラウザに信頼性の高いフォールバックを提供できます。

以上がクロスドメイン IFrame のサイズを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート