いわゆる「同一ドメイン制限」とは、セキュリティを考慮して、ブラウザーをスクリプトが同じプロトコル、同じドメイン名、同じポートのアドレスとのみ通信できるようにします
2 つのウィンドウがロードされていない限り、ブラウザは異なるウィンドウ間の通信を制限します。 window.postMessage メソッドは、この問題を解決するために特別に設計されており、異なるドメイン名を持つウィンドウが相互に通信できるようにします。 変数、message は送信されるメッセージ、targetURL は指定されたターゲット ウィンドウの URL、transferObject は送信される Transferable
オブジェクトです。
現在の Web ページに新しいウィンドウがポップアップするとします。targetWindow.postMessage(message, targetURL[, transferObject]);
は、情報のソース URL を示します。 URL が要件を満たしていない場合、event.data 属性には、origin と data に加えて、source 属性も含まれます。現在の Web ページに情報を送信する window オブジェクトです。
次に、postMessage メソッドを使用して、現在の Web ページ上の新しいウィンドウに情報を送信します。var popup = window.open(...popup details ...);
最後に、送信オブジェクトのドメイン名が http://example.org である必要があることを指定します。 -up window. 次のコードをデプロイします。window.addEventListener('message', receiveMessage, false);
function receiveMessage(e) {
if (e.origin != 'http://example.org') {
return;
}
console.log(e.data);
}
以上がHTML5の新機能を詳しく解説:文書間メッセージ送信の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。