У меня есть веб-сайт, содержащий iframe. Я хочу, чтобы отслеживать, какая кнопка пользователь нажимает внутри iframe и обрабатывать эту информацию в родительском окне. Я просмотрел HTML5 PostMessage, но не знаю, как я скажу iframe, где находится родитель (строка 3 в iframe.html). Обратите внимание, что родительский и iframe имеют один и тот же домен и протокол.PostMessage - Поверхность от Iframe до родителя
iframe.html
<script type="text/javascript">
var domain = window.location.protocol + '//' + window.location.hostname;
var parent = document.getElementById('parent').contentWindow; //what to do?
$('div').click(function() {
var message = $(this).text();
parent.postMessage(message,domain);
});
</script>
<div id="a">A</div>
<div id="b">B</div>
<div id="c">C</div>
parent.html
<script type="text/javascript">
window.addEventListener('message', function(event) {
if(event.origin !== window.location.protocol + '//' + window.location.hostname;) {
return;
}
$('.message').html(event.data);
},false);
</script>
<div>
You have clicked on <span class="message"></span>
</div>
<iframe src="/iframe.html"></iframe>