0
iframe이 포함 된 웹 사이트가 있습니다. 사용자가 iframe 내부에서 클릭 한 버튼을 추적하여 해당 정보를 부모 윈도우에 표시하려고합니다. HTML5 PostMessage를 살펴 봤지만 부모가있는 iframe에 (iframe.html의 3 행) 어떻게 말할 것인지 확신 할 수 없습니다. 상위와 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>