CODING TIP/JavaScript
(4) window postmessage - iframe 과 부모의 통신
주히토끼
2018. 2. 19. 18:06
< ( 4 ) window postMessage - iframe 과 부모의 통신 >
// iframe 파일 안에서 부모document로 메세지 보내기
$(window).load(function() {
var body = document.body,
html = document.documentElement,
height = Math.max( body.scrollHeight, body.offsetHeight );
if (parent.postMessage){
parent.postMessage({
"oT" : 0,
"height" : height,
"isScroll" : false
}, "*");
}
}
// iframe을 품고있는 부모document에서 iframe의 메세지 받기
// data.oT , data.height, data.isScroll
var ip_resize = function (event) {
var ip_iframe = document.getElementById('ip_iframe');
if (ip_iframe) {
if( event.data.isScroll )
{
TweenMax.to( $('html, body'), 0.5, { scrollTop : event.data.oT + $('.tabmenu').height(), ease:Expo.easeOut });
}else{
ip_iframe.style.height = event.data.height + "px";
}
}
};
if (window.addEventListener) {
window.addEventListener("message", ip_resize, false);
} else if (window.attachEvent) {
window.attachEvent("onmessage", ip_resize);
}