< ( 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);
    }








+ Recent posts