サンドボックス化されたiframeの数を含むシェルページがあります。addEventListenerのソースiframeの周辺要素を検索
<div>
<div id="sb1"><iframe sandbox="allow-scripts" srcdoc="stuff here"/></div>
<div id="sb2"><iframe sandbox="allow-scripts" srcdoc="other stuff here"/></div>
</div>
私は親のdiv(すなわち、#のSB1または#SB2)を知りたいのiframeのいずれかからメッセージを受け取ります。
私は次のことを試してみましたが、それは動作しません:
function receiveMessage(event)
{
// Follow line results in : Uncaught DOMException: Blocked a frame with origin ...
var parentDiv = $(event.source).parent();
}
window.addEventListener("message", receiveMessage);
はインラインフレームからのメッセージにIDを渡すことなく、IFRAMEの親を決定する方法はありますか?
おそらく、同じオリジンポリシーでiframeがブロックされていると見なされません。 – adeneo
ドキュメント内の 'iframe'を調べて、一致する' window'オブジェクトを持つドキュメントを見つけることができます。 –