ホームページ > ウェブフロントエンド > jsチュートリアル > iframe とその親サイトの間でクロスドメイン通信を有効にするにはどうすればよいですか?

iframe とその親サイトの間でクロスドメイン通信を有効にするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-28 19:11:11
オリジナル
384 人が閲覧しました

How Can I Enable Cross-Domain Communication Between an Iframe and its Parent Site?

サイト間通信: ドメインを越えて iframe と親サイトを接続する

iframe を使用する場合、クロスドメイン通信は課題となる可能性があります。 iframe のドメインが親サイトと異なる場合、それらの間での直接アクセスやメソッド呼び出しは不可能になります。

このハードルを克服するために、クロスドキュメント メッセージングが解決策を提供します。

親サイトto Iframe:

親ウィンドウで、iframe のコンテンツにメッセージを送信します。 window:

myIframe.contentWindow.postMessage('hello', '*');
ログイン後にコピー

iframe 内で、メッセージ イベントをリッスンします:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};
ログイン後にコピー
ログイン後にコピー

親サイトへの iframe:

iframe 内、最上位の親ウィンドウにメッセージを送信します:

window.top.postMessage('hello', '*')
ログイン後にコピー

親ウィンドウで、メッセージ イベントをリッスンします:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};
ログイン後にコピー
ログイン後にコピー

postMessage() の '*' を使用すると、リッスンしているすべてのウィンドウにメッセージをブロードキャストできます。クロスドキュメント メッセージングを採用すると、異なるドメイン間であっても、iframe とその親サイトの間の通信を確立できます。

以上がiframe とその親サイトの間でクロスドメイン通信を有効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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