postMessage
postMessageとは、クロスオリジンのウィンドウ間メッセージングAPIである。送信側がターゲットオリジンを指定し、受信側が送信元オリジンを検証することで、オリジンをまたいで安全にメッセージをやり取りする。
目的
信頼できないクロスオリジンのDOMアクセスに代わり、クロスオリジンのiframeやポップアップと安全に通信するためのものである。
メカニズム
sender.postMessage(data, targetOrigin) の targetOrigin は受信側オリジンを制限する。受信側のmessageイベントはoriginとsourceを運ぶため、処理の前に想定どおりのオリジンか検証すべきである。
ユースケース
- クロスオリジンiframeとの通信
- ポップアップウィンドウとの連携
- ドメインをまたぐメッセージング