ホームページ >ウェブフロントエンド >jsチュートリアル >異なるドメイン上の iframe は PostMessage を使用してどのように通信できますか?

異なるドメイン上の iframe は PostMessage を使用してどのように通信できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-26 06:12:08338ブラウズ

How Can Iframes on Different Domains Communicate Using PostMessage?

iframe と親サイト間のクロスドメイン通信

iframe が親サイトとは異なるドメインに存在する場合、メソッドを介した直接通信またはコンテンツドキュメントへのアクセスが不可能です。このような場合、解決策はクロスドキュメント メッセージングです。

親から Iframe への通信

親ウィンドウ内:

myIframe.contentWindow.postMessage('hello', '*');

iframe:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};

iframe へ親との通信

親ウィンドウ内:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};

iframe 内:

window.top.postMessage('hello', '*')

postMessage() 内のアスタリスク (*) を覚えておいてください。関数はワイルドカードを表し、どの発信元でもメッセージを受信できるようにします。

以上が異なるドメイン上の iframe は PostMessage を使用してどのように通信できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。