How to Call Parent Window JavaScript Function inside iframe

前端 未结 2 1866
清歌不尽
清歌不尽 2020-12-10 14:09

Here is my code on http://my-localhost.com/iframe-test.html


Welcome Iframe Test         


        
2条回答
  •  不知归路
    2020-12-10 14:40

    You can use postMessage!

    PARENT

    if (window.addEventListener) {
        window.addEventListener ("message", receive, false);        
    }
    else {
        if (window.attachEvent) {
            window.attachEvent("onmessage",receive, false);
        }
    }
    
    function receive(event){
        var data = event.data;
        if(typeof(window[data.func]) == "function"){
            window[data.func].call(null, data.params[0]);
        }
    }
    
    function alertMyMessage(msg){
    
        alert(msg);
    }
    

    IFRAME

    function send(){
        window.parent.window.postMessage(
            {'func':'alertMyMessage','params':['Thanks for Helping me']},
            'http://www.my-website.com'
        );
    }
    

    REFERENCE

    https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage

提交回复
热议问题