我需要在iFrame中运行JavaScript,我知道我必须使用post message来执行此操作,但我不明白如何使用它。
网站1为http://www.example.com/chat.html
站点2(站点1上的iFrame)为http://www.example.com:7778
网站
$( "#link" ).click(function() {
document.getElementById('iframe_id_here').contentWindow.postMessage({command: 'joinChannel', args: {channel: $(this).attr('data-room')}}, '*');
});
的iFrame
function joinChannel(event)
{
if (event.origin !== "http://example.com/chat.html")
return;
network.join(***How do I access $(this).attr('data-room')?***, '');
}
window.addEventListener("message", joinChannel, false);
答案 0 :(得分:1)
In window.postMessage
, the passed message is stored in the event.data
object.
In your case, the channel should be accessible via event.data.args.channel
.